在Mac下配置Macaca环境
Macaca依赖的功能模块非常多,安装过程很复杂,不过这是目前所有自动化测试框架的通病。
文章图片
Macaca自动化测试框架 Node.js
请安装Node.jsv6.0或者更高版本,装好Node.js后命令行里就已经集成npm
工具。
默认情况下,npm命令下载的全局模块会存放在系统目录下,这会导致后续操作有很多坑,因此,需要修改默认的全局模块(node_global)的存放路径以及缓存(global_cache)的路径。
在用户目录下新建node_modules
文件夹,在下面建立node_global
及node_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
安装
ideviceinstaller
、ios-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系统中执行。
【在Mac下配置Macaca环境】iOS真机调试前需要重签名XCTestWD.xcodeproj,Xcode项目所在路径:
xxx/node_modules/macaca-ios/node_modules/xctestwd/XCTestWD.xcodeproj
,双击打开Xcode项目,重签名XCTestWD和XCTestWDUITests,并能正常执行即可。如果是个人开发者,iOS上要在“设置>通用>设备管理”中信任开发者。推荐阅读
- 你到家了吗
- 开学第一天(下)
- 闲杂“细雨”
- 杜月笙的口才
- 赢在人生六项精进二阶Day3复盘
- 祖母走了
- 樱花雨
- 眼观耳听美食的日子
- 【故障公告】周五下午的一次突发故障
- Mac安装Chromedriver