在 Protractor e2e 测试中,如何截取屏幕截图?
In Protractor e2e tests, how can I take a screenshot?
运行 量角器,我想要求截图作为我的规范的一部分。
我不想在每次测试时都截屏,而这些 "reporters" 在每次测试、每次失败的测试或每个规范中都会截屏。
这一切都非常元,但更重要的是我只想拍张照片,并保存在 Bamboo CI 服务器上。
我从哪里开始?
使用takeScreenshot()
和fs
模块:
var fs = require('fs');
browser.takeScreenshot().then(function (data) {
var stream = fs.createWriteStream('test-results/test.png');
stream.write(new Buffer(data, 'base64'));
stream.end();
});
我为此制作了一个 npm 模块 https://www.npmjs.com/package/screenshot-protractor
将模块添加到您的项目中:
npm install screenshot-protractor --save
在您的 conf.js 文件中找到或创建您的 onPrepare 函数。
onPrepare: function() {
}
在你的 onPrepare 中,添加这一行:
global.screenshot = require('screenshot-protractor').saveScreenshot;
然后在 spec.js 文件中,添加
screenshot('path/to/screenshots.png');
运行 量角器,我想要求截图作为我的规范的一部分。 我不想在每次测试时都截屏,而这些 "reporters" 在每次测试、每次失败的测试或每个规范中都会截屏。 这一切都非常元,但更重要的是我只想拍张照片,并保存在 Bamboo CI 服务器上。 我从哪里开始?
使用takeScreenshot()
和fs
模块:
var fs = require('fs');
browser.takeScreenshot().then(function (data) {
var stream = fs.createWriteStream('test-results/test.png');
stream.write(new Buffer(data, 'base64'));
stream.end();
});
我为此制作了一个 npm 模块 https://www.npmjs.com/package/screenshot-protractor
将模块添加到您的项目中:
npm install screenshot-protractor --save
在您的 conf.js 文件中找到或创建您的 onPrepare 函数。
onPrepare: function() {
}
在你的 onPrepare 中,添加这一行:
global.screenshot = require('screenshot-protractor').saveScreenshot;
然后在 spec.js 文件中,添加
screenshot('path/to/screenshots.png');