对于Android App的自动化测试框架的使用,其实在很多书上面都会有说明,我们可以先来看一个常用的自动化测试实例,先不说框架,主要是测试用户操作的模拟、执行结果的判断,以便获得对测试自动化的理解与认识。

  案例需求如下:比如说微信打开手机存储卡的文件,通过自动化测试获取其打开某一文件的响应时间,这里首先需要做细分,把需求拆分为几个关键点,即进入浏览器、文件打开操作、获取手机屏幕、截图分析、结果统计输出。自动化测试就是实现机器完成这些关键点的一系列操作,并且在脚本的实际运行中添加需要的业务逻辑判断,实现测试自动化。根据脚本的具体实现,整理出打开文件测试流程图:

  自动化测试框架,是在实际项目中总结出来的且基本能运行的通用基础框架原型,它包括三个核心部分:一是如何获取坐标/控件并操作控件模拟用户端事件,二是脚本中的结果如何判断,三是测试结果报告的输出与展示。

  自动化测试的首要条件是能够操作控件,最好像开发一样操作控件,实现的方式有多种,一种最常见的脚本录制方法,其主要思想是记录控件的坐标位置和发生的事件,通过回放脚本完成测试事件流,像MonkeyRunner框架就提供比较方便的录制回放功能;另一种方法就是通过工具(比如:源码、UIAutomatorviewer等)获得测试界面的控件布局,找到目标空间的ID、名字、描述或者位置信息。测试框架可以通过这些信息得到控件对象,并对控件对象执行一系列事件操作像Robotium、UIAutomater等,这个阶段理解为测试的动作执行。

  对于有跨应用App的控件操作会受到Android进程安全限制,这对于跨应用的操作是一个难点,在测试一款App应用时,它的某个功能会调起系统摄像头进行视频等,那这个功能就会涉及跨应用了。像Robotium就无法调用系统的一些INPUT事件完成跨应用的控件操作(其实Robotium从Android 4.3之后开始支持UIAutomation框,理应可以支持跨应用的),基于Robotium框架的测试脚本跟被测对象需在同一个App或者可以相互访问,一般要求重新签名打包。所以在选定框架时就需要考虑相关的权限问题,当前可以直接支持跨应用的框架有MonkeyRunner、UIAutomater等。

APP自动化测试过程概述相关推荐

  1. 手机软件自动化测试的流程,APP自动化测试过程概述

    原标题:APP自动化测试过程概述 对于Android App的自动化测试框架的使用,其实在很多书上面都会有说明,我们可以先来看一个常用的自动化测试实例,先不说框架,主要是测试用户操作的模拟.执行结果的 ...

  2. android性能测试自动化,Android App自动化性能测试探究

    作者:彭海波 前言 Android App的性能测试是移动测试过程中必不可少的一个环节.在我们项目组内,性能测试的过程是这样的,先设置测试场景,然后一边手工执行场景,一边通过工具获取性能数据,为了减少 ...

  3. APP自动化(一):tidevice使用

    APP自动化(一):tidevice使用 tidevice简介 tidevice功能 tidevice使用 环境支持 tidevice安装 常用命令 自动化测试 tidevice简介 tidevice ...

  4. 4行代码,让app自动化框架支持 webview 混合应用操作

    移动端 app 自动化框架很多,但是有一些框架因为不支持混合应用测试,一直没有完全流行.比较典型的是经典的 Python 框架 uiautomator2, 这个框架简单好用,没有 appium 那样复 ...

  5. 自动化测试遇到的难点_自动化测试过程中遇到的问题主要有什么?

    1 自动化测试过程中遇到的问题主要有什 么? 问题:自动化测试过程中遇到的问题主要有什么? 回答: 1. 对自动化测试的期望值太高.很多人想把自动化测试完全替 代人工测试, 如果期望不现实, 无论测试 ...

  6. pythonapp自动化_GitHub - qdyxmas/PyAutoTest: python Autotest UI自动化 APP自动化 HTTP接口自动化...

    PyAutoTest自动化平台 1.环境搭建 1.1 下载或拷贝整个PyAuthoTest到指定的目录,如D:\PyAuthoTest 1.2 安装Python2.7以及需要使用到的安装包列表如下 r ...

  7. 十分钟弄懂最快的APP自动化工具uiautomator2

    相信很多使用appium做过APP自动化的人都深有感触: appium运行慢.时间长 uiautomatorviewer定位元素时得关掉appium server 在低版本的appium上获取toas ...

  8. Appium+python实现App自动化登录

    Appium+python实现App自动化登录 以下是个人用Appium + python写的第一个App自动化案例,仅做单页面,比较简单,后续将涉及到主功能模块化,需使用到功能时调用即可. 获取设备 ...

  9. appium手机APP自动化定位元素

    目录 1 什么事手机app自动化,作用和特点 2 自动化原理: 3 定位元素 根据ID 根据CLASS NAME 根据ACCESSIBILITY ID Xpath 1 什么事手机app自动化,作用和特 ...

最新文章

  1. 利用java多线程向MongoDB中批量插入静态文件
  2. SpringBoot集成Quartz实现定时任务的动态创建、启动、暂停、恢复、删除。
  3. [图形学]切向空间(Tangent Space)
  4. Max Time-Delay Neural Networks
  5. 安卓boot.img文件详细介绍-解包,编辑,打包
  6. win32 汇编实现全盘文件扫描功能(杀毒程序的扫描全盘文件功能)
  7. java通过密钥得到谷歌验证码
  8. 【C语言】实现 4阶(经典)龙格-库塔法 求解二阶微分方程
  9. postgresql点云las_三维点云目标提取总结【转】
  10. 批量修改图幅lisp_AutoCAD中自动批量修改图形文件的程序
  11. Excel点击按钮隐藏指定行
  12. oracle locked time,Oracle里面的用户无法登录 LOCKED(TIMED)解决方法
  13. 很全很强大的图形学相关的论文和源码
  14. windows 查询mac地址
  15. windows批处理脚本bat命令解析【11】rd与del命令以及参数
  16. react native 动画组件(Animated)浅析
  17. WIFI智能电源插座是怎么连上路由器的?
  18. pandas制作图表
  19. sql 语句中 Sum(*) Nvl(name,0) Coun(*)的作用
  20. 在Altium Designer中快速命名多引脚芯片的引脚名称

热门文章

  1. [转]web打印实现方案 Lodop6.034 使用方法总结
  2. 手把手教你搭建一个学习Python好看的 Jupyter 环境
  3. Android 应用性能优化-StrictMode(严格模式)
  4. ios开发日记- 5 屏幕截图
  5. 《SQL Server 管理与维护指南》章节目录
  6. 虚方法的调用是怎么实现的(单继承VS多继承)
  7. SQL Server-流程控制 5,Goto 语句
  8. silverlight 无法发布 如何灵活配置IP
  9. 范登读书解读《亲密关系》(婚姻、爱情) 笔记
  10. 一看就懂!【英雄联盟锐雯】与 Python 详解设计模式之门面模式