文档章节

Android自动化测试之自动化测试基本原理(一)

Eric
 Eric
发布于 2015/09/21 18:33
字数 914
阅读 250
收藏 2

手机自动化测试工具基本原理

一、首先说说手机自动化测试的原理
1、手机自动化测试的原理为PC上一个控制端(测试工具)与手机上的一个agent端,通过串口、USB或者无线方式将PC与手机终端相连,然后应用测试工具向手机发送请求或者命令,手机收到命令或者请求后,交给agent端解析,然后agent将这些解析的命令下发给手机的各个功能模块所能识别的命令,调用那些功能模块模拟操作。完成这些操作后,手机会返回一些信息,agent可以抓取这些信息,然后传回给PC端,这样就完成了一个完整的手机自动化测试。
2、关键点在于agent,有的公司是向自己的手机终端的软件功能模块中植入测试程序响应代码,有的公司可以利用MMI_Command的方式来控制手机终端;原理就是给手机提供一个响应的接口。
3、而对于PC控制端,这个测试脚本用各种编程语言都可以,看如何定义。
4、而有的自动化测试设计成录制的机制,说通俗点,就是记录手工操作的键盘信息或者LCD的操作信息(LCD需要用到智能识别机制)
5、自动化测试框架的搭建方法是通用的,你需要有一套自己的测试框架才能保证自动化测试的顺利开展。
二、Android自动化测试方向:
1、CTS,CTS 测试基于Android instrumentation 测试, 其基于JUnit 测试。说白了, CTS 就是一堆单元测试用例。这也是Java 语言的擅长部分。
2、 Monkey工具,Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
3、ASE,ASE 意思为Android 脚本环境, 即我们可以通过脚本(比如Python)调用Android 的功能,从而定制一些测试。比如打电话,发短信,浏览网页,等。我们可以扩充它的API(Java 部分), 并用python 脚本调用这些API, 从而实现丰富的测试功能。用于API 部分可以访问到Android 全部API, python 又能灵活部署测试,所以ASE 的扩展性非常好。
4、Robotium,该工具用于黑盒的自动化测试。可以在有源码或者只有APK 的情况下对目标应用进行测试。Robotimu 提供了模仿用户操作行为的API,比如在某个控件上点击,输入Text等等。

5、MonkeyRunner工具提供了一个API,运用该API编写的程序可以不用通过Android代码来直接控制Android设置和模拟器,我们可以写一个Python程序对Android应用程序或测试包进行安装,运行,发送模拟击键,对用户界面进行截图并将截图存储在指定目录上等操作。
6、可以自己开发一个手机方面的自动化测试工具,原理上一样。

更多的手机自动化测试工具可以参考:

http://www.automationqa.com/forum.php?mod=viewthread&tid=1400


© 著作权归作者所有

Eric
粉丝 2
博文 20
码字总数 23858
作品 0
海淀
QA/测试工程师
私信 提问
Android 自动化测试资料汇总

android常用自动化测试框架 Android UI 自动化测试 使用uiautomator做UI测试 .在 Android studio 上运用 UI Automator 执行自动化测试 Android Espresso(UI自动化测试)的搭建 Android UI 自动...

IT追寻者
2016/07/19
219
0
六款Android 应用的自动化测试工具

如今自动化测试已经应用到每天的测试中。这不足为奇,因为自动化测试在测试过程中节约了时间,还能避免包括人为因素造成的测试错误和遗漏。 自动化测试工具选择很多。一些是开源的,一些非常...

kyzg2211
2016/07/20
7.2K
0
超好用!5款开源的移动自动化测试工具

如今,移动应用在企业的地位越来越重要,消费者对移动设备的要求也越来越高。为适应这一需求,测试团队必须在移动设备推出市场之前,对其性能进行一系列的评估和测试。然而,这是一个既耗时又...

达尔文
2016/11/11
6.1K
2
全副武装!AndroidUI自动化测试在RxImagePicker中的实践历程

如果您不是很了解Android的自动化测试,或者还不了解UI自动化测试对于Android开发者的意义,请参考笔者的文章《解放双手,Android开发应该尝试的UI自动化测试(将于近期发布)》。概述 我是却...

却把清梅嗅2
2018/08/02
0
0
Appium基础篇1-如何在windows上安装Appium环境

终于开始写手机自动化测试相关的文章了,本人比较熟悉Selenium Web自动化测试。其实Selenium也支持手机端的自动化测试,最近越来越多公司手机端自动化测试采用Appium,所以作为一个懂点代码和...

xiaomin0322
07/02
17
0

没有更多内容

加载失败,请刷新页面

加载更多

Giraph源码分析(八)—— 统计每个SuperStep中参与计算的顶点数目

作者|白松 目的:科研中,需要分析在每次迭代过程中参与计算的顶点数目,来进一步优化系统。比如,在SSSP的compute()方法最后一行,都会把当前顶点voteToHalt,即变为InActive状态。所以每次...

数澜科技
今天
4
0
Xss过滤器(Java)

问题 最近旧的系统,遇到Xss安全问题。这个系统采用用的是spring mvc的maven工程。 解决 maven依赖配置 <properties><easapi.version>2.2.0.0</easapi.version></properties><dependenci......

亚林瓜子
今天
10
0
Navicat 快捷键

操作 结果 ctrl+q 打开查询窗口 ctrl+/ 注释sql语句 ctrl+shift +/ 解除注释 ctrl+r 运行查询窗口的sql语句 ctrl+shift+r 只运行选中的sql语句 F6 打开一个mysql命令行窗口 ctrl+l 删除一行 ...

低至一折起
今天
10
0
Set 和 Map

Set 1:基本概念 类数组对象, 内部元素唯一 let set = new Set([1, 2, 3, 2, 1]); console.log(set); // Set(3){ 1, 2, 3 } [...set]; // [1, 2, 3] 接收数组或迭代器对象 ...

凌兮洛
今天
4
0
PyTorch入门笔记一

张量 引入pytorch,生成一个随机的5x3张量 >>> from __future__ import print_function>>> import torch>>> x = torch.rand(5, 3)>>> print(x)tensor([[0.5555, 0.7301, 0.5655],......

仪山湖
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部