美文网首页
Macaca的介绍安装使用

Macaca的介绍安装使用

作者: 我为峰2014 | 来源:发表于2018-10-25 15:42 被阅读0次

Macaca介绍

Macaca的基本组成

通过对源码各个模块的分析,可以帮助我们对Macaca的整体构成有一个基础的认识。Macaca已经开源,相关的源码在对应的github上都可以下载。

structure

模块拆分讲解:

Macaca

1. macaca-cli

Macaca提供的命令行工具

$macaca server 启动server

$macaca server --verbose 启动server并打印详细日志

$macaca doctor 检验当前macaca环境配置

2. app-inspector

macaca提供的元素查找工具,可以将app视图的结构以布局结构树的格式在浏览器上展示出来,用过点击某个元素,就可以方便的查询到该控件的基本信息,以方便查找。具体使用可参考官网: https://macacajs.com/inspector

3. UI Recorder

macaca提供的脚本录制工具,可以通过录制获得脚本,对于入门同学很有帮助。https://macacajs.com/recorder

WebDriver-Server

Macaca是按照经典的Server-Client设计模式进行设计的,也就是我们常说的C/S架构。WebDriver-server部分便充当了server这部分的角色,他的职责就是等待client发送请求并做出响应。

WebDriver-Client

client端简单来讲就是我们的测试代码,我们测试代码中的一些行为,比如控件查找、点击等,这些行为以http请求的方式发送给server,server接收请求,并执行相应操作,并在response中返回执行状态、返回值等信息。

也正是基于这种经典的C/S架构,所以client端具有跨语言的特点,macaca-wd,wd.java,wd.py分别是Macaca团队针对Js Java 以及Python的封装,只要能保证client端按照指定的要求发送Http请求,任意语言都可以。

DriverList

自动化要在不同的平台上跑,需要有对应平台的驱动,这部分驱动接收到来自server的操作命令,驱动各自平台的底层完成对应的操作。

1. Android

Macaca针对安卓平台的驱动集合

  • macaca-android 安卓驱动
  • macaca-adb 封装了安卓的adb命令,来实现一些adb的操作,比如安装、卸载、启动app、获取设备列表这些操作
  • android-unicode 经过封装后的输入法,解决中文输入的问题
  • uiautomator-client 将来自server的操作指令转换为UIAutomator可以识别的指令,驱动uiautomator完成对应的操作
  • android-performance 用于自动化测试安卓性能相关的支持
2. iOS

Macaca针对iOS平台的驱动集合

  • macaca-ios iOS驱动
  • xctest-client 同安卓的uiautomator-client异曲同工,对XCUITest的封装,将来自server的操作指令转换为XCUITest可以识别的指令,驱动XCUITest完成对应的操作
  • ios-simulator 用于对ios模拟器的支持,可以通过模拟器运行用例
  • remote-debug 用于远程调试
3. Hybrid

Macaca针对Hybrid的驱动集合。

  • macaca-chrome web测试驱动
  • macaca-chromedriver 驱动chrome浏览器
  • ios-webkit-debug-proxy 适用于iOS平台对webview的调试
4. Electron

Macaca针对pc端网页应用的支持

  • macaca-electron

Macaca执行流程图

了解了Macaca的组成模块以及他们各自的作用,下面我们看一下各个模块是如何组装起来实现自动化测试流程的,宝宝同样费了很大劲画了一张图如下:

flow

小结

如上简单总结了Macaca的基础原理,提供一个小窍门是大家可以对照控制台输出与文章中的流程图一一对应,这样就能大体了解整个流程的数据流向,从而就能参透Macaca的基础原理了。

Macaca介绍

环境配置

安装 Node.js

请安装 Node.js v8.0 或者更高版本,装好 Node.js 后命令行里就已经集成了 npm 工具,为了提高安装模块的速度,请使用国内的 cnpm(淘宝源)。

Android 环境

  • 安装 JDK,要求 1.8 (不支持Java 9)

  • 配置 JAVA_HOME

  • 安装Gradle 安装包并且设置对应的环境变量

  • 安装 18-25 版本中的任一 SDKAndroid Support Repository,并配置ANDROID_HOME

iOS 环境

  • 安装 Xcode9 或者更高版本

  • 安装 usbmuxd 以便于通过 USB 通道测试 iOS 真机,不需要测试真机则不用安装

Macaca环境安装

1、安装Node.js。

2、安装Node.js完成。 首先切换切换淘宝源,因为国外资源访问很慢,而且有些资源还无法下载。

3、通过淘宝源安装 macaca-cli

  • cnpm i macaca-cli -g

4、安装webdriver-client

  • cnpm install webdriver-client

5、安装macaca-electron

  • cnpm install macaca-electron -g

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

6、安装macaca-chrome

  • cnpm install macaca-chrome -g

7、安装Macaca Python Client,支持pip安装。

  • python3 -m pip install wd

8、安装macaca-chromedriver

  • cnpm install macaca-chromedriver -g

9、安装macaca-android(可选,当前只测试web)

  • cnpm install macaca-android -g

10、安装macaca-ios(可选,当前只测试web)

  • cnpm i macaca-ios -g

注意事项

1、npm方式安装慢的问题

2、切换源方式
按快捷键【Win+X】 --> 选择“提示命令符(管理员)A”,打开超级管理员权限的cmd命令窗口

输入命令“npm config set registry https://registry.npm.taobao.orgnpm”回车,即可跟换源

输入命令“ config get registry ”回车可以查看更换是否成功

3、安装chromedriver超时失败

Macaca使用

检查当前 Macaca 的安装环境

#我本机的依赖情况
λ macaca doctor

  macaca-doctor version: 2.0.15


  Node.js checklist:

  node env: C:\Program Files\nodejs\node.exe
  node version: v8.11.0

  Android checklist:

  JAVA version is `1.8`
  JAVA_HOME is set to `C:\Program Files (x86)\Java\jdk1.8.0_144`
  ANDROID_HOME is not set
  GRADLE_HOME is not set

  Installed driver list:

  chrome: 1.0.7
  electron: 2.0.4

只启动服务器

# 普通用法,添加了 --verbose 可以看到详细的信息
$ macaca server --verbose

# 设置端口号
$ macaca server -p 3456
启动Macaca服务

*   macaca server (正常模式)
*   macaca server -p 3456 (设置端口)
*   macaca server -p 3456 & (设置端口后台运行)
*   macaca server --verbose(输出详细日志)

更多的选项

$ macaca -h

# 服务器相关选项
$ macaca server -h

# 如何执行用例的选项
$ macaca run -h

*   macaca -h
*   macaca server -h
*   macaca run -h
*   macaca doctor -h

测试

  • macaca run (运行当前目录用例集)
  • macaca run -d ./test (运行指定目录下用例集)

7、部署webdriver服务

7.1、命令窗口输入:npm run installdriver

7.2、命令窗口输入:npm run server

相关文章

  • Macaca的介绍安装使用

    Macaca介绍 Macaca的基本组成 通过对源码各个模块的分析,可以帮助我们对Macaca的整体构成有一个基础...

  • [ubuntu server 16.04下的安装脚本] 5.

    【为什么要安装Gradle?】 如果,你需要在Ubuntu中使用Macaca框架。Macaca使用的环境中需要Gr...

  • Mac上搭建Macaca

    主要介绍如何在Mac上搭建Macaca,包括准备、安装和运行。 一、基础环境 1、安装brew: ruby−e"r...

  • Macaca 极简教程

    Macaca 介绍 源码空间:https://github.com/macacajs 模块拆分讲解: Macaca...

  • Appium自动化测试-元素查看器(1)

    本文使用Macaca的元素查看器来做演示首先来安装环境,我们使用node和npm包管理工具来安装: 如何查看是否安...

  • 常用命令

    常用命令 安装 npm i macaca-cl -g 服务端 macaca server (正常模式) macac...

  • macaca之app-inspector

    简单介绍 之前已经将macaca的环境搭建好了,现在就需要进行元素的定位,这里使用app-inspector,然后...

  • Macaca环境搭建(iOS+Mac)

    Macaca环境搭建(官方文档) 1.安装Xcode 2.安装Homebrew(教程) 3.安装carthage ...

  • macaca自动化测试安装介绍

    本周分享一篇有深度的文章,如何使用安装macaca自动化测试工具。(纯属自己的理解,也不知正确与否,请知情人批评指...

  • Python之进程

    简单介绍 在搭建macaca并行测试的同时使用了Python多进程的方法,目的是想多台设备同时进行测试,如果等待一...

网友评论

      本文标题:Macaca的介绍安装使用

      本文链接:https://www.haomeiwen.com/subject/fztpaftx.html