0

こんにちはStackOverflowコミュニティ、

実際のデバイスでSeleniumグリッドを実行しようとしています。私のセットアップ(種類)はAndroid携帯を使用すると機能しますが、iPhoneを使用すると次のエラーメッセージが表示されます

"Error forwarding the request For input string: "(null)"

したがって、私の質問は次のように要約されます。

  1. SeleniumGrid2を使用してiPhoneWebDriverをどのようにセットアップしますか?

私がこれまでにしたこと:

グリッドの設定:

セレングリッドの設定

java -jar selenium-server-standalone-2.28.0.jar -role hub

iPhoneノードの設定

[設定]>[iWebDriver]に移動します

ポート:3001

グリッド:localhost ipアドレスとポート:4444

 java -jar selenium-server-standalone-2.28.0.jar -role webdriver -host [phone Host] -port 3001 -hub http://localhost:4444/grid/register -browser browserName=iPhone,platform=MAC

次に、次のコマンドを使用してjunitテストを実行します

 public void testIphoneDriver() throws Exception {
    DesiredCapabilities capability = DesiredCapabilities.iphone();
    WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub") , capability);
    driver.get("http://www.google.com");   }

次に、「入力文字列の要求の転送中にエラーが発生しました:」(null)」というエラーが表示されます。デバイスに直接接続すると(localhost:4444をiPhoneのIPアドレスに置き換えて)、不思議なことに正常に動作します。

以下はスタックトレースです

原因:org.openqa.selenium.remote.ErrorHandler $ UnknownServerException:新しいセッションの転送エラー要求の転送エラー入力文字列: "(null)"ビルド情報:バージョン: '2.28.0'、リビジョン: '18309'、時間: '2012-12-11 15:53:30'システム情報:os.name:'Windows 7'、os.arch:'x86'、os.version: '6.1'、java.version: '1.6.0_25 'ドライバー情報:driver.version:org.openqa.grid.web.servlet.handler.RequestHandler.process(RequestHandler.java:111)at org.openqa.grid.web.servlet.DriverServlet.process(DriverServlet.java)で不明:84)org.openqa.grid.web.servlet.DriverServlet.doPost(DriverServlet.java:68)at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)atjavax.servlet.http.HttpServlet。 orgのservice(HttpServlet.java:820)。seleniumhq.jetty7.servlet.ServletHolder.handle(ServletHolder.java:565)at org.seleniumhq.jetty7.servlet.ServletHandler.doHandle(ServletHandler.java:479)at org.seleniumhq.jetty7.server.session.SessionHandler.doHandle( SessionHandler.java:225)at org.seleniumhq.jetty7.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)at org.seleniumhq.jetty7.servlet.ServletHandler.doScope(ServletHandler.java:406)at org.seleniumhq .jetty7.server.session.SessionHandler.doScope(SessionHandler.java:186)at org.seleniumhq.jetty7.server.handler.ContextHandler.doScope(ContextHandler.java:965)at org.seleniumhq.jetty7.server.handler.ScopedHandler .handle(ScopedHandler.java:117)at org.seleniumhq.jetty7.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)atorg.seleniumhq.jetty7.server.Server。handle(Server.java:349)at org.seleniumhq.jetty7.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452)at org.seleniumhq.jetty7.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)at org.seleniumhq .jetty7.server.AbstractHttpConnection.content(AbstractHttpConnection.java:894)at org.seleniumhq.jetty7.server.AbstractHttpConnection $ RequestHandler.content(AbstractHttpConnection.java:948)at org.seleniumhq.jetty7.http.HttpParser.parseNext(HttpParser .java:857)org.seleniumhq.jetty7.http.HttpParser.parseAvailable(HttpParser.java:235)at org.seleniumhq.jetty7.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)atorg.seleniumhq.jetty7。 server.bio.SocketConnector $ ConnectorEndPoint.run(SocketConnector.java:254)(org.seleniumhq.jetty7)。util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)at org.seleniumhq.jetty7.util.thread.QueuedThreadPool $ 3.run(QueuedThreadPool.java:534)at java.lang.Thread.run(不明なソース)

4

1 に答える 1

0

Selenium プロジェクトの関連する wiki ページで、iPhone ドライバーの接続とグリッドを構成する方法に関するドキュメントをいくつか提供していますhttp://code.google.com/p/selenium/wiki/IPhoneDriver

テストとハブの間に存在する接続をテストすることもできます。ハブと webdriver が実行されている iPhone。telnet または Web ブラウザを使用して、それぞれの URL に接続します。

http://localhost:4444/wd/hub

テストを実行するマシンで Web ブラウザーを使用している場合。

これで、あなたや同様の苦境にある人々がテストを機能させることができるようになることを願っています. あなたがしたことの詳細な説明をありがとう。

于 2013-03-25T10:39:41.803 に答える