【问题标题】:Cannot see WebdriverIO logs in the console (webdriver logs)在控制台中看不到 WebdriverIO 日志(webdriver 日志)
【发布时间】:2020-07-01 09:18:43
【问题描述】:

我正在使用 WebdriverIO 版本 5,并希望查看我的测试运行日志。

我尝试了命令:npm run rltest --logLevel=info,但我只能看到规范报告器的输出。

[chrome 83.0.4103.116 Mac OS X #0-0] Running: chrome (v83.0.4103.116) on Mac OS X
[chrome 83.0.4103.116 Mac OS X #0-0] Session ID: 16d526a6b3cc51f54110024b112b247c
[chrome 83.0.4103.116 Mac OS X #0-0]
[chrome 83.0.4103.116 Mac OS X #0-0] cancel button
[chrome 83.0.4103.116 Mac OS X #0-0]    ✓ Verify that when the user clicks on the Cancel 
button, no changes made to the list
[chrome 83.0.4103.116 Mac OS X #0-0]
[chrome 83.0.4103.116 Mac OS X #0-0] 1 passing (36.2s)

有没有办法查看更详细的日志?我需要在wdio.conf.js 中配置什么吗?

谢谢

【问题讨论】:

    标签: javascript webdriver-io wdio-v5


    【解决方案1】:

    检查文档 - logLevel

    所以基本上你需要在wdio.conf.js中设置这个属性:

     // ===================
      // Test Configurations
      // ===================
      // Define all options that are relevant for the WebdriverIO instance here
      //
      // Level of logging verbosity: trace | debug | info | warn | error | silent
      logLevel: 'debug',
    

    【讨论】:

    • 或不同的日志级别 - 调试非常详细。这取决于你,你需要尝试:)
    【解决方案2】:

    您应该会在控制台中看到 wdio 日志,因为 WebdriverIO 默认将所有 Selenium 日志转储到 stdout。希望我理解正确,您说的是webdriver 日志,如下所示:

    [0-0] 2020-07-01T09:28:53.869Z INFO webdriver: [GET] http://127.0.0.1:4444/wd/hub/session/933eeee4135ea0ca37d57f0b807cb29e/element/0.45562246642229964-9/displayed
    [0-0] 2020-07-01T09:28:53.878Z INFO webdriver: RESULT true
    [0-0] 2020-07-01T09:28:53.879Z INFO webdriver: COMMAND findElement("css selector", "#_evidon-l3 button")
    [0-0] 2020-07-01T09:28:53.879Z INFO webdriver: [POST] http://127.0.0.1:4444/wd/hub/session/933eeee4135ea0ca37d57f0b807cb29e/element
    [0-0] 2020-07-01T09:28:53.879Z INFO webdriver: DATA { using: 'css selector', value: '#_evidon-l3 button' }
    [0-0] 2020-07-01T09:28:53.888Z INFO webdriver: RESULT { ELEMENT: '0.45562246642229964-10' }
    [0-0] 2020-07-01T09:28:53.889Z INFO webdriver: COMMAND isElementDisplayed("0.45562246642229964-10")
    

    如果不是这样,请检查您是否在wdio.conf.js 文件中设置了outputDir 选项。如果您确实有此设置,那么您将覆盖默认设置,将日志流发送到该路径内的文件:

    例如:outputDir: 'wdio-logs',wdio.conf.js 文件)

    日志应该在wdio-x-y.log 文件中。因此,要么使用覆盖的路径日志文件调试你的案例,要么从你的 wdio.conf.js 文件中删除 outputDir 条目(如果你希望它们在控制台中)。


    更好的是,您可以花哨并设置outputDir: process.env.CONSOLELOGS ? null : 'wdio/logs/path/here'。然后您可以使用系统变量运行检查以触发控制台日志记录:

    CONSOLELOGS=true npm run rltest <params>

    【讨论】:

    • 您理解正确。我想查看标准输出中的日志。我的配置文件中没有设置 outputDir。不知道为什么我看不到它。我注意到即使是简单的 console.log 也不会在标准输出中输出任何内容。也许它可以与魅力记者有关?
    • 不,它不应该影响您的日志记录,因为 allure 有它自己的 outputDir 日志记录路径。至于 wdio.conf.js 文件中的 outputDir 值,只需将其添加到对象中并设置您希望将 webdriver 日志流式传输到的路径。
    • 也许该值在某处被覆盖,您也可以尝试给它outputDir: null 并尝试强制使用默认的stdout 日志记录。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 2020-10-19
    • 2020-05-24
    • 1970-01-01
    相关资源
    最近更新 更多