《移动应用软件测试项目教程(Android版)3-Android应用自动化黑盒测试课件.ppt》由会员分享,可在线阅读,更多相关《移动应用软件测试项目教程(Android版)3-Android应用自动化黑盒测试课件.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 ANDROID应用自动化黑盒测试1学习目标l能使用Monkey工具对指定应用进行测试l能使用MonkeyRunner工具对指定应用进行测试l了解Python脚本的语法l能阅读和编写简单的Python测试脚本l掌握Monkey和MonkeyRunner的简单脚本编写任务一 使用Monkey工具l随机命令序列测试;l指定比例命令序列测试;l指定命令序列测试。3知识准备lMonkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试,是一种为了测试软件的稳定性、健壮性的快速有
2、效的方法。l简单地说,Monkey就是象猴子一样乱点,也可以指定简单的命令序列。4Monkey命令参数使用参数类型:1.基本配置选项,如设置尝试的事件数量。2.运行约束选项,如设置对指定的包进行测试。3.事件类型和频率。4.调试选项。6Monkey命令参数使用(一)事件参数设置1.事件延迟设置参数:-throttle 以毫秒为单位的延迟时间2.事件比例设置(二)调试选项7-pct-touch 调整触摸事件的百分比。-pct-motion 调整动作事件的百分比。-pct-trackball 调整轨迹事件的百分比。-pct-nav 调整“基本”导航事件的百分比。-pct-majornav 调整“主
3、要”导航事件的百分比。-pct-syskeys 调整“系统”按键事件的百分比。-pct-appswitch 调整启动Activity的百分比。-pct-anyevent 调整其它类型事件的百分比,包括所有其它类型的事件,如:按键、其它不常用的设备按钮,等等。任务实施l一、获得计算器程序的包名l二、使用随机命令序列测试计算器程序l三、使用指定比例的命令序列测试计算器程序l四、使用指定命令序列测试计算器程序8任务二 使用MonkeyRunner工具l使用MonkeyRunner工具,测试指定的应用程序,实现如下测试:1.计算功能测试及按键测试;2.多设备执行相同测试并自动保存截图,检查程序兼容性。
4、10一、MonkeyRunner简介lMonkeyRunner也是Android自带的一个用于黑盒测试的工具,通过MonkeyRunner工具,可以通过Python程序对指定的Android应用程序执行一系列操作。lMonkey与MonkeyRunner的区别如下:1.Monkey工具直接运行在设备或模拟器的adbshell中,生成用户或系统的伪随机事件流,虽然也可以指定一些简单的命令序列,但只支持较简单的一些脚本命令。Monkey一般用于性能测试例如可靠性测试等。2.MonkeyRunner工具通过API定义的特定命令和事件控制设备或模拟器,脚本使用Python程序编写,脚本可实现的功能较丰
5、富、强大,常用于功能测试或回归测试。11二、MonkeyRunner脚本录制与回放l脚本录制l脚本回放13三、手动编写Python测试脚本lMonkeyRunnerAPI一共包含MonkeyRunner、MonkeyDevice和MonkeyImage三个模块1.MonkeyRunner:为程序提供工具方法的类。这个类提供了用于连接设备或模拟器的方法waitForConnection,常用的还有sleep的方法等等。2.MonkeyDevice:表示一个设备或模拟器。提供了安装和卸载程序包的方法、启动活动的方法,还有发送键盘或触摸事件等方法。3.MonkeyImage:表示一个截图对象。这个类
6、提供了截图、将位图转换成其他格式、比较两个MonkeyImage对象以及写图像到文件的方法。15三、手动编写Python测试脚本l使用脚本对指定apk包进行安装、启动、卸载。#coding=utf-8#第一句是为了防止一些编辑器出现的不能识别中文的编码错误import sysfrom com.android.monkeyrunner import MonkeyRunner as mrdevice=mr.waitForConnection(1.0,emulator-5554)if not device:print sys.stderr,fail sys.exit(1)#安装。参数必须是绝对路径或
7、相对路径,路径级别用/号device.installPackage(E:/Helloandroid.apk)#因为安装apk需要一些时间,所以需等待一下再继续执行,否则会出现启动错误mr.sleep(10)#启动device.startActivity(component=com.example.helloandroid/.Helloandroid)#卸载device.removePackage(com.example.helloandroid)16三、手动编写Python测试脚本l把录制好的脚本运行到多设备上。def main():file=sys.argv1 fp=open(file,r)
8、device=MonkeyRunner.waitForConnection(1.0,emulator-5554)process_,device)fp.close()file=sys.argv1 fp=open(file,r)device2=MonkeyRunner.waitForConnection(2.0,emulator-5556)process_,device2)fp.close()result=device.takeSnapshot()result.writeToFile(E:takeSnapshotresult1.png,png);result=device2.takeSnapsho
9、t()result.writeToFile(E:takeSnapshotresult2.png,png);if _name_=_main_:main()18四、shell命令调试lMonkeyRunner除了可以解释并执行编写好的Python脚本,还能以交互模式执行用户输入的每条命令。lJython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。简而言之,Jython是一个Python语言在Java中的一种完全实现。lJython程序可以和Java实现无缝集成,可以直接访问所有有效的Java类。因此,除了一些标准模块外,Jython可以使用所有的
10、Java类,例如用户界面可以使用Swing,AWT或SWT等。19任务实施l一、搭建环境及准备l二、脚本编写l三、运行结果分析20任务拓展lPython语法初步lPython是一种弱类型控制的脚本语言,对于同一个变量可以赋予不同类型的值。l输入输出的函数分别为raw_input()和print。lPython语言通过语句缩进来控制语句块的。l选择结构的格式为“if(elif)else:”l循环结构有两种写法,for和while。21实训项目l使用Monkey工具,实现如下测试:1.随机命令序列测试;2.指定比例命令序列测试;3.指定命令序列测试。l使用MonkeyRunner工具,实现如下测试:1.脚本录制与脚本开发,能保证脚本的正常回放;2.修改完善Python脚本,补充测试数据并执行测试,使得功能测试更加完善,同时为回归测试做好准备;3.修改完善脚本,使得测试可以在多设备上执行,并检查程序兼容性。22Thank you!24PPT模板下载:行业PPT模板:节日PPT模板:PPT素材下载:PPT背景图片:PPT图表下载:优秀PPT下载:PPT教程:Word教程:Excel教程:资料下载:PPT课件下载:范文下载:试卷下载:教案下载:PPT论坛: