MonkeyRunner_monkeyrunner的iQuery插件使用说明
来源:互联网 发布:pr视频软件 编辑:程序博客网 时间:2024/06/05 02:58
刚刚上传了monkeyrunner的iQuery插件,完整下载和示例代码请在此下载:
https://github.com/downloads/vowei/iQuery/iquery%20monkeyrunner%20plugin%20sample.zip
示例代码是随便找的针对大众点评写的,因此请确保手机上已经安装了大众点评的应用。示例代码下载后,请设置一个变量:“ANDROID_HOME”,例如:
$ export ANDROID_HOME=~/android-sdks
接着运行
$ ./run.sh
该插件的原理是解析Android手机上的View Server输出的应用控件树结构,找到要操控的控件的坐标,然后执行操作,当前只支持点击操作,后续会添加新的API。
下面是示例代码的说明:
1: # encoding: utf-8
2: import time, httplib, string, ast
3: # Imports the monkeyrunner modules used by this program
4: from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
5: from cc.iqa.iquery.mr import QueryableDevice, By
6:
7: ACTIVITY_LAUNCH_TIME = 10
8: THINK_TIME = 3
9:
10: runComponent = "com.dianping.v1/com.dianping.ui.activity.MainActivity"
11:
12: # Connects to the current device, returning a MonkeyDevice object
13: device = MonkeyRunner.waitForConnection()
14:
15: # Installs the Android package. Notice that this method returns a boolean, so you can test
16: # to see if the installation worked.
17: device.startActivity(component=runComponent)
18: time.sleep(ACTIVITY_LAUNCH_TIME)
19:
20: # 从device变量里初始化支持iQuery查询的device对象,其源码位置是:
21: # https://github.com/vowei/iQuery/blob/master/java/iquery/iquery-mr/src/main/java/cc/iqa/iquery/mr/QueryableDevice.java
22: qdevice = QueryableDevice(device)
23:
24: # 启动并链接到安卓设备上的View Server,“127.0.0.1”这个ip是针对模拟器的,
25: # 需要自己查询真机设备的ip
26: qdevice.connectViewServer("127.0.0.1", 4939)
27:
28: # 获取待测应用的控件树结构,得到一个ControlHierarchy对象,其源码位置是:
29: # https://github.com/vowei/iQuery/blob/master/java/iquery/iquery-mr/src/main/java/cc/iqa/iquery/mr/ControlHierarchy.java
30:
31: ch = qdevice.getLayout(qdevice.getActivityId(runComponent))
32: # mText是按钮、文本框等控件的文本属性,与android sdk里各控件里的变量一致。
33: # 下面touch函数里,第一个参数就是由By类创建的iquery查询,
34: # 第二个参数就是待测应用的控件树结构,可以调用 ch.getViewServerOutput() 函数来获取一个字符串数组形式的待测应用控件树结构。
35: # 第三个参数就是点击操作的具体行为。
36: qdevice.touch(By.iquery(u":first >> [mText='团购']"), ch, MonkeyDevice.DOWN_AND_UP)
37: time.sleep(THINK_TIME)
38:
39: qdevice.touch(By.iquery(u":first >> [mText='签到']"), ch, MonkeyDevice.DOWN_AND_UP)
40: time.sleep(THINK_TIME)
41:
42: qdevice.touch(By.iquery(u":first >> [mText='我的']"), ch, MonkeyDevice.DOWN_AND_UP)
43: time.sleep(THINK_TIME)
最后,如果你希望修改代码需要编译的话,请在此同步代码:
https://github.com/vowei/iQuery/
编译之前,因为iquery monkeyrunner插件使用了很多android sdk里面的jar文件,因此也要先设置ANDROID_HOME环境变量才能编译,如下:
1: $ export ANDROID_HOME=~/android-sdK
2: $ mvn package
转载自:http://www.cnblogs.com/vowei/archive/2012/11/10/2764426.html
- MonkeyRunner_monkeyrunner的iQuery插件使用说明
- iQuery插件使用说明
- 开源类库iQuery Android版使用说明
- myFocus插件的使用说明。
- 插件datatables的使用说明
- cordova 插件的使用说明
- iQuery移动端手势事件插件-jGestures
- iquery的事件触发问题
- MonkeyRunner_MonkeyRunner,MonkeyDevice,MonkeyImage可以调用的方法
- MonkeyRunner_MonkeyRunner 步骤与可调用的方法
- MyEclipse10的反编译插件使用说明
- iQuery查找已选中的checkbox
- Eclipse内置SVN插件的使用说明
- jquery表格插件dataTables的详细使用说明
- Highcharts图表插件的简单使用说明
- Eclipse中Tomcat插件的使用说明
- UE4.5.0的Kinect插件(Plugin)---插件使用说明<二>
- [Unity插件]Outline3D2D物体描边插件的使用说明
- poj1226 kmp 最长公共子串
- 多个细节帮助你更优雅地书写页面
- 母牛生小牛
- Armadillo脱壳知识和方法大全
- APK反破解之一:Android Java混淆(ProGuard)
- MonkeyRunner_monkeyrunner的iQuery插件使用说明
- Facebook揭秘HipHop项目 PHP程序大提速
- Oracle实现自增
- Linux下的TCP通信
- APK反破解之二:Android APK 签名比对
- 2012 最新 PEiD 壳特征库
- javascript复习之--JavaScript运算符
- cmd
- JavaScript复习之--JavaScript强制类型转换