Skip to content

Commit b7596d0

Browse files
fix(e2e-webdriverio): PR feedback
1 parent 79d98a8 commit b7596d0

File tree

4 files changed

+30
-4
lines changed

4 files changed

+30
-4
lines changed

packages/@vue/cli-plugin-e2e-webdriverio/README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,11 @@ Your e2e tests.
5151
## Installing in an Already Created Project
5252

5353
``` sh
54-
vue add e2e-nightwatch
54+
vue add e2e-webdriverio
5555
```
5656

57+
For users with older CLI versions you may need to run `vue add @vue/e2e-webdriverio`.
58+
5759
## Running Tests
5860

5961
By default, all tests inside the `specs` folder will be run using Chrome. If you'd like to run end-to-end tests against Chrome (or Firefox) in headless mode, simply pass the `--headless` argument. Tests will be automatically run in parallel when executed in the cloud.
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,33 @@
1-
module.exports = api => {
1+
const { installedBrowsers } = require('@vue/cli-shared-utils')
2+
3+
module.exports = (api, { webdrivers }) => {
24
api.render('./template', {
35
hasTS: api.hasPlugin('typescript'),
46
hasESLint: api.hasPlugin('eslint')
57
})
68

9+
const devDependencies = {}
10+
11+
// Use devDependencies to store latest version number so as to automate update
12+
const pluginDeps = require('../package.json').devDependencies
13+
14+
if (webdrivers && webdrivers.includes('firefox')) {
15+
devDependencies.geckodriver = pluginDeps.geckodriver
16+
}
17+
if (webdrivers && webdrivers.includes('chrome')) {
18+
// chromedriver major version bumps every 6 weeks following Chrome
19+
// so there may be a mismatch between
20+
// user's installed browser version and the default provided version
21+
// fallback to the devDependencies version in case detection fails
22+
devDependencies.chromedriver = installedBrowsers.chrome
23+
? installedBrowsers.chrome.match(/^(\d+)\./)[1]
24+
: pluginDeps.chromedriver
25+
}
26+
727
api.extendPackage({
828
scripts: {
929
'test:e2e': 'vue-cli-service test:e2e'
10-
}
30+
},
31+
devDependencies
1132
})
1233
}

packages/@vue/cli-plugin-e2e-webdriverio/package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,12 @@
3232
"@wdio/sauce-service": "^6.1.9",
3333
"@wdio/spec-reporter": "^6.1.9",
3434
"@wdio/sync": "^6.1.8",
35-
"chromedriver": "^81.0.0",
3635
"eslint-plugin-wdio": "^6.0.12",
3736
"webdriverio": "^6.1.11",
3837
"wdio-chromedriver-service": "^6.0.3"
3938
},
39+
"peerDependencies": {
40+
"chromedriver": "*"
41+
},
4042
"devDependencies": {}
4143
}

packages/@vue/cli-shared-utils/lib/pluginResolution.js

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const officialPlugins = [
66
'babel',
77
'e2e-cypress',
88
'e2e-nightwatch',
9+
'e2e-webdriverio',
910
'eslint',
1011
'pwa',
1112
'router',

0 commit comments

Comments
 (0)