我可以通过Nightwatch并行执行多个测试用例吗?有可能吗?我在java中搜索并行测试用例执行的线程能力。
另外,你们对从Selenium转移到Nightwatch有什么看法?
-
你可以看到并行线程:nightwatchjs还研究了并行运行的
-
Nightwatch使用相同的selenium网络驱动程序协议,但有一些额外的添加。
是的,您可以使用以下配置来利用nightwatchjs的并行模式:
test_workers: {
enabled: true,
workers: 'auto'
}
要在多个浏览器中执行测试,需要在nightwatch.json文件中添加浏览器所需的功能和Test_worker配置。
例如,如果你想使用Opera,你必须添加以下配置:
"cli_args": {
//path to Opera Webdriver File
"webdriver.opera.driver": "bin/operadriver"
}
"opera": {
"desiredCapabilities": {
"browserName": "opera"
}
}
对于Test_Worker配置,您应该添加:
"test_workers": {
"enabled": true,
"workers": "auto"
}
例如,如果你想在Chrome、Firefox和Opera这三种浏览器中并行执行测试,那么你的nightwatch.json应该是这样的。
{
"src_folders": [
"tests"
],
"output_folder": "reports",
"selenium": {
"start_process": true,
"server_path": "bin/selenium-server-standalone-3.12.0.jar",
"log_path": "",
"port": 4444,
"cli_args": {
"webdriver.chrome.driver": "bin/chromedriver",
"webdriver.gecko.driver": "bin/geckodriver",
"webdriver.opera.driver": "bin/operadriver"
}
},
"test_workers": {
"enabled": true,
"workers": "auto"
},
"test_settings": {
"default": {
"launch_url": "http://localhost",
"selenium_port": 4444,
"selenium_host": "localhost",
"silent": true,
"screenshots": {
"enabled": false,
"path": ""
},
"desiredCapabilities": {
"browserName": "chrome"
}
},
"firefox": {
"desiredCapabilities": {
"browserName": "firefox",
"marionette": true
}
},
"opera": {
"desiredCapabilities": {
"browserName": "opera"
}
}
}
}
有关更多信息,您可以查看本文:如何使用NIGHTWATCH JS在多个浏览器中并行执行测试。