iOS 自动化测试工具:FastMonkey
Mac运行只需如下几部即可单设备运行
运行前提
-
安装carthage
sudo brew install carthage
-
安装usbmuxd
brew install usbmuxd
主要使用iproxy
- 定位到XCTestWD-master目录
cd /Users/xxxxx/Fastmonkey/XCTestWD-master
- 安装第三方依赖库
carthage update
- 配置工程中证书、bundleid相关内容
单设备调试
- 打开一个终端,将移动设备上端口号映射到电脑上某一个端口,以后访问手机即可使用mac端口访问:
## 第一个为mac端口
## 第二个为手机端口
iproxy 8001 8001
- 新建终端,执行:
$ cd /Users/xiatian/Fastmonkey/XCTestWD-master/XCTestWD
修改XCTestWD ▸ XCTestWD ▸ Server▸ XCTestWDMonkey.swift 文件中写死的 bundleID
## XCTESTWD_PORT 为手机端端口,即 iproxy 中第二个参数
## name 修改设备名称
$ xcodebuild -project XCTestWD.xcodeproj -scheme XCTestWDUITests -destination 'platform=iOS,name=Analysys_01' XCTESTWD_PORT=8001 clean test
- 打开第三个终端 (貌似不用执行)
curl -X POST -H "Content-Type:application/json" -d "{\"desiredCapabilities\":{\"deviceName\":\"Analysys_01\",\"platformName\":\"iOS\", \"bundleId\":\"com.analysys.EGAnalyticsDemo\",\"autoAcceptAlerts\":\"false\"}}" http://127.0.0.1:8001/wd/hub/monkey
多设备测试
主要需要在mac上开多个端口监测,且监测时需要填写设备标识
- 将设备上的端口号映射到电脑上的某一个端口,打开一个终端,执行:
## 第一个参数为电脑端口,一定与第一个端口不同
## 第二个参数为手机端口
## 第三个参数为手机设备标识
iproxy 8002 8001 c4635fedb9ad6c14f829f8b5cd0a8c8096139ef
- 新建终端,执行:
$ cd /Users/xiatian/Fastmonkey/XCTestWD-master/XCTestWD
修改XCTestWD ▸ XCTestWD ▸ Server▸ XCTestWDMonkey.swift 文件中写死的 bundleID
## XCTESTWD_PORT 为手机端端口,即 iproxy 中第二个参数
## name 修改设备名称
$ xcodebuild -project XCTestWD.xcodeproj -scheme XCTestWDUITests -destination 'platform=iOS,name=Analysys_02' XCTESTWD_PORT=8001 clean test
获取App控件xpath
## 安装App Inspector
$ npm install app-inspector -g
## 启动模拟器或真机
$ app-inspector -u 设备标识
## 获取模拟器标识
$ instruments -s