¿Cómo puedo usar argumentos de línea de comandos en Angularjs Protractor?
Estoy usando Protractor para realizar algunas pruebas de extremo a extremo, y me gustaría pasar las credenciales de inicio de sesión a través de la línea de comandos en lugar de almacenarlas en un archivo de especificaciones. Encontré un post donde alguien usó process.argv.forEach
, pero ¿cómo puedo almacenar esos valores y usarlos en otro archivo de especificaciones? Tengo un archivo llamado login-spec.js
donde me gustaría usar los argumentos de la línea de comandos.
Gracias!
1 answers
En la configuración de referencia esta sección puede ser interesante:
// The params object will be passed directly to the protractor instance,
// and can be accessed from your test. It is an arbitrary object and can
// contain anything you may need in your test.
// This can be changed via the command line as:
// --params.login.user 'Joe'
params: {
login: {
user: 'Jane',
password: '1234'
}
},
Y puedes acceder al objeto params así en tu código: browser.params.login.user
Así que en tu caso si llamas a protractor de esta manera:
protractor ... --params.login.user=abc --params.login.password=123
Puede acceder a estas variables en su código de la siguiente manera:
browser.params.login.user
y browser.params.login.password
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-28 22:07:40