6

在 W2k8 64 位,我在 android 4.1 API 级别 16 的 android 模拟器实例中使用 ARM 作为 CPU。启动它后,我正在运行我的 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

我可能会告诉您您已经知道的内容,但是您是否已开始将 tcp 端口转发到您正在运行的 android 服务器。供参考检查Android驱动程序

于 2012-10-09T19:29:14.280 回答
0

您的服务器由于某种原因没有启动。您是否可能已经在端口 8080 上运行了其他东西?

尝试运行netstat -a -n并查看是否列出了端口 8080。

如果它正在使用中,您可以尝试在不同的端口上设置或终止正在使用该端口的进程。

您也可以尝试在您的机器上禁用 UAC 和防火墙和/或以管理员身份运行该进程,看看是否有帮助(这当然是暂时的,不要关闭这些)。

于 2012-10-23T20:50:34.553 回答