Macaca试用
app inspector及UI Recorder
Macaca App Inspector
首先是元素定位工具,类似uiautomatorviewer.bat
安装:
备注:
起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 2 3 4 5
| nvm install 4.4.0
nvm ls
nvm use 7.10.0
|
当然,因为卸载了原来装的node,所以这么干的话,要重新配置node环境变量,N多东西要重弄,垃圾,反正我不用录制功能,不折腾了!
(直接只装7.10.0的话,用macaca doctor会提示版本低,坑真多)
以上,完~