我这里有一种情况,我们有一个依赖于 webGL 的应用程序要自动化。 我已经在我的笔记本电脑上自动化了整个应用程序,并且此应用程序在我的笔记本电脑上的Chrome上运行良好。 但问题是当我从单独的机器(硒 GRID 节点)运行此应用程序时。它给了我一条消息,说应用程序需要Webgl,并要求我启用webGL。我尝试了不同的方法,例如硒选项和忽略Chrome黑名单。
当我手动打开浏览器并打开它运行的应用程序时,我检查了 URL chrome://gpu。 它显示 GPU 已枚举。
但是当我调用硒并运行测试用例时,.浏览器在 WebGl 禁用的情况下启动
我找到了解决这个问题的方法。 以下是可用于为 Chrome 启用 WebGL 的代码。
DesiredCapabilities capability = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
**options.addArguments("--ignore-gpu-blacklist");**
capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
capability.setCapability("chrome.binary", "C:\Temp\chromedriver.exe");
capability.setVersion("9999");
capability.setCapability(ChromeOptions.CAPABILITY, options);
return new RemoteWebDriver(HUB_URL,capability);