Estoy ejecutando pruebas automatizadas en Chrome con Serenity BDD (Selenium).
Tuve que descargar un nuevo ChromeDriver porque mis pruebas no se podían ejecutar -> La prueba abría ChromeDriver pero no podía "Examinar como usuario". Cuando busqué en Google el problema, dijeron que tenía que actualizar ChromeDriver.
Así que actualicé ChromeDriver a la versión 2.28 y también actualicé la versión de Chrome a la versión 57.0.2987.98.
Pero ahora, CADA VEZ que ejecuto mis pruebas, aparece este texto molesto:
Chrome está siendo controlado por un software de prueba automatizado
Y me pregunta si quiero guardar la contraseña. (No puedo agregar fotos porque no tengo suficientes "puntos")
En la versión anterior, había logrado bloquear estas 2 cosas:
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; } }
Sé que existe este ( un enlace al mismo problema ), pero hay demasiadas respuestas que no funcionan.
Alguien que sepa como quitar eso?
Agregue esto a las opciones que le pasa al controlador:
options.addArguments("disable-infobars");
Anteriormente, pasar ChromeOption "disable-infobars" a WebDriver impedía que Chrome mostrara esta notificación. Recientemente, la opción "disable-infobars" ha quedado obsoleta y ya no elimina la notificación. La solución actual para esto es pasar una opción llamado "excludeSwitches" y luego excluye el interruptor "enable_automation".
ChromeOptions options = new ChromeOptions(); options.setExperimentalOption("excludeSwitches", new String[]{"enable-automation"}); WebDriver driver = new ChromeDriver(options);
El interruptor "disable-info" ya no es compatible con los controladores cromados más recientes. (al menos 76,0).
La respuesta de @Rajeev funciona y aquí escribo la contraparte para C#.
ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.AddAdditionalCapability("useAutomationExtension", false); chromeOptions.AddExcludedArgument("enable-automation"); Driver = new ChromeDriver(chromeOptions);