javascript - Mensaje de error del transportador "indicador de línea de comando no compatible" en Chrome?
node.js selenium (10)
Soy un nuevo usuario de Protractor, y me encontré con este error al ejecutar mis pruebas con Chrome (el error se muestra debajo de la barra de direcciones en el navegador ejecutado):
Está utilizando un indicador de línea de comando no admitido --ignore-certificate-errors. La estabilidad y la seguridad sufrirán.
Aquí está mi conf.js para transportador:
exports.config = {
seleniumAddress: ''http://localhost:4444/wd/hub'',
capabilities: {
''browserName'': ''chrome''
},
...
Además, estoy usando una Mac con el último servidor independiente Chromedriver y Selenium (2.41.0) disponible. Ahora, no he configurado esta bandera en ningún lado, y no recuerdo que se muestre siempre así que no estoy seguro de qué causó este problema.
¿Alguna idea sobre cómo resolver este problema?
Código que funcionaba tanto para el controlador web local como para los escenarios de controladores remotos para Ruby Bindings. Esto suprimió el mensaje de advertencia en chrome35 (Recuerde que debe obtener 2.10 chromedriver.exe desde http://chromedriver.storage.googleapis.com/index.html )
Localwebdriver:
caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => ["test-type" ]})
@browser = Selenium::WebDriver.for :chrome,desired_capabilities: caps
RemoteWebDriver (utilizando GRID): tenga en cuenta que coma-separados-ips en el código siguiente son los ips desde los que el centro de la red puede recibir comandos selectivos. Esta capa de seguridad se ha implementado desde chrome35 y chromedriver 2.10 en adelante
caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => ["test-type","whitelisted-ips=comma-separated-ips"]})
@browser = Selenium::WebDriver.for :remote, :url => GRID_HUB_URL,:desired_capabilities => caps
Creo que este es un problema de Chromedriver, he planteado un problema contra Chromedriver https://code.google.com/p/chromedriver/issues/detail?id=799
Mientras tanto, puedes probar la degradación de Chrome a v34.
Este error también me sucedió cuando traté de ejecutar "npm run transportador" en el paso 3 del tutorial angular en https://docs.angularjs.org/tutorial/step_03
Estoy ejecutando la versión de Chrome 35.0.1916.153 en una MacBook Pro.
@scheffield - gracias, tu solución funcionó para mí.
(También puede no ser obvio en ese tutorial paso 3, pero como en los pasos anteriores, todavía tiene que iniciar su servidor web abriendo una nueva ventana de terminal en el directorio donde descargó el tutorial y emitiendo "npm start". una ventana de terminal separada ejecuta "transportador de ejecución npm"). Con la configuración del transportador tweak, el error desapareció.
Estoy usando Java, así que no sé si esto funcionará para ti, pero puede ser útil.
En mi caso, agregando .addArguments("test-type");
en realidad escondió esa advertencia. Sin embargo, hizo que la ejecución fuera sorprendentemente lenta.
Así que reemplacé esa línea con lo siguiente, ¡y funcionó bien!
options.addArguments("excludeSwitches", "ignore-certificate-errors");
La bandera --ignore-certificate-errors
se ha agregado a la lista de "banderas erróneas" a partir de Chrome 35, ya que reduce la seguridad del navegador. La bandera todavía funciona independientemente.
Si desea deshabilitar el aviso "indicador no compatible", agregue --test-type
a los indicadores de línea de comando que está utilizando. Esto no debería afectar al navegador de ninguna otra forma notable, pero se usa para pruebas internas, por lo tanto, úselo bajo su propio riesgo.
Para obtener más información sobre cómo agregar indicadores de línea de comandos, consulte los documentos de capacidades de Chromedriver .
La solución sin código será esta:
- Ve al icono de cromo
- Haga clic derecho y vaya a las propiedades
- En la sección de destino, agregue:
--test-type
Selenio usando C # .Net (Selenium + C # .Net)
public static IWebDriver Instance = null;
ChromeOptions opt = new ChromeOptions();
opt.AddArguments("--test-type");<br><br>
Instance = new ChromeDriver(@"Path To directory containing chromedriver.exe" , opt ) ;
Funciona para Google Chrome versión 47.0.2526.106 m.
Si usa Protractor , esta es probablemente la configuración que está buscando:
capabilities : {
browserName : ''chrome'',
''chromeOptions'': {
args: [''--test-type'']
}
},
#!/usr/bin/env node
var webdriver = require(''selenium-webdriver'');
var driver = new webdriver.Builder().withCapabilities({
browserName : ''chrome'',
''chromeOptions'': {
args: [''test-type'']
}
}).build();
System.setProperty("webdriver.chrome.driver","<<your chrome path>>");
// To remove message "You are using an unsupported command-line flag: --ignore-certificate-errors.
// Stability and security will suffer."
// Add an argument ''test-type''
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("test-type");
capabilities.setCapability("chrome.binary","<<your chrome path>>");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
driver = new ChromeDriver(capabilities);
** Esto funcionó para mí también aquí está el código **