zoukankan      html  css  js  c++  java
  • MonkeyRunnermac

    http://blog.csdn.net/wyb199026/article/details/51436754

    背景

    之前想学习自动化测试的时候,就研究过MonkeyRunner,说实话MonkeyRunner在一定程度上是有局限性的,但是在某些方面解决问题来看,是非常方便的。比如使用Monkey测试的时候,无法很好的控制Monkey的落点。不能保证所有的页面都测到,因此可以使用MonkeyRunner来定制脚本,保证每个Activity都能覆盖。

    机器环境

    其实一开始我是想找一个现成的教程学学,结果发现基本上说的都是Windows环境下,只能自己摸索摸索。

    MonkeyRunner环境

    MonkeyRunner是AndroidSDK自带的一个东西,在SDK目录中的tools文件夹中,直接带有MonkeyRunner。

    路径

    这个命令可以直接使用命令行工具的open方法来直接打开命令,会进入Jyhon的命令行:

    SvenWeng@wengyanbindeMacBook-Pro:~/Desktop/android-sdk-macosx/tools|
    ⇒  monkeyrunner
    Jython 2.5.3 (2.5:c56500f08d34+, Aug 13 2012, 14:54:35)
    [Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0_79
    >>>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里直接输入命令:

    from com.android.monkeyrunner import MonkeyRunner
    • 1
    • 1

    没有报错说明MonkeyRunner命令是没问题的,现在需要把MonkeyRunner配置到环境变量中。

    配置MonkeyRunner到环境变量

    在Mac中,环境变量有好多个,一般来说,我们说的环境变量就是一个配置文件,如果你使用的是Mac的默认命令行终端,那么你用的就是bash,你需要在bash_profile中添加环境变量:

    open ~/.bash_profile
    • 1
    • 1

    打开文件后,需要输入这些内容:

    export PATH=${PATH}:/Users/SvenWeng/Desktop/android-sdk-macosx/platform-tools/:/Users/SvenWeng/Desktop/android-sdk-macosx/tools/
    • 1
    • 1

    然后保存后关闭文件,需要注意的是,上面的命令配置sdk的路径是我的,你的肯定不一样,需要把路径做一些修改。然后执行:

    source ~/.bash_profile
    • 1
    • 1

    如果你使用的是zsh,那么环境变量就是:

    ~/.zshrc
    • 1
    • 1

    同样的内容放置进去即可。

    上面的配置完毕之后打开命令行工具运行monkeyrunner,如果成功的进入了Jython,那么恭喜你,MonkeyRunner的环境已经配置成功。如果失败,请按照上面的方法仔细检查检查。

    第一个Demo

    配置完毕之后,我们需要运行一下脚本检查是否运行成功,MonkeyRunner的API是python的,那么我们就要写一个python的demo。

    import sys
    from com.android.monkeyrunner import MonkeyRunner as mr
    
    device = mr.waitForConnection()
    if device:
        device.startActivity(component='com.weizq/com.zztzt.android.simple.app.MainActivity')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    上面代码中,startActivity方法中需要填入你需要启动的Activity。请使用adb或者咨询开发拿到相关Activity名称。

    运行demo

    运行的方法很简单,命令是monkeyrunner + py文件的路径,比如我这样:

    monkeyrunner test.py
    • 1
    • 1

    我直接用文件名是因为我已经把shell的路径进到和文件同一层级了,如果不在同一层级,可以使用绝对路径。

    最后,我强调一点,一定要先把模拟器给启动,才能测试脚本。

  • 相关阅读:
    boost::asio在VS2008下的编译错误
    Java集合框架——接口
    ACM POJ 3981 字符串替换(简单题)
    ACM HDU 1042 N!(高精度计算阶乘)
    OneTwoThree (Uva)
    ACM POJ 3979 分数加减法(水题)
    ACM HDU 4004 The Frog's Games(2011ACM大连赛区第四题)
    Hexadecimal View (2011ACM亚洲大连赛区现场赛D题)
    ACM HDU 4002 Find the maximum(2011年大连赛区网络赛第二题)
    ACM HDU 4001 To Miss Our Children Time (2011ACM大连赛区网络赛)
  • 原文地址:https://www.cnblogs.com/wcLT/p/6564590.html
Copyright © 2011-2022 走看看