Android自动化测试之使用java调用monkeyrunner(补充篇)
上一篇使用java调用monkeyrunner(http://fengbohaishang.blog.51cto.com/5106297/1065647)中遗留了一个问题,就是上次用的是低版本的4个包解决的问题,使用高版本的jar包怎么调用monkeyrunner呢?
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.HashMap;
- import com.android.chimpchat.adb.AdbBackend;
- import com.android.chimpchat.adb.AdbChimpDevice;
- public class TestNewMonkeyrunner {
- /**
- * @param args
- */
- //这里有变化
- private static AdbChimpDevice device;
- private static AdbBackend adb;
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- if (adb==null){
- adb = new AdbBackend();
- // 参数分别为自己定义的等待连接时间和设备id
- //这里需要注意一下adb的类型
- device = (AdbChimpDevice) adb.waitForConnection(8000,"MSM8225QRD5");
- }
- //添加启动权限
- String action = "android.intent.action.MAIN";
- Collection<String> categories = new ArrayList<String>();
- categories.add("android.intent.category.LAUNCHER");
- // 启动要测试的主界面
- device.startActivity(null, action, null, null, categories,
- new HashMap<String, Object>(),"cn.com.fetion/.android.ui.activities.StartActivity", 0);
- // 点击某一个坐标
- //touch方法略有变化
- device.touch(202,258,com.android.chimpchat.core.TouchPressType.DOWN_AND_UP);
- }
- }
从上面可以看出,高版本与低版本的变化,并不是很多。只要连接上设备,一些需要用到的操作方法,自己可以去源码里面看,也可以自己重写一些常用的方法。
源码里的注释是非常详细,比如IchimpDevice接口类中的startActivity方法:
- void startActivity(@Nullable String uri, @Nullable String action,
- @Nullable String data, @Nullable String mimeType,
- Collection<String> categories, Map<String, Object> extras, @Nullable String component,
- int flags);
- /**
- * Send a broadcast intent to the device.
- *
- * @param uri the URI for the Intent
- * @param action the action for the Intent
- * @param data the data URI for the Intent
- * @param mimeType the mime type for the Intent
- * @param categories the category names for the Intent
- * @param extras the extras to add to the Intent
- * @param component the component of the Intent
- * @param flags the flags for the Intent
- */
该方法里对重要参数解释的都很清楚。所以,建议正在研究java调用monkeyrunner问题的朋友们,不要忘了源码这个最好的资源。
本文转自 风泊海上 51CTO博客,原文链接:http://blog.51cto.com/fengbohaishang/1071155

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Android自动化测试之使用java调用monkeyrunner
众所周知,一般情况下我们使用android中的monkeyrunner进行自动化测试时,使用的是python语言来写测试脚本。不过,最近发现可以用java调用monkeyrunner Api,用java语言写测试脚本。 于是,就简单研究了一下。这里做一些总结。希望有对在研究的午饭可以有所用处。 开始时,搜素到一些零碎的教程,说使用java调用monkeyrunner时,需要导入android sdktools路径下的lib里面的4个包:ddmlib.jar,guavalib.jar,monkeyrunner.jar,sdklib.jar.当然,这里建的是java工程,往工程里面导包就是通过:右键工程》properties》Java Build Path》Libraries》add External JARs》OK。如下图: 导入之后,我简单创建了一个测试类,然后添加一个MonkeyDevice对象,然后引入需要的包,结果发现报了错误,引用的资源找不到,根据看到的例子的提示说,需要手动添加AdbBackend.java文件到自己的工程中去。于是,我就在搜了一下,在官网上下到了这个...
-
下一篇
Android自动化测试之Robotium学习(三)
导入好robotium包之后,我们就可以在自己的工程中新建测试类进行测试。下面以我们开始建的RobotiumTest项目为例进行说明。 代码如下: packagecom.android.adb.test; importcom.jayway.android.robotium.solo.Solo; importandroid.test.ActivityInstrumentationTestCase2; public classTestRobotium extends ActivityInstrumentationTestCase2 { //此处为你要测试的 apk的包名,这里我测得是豌豆荚2 private static finalString TARGET_PACKAGE_ID="com.wandoujia.phoenix2"; //此处的 classname是你要测得 apk的主类名,也就是进入 apk第一个activity的类名 private static finalString LAUNCHER_ACTIVITY_FULL_CLASSNAME="com.wandoujia...
相关文章
文章评论
共有0条评论来说两句吧...