我自己试验了下和官方的API编写不太一样,老别扭了,建议还是用Python写吧

昨天在网上查了一下一天,都是转来贴别人的,真正敲的很少,我真不知道转的大侠你们自己敲了么?

先截一段不负责任的blog图,为什么你们的测试脚本都是一样,真心尴尬。

如下图:

---------------------------------------------------------------------------------------------------------------分割线------------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------分割线----------------------------------------------------------------------------------------------------------------

测试脚本没问题。

好了,开始我的做法。

前提条件:

1、我自己将monkeyrunner源码,直接导出jar,然后引入就能编脚本了

2、难点:

导出jar包,需要把monkeyrunner源码引用的第三方jar包,也要带上,否则你打出来的monkeyrunner.jar是不能用的。

用eclipse的fatjar导出的jar,怎么导出参考百度

3、我写的一个简单的计算器Java版本的case

脚本如下:

TestCalculator.java
package com.monkeyrunner.www;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap; import com.android.monkeyrunner.adb.AdbBackend;
import com.android.monkeyrunner.core.IMonkeyDevice;
import com.android.monkeyrunner.core.TouchPressType; public class TestCalculator {
private static IMonkeyDevice device;
private static AdbBackend adb; public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
if (adb == null) {
adb = new AdbBackend();
// 参数分别为自己定义的等待连接时间和设备id
device = adb.waitForConnection(3000, "192.168.56.101:5555");
}
// 添加启动权限
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>(),
"com.android.calculator2/com.android.calculator2.Calculator", 0);
// 点击某一个坐标
device.type("1+1");
Thread.sleep(3000);
device.touch(550, 900, TouchPressType.DOWN_AND_UP); }
}

运行结果:1+1=2

 

总结:

和官方的api不太一样,用Java写的话,感觉对不上,好别扭,用Python写还是蛮适合的,只是我Python不熟,我习惯Java,有兴趣的同学,请参照demo,自行尝试。

引用我生成的monkeyrunner.jar,写脚本编译就不会报错了。

monkeyrunner.jar包下载地址:链接: http://pan.baidu.com/s/1kV3B0xD 密码: pefx

java调用monkeyrunner(亲测绝对可行)的更多相关文章

  1. [转] Android自动化测试之使用java调用monkeyrunner(五)

    Android自动化测试之使用java调用monkeyrunner 众所周知,一般情况下我们使用android中的monkeyrunner进行自动化测试时,使用的是python语言来写测试脚本.不过, ...

  2. FastFDFS_Jave客户端调用(亲测可用)

    一.配置文件(fdfs_client.properties) 1 2 3 4 5 6 7 8 9 10 connect_timeout = 30 network_timeout = 60 charse ...

  3. vue图片上传及java存储图片(亲测可用)

    1.前言 在使用elementui的upload组件时,我一直无法做到上传的图片和其他数据一起提交.单纯的上传文件,java的存储图片的方式也有局限性. 我知道的后端保存图片有两种方式:一种是直接存储 ...

  4. ios 获得通讯录中联系人的所有属性 亲测,可行 兼容io6 和 ios 7

    //获取通讯录中的所有属性,并存储在 textView 中,已检验,切实可行.兼容io6 和 ios 7 ,而且ios7还没有权限确认提示. -(void)getAddressBook { ABAdd ...

  5. MyEclipse 2017 ci6 安装反编译插件(本人自己摸索的方法,亲测可行)

    注: 本文来源于:Smile_Miracle 的< MyEclipse 2017 ci6 安装反编译插件(本人自己摸索的方法,亲测可行) > 第一步:关闭ME,去一下地址下载jad的反编译 ...

  6. 亲测可行,AndroidStudio 究竟如何配置gradle

    一.你不想看到的 Gradle Build Running 话说在天朝当程序员也是很不容易的,不管是查阅资料还是下载东西,很多时候你会发现自己上网姿势不对,当然对大多数程序员来说,这都不是事儿.这次重 ...

  7. 亲测可用)html5 file调用手机摄像头

    在切图网一个客户的webapp项目中需要用到 html5调用手机摄像头,找了很多资料,大都是 js调用api  然后怎样怎样,做了几个demo测试发现根本不行, 后来恍然大悟,用html5自带的 in ...

  8. 平衡二叉树 JAVA实现 亲测可用

    平衡二叉树的JAVA实现 亲测可用 包括LL LR RL RR四种情况的旋转算法 以及添加删除树结点之后对平衡二叉树的维护算法 都已经实现并测试过 没有问题. 代码地址可以直接上我的GIT clone ...

  9. java远程备份mysql数据库关键问题(限windows环境,亲测解决)

    其它环境同理也可解决. 条件:为了使用mysql命令,本机要安装mysql ,我本机安装的是mysql 5.5. 错误1:使用命令 mysqldump -h192.168.1.50 -u root - ...

随机推荐

  1. 洛谷P3295 萌萌哒 并查集 + ST表

    又切一道紫题!!! 成功的(看了一吨题解之后),我A掉了第二道紫题. 好,我们仔细观察,发现这是一个排列组合问题. 有些限定条件,要相等的地方,我们就用并查集并起来.最后一查有多少个并查集,就有多少个 ...

  2. A1090. Highest Price in Supply Chain

    A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone invo ...

  3. eclipse复制工作空间配置

    eclipse复制工作空间配置   eclipse复制工作空间配置 总结一下,复制工作空间配置步骤如下: 1 使用eclipse新建workspace. 2 将新建的workspace下的.metad ...

  4. STM32 --- 什么时候打开复用IO的时钟(比如RCC_APB2Periph_AFIO)

    需要用到外设的重映射功能时才需要使能AFIO的时钟,包括外部中断. 外部中断(EXTI)中与AFIO有关的寄存器是AFIO-EXTICR1.2.3,它们是用来选择EXTIx外部中断的输入脚之用. 举例 ...

  5. toogle

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. java代码示例(6-1)

     创建Administrator.java /** * 需求分析:定义用户名,密码 * @author chenyanlong * 日期:2017/10/15 */ package com.hp.te ...

  7. Python基础【day02】:元组和购物车练习的知识点

    一.元组 元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表 用途:一般情况下用于自己写的程序能存下数据,但是又希望这些数据不会被改变,比如:数据库连接信息等 1.元 ...

  8. python---网络之邮件发送

    在发送邮件之前需要先设置邮件开启了SMTP等功能,对于163还需要获取授权码 这里设置保存修改 这里获取授权码 完整封装发送邮件类 import smtplib from email.mime.tex ...

  9. 运用Zabbix实现内网服务器状态及局域网状况监控(4) —— Zabbix客户端安装

    1.  创建用户 [root@zabbix ~]# groupadd zabbix [root@zabbix ~]# useradd -g zabbix zabbix 2. 安装zabbix_3.2 ...

  10. 转- --python 3 编码

    对Python3编码的整理!!! py编码终极版 说起python编码,真是句句心酸.算起来,反复折腾两个来月了.万幸的是,终于梳理清楚了.作为一个共产主义者,一定要分享给大家.如果你还在因为编码而头 ...