Macaca试用

Macaca试用

app inspector及UI Recorder

Macaca App Inspector

首先是元素定位工具,类似uiautomatorviewer.bat

安装:

1
cnpm i app-inspector -g

备注:
起Macaca server:macaca server -p 3456 --verbose (指定端口,打印详细日志)

使用:
首先获取设备id:

1
2
3
{lamb} adb devices
List of devices attached
DVD5T18622001756 device

然后起:

1
2
3
4
5
6
F:\downloads\chrome\移动devops {git}
{lamb} app-inspector -u DVD5T18622001756
>> UIAutomatorWD http server ready
>> Android device started: DVD5T18622001756
>> inspector start at: http://192.168.78.1:5678
<-- GET /

然后浏览器就打开个页面,是手机当前界面,开始玩吧。。

Macaca UIRecorder

录制工具

安装:

1
cnpm install uirecorder -g

1.创建新目录并进入,初始化UIRecorder工程目录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
E:\Macaca_workstation\uisample {git}
{lamb} uirecorder init
__ ______ ____ __
/ / / / _/ / __ \___ _________ _________/ /__ _____
/ / / // / / /_/ / _ \/ ___/ __ \/ ___/ __ / _ \/ ___/
/ /_/ // / / _, _/ __/ /__/ /_/ / / / /_/ / __/ /
\____/___/ /_/ |_|\___/\___/\____/_/ \__,_/\___/_/ v3.1.0
Official Site: http://uirecorder.com
------------------------------------------------------------------
? Path扩展属性配置,除id,name,class之外 data-id,data-name,type,data-type,role,data-role,data-value
? 属性值黑名单正则
? class值黑名单正则
? 断言前隐藏
? WebDriver域名或IP 127.0.0.1
? WebDriver端口号 4444
? 需要同时测试的浏览器列表 chrome, ie 11

config.json 文件保存成功
package.json 文件创建成功
README.md 文件创建成功
screenshots 文件夹创建成功
commons 文件夹创建成功
uploadfiles 文件夹创建成功
.editorconfig 文件创建成功
.gitignore 文件创建成功
install.sh 文件创建成功
run.bat 文件创建成功
run.sh 文件创建成功
hosts 文件创建成功
.vscode/launch.json 文件创建成功

Start install project dependencies...

各字段解释,copy自官方教程

官方教程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
创建新目录并进入,然后初始化UIRecorder工程目录:uirecorder init, 根据具体情况输入相关的参数,几个回车后,我们的准备工作就结束了,这里详细介绍下几个参数分别是什么作用

Path扩展属性配置,除id,name,class之外: 此参数,用来定义网页DOM中哪些属性可以用来定位我们的控件,默认值已经包括了主流的属性,一般情况下不需要修改

属性值黑名单正则:网页中当某些属性值是随机或者不稳定的时候,我们可以通过这个配置来忽略那些属性值,从而保证我们的自动化脚本稳定性,例如我们可以这样配置:/attr_name_\d+/,如果需要配置多个属性,可以这么写:/attr1_\d+|attr2_\d+|/,详细更多的正则教程请自行搜索

class值黑名单正则:某些场景下,class属性的值会干扰自动化录制,比如当鼠标移到某个控件上时会动态的添加一个class样式名称,就可能会被录制到PATH中,从而导致自动化无法稳定重放。此时就可以将那个class名称加到黑名单中,例如:/class_name/,详细值的配置请参考属性值黑名单

断言前隐藏:某些业务场景下,会在最上层显示一层透明的div,用来实现一些高级的富应用需求,会导致无法直接断言透明div下方的控件。此种场景下,可以将透明div的PATH配置在此属性中,即可实现在断言时自动移除透明的div,断言后再自动恢复

WebDriver域名或IP:WebDriver执行机的IP地址,默认是指向本地,如果有部署grid执行机集群,可以指向对应的执行机集群IP

WebDriver端口号:WebDriver端口号,一般情况下是4444端口号,不需要修改

需要同时测试的浏览器列表: 需要同时测试的浏览器列表,例如:chrome, firefox, ie 11,可以根据本地或远程执行机集群所支持的浏览器类型自行输入

Start install project dependencies

然后就看到卡在这边不动了。。。上github翻半天找到了原因,当前环境装的node版本过高,uirecorder使用的node版本是7.10.0,解决办法就是装个nvm,切node版本

nvm下载

安装之前,卸载原来的node
安装完成,验证:

1
2
3
4
E:\ {git}
{lamb} NVM

Running version 1.1.7.

然后使用nvm来安装node

1
nvm install 7.10.0

多版本控制

1
2
3
4
5
nvm install 4.4.0

nvm ls

nvm use 7.10.0

当然,因为卸载了原来装的node,所以这么干的话,要重新配置node环境变量,N多东西要重弄,垃圾,反正我不用录制功能,不折腾了!
(直接只装7.10.0的话,用macaca doctor会提示版本低,坑真多)

以上,完~

文章目录
  1. Macaca App Inspector
  2. Macaca UIRecorder
    1. Start install project dependencies
|