Webdriver IO 并行打开多个 chrome 实例,即使我没有指定要并行运行的测试

问题描述 投票:0回答:2

当我运行 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

即使只有一个测试要执行,这也会并行打开许多浏览器。任何帮助将不胜感激。

javascript node.js selenium google-chrome webdriver-io
2个回答
0
投票

问题出在我使用的 wdio 和 jasmine 依赖项上,升级到最新版本后,问题就解决了。我猜想多个浏览器因失败而启动,因为我设置了connectionRetryCount:3和wdioRetries:3。

现在已经修好了。 将 Wdio 和 Jasmine 依赖项升级到最新版本,添加 "chromedriver": "^89.0.0", "wdio-chromedriver-service": "^7.0.0" 然后从根目录执行“npm install”。


0
投票

这个问题基本上是因为依赖项与版本不匹配。

  1. 在终端中运行“npm update”
  2. 更新chrome浏览器
  3. 重新启动浏览器和 IDE

如果其他浏览器中的行为也相同,则这适用。

照顾好大家。快乐学习和编码...

© www.soinside.com 2019 - 2024. All rights reserved.