2011-12-20 98 views
2

管理其他配置使用Mac 10.6.8配置使用watir-webdriver,關於如何解決無效文件路徑的任何建議?使用watir-webdriver安裝Opera驅動程序:無效的文件路徑

$ irb 
>> require "watir-webdriver" 
=> true 

>> browser = Watir::Browser.new :opera 

Selenium::WebDriver::Error::UnknownError: Invalid file path: null (com.opera.core.systems.runner.OperaRunnerException) 
    from [remote server] com.opera.core.systems.runner.OperaRunnerSettings(OperaRunnerSettings.java):70:in `setBinary' 
    from [remote server] com.opera.core.systems.OperaDriver(OperaDriver.java):286:in 
`<init>' 
    from [remote server] sun.reflect.NativeConstructorAccessorImpl(NativeConstructorAccessorImpl.java):-2:in `newInstance0' 
    from [remote server] sun.reflect.NativeConstructorAccessorImpl(NativeConstructorAccessorImpl.java):39:in `newInstance' 
    from [remote server] sun.reflect.DelegatingConstructorAccessorImpl(DelegatingConstructorAccessorImpl.java):27:in `newInstance' 
    from [remote server] java.lang.reflect.Constructor(Constructor.java):513:in `newInstance' 
    from [remote server] org.openqa.selenium.remote.server.DefaultDriverFactory(DefaultDriverFactory.java):63:in `callConstructor' 
    from [remote server] org.openqa.selenium.remote.server.DefaultDriverFactory(DefaultDriverFactory.java):57:in `newInstance' 
    from [remote server] org.openqa.selenium.remote.server.DefaultSession$BrowserCreator(DefaultSession.java):177:in `call' 
    from [remote server] org.openqa.selenium.remote.server.DefaultSession$BrowserCreator(DefaultSession.java):1:in `call' 
    from [remote server] java.util.concurrent.FutureTask$Sync(FutureTask.java):303:in `innerRun' 
    from [remote server] java.util.concurrent.FutureTask(FutureTask.java):138:in `run' 
    from [remote server] java.util.concurrent.ThreadPoolExecutor$Worker(ThreadPoolExecutor.java):886:in `runTask' 
    from [remote server] java.util.concurrent.ThreadPoolExecutor$Worker(ThreadPoolExecutor.java):908:in `run' 
    from [remote server] java.lang.Thread(Thread.java):680:in `run' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/remote/response.rb:50:in `assert_ok' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/remote/response.rb:15:in `initialize' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/remote/http/common.rb:58:in `new' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/remote/http/common.rb:58:in `create_response' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/remote/http/default.rb:64:in `request' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/remote/http/common.rb:39:in `call' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/remote/bridge.rb:450:in `raw_execute' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/remote/bridge.rb:92:in `create_session' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/remote/bridge.rb:68:in `initialize' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/opera/bridge.rb:28:in `initialize' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/common/driver.rb:43:in `new' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver/common/driver.rb:43:in `for' 
    from /Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.15.0/lib/selenium/webdriver.rb:60:in `for' 
    from /Library/Ruby/Gems/1.8/gems/watir-webdriver-0.4.1/lib/watir-webdriver/browser.rb:35:in `initialize' 
    from (irb):2:in `new' 
    from (irb):2>> 

回答

1

我沒有的Mac OS X 10.6得心應手的權利,但我按照10.7機器上installation instructions,一切工作就好了。 (我已經安裝了OSX GCC安裝而不是的Xcode,我已經從的App Store安裝歌劇

browser = Watir::Browser.new :opera 
後襬脫

Warning: multi_json is using default ok_json engine. Suggested action: require and load an appropriate JSON library. 

安裝json寶石:

gem install json 

sudo gem install json 
0

我不流利的紅寶石/的Watir問題(還),但我很好奇,爲什麼你傳遞一個:歌劇符號的新方法?

瀏覽器=的Watir :: Browser.new:歌劇

如果你鍵入Opera.app而不是一條合適的路徑:歌劇的象徵,它的工作原理?

相關問題