快学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,在实际项目中,我们需要一个高可用的. ...
随机推荐
- YUV格式学习:YUV420P、YV12、NV12、NV21格式转换成RGB24(转载)
转自:http://www.latelee.org/my-study/yuv-learning-yuv420p-to-rgb24.html 对于YUV420的格式,网上有一大堆资料,这里就不说了.直奔 ...
- WPF后台通知前台事件(ViewModelBase记录)
版本1: 定义:public class ModelBase : INotifyPropertyChanged { public event PropertyChangedEventHandler P ...
- CSS3 制作魔方 - 相关立体样式
最好的实践,就是给定一个实践的目标去实践. 目标:利用 CSS3 的一些特性,绘制一个魔方,要可以玩转的那种,即上下左右每一层都可以独立旋转.效果如下: 为了完成此效果,将使用到以下相关概念和样式:坐 ...
- PhpStorm下载、破解
下载 去官网下载新版phpstorm 破解 1.打开编辑器, Help->Register->License server,输入http://idea.codebeta.cn (支持10. ...
- C++构造函数和拷贝构造函数详解
构造函数.析构函数与赋值函数是每个类最基本的函数.它们太普通以致让人容易麻痹大意,其实这些貌似简单的函数就象没有顶盖的下水道那样危险. 每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含 ...
- KM算法萌新讲解篇
KM算法 首先了解问题:也就是最大权值匹配: 二分图里,边带了权值,求整幅图里匹配最大/最小的权值 因为接触匈牙利算法的时候看的是找对象系列的博文,所以也自己写一发找对象的博文吧: 算法背景: 信 ...
- HDU5112【水】
#include <bits/stdc++.h> using namespace std; typedef long long LL; const int N=1e4+10; struct ...
- laravel SQL语句
DB::table('表名')->get(); //查询表里的所有数据 DB::table('表名')->where()->find(需要查询的条数); 查询单或多条数据 ...
- Vertex Lit 顶点光照
http://blog.csdn.net/heyuchang666/article/details/51565102 顶点光照(Vertex Lit) 是最低保真度的光照.不支持实时阴影的渲染路径.最 ...
- Django框架的安装,项目创建
目录 Django框架的安装,项目创建 方法安装 Django版本选择 1.11.21(最新LTS版) django管理目录 命令行创建项目 django项目 命令行启动 (必须在项目文件下执行) p ...