依赖于 webGL 的应用程序在 chrome 中打开



我这里有一种情况,我们有一个依赖于 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);

最新更新