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各种框架介绍的更多相关文章

  1. UiAutomator自动化测试框架介绍

    UiAutomator自动化测试框架介绍 环境搭建 1         必要条件 1.1       JDK 1.2       SDK(API高于15) 1.3       Eclipse 2    ...

  2. 快学UiAutomator新建第一个测试工程

    1.打开Eclipse 2.新建一个java项目,包 3.增加build path,加载需要的库文件jar包 4.新建测试类,继承UIAutomatorTestCase 5.编写测试用例,方法名必须t ...

  3. 快学UiAutomator创建第一个实例

    工具准备 一.准备好java环境(JDK)和安卓环境(SDK.ADT)jdk1.6+ \eclipse\SDK \ADT详情百度,安装java环境 二.打开eclipse 三.创建步骤: 右键新建== ...

  4. 快学UIautomator之uiautomatorhelp使用

    1.先下载uiautomatorhelp插件 2.把uiautomatorhelp.java包放到自己的项目中 3.项目中引入uiautomatorhelp插件 4.在项目中设置一个main方法,引入 ...

  5. 快学UiAutomator UiDevice API 详解

    一.按键使用 返回值 方法名 说明 boolean pressBack() 模拟短按返回back键 boolean pressDPadCenter() 模拟按轨迹球中点按键 boolean press ...

  6. 快学UiAutomator配置编辑环境

    Java环境配置 1.下载jdk1.6+包 2.安装jdk,默认安装即可 3.成功安装之后,进行测试是否真的成功安装,点击[开始]----[运行]----输入 CMD,在命令提示符里面输入“Java ...

  7. 快学Scala 第十九课 (trait的abstract override使用)

    trait的abstract override使用: 当我看到abstract override介绍的时候也是一脸懵逼,因为快学scala,只介绍了因为TimestampLogger中调用的super ...

  8. Android自动化框架介绍

    随着Android应用得越来越广,越来越多的公司推出了自己移动应用测试平台.例如,百度的MTC.东软易测云.Testin云测试平台…….由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的 ...

  9. 【快学SpringBoot】Spring Cache+Redis实现高可用缓存解决方案

    前言 之前已经写过一篇文章介绍SpringBoot整合Spring Cache,SpringBoot默认使用的是ConcurrentMapCacheManager,在实际项目中,我们需要一个高可用的. ...

随机推荐

  1. HDU - 3410 Passing the Message 单调递减栈

    Passing the Message What a sunny day! Let’s go picnic and have barbecue! Today, all kids in “Sun Flo ...

  2. 微信小程序 设置宽度是100%,然后图片能成为正方形的方法。小程序按屏幕比例的正方形

    1.在全局app.js中获取设备的宽度 globalData: { userInfo: null, sysWidth:wx.getSystemInfoSync().windowWidth, //图片宽 ...

  3. Git之通过ssh clone代码

    1.git平台:码云 2.服务器系统:Linux 1.在Linux中创建ssh公钥,将创建的公钥添加到码云的ssh公钥管理 2.一般来说我们配置完站点之后,都会生成一个站点对应的文件夹,进入文件夹,然 ...

  4. 第二章 "我要点爆"微信小程序点爆页面的实现与云函数和云存储的应用

    点爆页面的实现与云函数和云存储的应用以及录音功能讲解 点爆页面制作 点爆页面主要提供文字记录和语音记录两种爆文记录方式,在本页面内输入文字或录入语音后选择心情点击点爆按钮,跳转到点爆方式选择界面. 首 ...

  5. $.each(obj,function(index,value)遍历的学习

    JQuery遍历对象 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  6. HTML--使用重置按钮,重置表单信息

    当用户需要重置表单信息到初始时的状态时,比如用户输入“用户名”后,发现书写有误,可以使用重置按钮使输入框恢复到初始状态.只需要把type设置为"reset"就可以. 语法: < ...

  7. rpm与yum安装软件包

    首先,禁止用yum卸载删除软件包: 而应该使用rpm删除软件包 rpm qa | grep 软件包名 rpm -e --nodeps 要卸载的软件包

  8. linux进行文件vim编辑时没有退出文件直接关闭出现E325: ATTENTION Found a swap file by the name "/usr/local/php/etc/.php.ini.swp"

    E325: ATTENTIONFound a swap file by the name "/usr/local/php/etc/.php.ini.swp"          ow ...

  9. 关于JVM的一些东西

    1.在JDK1.6(HotSpot虚拟机)及之前,运行时常量池(属于方法区的一部分)是永久代的,而在JDK1.7之后运行时常量池(里面用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后进 ...

  10. python 全局变量 局部变量

    ##全局变量,局部变量#在函数内部可以调用全局变量,不能随意改变全局变量#若要在函数内部改变全局变量,需用关键字global #代码中全局变量都大写,局部变量都小写(非必须,一种规范) P = &qu ...