如何将Protractor异常记录到日志文件中



目前,我可以使用log4jslog 4js量角器appender filenpm模块将测试执行语句写入日志文件。

然而,如果任何Protractor测试用例失败,则该异常(如找不到元素、脚本超时、断言错误(不会写入日志文件。

你能提供任何指针来实现这一点吗?有工作示例吗?

目前,我在configuration.js:中有以下记录器配置

var Jasmine2HtmlReporter = require("protractor-jasmine2-html-reporter");
var log4js = require("log4js");
var fs = require("fs-extra");
exports.config = {
beforeLaunch: function () {
fs.emptyDirSync("logs");
log4js.configure({
appenders: {
files: {
type: "log4js-protractor-appender-file",
filename: "./logs/execution_log.log",
},
},
categories: {
default: { appenders: ["files"], level: "trace" },
},
});
},
onPrepare: function () {
jasmine.getEnv().addReporter(
new Jasmine2HtmlReporter({
savePath: "output/screenshots",
})
);
logger = log4js.getLogger("logger");
},
};

为自己构建一个自定义报告程序。您将有权访问specDone函数中的stacktrace。result对象将包含您想要的所有数据。结果将具有以下属性:

{
id: '',
description: '',
fullName: '',
failedExpectations: [],
passedExpectations: [],
deprecationWarnings: [],
pendingReason: '',
status: '',
duration: 1
}

具有堆栈跟踪的属性将为failedExpectations。如果有任何故障,堆栈将在该数组中。

有关更多详细信息,请参阅SpecResult的jasmine文档。

最新更新