如何处理获取空白页而不是 NightWatch 中指定的 url?
How to handle getting a blank page instead of the url specified in NightWatch?
我是 NightWatch 的新手,所以我遵循了几个教程,我按照他们所说的做了一切,但现在我得到的是一个空白页面 header "data;",而不是我的页面想看看哪个是“https://www.ghandi.com.mx”。
这是 json 文件。这个问题似乎与 json 配置有关。有什么帮助吗?非常感谢!
{
"src_folders" : ["tests"],
"output_folder" : "reports",
"selenium": {
"start_process": true,
"start_session" : true,
"server_path": "C:\Users\Esau Alvarez\Desktop\selenium-server-standalone-3.13.0.jar",
"port": 4444,
"cli_args": {
"webdriver.chrome.driver": "C:\Users\Esau Alvarez\Desktop\chromedriver.exe"
}
},
"test_settings" : {
"default": {
"launch_url": "https://www.gandhi.com.mx/",
"screenshots": {
"enabled": false
},
"desiredCapabilities": {
"browserName": "chrome",
"marionette": true
}
},
"chrome" : {
"desiredCapabilities": {
"browserName": "chrome",
"webdriver": {
"server_path": "C:\Users\Esau Alvarez\Desktop\NightWatch\chromedriver.exe"
}
}
}
}
}
这是我的测试文件
module.exports = {
"Test": function (browser) {
browser
.windowMaximize()
.url("https://www.gandhi.com.mx/")
.waitForElementVisible('body', 1000)
}
}
- 在默认部分下,您必须针对 Firefox 进行配置。下载gecko驱动,在cli_args.
下给出路径
- 您应该从 chrome 所需的功能中删除服务器路径,因为它已经在上面提到过。两次更改后,您的 nightwatch.json 应该看起来像这样。
{
"src_folders": ["tests"],
"output_folder": "reports",
"selenium": {
"start_process": true,
"start_session": true,
"server_path": "C:\Users\Esau Alvarez\Desktop\selenium-server-standalone-3.13.0.jar",
"port": 4444,
"cli_args": {
"webdriver.chrome.driver": "C:\Users\Esau Alvarez\Desktop\chromedriver.exe",
"webdriver.gecko.driver": "Path to gecko driver.exe"
}
},
"test_settings": {
"default": {
"launch_url": "https://www.gandhi.com.mx/",
"screenshots": {
"enabled": false
},
"desiredCapabilities": {
"browserName": "firefox",
"marionette": true
}
},
"chrome": {
"desiredCapabilities": {
"browserName": "chrome"
}
}
}
}
另外,为了安全起见,请将 'body' 的等待时间增加到 2000 或 3000 秒。
module.exports = {
"Test": function (browser) {
browser
.windowMaximize()
.url("https://www.gandhi.com.mx/")
.waitForElementVisible('body', 3000)
}
}
所以根据 nightwatch json,您的默认执行应该在 firefox 中进行。如果你想在 chrome 上执行相同的操作,你应该使用键 chrome 或将 chrome 配置移动到默认部分。
我是 NightWatch 的新手,所以我遵循了几个教程,我按照他们所说的做了一切,但现在我得到的是一个空白页面 header "data;",而不是我的页面想看看哪个是“https://www.ghandi.com.mx”。
这是 json 文件。这个问题似乎与 json 配置有关。有什么帮助吗?非常感谢!
{
"src_folders" : ["tests"],
"output_folder" : "reports",
"selenium": {
"start_process": true,
"start_session" : true,
"server_path": "C:\Users\Esau Alvarez\Desktop\selenium-server-standalone-3.13.0.jar",
"port": 4444,
"cli_args": {
"webdriver.chrome.driver": "C:\Users\Esau Alvarez\Desktop\chromedriver.exe"
}
},
"test_settings" : {
"default": {
"launch_url": "https://www.gandhi.com.mx/",
"screenshots": {
"enabled": false
},
"desiredCapabilities": {
"browserName": "chrome",
"marionette": true
}
},
"chrome" : {
"desiredCapabilities": {
"browserName": "chrome",
"webdriver": {
"server_path": "C:\Users\Esau Alvarez\Desktop\NightWatch\chromedriver.exe"
}
}
}
}
}
这是我的测试文件
module.exports = {
"Test": function (browser) {
browser
.windowMaximize()
.url("https://www.gandhi.com.mx/")
.waitForElementVisible('body', 1000)
}
}
- 在默认部分下,您必须针对 Firefox 进行配置。下载gecko驱动,在cli_args. 下给出路径
- 您应该从 chrome 所需的功能中删除服务器路径,因为它已经在上面提到过。两次更改后,您的 nightwatch.json 应该看起来像这样。
{ "src_folders": ["tests"], "output_folder": "reports", "selenium": { "start_process": true, "start_session": true, "server_path": "C:\Users\Esau Alvarez\Desktop\selenium-server-standalone-3.13.0.jar", "port": 4444, "cli_args": { "webdriver.chrome.driver": "C:\Users\Esau Alvarez\Desktop\chromedriver.exe", "webdriver.gecko.driver": "Path to gecko driver.exe" } }, "test_settings": { "default": { "launch_url": "https://www.gandhi.com.mx/", "screenshots": { "enabled": false }, "desiredCapabilities": { "browserName": "firefox", "marionette": true } }, "chrome": { "desiredCapabilities": { "browserName": "chrome" } } } }
另外,为了安全起见,请将 'body' 的等待时间增加到 2000 或 3000 秒。
module.exports = {
"Test": function (browser) {
browser
.windowMaximize()
.url("https://www.gandhi.com.mx/")
.waitForElementVisible('body', 3000)
}
}
所以根据 nightwatch json,您的默认执行应该在 firefox 中进行。如果你想在 chrome 上执行相同的操作,你应该使用键 chrome 或将 chrome 配置移动到默认部分。