Chrome 由自动测试软件控制

我正在使用Serenity BDD(Selenium)在Chrome中运行自动测试。

我不得不下载一个新的ChromeDriver,因为我的测试无法运行 - >测试将打开ChromeDriver,但无法“以用户身份浏览”。当我用谷歌搜索这个问题时,他们说我必须更新ChromeDriver。

因此,我将ChromeDriver更新到2.28版本,并将Chrome版本更新为版本57.0.2987.98。

但是现在 - 每次我运行测试时,都会出现这个烦人的文本:

Chrome 由自动测试软件控制

它问我是否要保存密码。(我无法添加图片,因为我没有足够的“点”)

在以前的版本中,我设法通过以下方式阻止了这两件事:

public class CustomChromeDriver implements DriverSource {

    @Override
    public WebDriver newDriver() {
        try {
            DesiredCapabilities capabilities = DesiredCapabilities.chrome();
            Proxy proxy = new Proxy();
            String proxyServer = String.format("AProxyIDontWantToDisplay", System.getenv("proxy.username"), System.getenv("proxy.password"));
            proxy.setHttpProxy(proxyServer);
            capabilities.setCapability("proxy", proxy);
            ChromeOptions options = new ChromeOptions();
            options.addArguments(Arrays.asList("--no-sandbox","--ignore-certificate-errors","--homepage=about:blank","--no-first-run"));
            capabilities.setCapability(ChromeOptions.CAPABILITY, options);
            ChromeDriver driver = new ChromeDriver(capabilities);
            return driver;
        } catch (Exception e) {
            throw new Error(e);
        }
    }

    @Override
    public boolean takesScreenshots() {
        return true;
    }
}

我知道有这个(链接到同一个问题),但是有太多的答案不起作用。

有人知道如何删除它吗?


答案 1

将其添加到传递给驱动程序的选项中:

options.addArguments("disable-infobars");

答案 2

以前,将“禁用信息栏”ChromeOption 传递给 WebDriver 会阻止 Chrome 显示此通知。最近,“禁用信息栏”选项已被弃用,不再删除通知。当前的解决方法是传入一个名为“excludeSwitches”的选项,然后排除“enable_automation”开关。

ChromeOptions options = new ChromeOptions(); 
options.setExperimentalOption("excludeSwitches", new String[]{"enable-automation"}); 
WebDriver driver = new ChromeDriver(options); 

推荐