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的路径进到和文件同一层级了,如果不在同一层级,可以使用绝对路径。

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

  • 相关阅读:
    HTML tabIndex 和 accesskey属性
    JS加载顺序
    CSS3 Box Shadow
    CSS中背景的Linear Gradients(线性渐变)
    CSS优先级
    CSS3 圆角(borderradius)
    JavaScript window.location对象
    JsDoc Toolkit
    Javascript标准DOM Range操作
    CSS3 Text Shadow
  • 原文地址:https://www.cnblogs.com/wcLT/p/6564590.html
Copyright © 2011-2022 走看看