如何在Angularjs量角器中使用命令行参数?

我正在使用Protractor执行一些端到端测试,我想通过命令行传递登录凭据,而不是将它们存储在spec文件中。我在某人使用过的地方找到了一个帖子process.argv.forEach,但是如何存储这些值并在另一个spec文件中使用它们?我有一个文件login-spec.js,我想在其中使用命令行参数。



慕后森
浏览 799回答 3
3回答

心有法竹

在参考配置中,此部分可能很有趣:  // 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

慕婉清6462132

我认为这不可能直接实现。但是,如果您已将URL存储在变量中,则可以重复使用该变量。或者,您也可以在外壳中的前面加一个。我用所有设置变量创建了一个大哈希,并由主环境的名称索引,然后仅将环境的名称作为量角器参数进行传递。大致:Environments = {test: {url: '...', name: '...', ...}, live: {...}, ...}和--params.env=test.
打开App,查看更多内容
随时随地看视频慕课网APP