51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 15688|回复: 22
打印 上一主题 下一主题

MonkeyRunner API简单使用帮助.(附示例)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-7-13 19:53:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本人系菜鸟,写脚本的时候,经常忘记API使用方法,现列举常用的API并附上示例,希望在大家写脚本的时候有帮助!如果有问题,请留言给我,谢谢!
1. #导入模块;
    from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage

2. #连接当前设备,并返回一个MonkeyDevice对象;
    device = MonkeyRunner.waitForConnection()
    if not device:
        print "Please connect a device to start!"
    else:
        print "Start "
   
3. #安装Android包,注意,此方法返回的返回值为boolean,由此可以判断安装过程是否正常 ;
    device.installPackage('myproject/bin/MyApplication.apk')

4. #启动一个Activity;
   device.startActivity(component='com.android.htccontacts/com.android.htccontacts.ContactsTabActivity')

5. #截图;
    result = device.takeSnapshot()
    result.writeToFile('C:\\Users\\Martin\\Desktop\\test.png','png')

6. #时延(秒);
    MonkeyRunner.sleep(3)

7. #滑动屏幕;
    for i in range(1,70):
        device.drag((250,850),(250,110),0.1,10)
    for i in range(1,70):
       device.drag((250,110),(250,850),0.1,10)
   MonkeyRunner.sleep(1)

8. #触击屏幕;
    device.touch(507,72,"DOWN_AND_UP")

9. #执行adb shell命令;
    device.shell("input text goup01")
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3
回复

使用道具 举报

该用户从未签到

23#
发表于 2016-5-26 15:34:25 | 只看该作者
device.shell()这一句不知道有什么用
回复 支持 反对

使用道具 举报

  • TA的每日心情
    慵懒
    2016-8-23 15:39
  • 签到天数: 44 天

    连续签到: 1 天

    [LV.5]测试团长

    22#
    发表于 2015-11-23 15:01:31 | 只看该作者
    学习了,谢谢分享!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21#
    发表于 2015-10-12 16:11:39 | 只看该作者
    xmperfect 发表于 2011-11-2 16:20
    求救求救,我现遇到了和10楼同样的问题

    我已经打开一个模拟器了呀

    请问下后面你是如何解决的,困扰我很久了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2015-10-12 16:10:57 | 只看该作者
    xmperfect 发表于 2011-11-2 16:20
    求救求救,我现遇到了和10楼同样的问题

    我已经打开一个模拟器了呀

    请问下后面你是如何解决的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2012-10-17 09:11:19 | 只看该作者
    回复 3# shanxi


        赞同
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2012-9-4 16:39:13 | 只看该作者
    monkeyrunner的启动和简单操作我这边没啥问题,我想问下各位monkeyrunner怎么进行多设备测试呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2017-11-7 08:35
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    17#
    发表于 2012-5-7 14:20:18 | 只看该作者
    谢谢朋友、希望有更多的思路,monkey也可以使用脚本,可以模拟touch 类事件,请问 有什么不同?自己还不清楚
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2011-11-14 19:37:08 | 只看该作者
    楼主,  device.touch x,y的坐标是怎么定位的?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-1-14 12:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    15#
    发表于 2011-11-2 16:20:49 | 只看该作者
    本帖最后由 xmperfect 于 2011-11-2 16:37 编辑

    求救求救,我现遇到了和10楼同样的问题

    我已经打开一个模拟器了呀


    请教各位大虾,本人运行device = MonkeyRunner.waitForConnection()失败,找不到原因
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
            at com.android.monkeyrunner.JythonUtils.createArgParser(JythonUtils.java
    :117)
            at com.android.monkeyrunner.MonkeyRunner.waitForConnection(MonkeyRunner.
    java:63)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)

    java.lang.NullPointerException: java.lang.NullPointerException


    大家帮帮忙啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2011-8-25 16:20:55 | 只看该作者
    回复 11# nancy0818


    找到问题原因了
    运行py脚本的时候要在tools目录下,而不是monkeyrunner命令行
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2011-8-25 16:19:33 | 只看该作者
    回复 12# nancy0818
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2011-8-24 15:43:56 | 只看该作者
    用monkeyrunner运行py程序 为什么会报错呢 File "<stdin>", line 1
       monkeyrunner testing.py

    我把py程序也放在tools目录下面了,用的代码是 monkeyrunner testing.py

    请高人指教 怎么才能在monkeyrunner中运行py程序呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2011-8-24 15:42:45 | 只看该作者
    用monkeyrunner运行py程序 为什么会报错呢 File "<stdin>", line 1
       monkeyrunner testing.py

    我把py程序也放在tools目录下面了,用的代码是 monkeyrunner testing.py

    请高人指教 怎么才能在monkeyrunner中运行py程序呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2011-8-18 16:40:40 | 只看该作者
    请教各位大虾,本人运行device = MonkeyRunner.waitForConnection()失败,找不到原因
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
            at com.android.monkeyrunner.JythonUtils.createArgParser(JythonUtils.java
    :117)
            at com.android.monkeyrunner.MonkeyRunner.waitForConnection(MonkeyRunner.
    java:63)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)

    java.lang.NullPointerException: java.lang.NullPointerException
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2011-8-13 17:07:28 | 只看该作者
    回复 5# purplerain


    这个是用记事本写的,因为是开发一些小型的程序,如果稍微大一点就用其他的文本编辑工具,不常用,所以没有pydev.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2011-8-13 17:05:19 | 只看该作者
    回复 4# lanse_rain


    工作两年多了,觉得自动化测试应用很有限,所以希望你可以研发性能测试方面的工具或者辅助手工测试的工具.自动化测试工具,在手机测试上的应用有限.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2011-8-13 17:03:15 | 只看该作者
    回复 3# shanxi


    嗯,谢谢大侠指点:
    Monkey Runner入门比较简单,适合初学者.不指望它能进行非常深入的测试,但是可以辅助手工测试,特别是在制作测试资料的时候特别有用.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2011-8-13 17:00:17 | 只看该作者
    回复 2# lanse_rain


    可能的原因有:
    1. 设备屏幕上的当前焦点没有在输入框中;
    2. 没有配置adb的环境变量;
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2011-8-4 18:04:49 | 只看该作者
    这个是在pydev里面写的吗?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-7-6 07:40 , Processed in 0.090279 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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