我使用seleniumwebdriver,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进行远程连接的过程,但是这些命令是针对Linux操作系统的,在Windows中不起作用,命令在下面给出
# Instal socat, one time setup $sudo apt-get install socat $socat TCP-LISTEN:8081,fork TCP:localhost:8080
任何人都可以告诉我什么命令将被使用。
最后我解决了这个问题。
我正在分享这个程序,希望它能帮助所有人
要在Windows环境下远程访问android设备,我们需要执行以下步骤
1在远程机器(即与Android设备连接的机器)首先从http://blog.gentilkiwi.com/programmes/socat#englishversion下载socat-xxxxzip
2 现在通过命令提示符去你已经下载socat zip文件夹[对我来说,我已经下载它在E:驱动socat文件夹]
3 现在在相同的命令提示符给出命令adb.devices [我假设平台工具文件夹路径已经设置在环境变量]来检查天气远程机器正在检测您所需的设备或没有,如果机器检测到设备然后它会显示设备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服务器可以从任何机器或网络接口访问在任何机器的Firefox浏览器中打开URL http://remote machine ip:8081/wd/hub
如果每件事情都很好,那么它会在Firefox浏览器中显示一个空白页面
7现在在开发机器上[即代码将通过eclipse执行]只需修改下面的代码
WebDriver driver = new AndroidDriver(); and change it to WebDriver driver = new AndroidDriver("http://remote machine ip:8081/wd/hub/");
8现在点击eclipse中的运行按钮,你会看到在远程机器上连接的android设备的输出。