我如何 运行 Nightwatch.js 在 Jenkins 中进行测试?
How do I run Nightwatch.js tests in Jenkins?
我想用 UI 测试实现 CI/CD 我每晚自动编写 运行 我的 Nightwatch.js 测试。我已经尝试将我的文件复制到 jenkins 的工作区并 运行ning 它们。我已经尝试使用 TFS 作为版本控制系统,看看我们是否可以通过这种方式将其设置为 运行。我 运行ning 遇到的问题(见附件)是当我在本地 运行 时,chrome 浏览器打开并且 运行s 测试正常。然而,在 Jenkins 中,它表示找不到该元素。我已经研究了如何 运行 chrome 无头,但是当我将 --headless 标记添加到我的 nightwatch.json 配置文件时,我仍然遇到同样的错误。最重要的是,我怎样才能按夜间时间表进行 Nightwatch.js 到 运行 的测试? (最好在詹金斯)
尝试了 运行来自 tfs 源代码控制的测试
尝试将本地测试中的 运行ning 测试复制到 jenkins 工作区。
尝试了 运行ning 无头测试(本地工作,Jenkins 没有)https://developers.google.com/web/updates/2017/04/headless-chrome
这是我的 nightwatch.json 文件。
{
"src_folders" : ["tests"],
"output_folder" : "reports/XMLReports",
"custom_commands_path" : "",
"custom_assertions_path" : "",
"page_objects_path" : "dealer",
"globals_path" : "",
"test_workers": false,
"selenium": {
"cli_args": {
"webdriver.chrome.driver" : "node_modules/.bin/chromedriver.cmd",
"webdriver.gecko.driver" : "node_modules/.bin/geckodriver.cmd",
"webdriver.edge.driver" : "node_modules/.bin/edgedriver.cmd"
},
"log_path": "",
"port": 4460,
"server_path": "lib/drivers/selenium-server-standalone-3.141.59.jar",
"start_process": true
},
"test_settings" : {
"chrome" : {
"launch_url" : "http://localhost",
"selenium_port" : 4460,
"selenium_host" : "127.0.0.1",
"silent": true,
"screenshots" : {
"enabled" : false,
"path" : "screenshots/Chrome/"
},
"desiredCapabilities": {
"browserName": "chrome",
"chromeOptions":{
"args": [
"disable-web-security",
"ignore-certificate-errors",
"--test-type",
"--disable-gpu",
"--headless",
"--remote-debugging-port=9222"
]
}
}
},
"edge" : {
"desiredCapabilities": {
"browserName": "MicrosoftEdge"
}
}
}
}
我希望我的测试在 jenkins 中正常进行 运行,如果在 ui.
中通过或失败,我会给我一份详细的报告
看起来 .windowMaximize() 导致我的测试在 Jenkins 中挂起并失败。
我想用 UI 测试实现 CI/CD 我每晚自动编写 运行 我的 Nightwatch.js 测试。我已经尝试将我的文件复制到 jenkins 的工作区并 运行ning 它们。我已经尝试使用 TFS 作为版本控制系统,看看我们是否可以通过这种方式将其设置为 运行。我 运行ning 遇到的问题(见附件)是当我在本地 运行 时,chrome 浏览器打开并且 运行s 测试正常。然而,在 Jenkins 中,它表示找不到该元素。我已经研究了如何 运行 chrome 无头,但是当我将 --headless 标记添加到我的 nightwatch.json 配置文件时,我仍然遇到同样的错误。最重要的是,我怎样才能按夜间时间表进行 Nightwatch.js 到 运行 的测试? (最好在詹金斯)
尝试了 运行来自 tfs 源代码控制的测试 尝试将本地测试中的 运行ning 测试复制到 jenkins 工作区。 尝试了 运行ning 无头测试(本地工作,Jenkins 没有)https://developers.google.com/web/updates/2017/04/headless-chrome
这是我的 nightwatch.json 文件。
{
"src_folders" : ["tests"],
"output_folder" : "reports/XMLReports",
"custom_commands_path" : "",
"custom_assertions_path" : "",
"page_objects_path" : "dealer",
"globals_path" : "",
"test_workers": false,
"selenium": {
"cli_args": {
"webdriver.chrome.driver" : "node_modules/.bin/chromedriver.cmd",
"webdriver.gecko.driver" : "node_modules/.bin/geckodriver.cmd",
"webdriver.edge.driver" : "node_modules/.bin/edgedriver.cmd"
},
"log_path": "",
"port": 4460,
"server_path": "lib/drivers/selenium-server-standalone-3.141.59.jar",
"start_process": true
},
"test_settings" : {
"chrome" : {
"launch_url" : "http://localhost",
"selenium_port" : 4460,
"selenium_host" : "127.0.0.1",
"silent": true,
"screenshots" : {
"enabled" : false,
"path" : "screenshots/Chrome/"
},
"desiredCapabilities": {
"browserName": "chrome",
"chromeOptions":{
"args": [
"disable-web-security",
"ignore-certificate-errors",
"--test-type",
"--disable-gpu",
"--headless",
"--remote-debugging-port=9222"
]
}
}
},
"edge" : {
"desiredCapabilities": {
"browserName": "MicrosoftEdge"
}
}
}
}
我希望我的测试在 jenkins 中正常进行 运行,如果在 ui.
看起来 .windowMaximize() 导致我的测试在 Jenkins 中挂起并失败。