web-dev-qa-db-ja.com

Angularjs Protractorでコマンドライン引数を使用するにはどうすればよいですか?

Protractorを使用して、エンドツーエンドのテストを実行しています。ログインファイルの資格情報をspecファイルに保存するのではなく、コマンドラインから渡したいと思います。誰かがprocess.argv.forEachを使用した投稿を見つけましたが、それらの値を保存して別のspecファイルで使用するにはどうすればよいですか?コマンドライン引数を使用したいlogin-spec.jsというファイルがあります。

ありがとう!

52
Brendan

reference config のこのセクションは興味深いものです:

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

また、コード内で次のようなparamsオブジェクトにアクセスできます:browser.params.login.user

あなたの場合、このように分度器を呼び出すと:

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

次のように、コード内でこれらの変数にアクセスできます。

browser.params.login.userおよびbrowser.params.login.password

91
Lajos Veres