我可以通过读取数据文件覆盖配置文件中的参数吗?

时间:2017-04-12 18:32:09

标签: bash shell protractor

我编写了一个shell脚本(test.sh)来运行我的测试套件(以覆盖在config.js中定义的登录参数和url),其内容如下所示。

! /bin/bash

webdriver-manager start &
webdriver_pid=$!

protractor config.js --baseUrl=${URL} --params.login.userName=${admin} --params.login.userPassword=${passd} --params.login.nonAdminUser=${userid} --params.login.nonAdminPasswd={pwd}

但是我在这里公开了我的用户ID和密码。相反,我想在数据文件中定义用户凭证(例如data.properties)并将其传递给shell脚本。 现在test.sh将有

"protractor config.js --baseUrl=${URL} . $fileName"

我运行shell脚本,如下面的

$ bash test.sh data.properties

这不起作用。

任何建议表示赞赏。提前致谢。

2 个答案:

答案 0 :(得分:0)

我认为

  1. 变量fileName被设置为您传递的值 脚本的命令行。
  2. 该文件包含所有的单行 “--params.login.blah = blah”arguments。
  3. 如果这些假设属实,您应该可以:

    protractor config.js --baseUrl=${URL} $(cat ${fileName})
    

答案 1 :(得分:0)

根据this文章,您可以在配置中写下以下内容:

module.exports = {
  params: {
    baseUrl: 'url'
  },
    //  * other config options *
}

并像这样运行量角器,以覆盖参数:

protractor conf.js --params.baseUrl='newUrl'