没有Java的Nightwatch.js

前端之家收集整理的这篇文章主要介绍了没有Java的Nightwatch.js前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以在不安装 Java的情况下使用 Nightwatch.js?有官方的Selenium JavaScript绑定( WebDriverJS,selenium-webdriver).是否需要Java?

解决方法

我正在迎合一个JavaScript社区,所以我试图在本地运行nightwatchjs,而不是自己引入Java.我确信如果您运行远程Selenium Server,该远程实例必须运行Java服务器以将命令传递给特定于远程浏览器的驱动程序.例如:ChromeDriver.

也就是说,我的印象是,可以将standard client直接连接到本地的标准WebDriver(ChromeDriver),而无需使用Java selenium-server-standalone-2.xx.0.jar服务器.由于nightwatchJS是我尝试过的第一个客户端,因此很难找到一个可以工作的配置,因为所有文档都显示Nate Stone上面说的内容.我看到的所有示例都表明需要规定selenium-server-standalone-2.xx.0.jar的位置:

selenium": {
  "start_process": true,"server_path": "lib/selenium-server-standalone-2.53.0.jar","cli_args" : {
    "webdriver.chrome.driver" : "/Users/greg.kedge/bin/chromedriver"
  },"log_path": "integration/log" }

他就是我所说的:如果你希望nightwatch在测试期间为你启动(和停止)服务器(“start_process”:true),那么似乎有必要运行Java服务器.

但是,通过大量试用,如果您想在命令行上自行启动ChromeDriver,从而一直使用ChromeDriver,我可以在没有Java Selenium独立的情况下运行ChromeDriver. CAVEAT:到目前为止只在OS X上尝试过……所以,假设ChromeDriver在$PATH中:

% chromedriver --url-base=/wd/hub
Starting ChromeDriver 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4) on port 9515
Only local connections are allowed.

现在抓住该端口(9515)并更新你的nightwatch.json以指示你想要使用Chrome.我正在设置默认设置,但您可以设置特定于Chrome的环境.从nightwatch.json中完全删除“selenium”块,现在告诉nightwatch它可以找到正在运行的服务器以及服务的浏览器类型:

"test_settings": {
    "default": {
      "launch_url": "http://localhost:8888/","selenium_host": "127.0.0.1","selenium_port": "9515","silent": true,"firefox_profile": false,"screenshots": {
        "enabled": false,"path": ""
      },"desiredCapabilities": {
        "browserName": "chrome","javascriptEnabled": true,"acceptSslCerts": true,"__commentOut: chromeOptions" : {
              "args" : ["start-fullscreen"]
            }
      },}
  }

使用它这种方式对我有用;我可以在没有Java Selenium独立服务器的情况下运行nightwatch来驱动Chrome.同样,这是在OS X上使用始终运行的ChromeDriver.我无法弄清楚如何在不添加Java Selenium独立服务器的情况下让nightwatch管理启动/停止ChromeDriver.

原文链接:https://www.f2er.com/java/129290.html

猜你在找的Java相关文章