我知道如果你要做protractor config.js > file.log
这样的事情,所有的控制台输出都会被写入file.log。
有没有办法在测试中执行此操作/访问输出,以便我可以使用我的报告工具创建的动态路径?而且我也不会失去控制台输出。
编辑:
为了进一步阐述,我仅对console.log
输出感兴趣。我对所有来自似乎是量角器testLogger
的东西感兴趣。例如,在套件执行结束时,我会看到:
[13:19:37] I/launcher - 0 instance(s) of WebDriver still running
[13:19:37] I/launcher - internet explorer #01-0 failed 4 test(s)
[13:19:37] I/launcher - internet explorer #01-1 failed 1 test(s)
[13:19:37] I/launcher - internet explorer #01-2 failed 1 test(s)
[13:19:37] I/launcher - internet explorer #01-3 failed 1 test(s)
[13:19:37] I/launcher - overall: 7 failed spec(s)
我希望除了其他控制台输出之外。
答案 0 :(得分:0)
我建议的是,不是将任何必需的信息写入控制台并试图让记者阅读,我建议您从测试中实施记录以获得更好的控制。
而不是console.log()
- 有类似logger().info("Testing Log4js")
的内容,然后让您的记者继续操作。
如果您对此感兴趣,我会尝试使用Protractor进行log4j
的js版本调用 - log4js,其工作正常。
如果您对此感兴趣,请访问implementation examples
答案 1 :(得分:0)
完整的代码示例供参考:
为Protractor框架设置log4js的步骤
步骤1:安装log4js npm模块
步骤2:创建一个帮助器js文件 - 它将创建可导入测试的记录器对象
'use strict';
var log4js = require('log4js');
var log4jsGen = {
getLogger: function getLogger() {
log4js.loadAppender('file');
log4js.addAppender(log4js.appenders.file('./logs/ExecutionLog.log'), 'logs');
var logger = log4js.getLogger('logs');
return logger;
}
};
module.exports = log4jsGen;
步骤3:导入帮助文件并调用getlogger()方法将日志语句添加到测试中
var log4jsGen = require("../Utilities/log4jsGen");
log4jsGen.getLogger().info("Testing Log4js");