ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2019-11-22 18:24:37  阅读:331  来源: 互联网

标签:selenium selenium-webdriver webdriver windows 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有