51Testing软件测试论坛
标题:
IOS Monkey 扩展了几个小功能
[打印本页]
作者:
巴黎的灯光下
时间:
2017-6-22 09:58
标题:
IOS Monkey 扩展了几个小功能
说明
在这里要感谢
@
utopia 分享的工具,原文:
https://testerhome.com/topics/8025
我fork之后地址:
https://github.com/xiaoluosun/iosMonkey
安装后试运行了下非常棒,扩展了几个小功能,准备每天跑起来
具体的安装部署就不说了,请移步到原文
新增功能:
1.新增了模拟器支持2.支持自定义运行时长3.每一步自动保存截图,并标注事件发生的位置(红色的“这里这里”文字,但保存截图偶尔会失败,正在找原因)
1. 支持模拟器
亲测了iOS10.3,其他版本未测试。。。。。。
if(UDID.contains("-")) {
System.out.println("=======启动模拟器的app守护进程=======");
String catLog = "tail -n 3 -f ~/Library/Logs/CoreSimulator/" + UDID + "/system.log";
Process pp = Runtime.getRuntime().exec(catLog);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(pp.getInputStream()));
String line = bufferedReader.readLine();
if(line.contains("testMacdeiMac")){
String str = line.split(" ")[4];
String curbundleid = str.split("\\[")[0];
if(curbundleid.contains("LuoJiFM-IOS")) {
} else if (curbundleid.contains("CoreSimulatorBridge")) {
} else {
System.out.println("==当前启动的APP bundleid是【"+curbundleid+"】,非测试APP,重新呼起测试APP====");
Runtime.getRuntime().exec("xcrun simctl launch booted " + BUNDLEID);
}
}
bufferedReader.close();
}
复制代码
2. 支持自定义运行时长
java -jar iosMonkey-1.0.jar -h
-u:设备的UDID
-t:运行时长(分),可选,默认180分钟
-b:测试App的Bundle
-port:macaca服务的端口,默认3456
-proxyport:usb代理端口,默认8900
主要是在monkey运行的主方法和守护app的方法里做了限制
long startTime = System.currentTimeMillis();
.......
long endTime = System.currentTimeMillis();
if((endTime - startTime) > (Integer.parseInt(TIMING) * 60 * 1000)) {
System.out.println("已运行" + (endTime - startTime)/60/1000 + "分钟,任务即将结束");
break;
}
复制代码
3.每一步自动保存截图,并标注事件位置
模拟器截图失败率挺高的,截图会保存成0字节的文件,十次差不多要失败三四次,还没找到原因。
if(UDID.contains("-")) {
try {
// 模拟器截图
Process pp = Runtime.getRuntime().exec("xcrun simctl io booted screenshot --type=jpeg " + screenshotPath);
pp.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
try {
// 真机截图(未测试)
Runtime.getRuntime().exec("idevicescreenshot -u " + UDID + " " + screenshotPath);
} catch (IOException e) {
e.printStackTrace();
}
}
复制代码
在截图上标注事件的位置,就是在事件发生的坐标加了文字水印“这里这里”,代码不贴了,看截图
左上角,搜索的后面
作者:
乐哈哈yoyo
时间:
2017-6-22 10:06
我也学习下,支持最新版的macaca么,不少反馈新版报错,可能更新适配一下
作者:
巴黎的灯光下
时间:
2017-6-22 10:07
乐哈哈yoyo 发表于 2017-6-22 10:06
我也学习下,支持最新版的macaca么,不少反馈新版报错,可能更新适配一下
我昨天上午第一次安装的macaca,应该是最新版吧,我到公司看下版本
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2