51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 6562|回复: 12
打印 上一主题 下一主题

学习monkeyrunner困惑

[复制链接]
  • TA的每日心情
    慵懒
    2017-7-9 10:38
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    1#
    发表于 2014-6-9 21:03:22 | 显示全部楼层
    Monkeyrunner和monkey都是Google开发的,同在SDK的tools目录下面。monkeyrunner是一个自动化测试框架,模拟器启动成功后,我们仍在CMD环境中操作。现在进入monkeyrunner的shell命令交互模式。下面是从网上找的例子,可以参考一下:

    命令:monkeyrunner

    进入shell命令交互模式后,首要一件事就是导入monkeyrunner所要使用的模块。直接在shell命令下输入:

    from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice 回车

    OK,这步完成我们就可以利用monkeyrunner进行测试工作了。

    这里有两种方案,一是直接在shell命令下输入以下命令;

    命令说明

    device=MonkeyRunner.waitForConnection() #连接手机设备

    device.installPackage("../samples/android-10/ApiDemos/bin/Apidemos.apk") #安装apk包到手机设备。

    启动其中的任意activity了,只要传入package和activity名称即可。命令如下:
    device.startActivity(component="com.example.android.apis/com.example.android.apis.ApiDemos")
    此时模拟器会自动打开ApiDemos这个应用程序的主页。

    device.reboot() #手机设备重启

    device.touch(300,300,'DOWN_AND_UP')

    MonkeyRunner.alert("hello")#在emulator上会弹出消息提示

    device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP)

    device.type('hello')#向编辑区域输入文本'hello'

    二是将以下命令写到python文件里,例如test.py,然后我们再从命令行直接通过monkeyrunner运行它即可。比如,我们还是用上面的例子,语法如下:monkeyrunner test.py 接下来monkeyrunner会自动调用test.py,并执行其中的语句,相当方便。

    实例:test.py
    [python] view plaincopy

        from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice  
        device=MonkeyRunner.waitForConnection()  
        device.startActivity(component="your.www.com/your.www.com.TestActivity")  


    在CMD中执行

    monkeyrunner test.py

    可能出现错误“Can't open specified script file”,如下图所示:

    原因在于python脚本文件路径不正确。你可以有以下解决办法:

    1、将test.py文件存放到monkeyrunner文件同一目录中。可以执行:monkeyrunner test.py 调用

    2、指定python文件位置。如果test.py文件在D盘根目录下,可以这样执行:monkeyrunner d:\test.py

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-7-9 10:38
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    2#
    发表于 2014-7-18 21:35:51 | 显示全部楼层
    device.startActivity(component="com.example.android.apis/com.example.android.apis.ApiDemos")    修改包名和主活动名字,可以指定启动对应的活动。 不知道你的任意是什么意思
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-7-9 10:38
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    3#
    发表于 2014-11-4 21:00:26 | 显示全部楼层
    hypo 发表于 2014-10-24 15:01
    为什么包名和主活动名正确,却打不开应用?

    不会吧,你在检查一下参数是不是正确。包名和activity名字别写错了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-9 23:50 , Processed in 0.064641 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表