当我运行 wdio 测试时,我看到多个 chrome 实例并行打开,即使我没有指定要并行运行的测试。
我的package.json包含:
"scripts": {
"node-inspector": "node-inspector --debug-port 5859 --no-preload",
"test": "node node_modules/.bin/wdio ./test/config/suite.jasmine.conf.js",
"allure-report": "node_modules/.bin/allure generate ./test/reports/allure-results && allure report",
"junit-report": "node_modules/.bin/junit-viewer --results=./test/reports/junit-results --save=junit-results.html && open junit-results.html",
"generate-report": "./node_modules/.bin/allure generate --clean && ./node_modules/.bin/allure open"
},
"devDependencies": {
"@wdio/allure-reporter": "^5.22.0",
"@wdio/cli": "^5.22.4",
"@wdio/devtools-service": "^6.1.5",
"@wdio/local-runner": "^5.3.5",
"chai": "^4.2.0",
"grunt": "^1.0.3",
"grunt-cli": "^1.3.2",
"grunt-jasmine": "^0.1.0",
"grunt-webdriver": "^3.0.0",
"rimraf": "^3.0.2",
"selenium-standalone": "^6.15.4",
"wdio-allure-reporter": "^0.8.3",
"wdio-testrail-reporter": "^1.1.5",
"webdriverio": "^6.1.7"
},
...
我的测试>配置>suite.jasmine.conf.js包含:
specs: [
'./test/specs/Lightning/Lead/lightning_leadRouting.spec.js'
],
maxInstances: 1,
services: ['devtools', 'chromedriver','selenium-standalone'],
framework: 'jasmine',
...
我正在使用命令运行测试:
npm test
即使只有一个测试要执行,这也会并行打开许多浏览器。任何帮助将不胜感激。
问题出在我使用的 wdio 和 jasmine 依赖项上,升级到最新版本后,问题就解决了。我猜想多个浏览器因失败而启动,因为我设置了connectionRetryCount:3和wdioRetries:3。
现在已经修好了。 将 Wdio 和 Jasmine 依赖项升级到最新版本,添加 "chromedriver": "^89.0.0", "wdio-chromedriver-service": "^7.0.0" 然后从根目录执行“npm install”。
这个问题基本上是因为依赖项与版本不匹配。
如果其他浏览器中的行为也相同,则这适用。
照顾好大家。快乐学习和编码...