Selenium 键码转换,考虑使用XVFB
Google Chrome官方存储库的最新版本 ChromeDriver上次安装的版本 Selenium安装的最新版本 Mywdio.conf.jsSelenium 键码转换,考虑使用XVFB,selenium,webdriver-io,Selenium,Webdriver Io,Google Chrome官方存储库的最新版本 ChromeDriver上次安装的版本 Selenium安装的最新版本 Mywdio.conf.js desiredCapabilities: { browserName: process.env.BROWSER || 'chrome', chromeOptions: { args: [ '--disable-gpu', '--headless',
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
如何解决这个问题 看起来您运行的是某种Linux/UNIX发行版/env,您应该首先指出这一点。 回溯错误表明您没有必要的Xvfb(X11服务器)实例以图形方式呈现我认为是setValue命令的内容 请参阅问题的答案,这可能会为您提供绕过此问题的工具。(还有,可能重复) 顺便说一句,我复制了你的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)
如果没有(虚拟)XServer,当前无法发送密钥 有一张公开票: 还有一个解决方法,用JavaScript替换
sendkeys
调用:
或者您必须使用Xvfb,如驱动程序错误消息和其他建议的答案。考虑为您的问题提供上下文。让你的问题尽可能清楚,以便人们能够理解并帮助你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“这个命令可能不对吗?