51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2297|回复: 1
打印 上一主题 下一主题

[转贴] Macaca 实现 IOS Monkey 测试 (支持 macaca2.x 版本)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-7-11 16:58:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 草帽路飞UU 于 2017-7-11 17:01 编辑

macaca新版替换了facebook的wda。我正常安装新版macaca套件之后,无需坐任何修改,这个项目还可以使用

安装新版macaca遇到不少问题

必须的步骤:升级macOS到10.12.5 ,升级Xcode搭配8.3.3,安装新版carthage,安装 gradle

MACdeMacBook-Pro:XCTestWD MAC$ macaca doctor  macaca-doctor version: 2.0.1  Node.js checklist:  node env: /usr/local/bin/node  node version: v6.9.4  iOS checklist:  Xcode Command Line Tools is ready, version: 2347.  xcodebuild version: 8.3.3  iproxy[usbmuxd] is installed at: `/usr/local/bin/iproxy`  ios_webkit_debug_proxy is installed at: `/usr/local/bin/ios_webkit_debug_proxy`  carthage is installed, version: 0.23.0  Android checklist:  JAVA version is `1.8.0_40`  JAVA_HOME is set to `/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home`  ANDROID_HOME is set to `/Users/MAC/Library/Android/sdk`  Platforms is set to `/Users/MAC/Library/Android/sdk/platforms/android-25`  ADB tool is set to `/Users/MAC/Library/Android/sdk/platform-tools/adb`  gradle is installed, version: 4.0  Installed driver list:  android: 2.0.23  ios: 2.0.18说明

苹果去掉了原有的测试框架改用XCTest之后,一直等大神放出原生的iosmonkey。但是入侵式的方式可能开发不会接受。前几天发现一个项目是通过macaca实现的,尽管效率比起原生模式的monkey差很多,总比没有好。试用了几天,基本实现monkey的功能。能够模拟长时间操作App的场景,但是无法对App进行Monkey压力测试。

从0到1非常困难,从1到2就简单很多,项目是复制来的,修复了一些bug,修改了一点逻辑。

现在客户端是使用同步的方式处理发送的事件,效率稍低

经实测:

iPhone 6plus 10.2.1,每分钟可以执行大约40次事件;

iPhone 7 10.2,每分钟可执行大约60次事件;

通过修改代码实现了异步http请求,发送事件的请求数量可以大幅提升,但是很多请求会阻塞,没有执行,实际效果不好,遂放弃。

更新

2017.3.17: 原版本呼起app的指令是当成事件,按照一定的频率执行,不管现在是否是在测试APP页面都会执行。现在改为守护进程的模式,只有当前页面跳出测试APP时候才会执行打开APP的指令。

2017.4.5:

1.修复app守护进程的bug,由于时间问题导致的

2.增加返回homescreen的事件,事件概率是2%,返回手机主页5s后重新打开app

0、简介
  • 1.修改了原版的构建方式,maven bulid(其实没看懂之前构建的配置)

  • 2.解决了idevicedebug 命令呼起app无效的问题

  • 3.根据app实际情况,修改了特殊点的处理(在有些页面,点击固定的位置才能返回,不是通用的右上角)

  • 4.如果不修改直接使用,直接使用target下面的jar包,如果实现自己的方法,需要重新编译


1、功能
  • 1.可以模拟android monkey执行的方式,在IOS APP页面点击 滑动操等作,支持 ios 9和ios10

  • 2.支持多台ios一起执行

  • 3.计划保存截图(未完成)

  • 4.计划自动收集crash日志(未完成)



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2017-7-11 17:03:02 | 只看该作者
2、准备macaca环境安装usbmuxd

$ brew install usbmuxd

安装ios-webkit-debug-proxy

$ brew install iso-webkit-debug-proxy

安装ios-deploy

$ npm i ios-deploy -g

安装ideviceinstaller

$ brew install ideviceinstaller

编译libimobiledevice

libimobiledevice需要自己编译,证实直接安装的不能用

https://github.com/libimobiledevice/libimobiledevice

下载到本地

Before building, try setting:

LD_LIBRARY_PATH=/usr/local/opt/openssl/lib:"${LD_LIBRARY_PATH}"CPATH=/usr/local/opt/openssl/include:"${CPATH}"PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig:"${PKG_CONFIG_PATH}"export LD_LIBRARY_PATH CPATH PKG_CONFIG_PATHYou might want to add that to your .bash_profile.

CPATH and PKG_CONFIG_PATH are for compiling. LD_LIBRARY_PATH is for runtime.

Then to compile run:

./autogen.sh
make
sudo make install

安装carthage

$ brew install carthage

安装macacajs包括,macaca-cli macaca-iosnpm install macaca-cli -gnpm install macaca-ios -g

MAC全局安装的路径分别如下:

/usr/local/lib/node_modules/macaca-cli/usr/local/lib/node_modules/macaca-ios检测macaca环境,无报错

$ macaca doctor

3、WebDriverAgent项目重签名

按照项目

https://github.com/baozhida/MacacaAutomation

操作项目重签名

4、帮助命令

如果需要多个iOS设备一起执行,需要指定 proxyport ,同时macaca使用不同的端口

$ java -jar iosMonkey-1.0.jar -h-u:设备的UDID-b:测试App的Bundle-port:macaca服务的端口,默认3456-proxyport:usb代理端口,默认89005、执行iosMonkey

开一个窗口执行

$ macaca server --verbose

在一个新窗口执行

$ java -jar [iosMonkey.jar Path] -u [设备的UDID] -b [测试App的BundleID] -port [macaca服务端口,可选] -proxyport[usb代理端口,可选]

6、修改源码重新打包方法

如果需要源码实现自定义的功能,在项目目录下执行

$ mvn assembly:assembly

最后提示如下,标示打包成功,target下生成iosMonkey-1.0.jar,可以使用最新的包

INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 7.350 s[INFO] Finished at: 2017-03-06T17:01:30+08:00[INFO] Final Memory: 20M/324M[INFO] ------------------------------------------------------------------------
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 13:59 , Processed in 0.059965 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表