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