seleniumwebdriver:如何显示控制台中的值(Javascript)

我正在使用selenium webdriver node.js(javascript)有没有什么办法在testing运行时控制台输出一些值

就像是 :

console.log(variable) 

而是在testing的控制台中运行。

build议?

我假设你正在寻找一些类似于内置function,

 System.out.print(""); //Java 

在JS中,如果我们需要打印一些东西到控制台,试试这个

 console.log(""); 

上面的代码将简单地显示输出控制台中的输出。 如果需要将日志写入单独的文本文件,请继续。

为了在文本文件中写入日志,我们可以使用需要节点的log4js库。

1)。 下载log4js库

 npm install -g log4js //global installation 

2)。 现在在你的selenium脚本中使用这个。

下面是一个使用log4js创build日志文件/追加的java脚本示例。

 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'); 

这将在输出控制台中显示消息,并将消息追加到可用/创build的文件“logs / runlog.log”中。 logging的消息根据logging的级别(信息/警告)是colourfull。

有关log4js的更多信息,请参阅此=> JSlogging器 – log4js

我不确定你是在看显示一个堆栈跟踪还是只想在你的文档中打印一些东西。 就我而言,我正在使用console.log()方法在terminal的testing过程中打印出一些东西,它工作得很好。

我使用Jasmine和Protractor,我们有一个非常好的jasmine-spec-reporter库,它允许在体面格式的版本中打印堆栈跟踪。 你可以在这里参考这个git 。 不知道这是否会与nodejs工作。