为量角器e2e测试设置环境参数

时间:2015-05-20 18:31:06

标签: angularjs node.js protractor angularjs-e2e

我们正在使用量角器测试我们正在构建的前端角应用程序。

目前我们正在使用browser.get()来指定我们希望再次测试的环境(localhost:9000,staging,UAT)但是我想要对其进行参数化,以便在我们使用grunt test:e2e运行测试时我们可以指定一个参数来将browser.get()更改为指定的环境。

可以调用grunt test:e2e NODE_ENV=uat来测试指定的环境。

任何人都对如何做到这一点有任何见解?

2 个答案:

答案 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

您还可以使用任务管理器(例如gruntgrunt-protractor-runner)并配置不同的任务,以便在设置不同baseUrl的不同环境中运行测试。