Nightwatch chromedriver

时间:2016-04-27 07:22:04

标签: selenium nightwatch.js

我无法通过夜视仪对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
      }
  }
}

我还发现一篇较旧的帖子,说你必须在根目录下创建新文件,所以试一试,什么也没发生

6 个答案:

答案 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浏览器的版本不同,它将不会运行,并且不会显示任何错误消息)