android_测试分析(monkey,monekyrunner,uiautomator,Robotium,单元测试,启动性能)cts测试
来源:互联网 发布:做淘宝虚拟充值代理 编辑:程序博客网 时间:2024/05/22 10:26
测试分析(monkey,monekyrunner,uiautomator,Robotium,单元测试,启动性能):
$adb shell monkey -p com.nobody.appfilter -v 500; #monkey测试;
monkey命令源码位置:development/cmds/monkey/src/com/android/commands/monkey;
monkeyrunner.jar包在sdk的sdk/tools/lib;monkeyrunner.jar/chimpchat.jar/draw9patch.jar等prebuilt的工具;
$monkeyrunner runner.py;#运行monkeyrunner的py脚本;
$adb shell input text textInput//模拟输入textInput字符串;模拟事件全部是通过input命令来实现的;
$adb shell input keyevent 3;#模拟home按键;
$adb shell input tap 250 250;#tap模拟的是touch屏幕的事件,只需给出x/y坐标即可;
$adb shell input swipe 250 250 300 300;#关于swipe同tap是一样的,只是他是模拟滑动的事件,给出起点和终点的坐标即可;
uiautmotor需继承UiAutomatorTestCase;UiAutomatorTestCase继承了JUnit的TestCase;
$adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings; #uiautomator语法;
UI automation test should extend UiAutomatorTestCase;
public class UiAutomatorTestCase extends TestCase{ *** };com.android.uiautomator.testrunner包;/frameworks/testing/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner目录;
public abstract class TestCase extends Assert implements Test{ *** };junit.framework包;/external/junit/src/junit/framework目录;
public final class UiAutomation{ *** };android.app包;内部利用IAccessibilityServiceConnection进行与AccessibilityManagerService的binder通讯;
Robotium需继承ActivityInstrumentationTestCase2;第三方jar对操作进行了一系列的封装;
public abstract class ActivityInstrumentationTestCase2<T extends Activity> extends ActivityTestCase{ *** };android.test包;/frameworks/base/test-runner/src/android/test;
单元测试需继承ActivityUnitTestCase;
public abstract class ActivityUnitTestCase<T extends Activity> extends ActivityTestCase{ *** };android.test包;/frameworks/base/test-runner/src/android/test;
$adb shell am instrument –w XXXXXX; #-w是指定Instrumentation类的参数标志;
启动性能,LaunchPerformanceBase是是启动性能测试容器;
public class LaunchPerformanceBase extends Instrumentation{ *** };android.test包;@hide;android.test包;/frameworks/base/test-runner/src/android/test;
mConext.startInstrumentation(*);//启动执行Instrumentation类; //apiDemo中的示例;
mInstrumentation.startActivitySync(*);//启动activity; mInstrumentation.runOnMainSync(*)//调用activity的主线程; mInstrumentation.waitForIdleSync(*);//等待application返回;
$adb shell getevent /dev/input/event0; “0001 014a 00000001”,type事件类型码,code扫描码或键值,value值;
在Activity中,直接启动单线程调用 mInstrumentation.sendStringSync("aa"); //动作注入,必须是同一uid的程序;
adbShell动作注入调用的是 InputManager.getInstance().injectInputEvent(*);
//InputManager类位于/frameworks/base/core/java/android/hardware/input下;getInstance()的Api为hide;
$make cts #android源码编译好后,在编译cts.生成目录在out/host/linux-x86/cts/下.官网,http://source.android.com/compatibility/cts-intro.html
源码下,$make cts; #生成目录在/out/host/linux-x86/cts/*下;
$sudo chmod 777 cts-tradefed; #在/out/host/linux-x86/cts/android-cts/tools目录;
$./cts-tradefed; #启动;
$list packages; #列举已安装的cts测试;
$run cts --p zzz.android.monkey; #进行cts测试;
UiAutomator:
$uiautomatorviewer; #<android-sdk>/tools/目录下;能够显示View结构;
$android create uitest-project -n uiTest -t 1 -p UiAutomator/; #生成build文件;
$ant build; #build测试jar文件;
$adb push uiTest.jar /data/local/tmp/; #push文件;
$adb shell uiautomator runtest uiTest.jar -c com.uia.example.my.LaunchSettings; #运行;
- android_测试分析(monkey,monekyrunner,uiautomator,Robotium,单元测试,启动性能)cts测试
- android自动测试方法分析(monkeyrunner,robotium,uiautomator)
- android自动测试方法分析(monkeyrunner,robotium,uiautomator)
- 通过uiautomator及monkey集成一个GUI进行性能测试,工具初版
- android 性能测试CTS篇
- CTS测试无法正常启动
- Monkey测试分析
- Monkey测试结果分析
- Monkey测试结果分析
- Monkey测试结果分析
- Monkey 测试日志分析
- Monkey测试结果分析
- 一则CTS测试错误分析
- Android自动化程测试框架之Robotium VS. UIAutomator
- 使用Robotium & UIAutomator构建基于twitter的测试
- 自动化测试框架对比(UIAutomator、Appium、Robotium)
- iOS 单元测试--性能测试
- iOS 单元测试--性能测试
- IOS Empty Application ,纯代码创建的视图应用程序
- C/C++软件工程师就业求职手册学习笔记---第十二章
- 短信定时器
- 一些关于Ubuntu使用的记录
- 使用truelicense实现用于JAVA工程license机制(包括license生成和验证)
- android_测试分析(monkey,monekyrunner,uiautomator,Robotium,单元测试,启动性能)cts测试
- mvc easyui post 需要注意的事
- Eclipse for Mac 常用快捷键
- Notes about process and thread
- Android 仿美团网,大众点评购买框悬浮效果之修改版
- 修改已经提交的commit 的msg
- ListView中Item无法获取点击事件的解决方案
- Errors running builder 'JavaScript Validator' on project 'myKendoUI'. assertion failed: Marker prope
- 7. 包、接口 java