WebDriver.io 没有控制台输出
Posted
技术标签:
【中文标题】WebDriver.io 没有控制台输出【英文标题】:WebDriver.io no console output 【发布时间】:2018-01-20 23:58:29 【问题描述】:我正在使用以下堆栈来运行几个测试:
NodeJs
Selenium standalone
geckodriver thought I use chrome
webdriver.io
mocha
chai
所以毕竟我的 first_test.js 是:
describe ('Website url test ', () =>
it('should have a title ', () =>
browser.call((done) =>
browser.url('http://webdriver.io');
var title = browser.getTitle();
expect(title).to.be.equal('WebdriverIO - WebDriver bindings for Node.js')
done();
)
)
并且控制台中的输出是:控制台输出不正确
但通过测试也应该是这样的:正确的控制台输出
我应该更改 Mocha 配置中的某些内容,以便通过测试产生相同的光学结果吗?
【问题讨论】:
【参考方案1】:这种行为是由选择的记者引起的(在我的例子中是 dot)。
我更改为 spec,现在我有一个非常详细的输出。
【讨论】:
【参考方案2】:WebdriverIO 支持多种记者:
Dot:这是 WDIO 的默认报告器,它是一个轻量级控制台报告器,可输出绿色或红色点 ('.')通过,分别失败的测试用例;
Spec:它只是在控制台中输出您之前运行的测试用例的分步细分。此输出将严格驻留在控制台中,除非您想通过 wdio.conf.js 文件中的 logOutput: './<yourLogFolderPath>/'
属性来管道传输整个控制台日志堆栈;
Json:生成您之前运行的测试的.json
报告。它非常适合那些已经拥有测试结果仪表板的人,他们可以在其中分析他们的回归结果(通过测试、失败测试、运行时等),并且只需要从某个地方解析数据。您可以通过以下方式配置您希望生成.json
报告的路径:
reporterOptions:
outputDir: './<yourLogFolderPath>'
注意: Json 报告器将使用WDIO-<timestamp>.json
报告填充给定的路径。如果您想通过管道将.json
传递给其他软件进行解析,那么您需要进入库内部并更改命名约定,以便始终在同一个文件中获得结果,而不是动态生成的文件。
!!!但是作为最佳实践,任何记者都不应该超过将logLevel
(在 wdio.conf.js 文件中)设置为 的重要性调试 (logLevel: 'debug'
) 用于wdio-v5
,或详细 (logLevel: 'verbose'
) 用于wdio-v4
。
调试时(我认为这是报告的原因),以最快的方式找到问题的根源至关重要,那就是查看REST 测试在运行时进行的调用。
希望这可以为从 WebdriverIO 开始的人们提供更清晰的概述,以及需要更多信息来了解哪些报告器最适合什么场景/情况。
干杯!
【讨论】:
以上是关于WebDriver.io 没有控制台输出的主要内容,如果未能解决你的问题,请参考以下文章