【问题标题】:Enable WebGL when running nighwatch.js/selenium framework on chrome在 chrome 上运行 nighwatch.js/selenium 框架时启​​用 WebGL
【发布时间】:2016-02-22 01:30:54
【问题描述】:

当我尝试使用基于 nightwatchJS 的框架启动包含一些 WebGL 内容的页面时,遇到了一个奇怪的问题:

  1. 如果我直接使用 chrome 打开页面内容,则可以正确检测到 WebGL。 chrome://gpu/ --> 图形功能状态表明大部分功能是硬件加速的

  2. 如果我使用 nightwatch 打开页面,则未检测到 WebGL(并且 chrome://gpu/ --> 图形功能状态表明大多数功能仅限软件)

  3. 如果我手动打开 chrome,然后启动 nightwatch 进程,则在新的 chrome 会话中未检测到 WebGL(并且 chrome://gpu/ --> 图形功能状态表明大多数功能仅是软件)

  4. 如果我手动打开 chrome,然后使用相同的会话配置文件启动 nightwatch 进程,页面未加载,但 chrome://gpu/ --> 图形功能状态表明大多数功能都是硬件加速的

重要细节:在 Chrome 更新之前,它一直运行良好,直到 8 月底。然后我尝试更新我的chromedriver版本,但它也不起作用。 Chrome 不允许降级到特定版本,并且会自动安装更新。

有没有人用 nightwatch 制作过 webgl 页面?如果是这样,您能否指出正确的做法来强制启用 WebGL 和硬件加速并在默认/自定义会话上通过 nightwatch 界面加载页面?

【问题讨论】:

  • 嗨,您找到解决问题的方法了吗?我在 linux 机器上安装了 google chrome,并使用 linux chrome 驱动程序运行 nightwatch 测试,但由于缺乏 web gl 支持,我无法使用我的网站。
  • 是的,请看下面我自己的解决方案,希望对您有所帮助

标签: javascript selenium webgl selenium-chromedriver


【解决方案1】:

使用这些选项使其工作!

"chromeOptions": { "args": ["user-data-dir=C:\\Users\\user_name\\AppData\\Local\\Google\\Chrome\\User Data", "--ignore-gpu-blacklist", "--use-gl", "--no-sandbox", "--disable-web-security"] },

(将用户名替换为适当的值)

【讨论】:

  • 谢谢,虽然我认为这里只有参数 --ignore-gpu-blacklist--use-gl 是相关的?
  • 感谢您的评论,我刚刚还展示了我在本地使用的其他选项,因为这些对于此特定设置是必需的。就我而言,远程虚拟机。我喜欢复杂的设置:)
  • 我们能够在没有用户数据/配置文件参数的情况下获得 web-gl 支持,只需 --ignore-gpu-blacklistuse-gl 工作。如果您还有--disable-gpu,这将不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-15
  • 1970-01-01
  • 2011-04-22
  • 1970-01-01
  • 1970-01-01
  • 2012-12-03
  • 2015-01-05
相关资源
最近更新 更多