安卓自动化测试(1)安卓自动化测试原理概念

一、首先说说手机自动化测试的原理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、可以自己开发一个手机方面的自动化测试工具,原理上一样
时间: 2024-12-10 16:06:38

安卓自动化测试(1)安卓自动化测试原理概念的相关文章

Testing - 自动化测试的几个基础概念

自动化测试框架与模型 一个自动化测试框架就是一个集成体系,在这一体系中包含测试功能的函数库.测试数据源.测试对象识别标准,以及种可重用的模块. 自动化测试框架在发展的过程中经历了几个阶段,模块驱动测试.数据驱动测试.对象驱动测试. 自动化测试模型是自动化测试架构的基础. 自动化测试的发展过程中,不断有新的模型(概念)被提出,了解和使用这些自动化模型将有助构建一个灵活可维护性的自动化架构. 自动化测试的几种不同的模型,并非后者淘汰前者的关系: 在实施自动化更多的是以需求为出发点,混合使用,目的是解

UI设计师不可不知的安卓屏幕知识-安卓100分享

http://www.android100.org/html/201505/24/149342.html UI设计师不可不知的安卓屏幕知识-安卓100分享 不少设计师和工程师都被安卓设备纷繁的屏幕搞得晕头转向,我既做UI设计,也做一部分安卓界面布局,刚好对这块内容比较熟悉,也曾在公司内部做过相关的讲座,在此,我将此部分知识重新梳理出来分享给大家!... 分享到:QQ空间微博 为了方便网友浏览,本站具有屏幕自适应功能,在手机等设备上任然具有最优的浏览体验,横竖屏无缝切换. 公告:欢迎来到安卓100

软考之路(五)---编译原理 概念篇

从组成原理到编译原理,都是相互联系的,学习的知识都是在层层推进,顺利成章的,整个软考的所有的知识都可以从计算机的发展(组成原理)--->软件的开发(软件工程)--->软件的算法设计(数据结构)-->高级语言写的系统--->在计算机上识别(编译原理)--->各个系统的背后数据的支持--->(数据库)---->---网络知识的应用---->网络基础--,可以把整个所有的软考的课本给串起来,这些都是构成现在丰富世界的必不可少的条件. 当然由于机器语言由0.1组成,

iOS、安卓app还有web框架ui_framework轻松实现app自动化测试以及web自动化测试

一.功能介绍 Ui_framework类似于interface_framework 提供一个gem包,安装后即可使用. 1.实现了Android以及iOS app自动化测试底层基本方法封装以及测试执行报告: 2.实现了web自动化测试框架封装,实现了web标签操作予以动态方法达到元素操作目的,无需因为标签种类增加或者操作变动而增加变动底层方法 二.框架架构说明 架构图: 三.使用说明 1.  安装gem包ui_framework: 2.  脚本中require 'ui_framework' 3.

自动化测试关键字驱动的原理及实现

 自动化测试现在越来越趋向于平台化,平台化是致力于协同工作,提高效率,让更多人参与自动化的一个过程,在我看来,平台化中,有一个更为关键点,就是关键字驱动,只有把自动化测试的代码转换成为大家更容易懂的自然语言,才能让更多不懂代码的人加入进去,才能达到平台化的目的.今天我们就来谈谈自动化测试中关键字驱动的原理及实现方式. 先来看一个例子,老师对着同学们说了一句:去把桌子从A地点搬到B地点.当老师发出这个命令后,发现没有人动,因为没有明确的对象,不知道这个命令是对谁发出的,于是老师再说了一句:张三,去

独家分析:安卓“Janus”漏洞的产生原理及利用过程

近日,Google在12月发布的安卓系统安全公告中披露了一个名为"Janus"安卓漏洞(漏洞编号:CVE-2017-13156).该漏洞可以让攻击者绕过安卓系统的signature scheme V1签名机制,进而直接对App进行篡改.而且由于安卓系统的其他安全机制也是建立在签名和校验基础之上,该漏洞相当于绕过了安卓系统的整个安全机制. 一旦攻击者将植入恶意代码的仿冒的App投放到安卓商店等第三方应用市场,就可替代原有的App做下载.更新.网友安装这些仿冒App后,不仅会泄露个人账号.

安卓Android的内存管理原理解析

Android采取了一种有别于Linux的进程管理策略,有别于Linux的在进程活动停止后就结束该进程,Android把这些进程都保留在内存中,直到系统需要更多内存为止.这些保留在内存中的进程通常情况下不会影响整体系统的运行速度,并且当用户再次激活这些进程时,提升了进程的启动速度. 那Android什么时候结束进程?结束哪个进程呢?之前普遍的认识是Android是依据一个名为LRU(last recently used 最近使用过的程序)列表,将程序进行排序,并结束最早的进程. 其实安卓的内存管

安卓自定义View进阶-Matrix原理

Matrix原理 作者微博: @GcsSloop [本系列相关文章] 前言 本文内容偏向理论,和 画布操作 有重叠的部分,本文会让你更加深入的了解其中的原理. 本篇的主角Matrix,是一个一直在后台默默工作的劳动模范,虽然我们所有看到View背后都有着Matrix的功劳,但我们却很少见到它,本篇我们就看看它是何方神圣吧. 由于Google已经对这一部分已经做了很好的封装,所以跳过本部分对实际开发影响并不会太大,不想深究的粗略浏览即可,下一篇中将会详细讲解Matrix的具体用法和技巧. Matr

Appium自动化测试学习笔记 —— Appium原理

Appium简介 开源.跨平台.多语言支持的移动应用自动化工具 可测对象 原生应用APP.混合应用APP.移动Web App APP运行环境:真机.模拟器 测试对象App运行平台 IOS.Android(目前这两种是市场主流):Windows.FirefoxOS. 测试程序运行平台支持 Windows.Linux.Mac OS; 注:IOS应用appium server必须运行在Mac OS系统上,如 MacBook.imac: 支持的测试语言 python.Java.ruby.php.js.C