# 如何使用
安装之后可以通过在 html runner 中添加 uitest-mocha-shim.js
来进行 UITest 配置。
下面是一个 test.html
示例:
<!DOCTYPE html>
<html>
<head>
<title>macaca mocha test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./node_modules/mocha/mocha.css" />
</head>
<body>
<div id="mocha"></div>
<script src="./node_modules/uitest/mocha.js"></script>
<script src='./node_modules/uitest/uitest-mocha-shim.js'></script>
<script src="./node_modules/should/should.js"></script>
<script>
_macaca_uitest.setup({
ui: 'bdd',
timeout: 5000,
slow: 2000
});
</script>
<script>
describe('sample', function() {
beforeEach('init', function() {
});
it('#case_1', function() {
});
});
</script>
<script>
// 如果 `window.__coverage__` 存在的话,将生成覆盖率文件。
_macaca_uitest.run();
</script>
</body>
</html>
# 通过 Node.js 运行
可以通过 Node.js 来启动 UITest:
uitest({
url: 'file:///Users/name/path/index.html',
width: 600,
height: 480,
hidpi: false,
useContentSize: true,
show: false,
}).then(() => {
console.log('uitest success')
}).catch(() => {
console.log('uitest error')
});
效果如下:
# 使用 Gulp
在 Gulp 中使用 UITest:
$ npm i gulp-uitest --save-dev
const uitest = require('gulp-uitest');
//test
gulp.task('test', function() {
return gulp
.src('test/html/index.html')
.pipe(uitest({
width: 600,
height: 480,
hidpi: false,
useContentSize: true,
show: false,
}));
});
同样的,UITest 运行触发比较灵活,你可以与其他脚本和 pipeline 集成。
# 使用截图
_macaca_uitest.screenshot(name[String], cb[Function]);
# 覆盖率
当浏览器上下文中有 window.__coverage__
将自动生成覆盖率报告。
process.env.MACACA_COVERAGE_IGNORE_REG 可以传入 coverage 忽略规则,例如:
MACACA_COVERAGE_IGNORE_REG='test/' 会忽略所有 ./test
目录下的文件。