Android自动化测试框架介绍

Monkey

编写语言:命令行
运行环境:使用adb连接PC运行
测试对象:Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。主要测试客户端应用的稳定性,健壮性 
测试限制:主要是做随机模拟用户操作移动端的操作

MonkeyRunner

1

2

3

4

编写语言:py

运行环境:py环境,使用adb连接PC运行

测试对象:UI测试,<strong>功能测试</strong>,<strong>回归测试,并且可以自己定义测试扩展,灵活性较大。</strong>

测试限制:主要使用坐标,逻辑判断较差

UiAutomator

1

2

3

4

编写语言:java

运行环境:使用adb连接PC运行,启动测试

测试对象:主要用于UI功能自动化和UI测试,快速、运行简单

测试限制:是通过<strong>以控件的方式来定位</strong>,当然也是<strong>支持坐标轴的方式来定位,权限控制不足,无法像Instrumentation那样使用</strong>

Instrumentation

1

2

3

4

编写语言:java

运行环境:使用adb连接PC运行,启动测试

测试对象:主要用于白盒测试和UI测试

测试限制:单个Activity测试,需要与测试相同应该的签名

Robotium

1

2

3

4

编写语言:java基于Instrumentation封装

运行环境:使用adb连接PC运行,启动测试

测试对象:主要用于白盒测试和UI测试

测试限制:单个Activity测试,需要与测试相同应该的签名

各种框架编写代码风格

Monkeyrunner代码风格实例

1

2

device = Monkeyrunner.waitForConnection()等待连接手机设备

device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP)点击Home键

Robotium

1

2

solo.clickOnMenuItem("Add note")

solo.goBack();

Instrumentation

1

2

3

4

5

mActivity.runOnUiTread(new Runnable(){

          public void run(){

              mSpinner.requestFocus();

}        

})       

UIAutomator

1

2

3

4

5

6

7

8

9

10

11

12

13

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);

    }

}

 

https://www.cnblogs.com/xiaoyaowuming/p/7000866.html

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值