Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade test suite to use selenium-webdriver v4 #2151

Merged
merged 4 commits into from
Aug 1, 2019
Merged

Conversation

jeffposnick
Copy link
Contributor

@jeffposnick jeffposnick commented Jul 29, 2019

This PR updates our dependency on selenium-assistant to v6.0.0, which supports a version of the underlying selenium-webdriver project that will work with Safari.

It also changes our Travis CI config to use an OS X container instead of Linux, which will result in our Safari tests being run as part of our CI. (This unfortunately takes a long-ish time to complete.)

To work around some issues related to chromedriver (and geckodriver) versioning, it removes them from package.json and instead installs them fresh before every gulp test-integration.

(There's a somewhat mysterious increase in size in the packages/workbox-window/build/workbox-window.dev.umd.js bundle reported by the PR-Bot Size Plugin, and I'm not sure what's up with that? It might be because the various Babel-related dependencies that were locked to earlier versions in our old package-lock.json have been updated?)

@jeffposnick jeffposnick added the Chillin' Not being actively worked on, or deferred for a point in the future. label Jul 29, 2019
@coveralls
Copy link

coveralls commented Jul 29, 2019

Coverage Status

Coverage remained the same at 78.731% when pulling 8519318 on selenium-revamp into fec46ef on master.

cache:
directories:
- "$HOME/.npm"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the story here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per https://docs.travis-ci.com/user/caching/#npm-cache, it should happen automatically now.

@jeffposnick jeffposnick removed the Chillin' Not being actively worked on, or deferred for a point in the future. label Jul 30, 2019
@workbox-pr-bot
Copy link
Collaborator

PR-Bot Size Plugin

Changed File Sizes

File Before After Change GZipped
packages/workbox-window/build/workbox-window.dev.umd.js 31.88 KB 40.32 KB +26% 8.90 KB ☠️
packages/workbox-window/build/workbox-window.prod.umd.js 4.46 KB 4.51 KB +1% 1.85 KB

New Files

No new files have been added.

All File Sizes

View Table
File Before After Change GZipped
packages/workbox-background-sync/build/workbox-background-sync.prod.js 3.86 KB 3.86 KB 0% 1.59 KB
packages/workbox-broadcast-update/build/workbox-broadcast-update.prod.js 1.92 KB 1.92 KB 0% 959 B
packages/workbox-build/build/_types.js 41 B 41 B 0% 61 B
packages/workbox-build/build/index.js 3.30 KB 3.30 KB 0% 1.31 KB
packages/workbox-cacheable-response/build/workbox-cacheable-response.prod.js 594 B 594 B 0% 354 B
packages/workbox-cli/build/app.js 4.16 KB 4.16 KB 0% 1.64 KB
packages/workbox-cli/build/bin.js 940 B 940 B 0% 502 B
packages/workbox-core/build/workbox-core.prod.js 5.94 KB 5.94 KB 0% 2.46 KB
packages/workbox-expiration/build/workbox-expiration.prod.js 2.94 KB 2.94 KB 0% 1.27 KB
packages/workbox-google-analytics/build/workbox-offline-ga.prod.js 1.95 KB 1.95 KB 0% 913 B
packages/workbox-navigation-preload/build/workbox-navigation-preload.prod.js 660 B 660 B 0% 324 B
packages/workbox-precaching/build/workbox-precaching.prod.js 4.89 KB 4.89 KB 0% 1.90 KB
packages/workbox-range-requests/build/workbox-range-requests.prod.js 1.57 KB 1.57 KB 0% 797 B
packages/workbox-routing/build/workbox-routing.prod.js 3.09 KB 3.09 KB 0% 1.35 KB
packages/workbox-strategies/build/workbox-strategies.prod.js 4.10 KB 4.10 KB 0% 1.13 KB
packages/workbox-streams/build/workbox-streams.prod.js 1.46 KB 1.46 KB 0% 720 B
packages/workbox-sw/build/workbox-sw.js 1.34 KB 1.34 KB 0% 747 B
packages/workbox-webpack-plugin/build/generate-sw.js 3.71 KB 3.71 KB 0% 1.40 KB
packages/workbox-webpack-plugin/build/index.js 349 B 349 B 0% 255 B
packages/workbox-webpack-plugin/build/inject-manifest.js 4.68 KB 4.68 KB 0% 1.59 KB
packages/workbox-window/build/workbox-window.dev.umd.js 31.88 KB 40.32 KB +26% 8.90 KB ☠️
packages/workbox-window/build/workbox-window.prod.umd.js 4.46 KB 4.51 KB +1% 1.85 KB

Workbox Aggregate Size Plugin

3.5KB gzip'ed (23% of limit)
7.79KB uncompressed

@jeffposnick
Copy link
Contributor Author

(Here's the before-and-after of workbox-window.dev.umd.js: https://gist.github.com/jeffposnick/1168ba18561b94b82233d64f5d5521ac/revisions?diff=split. They're too big for the built-in gist diff viewer, so you need to download them.)

@jeffposnick
Copy link
Contributor Author

Based on eyeballing the diff locally, it looks like the bulk of the changes in the workbox-window dev UMD bundle is due to the inclusion of some JSDocs that were not included in the previous bundle, related to events; e.g.:

   /**
     * The `externalactivated` event is dispatched if the state of an
     * [external service worker]{@link https://developers.google.com/web/tools/workbox/modules/workbox-precaching#def-external-sw}
     * changes to `activated`.
     *
     * @event module:workbox-window.Workbox#externalactivated
     * @type {WorkboxEvent}
     * @property {ServiceWorker} sw The service worker instance.
     * @property {Event} originalEvent The original [`statechange`]{@link https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/onstatechange}
     *     event.
     * @property {string} type `externalactivated`.
     * @property {Workbox} target The `Workbox` instance.
     */

@jeffposnick jeffposnick merged commit 61192ee into master Aug 1, 2019
@jeffposnick jeffposnick deleted the selenium-revamp branch August 1, 2019 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants