其他分享
首页 > 其他分享> > 无法从同一局域网内的远程计算机访问Android设备

无法从同一局域网内的远程计算机访问Android设备

作者:互联网

我正在使用selenium webdriver,用于移动浏览器自动化的android服务器.

Android设备(运行android服务器的设备)已连接到远程计算机10.0.0.158,我想从开发计算机10.0.0.138访问此计算机[我将使用eclipse运行webdriver代码进行设备自动化),我想提到一件事,这两个机器都存在android sdk.

在Android驱动程序参考站点[https://code.google.com/p/selenium/wiki/AndroidDriver]中,他们提到了使用socat进行远程连接的过程,但是这些命令是针对在Windows中不工作的linux os的,命令如下

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

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

任何人都可以告诉我Windows使用什么命令.

解决方法:

终于我解决了这个问题.

我希望共享该程序,对所有人有帮助

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

1在远程机器(即与android设备连接的机器)中,首先从http://blog.gentilkiwi.com/programmes/socat#englishversion下载socat-x.x.x.x.zip

2现在通过命令提示符转到您已下载socat zip的文件夹[对我来说,我已将其下载到E:drive socat文件夹中]

3现在在同一命令提示符下,输入命令adb.devices [我假设环境变量中已经设置了platform-tools文件夹路径]
检查天气远程计算机是否正在检测您所需的设备,如果计算机正确检测到该设备,则它将显示设备ID,然后显示文本设备,否则将显示设备ID,然后显示文本离线

4如果在远程计算机中正确检测到设备,则手动在设备中为android服务器加星标或发出命令

adb -shell am start -a android.intent.action.MAIN -n org.openqa.selenium.android.app/.MainActivity

如果有多个设备,请提供设备的序列号

adb -s <serialId> shell am start -a android.intent.action.MAIN -n org.openqa.selenium.android.app/.MainActivity

5一旦设备中启动了Android驱动程序,然后发出命令

adb forward tcp:8080 tcp:8080

6然后发出命令

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

[我给了8081,但我们可以给8082或8083或任何未使用的端口]

所以现在远程机器上的所有东西都准备好了

验证天气可以从任何机器或网络接口访问Android WebDriver服务器,请打开url http://远程机器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设备中看到输出.

标签:selenium,selenium-webdriver,webdriver,windows,android
来源: https://codeday.me/bug/20191122/2061795.html