对于Android App的自动化测试框架的使用,其实在很多书上面都会有说明,我们可以先来看一个常用的自动化测试实例,先不说框架,主要是测试用户操作的模拟、执行结果的判断,以便获得对测试自动化的理解与认识。
案例需求如下:比如说微信打开手机存储卡的文件,通过自动化测试获取其打开某一文件的响应时间,这里首先需要做细分,把需求拆分为几个关键点,即进入浏览器、文件打开操作、获取手机屏幕、截图分析、结果统计输出。自动化测试就是实现机器完成这些关键点的一系列操作,并且在脚本的实际运行中添加需要的业务逻辑判断,实现测试自动化。根据脚本的具体实现,整理出打开文件测试流程图:
自动化测试框架,是在实际项目中总结出来的且基本能运行的通用基础框架原型,它包括三个核心部分:一是如何获取坐标/控件并操作控件模拟用户端事件,二是脚本中的结果如何判断,三是测试结果报告的输出与展示。
自动化测试的首要条件是能够操作控件,最好像开发一样操作控件,实现的方式有多种,一种最常见的脚本录制方法,其主要思想是记录控件的坐标位置和发生的事件,通过回放脚本完成测试事件流,像MonkeyRunner框架就提供比较方便的录制回放功能;另一种方法就是通过工具(比如:源码、UIAutomatorviewer等)获得测试界面的控件布局,找到目标空间的ID、名字、描述或者位置信息。测试框架可以通过这些信息得到控件对象,并对控件对象执行一系列事件操作像Robotium、UIAutomater等,这个阶段理解为测试的动作执行。
对于有跨应用App的控件操作会受到Android进程安全限制,这对于跨应用的操作是一个难点,在测试一款App应用时,它的某个功能会调起系统摄像头进行视频等,那这个功能就会涉及跨应用了。像Robotium就无法调用系统的一些INPUT事件完成跨应用的控件操作(其实Robotium从Android 4.3之后开始支持UIAutomation框,理应可以支持跨应用的),基于Robotium框架的测试脚本跟被测对象需在同一个App或者可以相互访问,一般要求重新签名打包。所以在选定框架时就需要考虑相关的权限问题,当前可以直接支持跨应用的框架有MonkeyRunner、UIAutomater等。
想要获取免费软件测试学习路线和学习资料可以添加我们的软件测试技术交流qq群:858327674 加群找群管理领取即可,软件测试相关技术问题也可以加群解决,等你来哦~~~~
相关文章
关注千锋学习站小程序
随时随地免费学习课程
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱