由于我是自动化测试和量角器的新手,我在测试中设置它时遇到了一些麻烦.
根据guide,每次我创建一个新的截图报告实例时,我都要传递一个目录路径.是的,这意味着我每次在spec文件中创建一个新实例?
此外,还有一些功能可以截取我跳过的和失败的测试的屏幕截图.我应该使用takeScreenShotsForSkippedSpecs和takeScreenShotsOnlyForFailedSpecs?在我的配置文件中?
这是我的准备:
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
}));
解决方法
注意:如果您使用的是jasmine2,请使用
protractor-jasmine2-screenshot-reporter.
对于jasmine1:
我一直在使用protractor-html-screenshot-reporterpackage成功使用.它基于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文件:
您可以单击“查看”以在浏览器中查看特定于测试用例的屏幕截图.