美文网首页
Android-APP测试之monkey

Android-APP测试之monkey

作者: 橘颂betty | 来源:发表于2017-11-06 16:58 被阅读0次

    1

    android sdk安装过程参考: http://blog.csdn.net/dr_neo/article/details/49870587 安装过程中platform-toos总是安装不成功,后面按照版本号单独下载了个包,然后复制粘贴到android-sdk目录下,文件名为platform-tools即可。

    2

    安装完成后 运行cmd

    
        adb shell       #进入shell脚本模式
    
        cd /system/framework   #进入framework目录
    
        ls    #查看monkey.jar有否
    
        adb shell pm list packages    #查看手机内所有的包名
    
        adb shell "dumpsys window |grep mCurrent"   #查看当前应用的名包
    
        monkey -p com.mar.ui -v 500 #执行monkey命令
    
        monkey -help   #monkey命令帮助
    
        adb shell monkey -p com.mar.ui -v 1000>d:\monkeylog.txt     #将结果重定向到本地
    

    查看导出文件,此文件无crash和anr报错信息

    Paste_Image.png

    3

    在Monkey测试过程中可能会出现程序崩溃(CRASH)和程序无响应的情况(ANR),要将测试的log信息获取到,从而解决bug

    测试过程中出现crash现象时,根据seed值来完成bug的复现:adb shell monkey -p (包名) -s (seed值) -v 1000

    Paste_Image.png

    测试过程中出现ANR现象,会输出相应的信息,以ANR开头,获取到信息进行问题的解决,同样可以通过seed来进行复现 adb shell cd /data/anr切换到设备路径下 ls可以看到traces.txt里面即为log信息

    4

    monkeyscript monkeyscript是monkey的脚本语言,是一组可以被monkey识别的命令集合,可以帮我们完成一系列的被固定的重复性操作,monkey通过脚本来进行测试,只是一个记事本文件,缺点是在坐标、按键等方面没有逻辑性。

    常用API的介绍

    LaunchActivity(pkg_name, cl_name): 启动应用的Activity。参数:包名和启动的Activity。
    
    Tap(x, y, tapDuration): 模拟一次手指单击事件。参数:x,y为控件坐标,tapDuration为点击的持续时间,此参数可省略。
    
    DispatchPress(keyName): 按键。参数: keycode
    
    RotateScreen(rotationDegree, persist): 旋转屏幕。 参数:rotationDegree为旋转角度, e.g. 1代表90度;persist表示旋转之后是否固定,0表示旋转后恢复,非0则表示固定不变。
    
    DispatchFlip(true/false): 打开或者关闭软键盘。
    
    LongPress():  长按2秒。
    
    PressAndHold(x, y, pressDuration):  模拟长按事件。
    
    DispatchString(input):  输入字符串。
    
    Drag(xStart, yStart, xEnd, yEnd, stepCount):  用于模拟一个拖拽操作。
    
    PinchZoom(x1Start, y1Start, x1End, y1End, x2Start, y2Start, x2End, y2End, stepCount): 模拟缩放手势。
    
    UserWait(sleepTime): 休眠一段时间
    
    DeviceWakeUp(): 唤醒屏幕。
    
    PowerLog(power_log_type, test_case_status): 模拟电池电量信息。
    
    WriteLog(): 将电池信息写入sd卡。
    
    RunCmd(cmd): 运行shell命令。
    
    DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFlags):向指定位置,发送单个手势。
    
    DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFilags):发送按键消息。
    
    LaunchInstrumentation(test_name,runner_name): 运行一个instrumentation测试用例。
    
    DispatchTrackball: 模拟发送轨迹球事件。
    
    ProfileWait: 等待5秒。
    
    StartCaptureFramerate():  获取帧率。
    
    EndCaptureFramerate(input): 结束获取帧率。
    

    完成monkey.txt脚本的编写,保存到某一路径下 切换到monkey.txt路径下 adb push monkey.txt /data/local/temp/(设备的任一路径,无规定) adb shell切换到设备下 cd /data/local/temp 切换到monkey.txt路径下 monkey -f monkey.txt -v 10 执行monkey脚本及执行次数

    完成MonkeyScript的自动化Monkey测试

    参考文档:http://blog.csdn.net/javaandroid730/article/details/53312555

    相关文章

      网友评论

          本文标题:Android-APP测试之monkey

          本文链接:https://www.haomeiwen.com/subject/bzilmxtx.html