一、Macaca环境
iwm@bogon ~ macaca doctor
************************************
* version 2.0.6 is outdate *
* run: npm i -g macaca-cli@2.0.9 *
************************************
More information: https://macacajs.github.io/changelog.html
macaca-doctor version: 2.0.2
Node.js checklist:
node env: /usr/local/bin/node
node version: v6.11.1
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.24.0
Android checklist:
JAVA version is `1.8.0_131`
JAVA_HOME is set to `/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home`
ANDROID_HOME is set to `/Users/iwm/Downloads/android-sdk-macosx`
Platforms is set to `/Users/iwm/Downloads/android-sdk-macosx/platforms/android-23`
ADB tool is set to `/Users/iwm/Downloads/android-sdk-macosx/platform-tools/adb`
gradle is installed, version: 4.1
Installed driver list:
android: 2.0.36
chrome: 1.0.6
electron: 1.1.11
ios: 2.0.23
二、iOS实例
1. 下载案例及App
1 |
|
可以去https://github.com/macaca-sample下载。
下载后,进入macaca-test-sample目录,执行:
2 |
|
2. macaca-test-sample目录结构解析
1 2 3 4 5 6 7 8 9 10 |
|
-
app:
- 存放测试中使用到的app:ios-app-bootstrap.zip。(无framework)
- ps:从git上下载的大小只有几十K,导入到xcode工程后,提示缺少3个framework。
- 有两种解决方式:
- 1、直接运行macaca run -verbose,项目会自动下载缺少的framework。可能会出现长时间无响应或导致下载失败。
- 2、查看工程的mobile-app-sample.test.js,得到ios-app-bootstrap.zip全量包(带有framework)下载地址,将其下载到本地。
- 将远程下载地址修改为本地zip所在目录,如下图所示:
-
macaca-test:
1
2
3
4
5
./
├── macaca-desktop-sample.test.js
# 桌面浏览器测试案例...作者的想法有点多啊-_-!
├── macaca-mobile-browser-sample.test.js
# 移动端浏览器测试案例
├── macaca-mobile-sample.test.js
# 移动端App测试案例
└── mocha.opts
如果单纯要看iOS端App测试效果的话,可以把macaca-mobile-sample.test.js之外的*.js都干掉。
3. 运行第一个测试案例
1 |
|
iwm@bogon ~/sample-nodejs master ● platform=ios macaca run -d ./macaca-test/mobile-app-sample.test.js
************************************
* version 2.0.6 is outdate *
* run: npm i -g macaca-cli@2.0.9 *
************************************
More information: https://macacajs.github.io/changelog.html
>> webdriver sdk launched
>> macaca mobile sample
/usr/local/lib/node_modules/macaca-ios/node_modules/_ios-device@0.1.4@ios-device/node_modules/ios-deploy/build/Release/ios-deploy
CFBundleIdentifier is xudafeng.ios-app-bootstrap
Get bundleId xudafeng.ios-app-bootstrap from plist /var/folders/4v/19tb9yfs367804yt2wzd7vjh0000gp/T/ios-app-bootstrap.app/Info.plist
>> xctestwd start with port: 8001
>> XCTestWD version: 1.1.3
>> current window size {"height":568,"width":320}