Protractor 量角器HTML报告的屏幕截图

Protractor 量角器HTML报告的屏幕截图,protractor,Protractor,我想为场景大纲中失败的所有数据行(示例)拍摄单独的屏幕截图 我正在使用下面的代码,但它捕获了所有失败示例的相同屏幕截图,因为它覆盖了以前的屏幕截图 请告诉我怎么做 黄瓜特性示例: 情景大纲: 给定XXXXX“参数1”和“参数2” XXXX时 然后XXXXX 示例: |参数1 |参数2| |这件事失败了 |C|D| |这件事失败了 我想为数据第1行和第3行创建单独的屏幕截图 if (scenario.isFailed()) { browser.takeScreenshot() .then(fu

我想为场景大纲中失败的所有数据行(示例)拍摄单独的屏幕截图

我正在使用下面的代码,但它捕获了所有失败示例的相同屏幕截图,因为它覆盖了以前的屏幕截图

请告诉我怎么做

黄瓜特性示例:

情景大纲:

给定XXXXX“参数1”和“参数2”

XXXX时

然后XXXXX

示例:

|参数1 |参数2|

|这件事失败了

|C|D|

|这件事失败了

我想为数据第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);
});

}这就是我使用的。请注意,像cucumberjs 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);
        });
    });

您可能想看一看,这可以补充您当前的量角器/黄瓜设置,以自动拍摄屏幕截图-
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");
        });
        }
    });
});