我的测试存在问题,我使用Selenium-webdriver,Chromedriver和nightwatch.js。我运行两个终端窗口,一个是硒,一个是测试。我在Mac OS Air上使用macOS Sierra运行它。 我的测试看起来像:
module.exports = {
'Demo test' : function (browser) {
browser.url();
browser.pause(1000);
browser.maximizeWindow();
browser.resizeWindow(300, 300);
browser.maximizeWindow();
browser.pause(2000);
browser.url('http://www.google.se').resizeWindow(500, 500);
browser.end();
}
};
当我运行java -jar selenium-server-standalone-3.0.0.jar然后在另一个终端窗口中运行测试时,这会在终端中给出以下输出: 测试就像
一样运行node nightwatch.js tests/demo.js
它在selenium终端窗口中提供此输出。
09:11:21.617 INFO - Executing: [get current url])
09:11:21.663 INFO - Done: [get current url]
09:11:22.680 INFO - Executing: [maximise window])
09:11:22.941 INFO - Done: [maximise window]
09:11:22.950 INFO - Executing: [set window size])
09:11:23.073 INFO - Done: [set window size]
09:11:23.080 INFO - Executing: [maximise window])
09:11:23.565 INFO - Done: [maximise window]
09:11:25.577 INFO - Executing: [get: http://www.google.se])
在此之后不再发生任何事情。出于某种原因,当我有一个真正的网页而不是一个空窗口时,我没有从client.url()获得完成回调。 有谁知道问题是什么?
答案 0 :(得分:0)
您提到您使用的是selenium 3.0.0。您没有提到您正在使用的浏览器以及您正在使用的驱动程序版本。
我在两个设置上尝试了此代码。这两个设置都有夜视仪0.9.8,chromedriver 2.25,Chrome浏览器v54。操作系统始终是OSX Sierra 10.12.1。一种设置具有2X的硒,而另一种具有硒3.0.1
在这两种设置中,您的测试代码都已成功执行。
这是nightwatch配置
{
"src_folders" : ["tests"],
"output_folders" : "reports",
"selenium" : {
"start_process" : true,
"server_path" : "tools/selenium3.jar",
"log_path" : "",
"host" : "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "tools/chromedriver",
"webdriver.ie.driver" : ""
}
},
"test_settings" : {
"default" : {
"launch_url" : "http://www.google.com",
"selenium_port" : 4444,
"selenium_host" : "localhost",
"silent": true,
"screenshots" : {
"enabled" : false,
"path" : ""
},
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
}
}
}