如何将量角器异常记录到日志文件?

问题描述 投票:0回答:1

目前,我能够使用log4jslog4js-protractor-appender-file npm模块将测试执行语句写入日志文件。

但是,如果任何量角器测试用例失败,则该异常(如找不到元素,脚本超时,断言错误)不会写入日志文件。

您能否提供实现这一目标的任何指针?有工作示例吗?

目前,我在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");
    },
};
logging protractor error-logging log4js-node
1个回答
0
投票

为自己建立一个custom reporter。您将可以在specDone函数中访问stacktrace。 result对象将包含所需的所有数据。结果将具有以下属性:

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.