【问题标题】:keycode conversions, consider using Xvfb键码转换,考虑使用 Xvfb
【发布时间】:2017-09-28 17:45:10
【问题描述】:

来自官方存储库的 Google Chrome 最新版本

ChromeDriver 上次安装的版本

Selenium 上一个安装的版本

我的 wdio.conf.js

desiredCapabilities: {
    browserName: process.env.BROWSER || 'chrome',
    chromeOptions: {
      args: [
            '--disable-gpu',
            '--headless',
            '--no-sandbox',
          ],
      prefs: {
        'download.default_directory': __dirname + '/tmp/test/download',
        'download.prompt_for_download': false
      }
    }
  },

我的错误

一些测试工作并在出现错误之后。

  ✓ restore password (500ms)

[07:07:40]  COMMAND POST     "/wd/hub/session/21b26bbb-c9ee-4a4e-89de-ac6e8180fe9c/element/34/value"
[07:07:40]  DATA         {"value":["s","i","m","u","l","a","t","i","o","n"]}
[07:07:41]  INFO    Retry #1
[07:07:41]  ERROR   ServerError unknown error: an X display is required for keycode conversions, consider using Xvfb
[07:07:41]  INFO    Retry #2
[07:07:41]  ERROR   ServerError unknown error: an X display is required for keycode conversions, consider using Xvfb
[07:07:41]  INFO    Gave up after 3 tries

如何解决这个问题?

【问题讨论】:

  • 考虑为您的问题提供上下文。让您的问题尽可能清晰,以便人们理解足以帮助您

标签: selenium webdriver-io


【解决方案1】:

如果没有(虚拟)XServer,目前无法发送密钥。

有一张开票:https://bugs.chromium.org/p/chromedriver/issues/detail?id=1772

还有一个解决方法,用 JavaScript 替换 sendkeys 调用:https://github.com/Automattic/wp-e2e-tests/issues/515#issuecomment-301165065

或者您必须使用 Xvfb,例如驱动程序错误消息和建议的其他答案。

【讨论】:

    【解决方案2】:

    您似乎在某种 Linux/UNIX 发行版/env 上运行,您应该首先指出这一点。 回溯错误表明您没有 Xvfb(X11 服务器)实例以图形方式呈现我认为是 setValue 命令所必需的。

    请查看 this 问题的答案,这可能会为您提供绕过此问题的工具。 (也可能重复)

    顺便说一句,我已经复制了您的 wdio.config.js 设置并成功运行了一些测试,所以这不是您的问题。

     [13:33:41]  COMMAND     POST     "/wd/hub/session/66c3c740-3089-47f4-a366-a2adf2cae09d/elements"
     [13:33:41]  DATA                {"using":"css selector","value":"div[connectqa-device=\"pending\"]"}
     [13:33:41]  RESULT              [{"ELEMENT":"12"}]
    .[13:33:41]  COMMAND    DELETE   "/wd/hub/session/66c3c740-3089-47f4-a366-a2adf2cae09d"
     [13:33:41]  DATA                {}
     [13:33:42]  RESULT              null
    
    4 passing (18.50s)
    

    【讨论】:

    • docker exec idg sh -c "export DISPLAY=:99" docker exec idg sh -c "nohup Xvfb $DISPLAY +extension RANDR > /dev/null 2>&1 &" docker exec idg sh - c "sleep 3" 也许这个命令不对?
    猜你喜欢
    • 2016-05-25
    • 2019-04-09
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 2011-06-20
    相关资源
    最近更新 更多