我无法通过夜视仪对Chrome进行测试。
这是我从nightwatch示例下载的修改过的nightwatch.json:
package api.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import api.dao.IEmployeeDAO;
import api.model.Employee;
@Service("IEmployeeService")
public class EmployeeService implements IEmployeeService{
@Autowired
public IEmployeeDAO userDao;
@Override
public Employee findOne(long id) {
return userDao.findOne(id);
}
}
我收到此错误消息:
{
"src_folders" : ["./examples/tests"],
"output_folder" : "./examples/reports",
"custom_commands_path" : "./examples/custom-commands",
"custom_assertions_path" : "",
"globals_path" : "./examples/globals.json",
"live_output" : false,
"selenium" : {
"start_process" : false,
"server_path" : "/lib/sel-serv.jar",
"log_path" : "",
"host" : "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "/lib/chromedriver/chromedriver.exe",
"webdriver.ie.driver" : "",
"webdriver.firefox.profile" : ""
}
},
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"selenium_host" : "127.0.0.1",
"selenium_port" : 4444,
"silent" : true,
"disable_colors": false,
"screenshots" : {
"enabled" : false,
"path" : ""
},
"chrome":{
"desiredCapabilities" : {
"browserName" : "chrome",
"javascriptEnabled" : true,
"acceptSslCerts" : true
}
}
},
"desiredCapabilities": {
"name" : "test-example",
"browserName": "chrome"
},
"globals" : {
"myGlobal" : "some_sauce_global"
},
"selenium" : {
"start_process" : false
}
}
}
我还发现一篇较旧的帖子,说你必须在根目录下创建新文件,所以试一试,什么也没发生
答案 0 :(得分:3)
我认为在lib之前需要一个点:
tput: No value for $TERM and no -T specified
也是selenium.jar:
"webdriver.chrome.driver" : "./lib/chromedriver/chromedriver.exe",
答案 1 :(得分:2)
未正确设置Selenium服务器jar路径和chrome驱动程序(.exe)路径。 在设置路径之前,使用点(“。”)表示您的工作目录。或者在chrome驱动程序和selenium服务器jar文件路径之前删除正斜杠(“/”)。
您必须手动运行Selenium服务器独立jar文件,因为您尚未将“start_process”设置为“true”。在此处检查Selenium配置:http://nightwatchjs.org/gettingstarted/
您已将start_process属性设置为false两次。从json文件中删除最后一个元素。 (“selenium”:{ “start_process”:false })
在开始执行之前,还要检查浏览器版本和驱动程序是否兼容。(查看已下载驱动程序的自述文件.readMe文件中的顶行将具有浏览器兼容版本。)
答案 2 :(得分:1)
只需检查配置文件并将chrome对象放在默认对象之外,例如
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"selenium_host" : "127.0.0.1",
"selenium_port" : 4444,
"silent" : true,
"disable_colors": false,
"screenshots" : {
"enabled" : false,
"path" : ""
}
},
"chrome":{
"desiredCapabilities" : {
"browserName" : "chrome",
"javascriptEnabled" : true,
"acceptSslCerts" : true
}
},
like this....have a blast
答案 3 :(得分:0)
如果你的chromedriver和selenium独立jar在你指向的文件中,那么我认为你只是缺少配置来在测试运行之前启动服务器。看行......
"start_process" : false,
您需要将其设置为true,如此...
"start_process" : true,
除非您计划在运行测试之前手动启动服务器。完成后,请考虑上面提到的路径。取决于在Windows,Mac或Linux上运行;这可能需要.
前面的/
。
答案 4 :(得分:0)
Chrome驱动程序的Nightwatch配置为 -
{
"src_folders" : ["tests"],
"output_folder" : "reports",
"page_objects_path": "./pages",
"selenium" : {
"start_process" : true,
"server_path" : "./bin/selenium-server-standalone-3.4.0.jar",
"log_path" : "",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "./bin/chromedriver"
}
},
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"selenium_port" : 4444,
"selenium_host" : "localhost",
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
}
}
}
在这里,chrome已被默认为broswer。
答案 5 :(得分:0)
"selenium": {
"start_process": true,
"server_path": "./lib/drivers/selenium-server-standalone-3.141.59.jar",
"log_path": "",
"host": "127.0.0.1",
"port": 4444,
"cli_args": {
"webdriver.chrome.driver": "./lib/drivers/chromedriver.exe",
"webdriver.gecko.driver": "",
"webdriver.edge.driver": ""
}
},
您应该这样写在nightwatch.json中。 此外,请确保您的网络驱动程序与chrome浏览器的版本相同(如果与Chrome浏览器的版本不同,它将不会运行,并且不会显示任何错误消息)