Macaca-python-iOS/Android环境搭建

来源:互联网 发布:文明6 for mac 下载 编辑:程序博客网 时间:2024/06/07 14:03

序言:
最近开始学习移动端UI自动化,由于项目人员有限,尽可能采用通用的框架,调研发现目前同时支持Android/iOS的有2种较优选择,分别是Appium和Macaca,实践过程中发现Macaca对iOS支持比Appium友好些(主要是Appium上对iOS定位失败率太高而且过于依赖vpn,Macaca相对好些)。虽说macaca默认开发语言是node.js对其支持也最好,但因Python较为简单, 所以选择脚本语言时选择了Python。

okay,格叽-格叽-格叽,开始正文:

iOS篇:
1.安装Xcode:从Appstore下载即可
2.安装brew:

安装教程:https://brew.sh/index_zh-cn.html

3.安装carthage:

brew install carthage   #这个将在 /Users/用户名/Library/Developer/Xcode/DerivedData生成项目,不能移除

4.安装Node.js(检查node -v,npm -v,如果没有则进行安装,安装成功后,本机后续安装路径选择了usr/local/lib)

brew install nodenpm install -g cnpm  -registry=https://registry.npm.taobao.org  #国内访问外网比较困难,需要切换到淘宝源

5.安装macaca

cnpm i -g macaca-cli    #cli是client的缩写

6.安装macaca-ios驱动

cnpm i -g macaca-ios

7.安装web测试插件

brew install ios-webkit-debug-proxy

8.安装真机调试插件

brew install usbmuxdbrew install ios-deploy   #若安装失败,用命令替代:sudo npm -g install ios-deploy --unsafe-perm=truebrew install --HEAD ideviceinstaller #安装成功后,可以通过命令:ideviceinstaller -l 查看手机上app的bundleId

注意事项:真机调试的时候需要将/usr/local/lib/node_modules/macaca-ios/node_modules/xctestwd路径下的XCTestWD.xcodeproj的两个targets XCTestWD,XCTestWDUITests bundleID 分别重签名,也就是用自己的开发者证书去运行签名该项目

9.真机调试,在安装过程中可以将 TEAM_ID 通过环境变量传入即可支持真机

DEVELOPMENT_TEAM_ID=XXXXX cnpm i macaca-ios -g

注意事项:真机需要有待测试app的安装权限(测试机需要在待测试app所使用开发者账号的开发者设备列表中)

Andriod篇
1.安装brew:

安装教程:https://brew.sh/index_zh-cn.html

2.安装Node.js(检查node -v,npm -v,如果没有则进行安装,本机安装的路径是usr/local/lib)

brew install nodenpm install -g cnpm  -registry=https://registry.npm.taobao.org  #国内访问外网比较困难,需要切换到淘宝源

3.安装macaca

cnpm i -g macaca-cli    #cli是client的缩写

4.安装macaca-android驱动

cnpm i macaca-android -g

5.设置JAVA_HOME

open ~/.bash_profile #增加:JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Homeexport JAVA_HOME

6.设置ANDROID_HOME

open ~/.bash_profile#增加:ANDROID_HOME=/Users/longchen/work/android-sdk-macosxexport ANDROID_HOME

7.安装gradle

brew install gradle

检查清单:

  检查命令:macaca doctor  #执行后的结果如下,无异常即可  Node.js checklist:  node env: /usr/local/bin/node  node version: v8.4.0  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_40`  JAVA_HOME is set to `/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home`  ANDROID_HOME is set to `/Users/longchen/work/android-sdk-macosx`  Platforms is set to `/Users/longchen/work/android-sdk-macosx/platforms/android-25`  ADB tool is set to `/Users/longchen/work/android-sdk-macosx/platform-tools/adb`  gradle is installed, version: 4.1  Installed driver list:  android: 2.0.36  ios: 2.0.24

搭建Python环境
官方demo:https://github.com/macaca-sample/sample-python

1.安装python

brew install python  #通过这种方式安装的python,不破坏当前python环境,自带pip

2.安装依赖,进入sample-python目录

sudo pip install -r requirements.txt #如果提示pip不存在,先安装pip:sudo easy_install pip

3.安装Python API:

pip install wd #如果报错,sudo pip install wd --ignore-installed six

4.启动服务器

macaca server

5.运行测试脚本

python 测试脚本