为什么android MonkeyRunner无法连接远程android设备

时间:2016-02-18 07:50:25

标签: android testing monkeyrunner



现在,我正在研究如何使用 MonkeyRunner 来测试win7中的android设备,现在我已经下载了最新的android sdk,并配置了所有的env
<登记/> 有一个android4.4.2电视机启用adbd,没有USB调试端口,但网络可用。我可以使用以下推荐将此设备与我的电脑中的adb连接:

adb connect 172.30.198.240.

然后我在命令窗口看到以下打印:

附加设备列表
172.30.198.240:5555设备


检查此连接是否成功。我们可以使用“ adb shell ”命令登录电视系统外壳。
我写了一个python脚本(名为test.py)来测试MonkeyRunner 来自com.android.monkeyrunner的导入MonkeyRunner,MonkeyDevice
device = MonkeyRunner.waitForConnection()#&lt; ---无法连接设备
如果设备不是None:
device.takeSnapshot()

完成上述操作后,我在win7命令窗口输入“monkeyrunner.bat test.py”

代码在 MonkeyRunner.waitForConnection()处被阻止,adb服务器被终止。

我尝试了很多方法,但都失败了 的 Try1 : 输入 monkeyrunner.bat -s 172.30.198.240 test.py ,但再次失败。
Try2 : 我搜索了这个问题,有人说我们必须将adb端口设置为 12345 ,因此,我使用 adb tcpip 12345 将adb默认端口从5555更改为12345, 再次失败。
Try3 :修改脚本,为waitForConnection方法添加参数

device = MonkeyRunner.waitForConnection(5, "172.30.198.240:5555")

我的设备出现了nullpointer错误。

但是,如果我使用带有USB调试端口的手机连接我的电脑,上面的脚本运行正常 我不知道为什么,你能帮帮我吗? 非常感谢

1 个答案:

答案 0 :(得分:0)

尝试AndroidViewClient/culebra可以连接到通过网络连接的设备(即电视),没有任何问题。

如果你想截取屏幕截图dump -f(包中包含的工具之一)就可以了。

注意:

你的代码片段中还有一个拼写错误: MokeyRunner (缺少 n ),但我想你的真实代码中没有它或者您将收到例外。