没有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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |