Android自动化测试方法(一)

来源:互联网 发布:傅园慧表情包刷爆网络 编辑:程序博客网 时间:2024/05/31 15:19

1.Monkey

http://developer.android.com/intl/zh-cn/tools/help/monkey.html

这个工具很简单,主要用来做压力测试。输入如下命令,可以用来查看用法。

adb shell monkey -help
举个简单的例子,如果想测试自己开发的应用,可以输入如下命令:

adb shell monkey -p 你想测试的应用包名 -v 500
其中500是让monkey发送多少次事件

2.MonkeyRunner

http://developer.android.com/intl/zh-cn/tools/help/monkeyrunner_concepts.html

这个相对于Monkey来说,就是真正意义上的自动化测试工具了。只需要编写脚本就可完成,我们平时所需要的大部分冒烟用例等等。

下面举个例子,比如我们app里最常用的登录功能,我们就可以编写一个脚本来完成。test.py

# coding=UTF-8from com.android.monkeyrunner import MonkeyRunner as mrfrom com.android.monkeyrunner import MonkeyDevice as mdfrom com.android.monkeyrunner import MonkeyImage as mifrom com.android.monkeyrunner.easy import EasyMonkeyDevicefrom com.android.monkeyrunner.easy import By#定义安装文件路径installPackage = 'C:\\Users\\Administrator\\ViewPageTest\\app\\build\\outputs\\apk\\app-debug.apk'#要测试的程序的包名apkPackageName ='com.example.administrator.viewpagetest'#要启动的第一个activity的名称initActivityName=apkPackageName+"/com.example.administrator.viewpagetest.MainActivity"device = mr.waitForConnection()#安装apk包device.installPackage(installPackage.decode('utf-8'))#启动应用程序device.startActivity(component=initActivityName)#防止启动首页面 需要时间过长mr.sleep(3)easy_device = EasyMonkeyDevice(device)mr.sleep(3)easy_device.type(By.id('id/username_et'),'zhangsan')# 这里的mr静止 主要用于演示demo上的gif效果 mr.sleep(2)easy_device.type(By.id('id/password_et'),'123456')mr.sleep(2)easy_device.touch(By.id('id/submit_bt'),md.DOWN_AND_UP)

然后运行看效果

monkeyrunner test.py


看上面的脚本,完成了自己安装apk,输入用户名和密码,并且点击登录按钮的过程。

有人问,你这个模拟登录的过程是模拟出来了,那我怎么知道 到底登录成功没有呢?

其实也很简单。主要有几个方法。

1.登录成功以后你这个页面肯定是要跳转到主界面的对吧,你就用脚本执行下shell命令 看看主页面 是否在栈的最上方?(前面我的activity 启动模式那篇博客里讲过这个命令的)

2.你可以在log 里面 打印出登录成功这个消息 然后用脚本捕捉到这个log 日志 就知道是否登录成功了。

3.甚至你还可以捕获界面上某个控件的文字值。

4.比较某个操作结束后的 截屏。保存为图像以后 和正确操作以后的图像进行对比。


0 0
原创粉丝点击