6

W2k8 64 ビットでは、CPU として ARM を使用した Android 4.1 API レベル 16 の Android エミュレーター インスタンスを使用しています。起動後、UnitTestを実行していて、最初の行で

 var webDriver = new AndroidDriver("http://localhost:8080/wd/hub"); //also with no argument

私は例外を得ました:

Unexpected error. System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:8080
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
   --- End of inner exception stack trace ---
   at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
   at System.Net.HttpWebRequest.GetRequestStream()
   at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)

この WebDriver のバージョンは 2.25.1.0 です。

私はこの記事に従いました:

http://www.nishantverma.com/2011/06/installing-webdriver-on-android.html

Firefox や ChromeDriver などの他のドライバーを使用している場合、問題なく動作します。

アドバイスをいただければ幸いです

4

2 に答える 2

1

すでに知っていることを言っているかもしれませんが、実行中のAndroidサーバーへのtcpポート転送を開始しましたか。参考までにAndroidドライバーをチェック

于 2012-10-09T19:29:14.280 に答える
0

サーバーが何らかの理由で起動していません。ポート 8080 で別の何かを実行している可能性はありますか?

実行netstat -a -nして、ポート 8080 がリストされているかどうかを確認してください。

使用中の場合は、別のポートでセットアップするか、そのポートを使用しているプロセスを強制終了してみてください。

また、マシンで UAC とファイアウォールを無効にしたり、管理者としてプロセスを実行したりして、それが役立つかどうかを確認することもできます (これはもちろん一時的なものです。これらをオフのままにしないでください)。

于 2012-10-23T20:50:34.553 に答える