我在BrowserStack服务上使用selenium,我需要禁用chrome通知[例如。在截图]。我在本地使用以下代码,但是Internet上的所有手册都没有帮助我在BrowserStack上使用远程ChromeDriver。
>@Before
public void SetUP() throws Exception {
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("profile.default_content_setting_values.notifications", 2);
options.setExperimentalOption("prefs", prefs);
options.addArguments("--start-maximized");
options.addArguments("disable-popup-blocking");
DesiredCapabilities caps = DesiredCapabilities.chrome();
caps.setCapability("browser", "Chrome");
caps.setCapability("browser_version", "49.0");
caps.setCapability("os", "Windows");
caps.setCapability("os_version", "10");
caps.setCapability("resolution", "1280x1024");
caps.setCapability(ChromeOptions.CAPABILITY, options);
caps.setCapability("browserstack.debug", "true");
driver = new RemoteWebDriver(new URL(URL), caps);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
答案 0 :(得分:3)
来自BrowserStack支持的好人找到了解决方案!非常感谢他们。
此代码可在远程ChromeDriver中使用:
的
的 ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
Map<String, Object> profile = new HashMap<String, Object>();
Map<String, Object> contentSettings = new HashMap<String, Object>();
contentSettings.put("notifications", 2);
profile.put("managed_default_content_settings", contentSettings);
prefs.put("profile", profile);
options.setExperimentalOption("prefs", prefs);
options.addArguments("--disable-plugins");
options.addArguments("--start-maximized");
DesiredCapabilities caps = DesiredCapabilities.chrome();
caps.setCapability("browser", "Chrome");
caps.setCapability("browser_version", "49.0");
caps.setCapability("os", "Windows");
caps.setCapability("os_version", "10");
caps.setCapability("resolution", "1280x1024");
caps.setCapability("browserstack.debug", "true");
caps.setCapability(ChromeOptions.CAPABILITY, options);
driver = new RemoteWebDriver(new URL(URL), caps);
的
答案 1 :(得分:0)
前一段时间,当我在Chrome上远程执行测试时,我遇到了与WebPageTest(性能测量工具)相同的问题。我可以给你的一个提示是从关闭所有通知的状态恢复浏览器配置文件。我&#34;撒谎&#34;通过以下方式手动执行此工具:
prefs.put(&#34; profile.default_content_setting_values.notifications&#34;,2);
希望这有帮助, 洛拉