2

iwebDriverプロジェクトをダウンロードしてipadにインストールしました。サーバーは「http://10.10.10.55:3001/wd/hub」で起動します。そして、「www.google.com」を押したいのですが、エラーが発生します。以下のコードとスタックトレースも貼り付けています。

注:iOSシミュレーターでは完全に機能しますが、iPadでは失敗します。私のiPadバージョン4.3.3、XCodeバージョンは4.2、iOSSDKは5.1です

require 'selenium-webdriver'

browser = Selenium::WebDriver.for :remote, :url => "http://10.10.10.55:3001/wd/hub", :desired_capabilities => "ipad"
browser.get "http://www.google.com"

そして私はエラーが発生しています:-

URI :: InvalidURIError:スキームhttpはレジストリ部分を受け入れません:(null):( null)(または不正なホスト名?)from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/ 1.9.1/uri/generic.rb:199:in initialize' from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/uri/http.rb:78:ininitialize'from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/uri/common.rb:177: in new' from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/uri/common.rb:177:inparse'from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/uri/common.rb:628:in parse' from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/remote/http/default.rb:57:inrequest' from /Users/rohit/.rvm/ gems / ruby​​-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/remote/http/common.rb:40:in call' from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/remote/bridge.rb:598:inraw_execute'from /Users/rohit/.rvm/ gems / ruby​​-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/remote/bridge.rb:92:increate_session' from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/remote/bridge.rb:68:in'from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/common/driver.rb:33:in new' from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/common/driver.rb:33:infor' /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver.rb:65:infor' from (irb):5 from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:inから

そして、「https」を使用すると、次のように表示されます-

browser = Selenium::WebDriver.for :remote, :url => "https://10.10.10.55:3001/wd/hub", :desired_capabilities => "ipad"

OpenSSL :: SSL :: SSLError:SSL_connect SYSCALL returns = 5 errno = 0 state = SSLv2 / v3 read server hello Afrom/Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9。 1 / net / http.rb:678:in connect' from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/net/http.rb:678:inblock in connect'from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/timeout.rb:44:in timeout' from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/timeout.rb:89:intimeout 'from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/net/http.rb:678:in connect' from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/net/http.rb:637:indo_start' from /Users/rohit/.rvm/rubies/ ruby-1.9.2-p290 / lib / ruby​​ / 1.9.1 / net / http.rb:626:in start' from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/net/http.rb:1168:inrequest'from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/ selenium-webdriver-2.22.2 / lib / selenium / webdriver / remote / http / default.rb:76:inresponse_for' from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/remote/http/default.rb:38:in/Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/remote/http/common.rb:40:inからのリクエストcall' from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/remote/bridge.rb:598:inraw_execute'from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/remote/bridge.rb:92:in create_session' from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/remote/bridge.rb:68:ininitialize' from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/common/driver.rb:33:in for'from new' from /Users/rohit/.rvm/gems/ruby-1.9.2-p290@playerTests/gems/selenium-webdriver-2.22.2/lib/selenium/webdriver/common/driver.rb:33:in/ Users / rohit / .rvm / gems / ruby​​-1.9.2-p290@playerTests / gems / selenium-webdriver-2.22.2 / lib / selenium / webdriver.rb:65:in for' from (irb):6 from /Users/rohit/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in'1.9.2p290:007>

提案してください、私が間違っていることは何ですか?

4

1 に答える 1

2

selenium-webdriver が ipad で動作しなかった理由:-

  1. 私の ipad2 バージョンは 4.3.3 で、同じ ipad2 に iWebDriver プロジェクトをインストールしました。
  2. 問題に書かれた単純なルビコードを実行しようとしました。
  3. コードでエラーが発生し、スタック トレースも問題に貼り付けられました。

selenium-webdriver が iPad でどのように機能し始めたか:-

  1. 「新しい ipad」ios バージョン 5.1 に iWebdriver プロジェクトをインストールしました。また、バージョンが5.0のiPhone 4Sでも動作します
  2. そして、単純なルビーコードを実行しました

    ruby 'selenium-webdriver' driver = Selenium::WebDriver.for :remote, :url => "http://10.10.10.88:3001/wd/hub", :desired_capabilities => :ipad

  3. desired_capabilities は問題ではありません。:iphone または :ipad のいずれかを指定できます。

  4. 上記の Ruby コードはオブジェクトを返しました。

    driver.get "http://www.google.com"

  5. そして、それはうまくいきました。
  6. 私が観察したところ、selenium-webdriver が動作するための iOS バージョンの依存関係があります。

したがって、問題は、4.3.3、4.3.1 などの 5.0 未満の iOS バージョンで selenium-webdriver が動作しない理由です。

私を助けてくれたみんなに感謝します。

于 2012-06-28T13:11:01.133 に答える