Macaca环境配置及样例执行

1、Macaca简介

macaca是由阿里巴巴公司开发的一套自动化解决方案,适用于PC端和移动端。Macaca基于Node.js开发,测试案例编写语言暂时也只支持Node.js。

2、Macaca与Appium区别

坦白说,这种外部驱动instruments的server-client自动化测试框架,在iOS上实现方式非常受限的,所以其底层的实现方式是一致的。

而在应用级上的封装,二者均采用了Node.js作为开发语言,接口也基于web-driver实现,所以Macaca和Appium相似程度非常高。

如何看待Macaca和Appium区别?

以下是Macaca作者的设计思想:appium 是个优秀的工具。但无法满足更轻、更快、更稳、更易集成、更贴合业务的高要求。可以认为Macaca是一个轻量级的Appium。当然,这就意味着很多Appium的功能会没有了。

3、Macaca特点

  • 支持移动端和PC端
  • 支持Native, Hybrid, H5 等多种应用类型
  • 提供客户端工具和持续集成服务

4、安装

1)安装Xcode,Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由苹果公司开发(Windows操作系统略)

IOS使用brew命令,使用brew命令需要安装Homebrew(一款常用的 MacOS 的包管理器)

2)Node.js 由官网下载安装

输入命令:node -v 确认安装是否成功,npm是Node.js包管理,之后装Macaca就是用它,所以下一步就是安装npm

3)安装npm(cnpm),输入npm install -g cnpm --registry=https://registry.npm.taobao.org

输入cnpm -v 确认是否安装成功

了解更多淘宝NPM镜像,详见地址:http://npm.taobao.org/

4)安装Macaca 输入cnpm i macaca-cli -g 看到可爱的小猴子说明安装成功了

Macaca环境配置及样例执行

5)安装webdriver-client 输入cnpm install webdriver-client

6)安卓的需要安装JDK和安卓SDK

7)安装macaca-electron 输入cnpm install macaca-electron -g

macaca-electron是基于Electron开发的Macaca驱动,是Macaca驱动之一

8)安装mocha,输入命令 npm install mocha -g

mocha是一款功能丰富的js单元测试框架,详见http://www.cnblogs.com/tzyy/p/5729602.html#_h1_2 (非常好的博客)

mocha是node.js下常用的测试框架,安装前必须先安装node,配置好相应的环境变量,mocha也需要配置,安装后输入mocha -h有显示说明安装成功。

9)根据自身需要安装其他驱动,如:

Macaca环境配置及样例执行

安装环境检查,输入命令:macaca doctor

Macaca环境配置及样例执行

有红色标识,说明还有配置没有完成。图中的Gradle是一个基于JVM的构建工具,各版本下载地址:http://services.gradle.org/distributions/

Macaca升级后是用Gradle来构建和部署,所以需要配置

下载压缩包解压即可,安装好后配置环境变量

GRADLE_HOME指向gradle的安装路径,path环境变量添加 %GRADLE_HOME%\bin

查询版本:gradle -v 如果没有结果尝试一下重启cmd

10)安装定位工具 cnpm install app-inspector -g

检查是否安装成功:app-inspector -u 设备id

【如果需要重装则先卸载,管理员权限执行。 npm uninstallmacaca-android-g; npm cache clean】

示例测试

1、下载样例脚本:https://github.com/macaca-sample/sample-java

2、打开一个终端,进入工程目录,启动Macaca服务

命令:cd +demo目录,注:一定要进入到脚本存放目录

macaca server --verbose

追加--verbose参数,为了查看启动中的详细信息

3、在打开一个cmd窗口,执行mvn -s settings.xml clean install -Dmaven.test.skip=true<span><span><span><span> (前提需要安装maven)</span></span></span></span>

注:mvn -s的作用在于使maven以工程目录下的settings.xml文件为依据下载依赖,但是实践中发现部分同学会出现mvn -s无法生效的作用,这样会导致依赖下载失败,这种情况下,需要大家将工程目录下的settings.xml中的配置相应的添加到本地settings中。

4、输入mvn test 或mvn test -Dtest=macaca.client.DesktopSampleTest

Macaca环境配置及样例执行