• monkeyrunner环境搭建


    对android世界小白白的人儿,弄个monkeyrunner环境吭哧哧的费了大半天的劲,没办法,因为实在是对这方面一窍不通,名词都是一个个百度才略懂一二,既然这么辛苦费劲的才能弄好,怎么也得记录下来,免得下次又不会。

    monkeyrunner是android sdk自带的测试工具,搭建monkeyrunner环境其实就是需要安装一个android sdk,当然也得有java环境jdk和python环境,此处只记录下我今天安装sdk的血泪史

    1、安装sdk

        先吐槽下走的弯路,去网上搜索monkeyrunner环境搭建,给出得一堆文档里都提到了android官网,http://developer.android.com/sdk/index.html#download好吧,因为我实在是不善于翻墙,用尽各种办法都无法成功下载,后在360软件管家中搜索android sdk,下载了一个 sdk tools for android studio,没文化真可怕,安装好后进入tools目录输入monkeyrunner,提示Please use SDK manager and check if Android SDK platform-tools are installed,网上搜索答案,说是没有添加环境变量,尝试添加环境变量才发现安装目录下根本木有platform-tools,怎么破,怎么破,论坛、q群,各种咨询,终于才明白,sdk包弄错了,虽然没明白为啥错了,但终究是走上正道了

       去网上百度搜索下载google android sdk ,下载后解压缩,里面有三个文件夹,因为jdk和eclipse我都有,所以直接将sdk复制到我指定的目录下

    2、打开cmd,进入sdk ools目录输入monkeyrunner

    3、配置环境变量

        现在在tools目录下输入monkeyrunner没问题,但是离开这个目录就会提示找不到这个命令,所以可以添加环境变量解决这个问题

      环境变量-系统变量,添加一个新的变量名android,变量值D:Program FilesAndroidsdk ools;D:Program FilesAndroidsdkplatform-tools;

    打开系统变量中的path变量,将上面两个路径追加到后面保存

    4、打开cmd,在当前目录输入monkeyrunner

     5、简单示例

    Monkeyrunner API主要包括三个模块

    1)、MonkeyRunner:这个类提供了用于连接monkeyrunner和设备或模拟器的方法,它还提 供了用于创建用户界面显示提供了方法。

    2)、MonkeyDevice:代表一个设备或模拟器。这个类为安装和卸载包、开启Activity、发送按键和触摸事件、运行测试包等提供了方法。

    3)、MonkeyImage:这个类提供了捕捉屏幕的方法。这个类为截图、将位图转换成各种格式 、对比两个MonkeyImage对象、将image保存到文件等提供了方法。

    运行monkeyrunner 脚本有两种方式,一种是在在CMD命令窗口直接运行monkeyrunner,另一种使用Python编写测试代码文件,在CMD中执行monkeyrunner xx.py运行

    具体示例步骤:

    1、cmd中启动已创建好的模拟器

    emulator -avd test

    2、编写python脚本,test.py

    # 引入本程序所用到的模块
    from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
    # 连接手机设备
    device = MonkeyRunner.waitForConnection()
    # 截图
    result = device.takeSnapshot()
    # 将截图保存到文件 
    result.writeToFile('E:memonkeyTest1_001.png','png')
    # 安装新的APP
    device.installPackage('E:meMonTest.apk')
    print ('Install Success!')
    result = device.takeSnapshot()
    result.writeToFile('E:meTest1_003.png','png')
    
    if device.removePackage('com.jh.APP304394.news'):
        print ('Uninstall Success!')
    else:
        print 'Uninstall fail'
    # 暂停10秒
    MonkeyRunner.sleep(10)
    result = device.takeSnapshot()
    result.writeToFile('E:memonkeyTest1_002.png','png')

    其中在使用removePackage(包名)时, 可通过aapt dump badging E:memonkey获得包名地址

    3、cmd中执行测试脚本

    monkeyrunner test.py,即可执行脚本中的相关操作

  • 相关阅读:
    条件运算符
    类型
    c#
    打印菱形
    关于隐藏控制器的导航条的问题
    怎么去掉Xcode工程中的某种类型的警告 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32
    如何在导航条的button点击变换时,切换对应的控制器
    如何只选择一个
    重写TabBar遇到的按钮不显示的问题
    ASI和AFN的区别
  • 原文地址:https://www.cnblogs.com/muxinyue/p/4301678.html
Copyright © 2020-2023  润新知