快学UiAutomator各种框架介绍
Monkey
编写语言:命令行
运行环境:使用adb连接PC运行
测试对象:Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。主要测试客户端应用的稳定性,健壮性
测试限制:主要是做随机模拟用户操作移动端的操作
MonkeyRunner
编写语言:py
运行环境:py环境,使用adb连接PC运行
测试对象:UI测试,功能测试,回归测试,并且可以自己定义测试扩展,灵活性较大。
测试限制:主要使用坐标,逻辑判断较差
UiAutomator
编写语言:java
运行环境:使用adb连接PC运行,启动测试
测试对象:主要用于UI功能自动化和UI测试,快速、运行简单
测试限制:是通过以控件的方式来定位,当然也是支持坐标轴的方式来定位,权限控制不足,无法像Instrumentation那样使用
Instrumentation
编写语言:java
运行环境:使用adb连接PC运行,启动测试
测试对象:主要用于白盒测试和UI测试
测试限制:单个Activity测试,需要与测试相同应该的签名
Robotium
编写语言:java基于Instrumentation封装
运行环境:使用adb连接PC运行,启动测试
测试对象:主要用于白盒测试和UI测试
测试限制:单个Activity测试,需要与测试相同应该的签名
各种框架编写代码风格
Monkeyrunner代码风格实例
device = Monkeyrunner.waitForConnection()等待连接手机设备
device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP)点击Home键
Robotium
solo.clickOnMenuItem("Add note")
solo.goBack();
Instrumentation
mActivity.runOnUiTread(new Runnable(){
public void run(){
mSpinner.requestFocus();
}
})
UIAutomator
public class Test extends UiAutomatorTestCase {
public void testDemo() throws UiObjectNotFoundException{
UiDevice.getInstance().pressHome();
UiObject browserObject = new UiObject(new UiSelector().text("Browser"));
browserObject.clickAndWaitForNewWindow();
UiObject editoObject = new UiObject(new UiSelector().className("android.widget.EditText"));
editoObject.click();
UiDevice.getInstance().pressDelete();
editoObject.setText("www.baidu.com");
UiDevice.getInstance().pressEnter();
sleep(2000);
}
}
快学UiAutomator各种框架介绍的更多相关文章
- UiAutomator自动化测试框架介绍
UiAutomator自动化测试框架介绍 环境搭建 1 必要条件 1.1 JDK 1.2 SDK(API高于15) 1.3 Eclipse 2 ...
- 快学UiAutomator新建第一个测试工程
1.打开Eclipse 2.新建一个java项目,包 3.增加build path,加载需要的库文件jar包 4.新建测试类,继承UIAutomatorTestCase 5.编写测试用例,方法名必须t ...
- 快学UiAutomator创建第一个实例
工具准备 一.准备好java环境(JDK)和安卓环境(SDK.ADT)jdk1.6+ \eclipse\SDK \ADT详情百度,安装java环境 二.打开eclipse 三.创建步骤: 右键新建== ...
- 快学UIautomator之uiautomatorhelp使用
1.先下载uiautomatorhelp插件 2.把uiautomatorhelp.java包放到自己的项目中 3.项目中引入uiautomatorhelp插件 4.在项目中设置一个main方法,引入 ...
- 快学UiAutomator UiDevice API 详解
一.按键使用 返回值 方法名 说明 boolean pressBack() 模拟短按返回back键 boolean pressDPadCenter() 模拟按轨迹球中点按键 boolean press ...
- 快学UiAutomator配置编辑环境
Java环境配置 1.下载jdk1.6+包 2.安装jdk,默认安装即可 3.成功安装之后,进行测试是否真的成功安装,点击[开始]----[运行]----输入 CMD,在命令提示符里面输入“Java ...
- 快学Scala 第十九课 (trait的abstract override使用)
trait的abstract override使用: 当我看到abstract override介绍的时候也是一脸懵逼,因为快学scala,只介绍了因为TimestampLogger中调用的super ...
- Android自动化框架介绍
随着Android应用得越来越广,越来越多的公司推出了自己移动应用测试平台.例如,百度的MTC.东软易测云.Testin云测试平台…….由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的 ...
- 【快学SpringBoot】Spring Cache+Redis实现高可用缓存解决方案
前言 之前已经写过一篇文章介绍SpringBoot整合Spring Cache,SpringBoot默认使用的是ConcurrentMapCacheManager,在实际项目中,我们需要一个高可用的. ...
随机推荐
- Bootstrap表格分页(二)
本文使用Bootstrap-table来对表格进行分页,关于Bootstrap-table以及下载插件包请点击官网:http://bootstrap-table.wenzhixin.net.cn 首先 ...
- 通过HTTP请求WEBAPI的方式
平时工作中长期需要用到通过HTTP调用API进行数据获取以及文件上传下载(C#,JAVA...都会用到).这里获取的是包括网页的所有信息.如果单纯需要某些数据内容.可以自己构造函数甄别抠除出来!一般的 ...
- Lightoj1011【KM算法】
题意: 问男孩女孩最大的可能值?其实就是一个二分图的最大权值匹配问题:模板题吧.. #include<cstdio> #include<math.h> #include< ...
- UGUI DOTween渐隐渐现
Tween tweenAlpha; tweenAlpha = DOTween.To(() => MaskSpr.fillAmount, x => MaskSpr.fillAmount = ...
- MySQL 派生表(Derived Table) Merge Optimization
本文将通过演示告诉你:MySQL中派生表(Derived Table)是什么?以及MySQL对它的优化. Background 有如下一张表: mysql> desc city; +------ ...
- 考虑实现Comparable接口
考虑实现Comparable接口 compareTo方法没有在Object中声明.相反,它是Comparable接口中唯一的方法.compareTo方法不但允许进行简单的等同性比较,而且允许执行顺 ...
- tpc-ds99 工具使用
安装部署 tpc-ds-99 工具 解压文件 unzip tpc-ds-tool.zip 进入目录 cd v2.3.0/tools 拷贝Makefile文件 cp Makefile.suite Mak ...
- Elasticsearch之安装
elasticsearch需要java8以上支持 java -version 二进制文件下载 www.elastic.co/downloads tar安装示例 1.下载tar文件 curl -L -O ...
- Azkaban的架构(三)
Azkaban是什么?(一) Azkaban的功能特点(二) 不多说,直接上干货! http://www.cnblogs.com/zlslch/category/938837.html Azkaban ...
- C# 连接 Oracle,读取Blob字段数据,存到文件中去,包括pdf等等
代码如下,记得引入Oracle的dll using System; using System.Collections.Generic; using System.ComponentModel; usi ...