在Mac下配置Macaca环境

Macaca依赖的功能模块非常多,安装过程很复杂,不过这是目前所有自动化测试框架的通病。

Macaca自动化测试框架

Node.js

请安装Node.jsv6.0或者更高版本,装好Node.js后命令行里就已经集成npm工具。

默认情况下,npm命令下载的全局模块会存放在系统目录下,这会导致后续操作有很多坑,因此,需要修改默认的全局模块(node_global)的存放路径以及缓存(global_cache)的路径。

在用户目录下新建node_modules文件夹,在下面建立node_globalnode_cache两个文件夹,修改默认全局路径:

$ npm config set prefix "/Users/[用户名]/node_modules/node_global"
$ npm config set cache "/Users/[用户名]/node_modules/node_cache"

配置Node环境变量,让系统识别npm下载的全局模块:

$ vim ~/.bash_profile
[按下i,显示insert,进入输入模式,输入如下配置]
NODE_HOME="/Users/[用户名]/node_modules/node_global"
export PATH="$NODE_HOME/bin:$PATH"
export NODE_HOME
[按esc,输入:wq!保存]
$ source ~/.bash_profile
$ echo $NODE_HOME

Android 环境

安装JDK1.8,并配置Java环境变量:

$ /usr/libexec/java_home
[保存得到JAVA_HOME的路径]
$ vim ~/.bash_profile
[按下i,显示insert,进入输入模式,输入如下配置]
JAVA_HOME="[JAVA_HOME的路径]"
CLASS_PATH="$JAVA_HOME/lib"
export PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME
[按esc,输入:wq!保存]
$ source ~/.bash_profile
$ echo $JAVA_HOME

安装18-25版本中的任一SDK和Android Support Repository,并配置Android环境变量:

$ vim ~/.bash_profile
[按下i,显示insert,进入输入模式,输入如下配置]
ANDROID_HOME="[ANDROID_HOME的路径]"
export PATH="$ANDROID_HOME/tools:$PATH"
export PATH="$ANDROID_HOME/platform-tools:$PATH"
export PATH="$ANDROID_HOME/emulator:$PATH"
export ANDROID_HOME
[按esc,输入:wq!保存]
$ source ~/.bash_profile
$ echo $ANDROID_HOME

运行android测试用例前要配置Gradle环境变量:

$ vim ~/.bash_profile
[按下i,显示insert,进入输入模式,输入如下配置]
GRADLE_HOME="[GRADLE_HOME的路径]"
export PATH="$GRADLE_HOME/bin:$PATH"
export GRADLE_HOME
[按esc,输入:wq!保存]
$ source ~/.bash_profile
$ echo $GRADLE_HOME

iOS 环境

下载Xcode8.3或者更高版本,安装Homebrew(一款常用的 MacOS 的包管理器)以使用brew命令。

安装usbmuxd以便于通过USB通道测试iOS真机:

$ brew install usbmuxd

安装ideviceinstallerios-deploy用来给真机安装App:

$ brew install ideviceinstaller
$ brew install ios-deploy

ios-webkit-debug-proxy以便于测试App中的WebView:

$ brew install ios-webkit-debug-proxy

安装carthage来构建Macaca XCTestWD:

$ brew install carthage

Macaca环境配置

安装Macaca命令行工具:

$ npm i -g macaca-cli

安装不同的驱动以适应不同平台的支持:

$ npm i macaca-ios -g
$ npm i macaca-android -g
$ npm i macaca-electron -g
$ npm i macaca-chromedriver -g

检查当前Macaca的安装环境是否配置成功:

$ macaca doctor

Python环境配置

因为使用python语言开发,所以需要先安装python的开发环境。Mac已经有了Python 2.x,所以就不用再安装了,不过为了以后方便,可以再安装一个python3:

xcode-select --install
[查看已有的python2.7版本]
$ python --version
[利用homebrew搜索python3]
$ brew search python
$ brew install python3

安装完成后可以在/usr/local/Cellar/下看到python3的文件夹,接下来就检查一下刚刚安装的python3与系统的python路径:

$ which python
$ which python3

现在只需要下载安装unittest等一些Macaca所需的模块即可:

$ sudo pip install [unittest2的whl文件]
$ [输入密码]
$ sudo pip install wd

然后,为了方便开发,可以下载PyCharm社区版来开发python项目。

执行官方示例

将官方示例sample-python克隆到本地:

$ git clone https://github.com/macaca-sample/sample-python.git --depth=1
$ pip install -r requirements.txt

先启动服务器,添加了--verbose可以看到详细的信息,添加-p 3456可以设置端口号:

$ macaca server --verbose

分别执行不同平台的测试用例:

$ python tests/macaca-desktop-sample.test.py
$ python tests/macaca-ios-sample.test.py
$ python tests/macaca-android-sample.test.py

如果是使用PyCharm执行测试用例,一旦导入unittest模块,PyCharm就会自动识别以unittest的模式去运行。若是想以python直接执行的模式运行,点开右上角的“Edit Configurations”,再点左上角的+号,选择Python,在右方的配置中选择要执行的用例文件即可。

如果在执行Android用例时,在真机上很顺利,但到了模拟器上,到打开百度网页那里就报错Error: chromedriver proxy error with: Error: connect ECONNREFUSED。原因是模拟器里的浏览器版本和本机macaca内置的chromedriver的对应关系问题,具体查看Android的Webview版本问题,换api19–23之间模拟器一般就可以了。

特别要注意的是,官方示例无法在api22以下的Android系统中执行。

iOS真机调试前需要重签名XCTestWD.xcodeproj,Xcode项目所在路径:xxx/node_modules/macaca-ios/node_modules/xctestwd/XCTestWD.xcodeproj,双击打开Xcode项目,重签名XCTestWD和XCTestWDUITests,并能正常执行即可。如果是个人开发者,iOS上要在“设置>通用>设备管理”中信任开发者。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何小有

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值