我使用带有node.js(javascript)的 selenium webdriver 有没有办法在测试运行时控制台中输出一些值。
类似的东西:
console.log(variable)
但在运行时的测试控制台中。
建议?
答案 0 :(得分:0)
我假设您正在寻找类似于
的内置函数System.out.print(""); //Java
如果我们需要在控制台上打印一些东西,请尝试使用
console.log("");
上面的代码将只显示输出控制台中的输出。如果需要在单独的文本文件中写入日志,请继续执行。
为了在文本文件中写日志,我们可以使用需要节点的log4js库。
1)。下载log4js库
npm install -g log4js //global installation
2)。现在在你的selenium脚本中使用它。
下面是一个示例java脚本,它使用log4js创建日志文件/追加。
var log4js = require('log4js');
log4js.loadAppender('file');
log4js.addAppender(log4js.appenders.file('logs/runlog.log'), 'cheese');
var logger = log4js.getLogger('cheese');
logger.info('Clicked on the Submit button successfully');
logger.error('Not able to find the submit button');
这将在输出控制台中显示消息,并将消息附加到可用/创建的文件" logs / runlog.log"中。记录的消息是彩色的,具体取决于记录的级别(信息/警告)。
有关log4js的更多信息,请参阅this => JS logger - log4js
答案 1 :(得分:0)
我不确定您是在查看堆栈跟踪还是只想在文档中打印某些内容。就我而言,我使用console.log()
方法在终端测试期间打印出一些东西,它完全正常。
我正在使用带有Protractor的Jasmine,我们有一个非常好的jasmine-spec-reporter
库,它允许以合适的格式化版本打印堆栈跟踪。您可以在此处引用此git。不确定这是否适用于nodejs
。