yutu-tools
v1.1.4
Published
多浏览器同步兼容测试驱动
Downloads
21
Maintainers
Readme
Yutu tools
本项目是对 UI Recorder 的深度改造,用来实现与selenium-grid打通的多端同步操作驱动。
在此也感谢UI Recorder项目的每一位贡献者!
功能
- 支持所有用户行为: 键盘事件, 鼠标事件, alert, 文件上传, 拖放, svg, shadow dom
- 无干扰同步: 和正常测试无任何区别,无需任何交互
- 支持丰富的断言类型
- 支持自定义数量、类型、版本的浏览器同步操作
- 支持图片元素或全屏截图对比
- 全系统支持: Windows, Mac, Linux
- 支持远程hub的浏览器调用同步对比
- 支持多用户配置
快速开始
安装
安装 NodeJs (版本号 >= v7.x)
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
(Mac, Linux)安装 chrome
安装 Yutu
npm install yutu-tools -g
其中它的图片对比能力是来自于
graphicsmagick
,因此还需要额外安装下 mac:brew install graphicsmagick
PC同步操作&录制
初始化测试工程
创建新文件夹
yutu init
启动WebDriver服务器
建议使用selenium-grid管理本地多个浏览器
并手动修改
config.json
中的主控浏览器及同步浏览器配置如下:
{
"webdriver": {
"host": "127.0.0.1", // 远程hub地址
"port": "4444",
"mainBrowser": {
"browserId": 2,
"displayName": "chrome",
"browserName": "chrome",
"version": "106",
"httpProxy": "",
"binary": null,
"userDataDir": "/UsersData/Chrome/Default"
},
"syncBrowsers": [
{
"browserId": 1, // 浏览器的唯一标识
"httpProxy": "", // 浏览器代理
"screenSize": "1920x1080x24", // 自定义参数,暂未启用
"browserName": "firefox", // 浏览器内核的名字,如:chrome、firefox
"displayName": "firefox", // 浏览器的名字如:qq、yandex
"version": "105",
"binary": null, // chromium内核的国产浏览器的exe执行文件路径
"userDataDir": "/UsersData/Chrome/Default" // 用户配置路径
}
]
},
"browserSize": "1920x1080x24",
"defaultUrl": "https://www.baidu.com/",
"vars": {},
"serverIp": "192.168.1.101", //本地执行命令机器的ip,非远程webdriver,可以使用127.0.0.1
"reporter": {
"distDir": ""
},
"screenshots": {
"captureAll": true
},
"recorder": {
"pathAttrs": "data-id,data-name,type,data-type,role,data-role,data-value",
"attrValueBlack": "",
"classValueBlack": "",
"hideBeforeExpect": ""
}
}
开始多浏览器的同步操作
yutu start
License
yutu is released under the MIT license.
感谢
- uirecorder: https://github.com/alibaba/uirecorder
- jWebDriver: https://github.com/yaniswang/jWebDriver
- chai: https://github.com/chaijs/chai
- macaca-mocha-parallel-tests: https://github.com/macacajs/macaca-mocha-parallel-tests
- macaca-reporter: https://github.com/macacajs/macaca-reporter