2012-07-05 84 views
4

我想用Selenium RC打開Safari瀏覽器。 但是,Safari實例已創建,並處於請求連接模式 (SafariDriver請求ws:// localhost:3078/wd處的連接)。Selenim RC與Safari瀏覽器問題 - Selenium :: WebDriver :: Error :: UnknownError:執行器尚未啓動

require "selenium-webdriver" 
caps = Selenium::WebDriver::Remote::Capabilities.safari 
browser = Selenium::WebDriver.for :remote, :url=>"http://localhost:4444/wd/hub", :desired_capabilities=>caps 

上面的東西掛了電話,失敗 - 硒:: webdriver的::錯誤::不明錯誤:執行人還沒有開始呢,從[遠程服務器] com.google(java.lang.IllegalStateException) 。 common.base.Preconditions(Preconditions.java):145:在checkState' from [remote server] org.openqa.selenium.safari.SafariDriverCommandExecutor(SafariDriverCommandExecutor.java):123:in執行' from [遠程服務器] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDriver.java):432:在execute' from [remote server] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDriver.java):140:in startSession' from [remote server] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDriver.java):95:在<init>' from [remote server] org.openqa.selenium.safari.SafariDriver(SafariDriver.java):33:in' 從[遠程服務器] sun.reflect.NativeConstructorAccessorImpl(NativeConstructorAccessorIm pl.java): - 2:在newInstance0' from [remote server] sun.reflect.NativeConstructorAccessorImpl(NativeConstructorAccessorImpl.java):39:in的newInstance ' 從[遠程服務器] sun.reflect.DelegatingConstructorAccessorImpl(DelegatingConstructorAccessorImpl.java):27:在newInstance' from [remote server] java.lang.reflect.Constructor(Constructor.java):513:in的newInstance' 從[遠程服務器] java.lang.Class中(Class.java ):355:在newInstance0' from [remote server] java.lang.Class(Class.java):308:in的newInstance ' 從[遠程服務器] org.openqa.selenium.remote.server.DefaultDriverFactory(DefaultDriverFactory.java):61:在callConstructor' from [remote server] org.openqa.selenium.remote.server.DefaultDriverFactory(DefaultDriverFactory.java):52:in的newInstance' 從[遠程服務器] org.openqa.selenium.remote .server.DefaultSession $ BrowserCreator(DefaultSession.java):197:call' from [remote server] org.openqa.selenium.remote.server.DefaultSession$BrowserCreator(DefaultSession.java):1:in調用' ... 4級... from [remote server] java.util.concurrent.ThreadPoolExecutor $ Worker(ThreadPoolExecutor.java):908:在run' from [remote server] java.lang.Thread(Thread.java):680:in運行' 從/Users/demo/.rvm/gems/ruby-1.9.2-p180/gems/selenium-webdriver-2.24.0/lib/selenium/webdriver/remote/response.rb:52:in assert_ok' from /Users/demo/.rvm/gems/ruby-1.9.2-p180/gems/selenium-webdriver-2.24.0/lib/selenium/webdriver/remote/response.rb:15:in初始化」 從/用戶/演示/ .rvm /寶石/紅寶石1.9.2-P180 /寶石/硒的webdriver-2.24.0/LIB /硒/ webdriver的/遠程/ HTTP/common.rb:59:在new' from /Users/demo/.rvm/gems/ruby-1.9.2-p180/gems/selenium-webdriver-2.24.0/lib/selenium/webdriver/remote/http/common.rb:59:in create_response」 從/用戶/演示/ .rvm /寶石/紅寶石1.9.2-P180 /寶石/硒的webdriver-2.24.0/LIB /硒/ webdriver的/遠程/ HTTP/default.rb:59:在request' from /Users/demo/.rvm/gems/ruby-1.9.2-p180/gems/selenium-webdriver-2.24.0/lib/selenium/webdriver/remote/http/common.rb:40:in呼叫」 從/用戶/演示/ .rvm /寶石/紅寶石1.9.2-P180 /寶石/硒的webdriver-2.24.0/LIB /硒/ webdriver的/遠程/ bridge.rb:598:在raw_execute' from /Users/demo/.rvm/gems/ruby-1.9.2-p180/gems/selenium-webdriver-2.24.0/lib/selenium/webdriver/remote/bridge.rb:92:in建立事務」 從/用戶/演示/ .rvm /寶石/紅寶石1.9.2-P180 /寶石/硒的webdriver-2.24.0/LIB /硒/ webdriver的/遠程/ bridge.rb:68:在initialize' from /Users/demo/.rvm/gems/ruby-1.9.2-p180/gems/selenium-webdriver-2.24.0/lib/selenium/webdriver/common/driver.rb:33:in新」 從/用戶/演示/ .rvm /寶石/紅寶石-1.9.2-P180 /寶石/硒的webdriver-2.24.0/LIB /硒/ webdriver的/普通/ driver.rb:33:for' from /Users/demo/.rvm/gems/ruby-1.9.2-p180/gems/selenium-webdriver-2.24.0/lib/selenium/webdriver.rb:65:in關於」 從(IRB):7

+0

我有看起來像是同樣的問題。您是否按照http://code.google.com/p/selenium/wiki/SafariDriver上的說明操作? – mdgreenfield 2012-08-08 20:17:54

+0

對於我鎖定版本的gem libwebsocket到0.1.3解決了這個問題。希望這可以幫助你。 – Cthulhu 2012-08-18 17:21:28

回答

0

我一直運行到從Ruby使用Selenium Webdriver時出現這個問題。我解決了它幾次,但錯誤又回來了。於是我寫了rspec測試,在Windows上由jRuby加載,並用Java運行Selenium調用。 Safari現在工作。

相關問題