我想對Chrome運行我的Selenium測試。當我在本地初始化驅動程序:如何構建適用於Chrome的遠程Webdriver
@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: The path to the chromedriver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver . The latest version can be downloaded from 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
它完美地解決了我的問題!再次感謝你。 – Yulia
非常感謝!這對我來說就像是一種魅力! –