¿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!

Author: Brendan, 2014-04-17

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

 85
Author: Lajos Veres,
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