为Protractor设置Screenshot Reporter

and*_*epm 7 javascript selenium screenshot jasmine protractor

由于我是自动测试和量角器的新手,我在测试中设置它时遇到了一些麻烦.

根据指南,每次我创建一个新的截图报告器实例时,我都必须传递一个目录路径.是的,这意味着我每次在spec文件中创建一个新实例?

此外,还有一些功能可以截取我跳过的和我失败的测试的截图.在哪里我应该使用 takeScreenShotsForSkippedSpecstakeScreenShotsOnlyForFailedSpecs?在我的配置文件中?

这是我的准备:

onPrepare: function () {
        browser.driver.manage().window().maximize();
        global.dvr = browser.driver;
        global.isAngularSite = function (flag) {
            browser.ignoreSynchronization = !flag;
        }
        jasmine.getEnv().addReporter(new ScreenShotReporter({
            baseDirectory: '/tmp/screenshots',
            takeScreenShotsForSkippedSpecs: true,
            takeScreenShotsOnlyForFailedSpecs: true
        }));
Run Code Online (Sandbox Code Playgroud)

ale*_*cxe 8

注意:如果您正在使用jasmine2,请使用protractor-jasmine2-screenshot-reporter.


用于jasmine1:

我一直在成功使用protractor-html-screenshot-reporter包.它基于protractor-screenshot-reporter,但也提供了一个很好的HTML报告.

这是我在量角器配置中的内容:

var HtmlReporter = require("protractor-html-screenshot-reporter");

exports.config = {
    ...

    onPrepare: function () {
        // screenshot reporter
        jasmine.getEnv().addReporter(new HtmlReporter({
            baseDirectory: "test-results/screenshots"
        }));
    },

    ...
} 
Run Code Online (Sandbox Code Playgroud)

运行测试后,您将获得一个包含(示例)的HTML文件:

在此输入图像描述

您可以单击"查看"以在浏览器中查看特定于测试用例的屏幕截图.