Yutu tools
本项目是对 UI Recorder 的深度改造,用来实现与selenium-grid打通的多端同步操作驱动。
在此也感谢UI Recorder项目的每一位贡献者!
功能
- 支持所有用户行为: 键盘事件, 鼠标事件, alert, 文件上传, 拖放, svg, shadow dom
- 全平台支持,移动端 Android, iOS 录制, 基于 Macaca 实现
- 无干扰录制: 和正常测试无任何区别,无需任何交互
- 录制用例存储在本地
- 支持丰富的断言类型: val,text,displayed,enabled,selected,attr,css,url,title,cookie,localStorage,sessionStorage
- 支持图片对比
- 支持强大的变量字符串
- 支持公共测试用例: 允许用例中动态调用另外一个
- 支持并发测试
- 支持多国语言: 英文, 简体中文, 繁体中文
- 支持单步截图
- 支持HTML报告和JUnit报告
- 全系统支持: Windows, Mac, Linux
- 基于Nodejs的测试用例: jWebDriver
------扩展功能------ 15. 支持自定义数量浏览器的同步操作 16. 支持远程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 mocha -g
PC同步操作&录制
-
初始化测试工程
创建新文件夹
yutu init --server_ip=192.168.1.108 --hub_url=192.168.68.153 --hub_port=4444 --main_client=chrome:101 --sync=chrome:101,chrome:100
-
启动WebDriver服务器
-
开始录制测试用例和多浏览器的同步操作
yutu sample/test.spec.js
-
运行测试用例
运行所有脚本:
source run.sh
( Linux|Mac ) 或run.bat
( Windows )运行单个脚本:
source run.sh sample/test.spec.js
( Linux|Mac ) 或run.bat sample/test.spec.js
( Windows ) -
获得测试报告和单步截图
./reports/index.html
./reports/index.xml (JUnit)
./reports/index.json
./screenshots/
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