为Protractor设置Screenshot Reporter

时间:2015-01-09 17:39:17

标签: javascript selenium jasmine screenshot protractor

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

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

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

这是我的onPrepare:

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
        }));

3 个答案:

答案 0 :(得分: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"
        }));
    },

    ...
} 

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

enter image description here

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

答案 1 :(得分:3)

图书馆的自述文件非常自我解释。安装库后,将其添加到量角器配置文件中的量角器onPrepare中。

即。 protractorConf.js:

var ScreenShotReporter = require('protractor-screenshot-reporter');

exports.config = {
   // your config here ...

   onPrepare: function() {
      // Add a screenshot reporter and store screenshots to `/tmp/screnshots`:
      jasmine.getEnv().addReporter(new ScreenShotReporter({
         baseDirectory: '/tmp/screenshots',
         takeScreenShotsForSkippedSpecs: true
      }));
   }
}

然后protractor protractorConf.js运行量角器。

答案 2 :(得分:0)

就在最近,我发布了一个名为protractor-screenshoter-plugin的全新插件,可以捕获每个浏览器实例 屏幕截图控制台日志。可以为每个期望规范选择快照。它带有一个漂亮的角度和引导程序分析工具,可以直观地检查和修复测试结果。

https://github.com/azachar/protractor-screenshoter-plugin处查看。

此外,我创建了所有可用alternatives的列表,因此如果您发现其他内容,请随时将其添加到其中。