0

我是第一次使用量角器,不知道如何将自定义屏幕截图添加到 jasmine 报告中。目前我已经做了一些这样的事情。

准备:

jasmine.getEnv().addReporter(
        new Jasmine2HtmlReporter({
            takeScreenshots: true,
            takeScreenshotsOnlyOnFailures: false,
            consolidate: true,
            consolidateAll: true,
            filePrefix: 'Report',
            screenshotsPath: './screenshots/',
            reportPath: './pageObject/reports/'
        })
    );

并添加了截图的代码。

browser.takeScreenshot().then(function (png) {
    test.writeScreenShot(png,screenshotName+ '.png');
}); 

test.writeScreenShot = function(data,filepath){
    var stream = fs.createWriteStream(path);
    stream.write(new Buffer(data, 'base64'));
    stream.end();
};

但是现在真正的痛苦来了,它拍摄了整个页面的快照并附加在我不想要的报告中,我想要我只为特定元素拍摄的自定义快照并将其附加在茉莉花报告中。我无法理解快照是如何添加到报告中的。可以帮助我如何将快照自动添加到报告中,以便我可以尝试一次我拍摄的自定义快照并尝试将其添加到报告中。

提前致谢。

4

1 回答 1

0

据我所知,selenium 本身不支持对某个区域进行截图。您只能对可见页面进行屏幕截图。

如果您正在为截图而苦恼,请查看https://github.com/azachar/protractor-screenshoter-plugin (免责声明:我是 fork 的作者)

您可以为每个期望制作屏幕截图。此外,它还附带一个基于 HTML 的报告,因此很容易理解您的测试失败的原因。

于 2016-11-06T14:14:43.663 回答