Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t从同一局域网内的远程机器访问Android设备_Android_Windows_Selenium_Webdriver_Selenium Webdriver - Fatal编程技术网

Can';t从同一局域网内的远程机器访问Android设备

Can';t从同一局域网内的远程机器访问Android设备,android,windows,selenium,webdriver,selenium-webdriver,Android,Windows,Selenium,Webdriver,Selenium Webdriver,我正在使用SeleniumWebDriver,android服务器实现移动浏览器自动化 Android设备(运行Android服务器的地方)连接到远程机器10.0.0.158,我想从开发机器10.0.0.138访问这台机器[在那里我将使用eclipse运行设备自动化的webdriver代码],我想提到一件事,在这两台机器中都存在Android sdk 在Android驱动程序参考网站[]中,他们提到了使用socat的远程连接过程,但这些命令是针对在windows中不工作的linux操作系统的,下

我正在使用SeleniumWebDriver,android服务器实现移动浏览器自动化

Android设备(运行Android服务器的地方)连接到远程机器10.0.0.158,我想从开发机器10.0.0.138访问这台机器[在那里我将使用eclipse运行设备自动化的webdriver代码],我想提到一件事,在这两台机器中都存在Android sdk

在Android驱动程序参考网站[]中,他们提到了使用socat的远程连接过程,但这些命令是针对在windows中不工作的linux操作系统的,下面给出了这些命令

# Instal socat, one time setup
$sudo apt-get install socat

$socat TCP-LISTEN:8081,fork TCP:localhost:8080

有人能告诉我windows将使用什么命令吗。

我终于解决了这个问题

我正在分享这个过程,希望它对所有人都有帮助

要在windows环境中远程访问android设备,我们需要执行以下步骤

1在远程机器(即与android设备连接的机器)中,首先从

2现在通过命令提示符转到您下载了socat zip的文件夹[我在E:drive-socat文件夹中下载了它]

3现在在同一命令提示符下给出命令adb.devices[我假设环境变量中已经设置了平台工具文件夹路径] 要检查远程机器是否检测到所需设备,如果机器正确检测到设备,则会显示设备id,然后显示文本设备,否则会显示设备id,然后显示文本脱机

4如果在远程机器中正确检测到设备,则手动启动设备中的android服务器或发出命令

adb -shell am start -a android.intent.action.MAIN -n org.openqa.selenium.android.app/.MainActivity
如果存在多个设备,请提供设备的串行id

adb -s <serialId> shell am start -a android.intent.action.MAIN -n org.openqa.selenium.android.app/.MainActivity
6然后发出命令

adb forward tcp:8080 tcp:8080
socat TCP-LISTEN:8081,fork TCP:localhost:8080
[我已经给出了8081,但我们可以给出8082或8083或任何未使用的端口]

现在远程机器上的一切都准备好了

要验证是否可以从任何机器或网络接口访问Android WebDriver服务器,请打开url
http://remote 机器ip:8081/wd/hub
在任何机器的firefox浏览器中

如果一切正常,那么它将在firefox浏览器中显示一个空白页面

7现在在开发机器上[即通过eclipse执行代码的地方]只需修改以下代码

WebDriver driver = new AndroidDriver(); 

 and change it to  

WebDriver driver = new AndroidDriver("http://remote machine ip:8081/wd/hub/");
8现在单击eclipse中的run按钮,您将在连接到远程机器的android设备中看到输出