Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I use command line arguments in Angularjs Protractor?

I'm using Protractor to perform some end to end tests, and I'd like to pass in login credentials through the command line instead of storing them in a spec file. I found one post where someone used process.argv.forEach, but how can I store those values and use them in another spec file? I have a file called login-spec.js where I'd like to use the command-line arguments.

Thanks!

like image 783
Brendan Avatar asked Apr 17 '14 14:04

Brendan


1 Answers

In the reference config this section can be interesting:

  // 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'     }   }, 

And you can access the params object like this in your code: browser.params.login.user

So in your case if you call protractor like this:

protractor ... --params.login.user=abc --params.login.password=123 

You can access these variables in your code like this:

browser.params.login.user and browser.params.login.password

like image 70
Lajos Veres Avatar answered Oct 07 '22 17:10

Lajos Veres