monkeyrunner 初接触

上一篇 / 下一篇  2014-05-05 17:07:07 / 个人分类:移动测试

   monkeyrunner的介绍网上已经很多,参考了大家总结的具体用法自己做了个实例,想着业余时间可以把这些脚本优化下。在考虑写脚本之前我们需要先分析被测应用哪些功能点,业务逻辑基本已经稳定,UI基本不再修改。我们需要对这些典型的操作流程进行回归测试

1、环境配置不再赘述

2、分析的时候最好使用excel建一个表用来指导我们编写脚本,更重要的是我们可以在编写所谓的案例的同时,使用android自带的工具进行坐标获取。(hierarchyviewer  获得坐标工具)例如:操作步骤

1、启动象棋应用进入主菜单
2、点击“对弈”按钮进入对局界面
3、点击“新局”按钮打开新局界面
4、点击“取消”按钮关闭对局界面
4.2点击其他屏幕区域关闭对局界面
4.3点击手机返回键关闭对局界面

每一步操作我们需要进行截图处理

3、根据我们的前期准备就可以一边查看monkeyrunner的API文档一边编写我们的脚本了,基本就是伪代码转变python脚本的实现,对比着做很简单。

  (最好是用真机进行坐标获取或者调试程序,模拟器太卡,出一些异常错误,一直怀疑是脚本写错了,后来更换了真机以后顺利通过。对于一些没有源码的apk我们可以直接用反编译工具查看AndroidManifest文件就行,或者你也可以直接adb shell ps查看进程获取)

附上代码方便大家交流首次写这个,如有错误回复留言!

#! /usr/bin/env python
#coding=utf-8
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice,MonkeyImage
import sys
import time


class test:
   
    def __init__(self):
        self.device = MonkeyRunner.waitForConnection(10)
   
        if self.device:
            print "success!!!"
           
        else:
            print >> sys.stderr,"fail"
            sys.exit(1)
           
    def startapp(self,app):
       
        self.device.startActivity(component=app)
        MonkeyRunner.sleep(3)
 
    def images(self):
        MonkeyRunner.sleep(3)
        times = str(int(time.time()))
        result = self.device.takeSnapshot()
        MonkeyRunner.sleep(3)
        result.writeToFile('C:/xiangqi/image'+times+'.png','png')
       
    def event(self,position,ty):
        self.device.touch(position['x'],position['y'],ty)
        MonkeyRunner.sleep(3)
  
    def fanhui(self):
        self.device.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP)


if __name__=='__main__':
    xiangqi = test()
    position = {'x':241,'y':316}
    ty = "'DOWN_AND_UP'"
    xiangqi.startapp("com.cnvcs.xiangqi/com.cnvcs.App")#启动应用进入主菜单
    xiangqi.images()#截图主菜单
    xiangqi.event(position,ty)#点击对弈
    xiangqi.images()#截图对弈界面
    position = {'x':144,'y':737}
    xiangqi.event(position,ty)#点击新局
    xiangqi.images()#截图新局界面
    position = {'x':350,'y':605}
    xiangqi.event(position,ty)#点击取消
    xiangqi.images()#截图取消新局界面
    xiangqi.fanhui()  


TAG: Monkeyrunner 自动化 monkeyrunner 安卓测试

 

评分:0

我来说两句

日历

« 2024-05-01  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 2307
  • 日志数: 3
  • 建立时间: 2014-05-05
  • 更新时间: 2014-09-19

RSS订阅

Open Toolbar