zoukankan      html  css  js  c++  java
  • 快学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);
    	}
    }
    

      

      

      

  • 相关阅读:
    git log
    [转]深入详解javascript之delete操作符
    js性能优化文章集锦
    [转]A记录和CNAME记录的区别
    [转]200 OK (from cache) 与 304 Not Modified------没有这个规则(ETag是否移除)!!!from cache和304,请查看顶部的流程图!
    nodejs渲染到页面的理解
    git之reset
    Mayavi入门
    OpenAcc笔记——update
    Qt笔记——数据库的图形界面
  • 原文地址:https://www.cnblogs.com/xiaoyaowuming/p/7000866.html
Copyright © 2011-2022 走看看