我们正在使用量角器测试我们正在构建的前端角应用程序。
目前我们正在使用browser.get()
来指定我们希望再次测试的环境(localhost:9000,staging,UAT)但是我想要对其进行参数化,以便在我们使用grunt test:e2e
运行测试时我们可以指定一个参数来将browser.get()
更改为指定的环境。
可以调用grunt test:e2e NODE_ENV=uat
来测试指定的环境。
任何人都对如何做到这一点有任何见解?
答案 0 :(得分:8)
您可以将任意数量的参数传递给量角器 您需要在grunt文件中的量角器任务中传递参数。这是一个小片段
config: grunt.file.readJSON('config-param.json'),
protractor: {
options: {
configFile: "config/e2e.conf.js", // Default config file
keepAlive: true, // If false, the grunt process stops when the test fails.
noColor: false, // If true, protractor will not use colors in its output.
debug: '<%= config.debugger %>',
args: {
params: '<%= config %>'
}
},
run: {}
},
您可以访问规范中的参数,例如。 browser.params.fieldName
答案 1 :(得分:4)
解决问题的常用方法是使用baseUrl
command-line argument:
protractor --baseUrl='http://localhost:9000' protractor.conf.js
或者,您可以设置webdriver.base.url
environment variable:
webdriver.base.url=http://localhost:9000
您还可以使用任务管理器(例如grunt
和grunt-protractor-runner
)并配置不同的任务,以便在设置不同baseUrl
的不同环境中运行测试。