我希望在场景大纲中失败时对所有数据行(示例)采用单独的屏幕截图。
我正在使用以下代码来获取它,但它会覆盖所有失败示例的相同屏幕截图,因为它会覆盖之前的屏幕截图。
请告诉我该怎么做。
样本黄瓜特征:
场景大纲:
鉴于XXXXX"参数1"和"参数2"
XXXX时
然后XXXXX
示例:
|参数1 |参数2 |
| A | B | ---这失败了
| C | d |
| E | F | - 这失败了
我想为数据第1行和第3行分别设置屏幕截图。
if (scenario.isFailed()) {
browser.takeScreenshot()
.then(function(base64png) {
var decodedImage = new Buffer(base64png, 'base64').toString('binary');
scenario.attach(decodedImage, 'image/png');
callback();
}, function(err) {
callback(err);
});
}
答案 0 :(得分:0)
这就是我使用的。请注意,就像cucjs 1.2.0一样,你不再在缓冲区上使用' .toString(' binary')。
this.After(function(scenario, callback) {
browser.takeScreenshot().then(function(base64png) {
var decodedImage = new Buffer(base64png, 'base64');
scenario.attach(decodedImage, 'image/png', function (error) {
callback(error);
});
}, function(err) {
callback(err);
});
});
答案 1 :(得分:0)
defineSupportCode(({After}) => {
After(function(scenario) {
if (scenario.isFailed()) {
var attach = this.attach;
return browser.takeScreenshot().then(function(png) {
var decodedImage = new Buffer(png, "base64");
return attach(decodedImage, "image/png");
});
}
});
});