51Testing软件测试论坛
标题:
关于Monkeyrunner连接手机设备启动APP的问题
[打印本页]
作者:
ingwlhot0801
时间:
2013-1-7 10:45
标题:
关于Monkeyrunner连接手机设备启动APP的问题
最经正在攻Monkeyrunner,万事开头难啊,刚一上手就遇到了个问题
,还行有经验的来协助并讨论一下,在下感恩不尽
,好了,废话少说,现在切入正题:
环境:Monkeyrunner+Python3.3
终端:HTC G14(MIUI 4.0.3系统,官网的ROM)
以ApiDemo演示为例,前提是此程序已成功安装
进入cmd命令窗口
依次输入命令:
1、monkeyrunner 回车
2、from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice 回车
3、device=MonkeyRunner.waitRorConnection(5,‘HT23LV804061’) 回车
# 'HT23LV804061'为终端的设备名称(可从adb devices获取)
4、device.startActivity(component = "com.example.android.apis/com.example.android.apis.ApiDemos")
执行步骤4时并没有打开app主页面,终端无响应
,在模拟器中是可以打开的!
但是在手动打开app后,执行device.press('KEYCODE_DPAD_DOWN', MonkeyDevice.DOWN_AND_UP),终端可正常响应
还请有经验的朋友来回答一下,是命令有误,还是系统与Monkeyrunner的兼容问题造成的?
作者:
likang2005608
时间:
2013-1-7 15:51
第3步中,如果只连接一个手机设备可以不用添加设备名称
可以改为:device=MonkeyRunner.waitRorConnection()
第4步中,要保证package和activity名称正确
作者:
ingwlhot0801
时间:
2013-1-8 10:13
回复
2#
likang2005608
还有一个问题,monkeyrunner传入app时运用device.installPackage(),其中括号内写入相对路径,这儿的当前路径是什么?我用的windows xp
作者:
likang2005608
时间:
2013-1-22 14:14
回复
3#
ingwlhot0801
你在执行monkeyrunner命令之前,首先要进入monkeyrunner.bat所在目录下。(例如我的D:\adt-bundle-windows-x86\sdk\tools)所以这里的相对路径当然是相对tools这个目录的app路径。简单的方法就是在monkeyrunner.bat所在目录下保存你要安装的apk文件。此时代码就类似下面这样:device.installPackage('./sdk_demo.apk')
作者:
chy2436447@
时间:
2013-5-11 14:42
回复
2#
likang2005608
确认可以不用输入设备名吗?我测试,不输入设备名不能连接
作者:
jiguanghover
时间:
2013-5-14 09:12
device=MonkeyRunner.waitRorConnection()这句写错了吧,device=MonkeyRunner.waitForConnection()
作者:
zpy8202
时间:
2013-7-3 10:20
回复
1#
ingwlhot0801
我和你碰到了同样的问题,应该是兼容的问题,同样的脚本在2.3.3模拟器上打开正常,但是在4.0.4系统下,手机这是menu键亮了一下!正在查找如何解决
作者:
生如夏花LUX
时间:
2013-11-7 09:42
回复
7#
zpy8202
我现在也遇到了这个问题 请问怎么解决的呢?
作者:
张亚洲
时间:
2013-12-9 19:59
回复 zpy8202
我现在也遇到了这个问题 请问怎么解决的呢?
生如夏花LUX 发表于 2013-11-7 09:42
device.startActivity(component = "com.example.android.apis/com.example.android.apis.ApiDemos")
这里把双引号改成单引号试试,应该没问题
com.example.android.apis--对应应用包名
com.example.android.apis.ApiDemos--对应启动后的主程序
作者:
loading_happy
时间:
2014-5-20 14:00
回复
5#
chy2436447@
当只连接一个设备时,device=MonkeyRunner.waitForConnection()是可以成功执行并连接的。
我一只是这样用的。
作者:
oo0vini0oo
时间:
2015-8-25 17:11
刚接触,请问怎么使用monkeyrunner连接模拟器。求具体步骤。感激。。没有安装eclipse
怎么使用monkeyrunner链接手机。求步骤。感激不尽。。。
作者:
joy66
时间:
2015-11-16 16:51
手机4.4的系统,同样遇到app起不来的问题,请大神指点。
作者:
mumusan
时间:
2016-4-14 15:31
哥们你的包名是不是多写了个.apis???
作者:
zy36151
时间:
2016-4-29 17:24
楼主的语句,给我了好大帮助,之前一直用py脚本,总说报错,根据楼主的一句句来,成功了,除了那个错的单词~
作者:
cuikejie123
时间:
2016-5-26 14:42
1.device=MonkeyRunner.waitForConnection() 这种是默认的,也可以像楼主一样加入参数,参数一般用于连接多个设备时使用
2.component=‘’这里要用单引号
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2