一尘不染

如何为Chrome构建远程Webdriver

selenium

我正在尝试针对Chrome运行Selenium测试。当我在本地初始化驱动程序时:

@driver = Selenium::WebDriver.for( :chrome )

一切正常(我已经将Chrome二进制文件放在PATH上),但是当我尝试远程启动它时:

@driver = Selenium::WebDriver.for(:remote, :url => 'http://' + SELENIUM_HOST + port + webdriver_hub, :desired_capabilities => :chrome)

我收到以下错误

Selenium :: WebDriver :: Error ::
UnhandledError:chromedriver可执行文件的路径必须由webdriver.chrome.driver系统属性设置;有关更多信息,请参见
http://code.google.com/p/selenium/wiki/ChromeDriver。可以从http://code.google.com/p/chromium/downloads/list(java.lang.IllegalStateException
)下载最新版本。

我在那里有点困惑-我应该如何准确地设置此系统属性?我发现此代码是用Java编写的:

DesiredCapabilities caps = DesiredCapabilities.chrome();
caps.setJavascriptEnabled(true);
caps.setCapability("chrome.binary", "/path/to/where/chrome/is/installed/chrome.exe");
System.setProperty("webdriver.chrome.driver","/path/to/where/you/ve/put/chromedriver.exe");
ChromeDriver driver = new ChromeDriver(caps);

但是我的测试是用Ruby编写的。RubyBindings不会谈论这个问题
http://code.google.com/p/selenium/wiki/RubyBindings


阅读 552

收藏
2020-06-26

共1个答案

一尘不染

实际上,错误消息是略有错误。你不 具备 设置系统属性,但chromedriver可执行需要在远程机器上(服务器正在运行)的路径可用。

如果要将路径指定为属性,则可以在启动服务器时执行此操作,例如:

java -Dwebdriver.chrome.driver=/path/to/driver -jar selenium-server-standalone.jar
2020-06-26