使用值加载其他CONFIG文件

时间:2015-06-09 09:51:37

标签: javascript selenium testing protractor end-to-end

我正在使用很多值来测试用户名和密码。

为此,我创建了一个配置文件,我将这些数据存储在JSON中,它看起来像:

{
    "login": "test",
    "password": "pass",
    "number": "1234",
}

如果我在每个测试文件的开头请求它(一个用于登录,另一个用于其他文件),它对我有用。

如何将此配置文件加载一次而不是加载到每个文件中。 例如,我现在是怎么做的:

var configFile = require('./config.json');

有人可以帮我设置吗?

2 个答案:

答案 0 :(得分:3)

要关注"DRY" principle,请使用您的量角器配置和全局可用的browser对象:

    在您的量角器配置中
  • ,“导入”您的配置文件并将其设置为params值:

    var config = require("./config.js");
    exports.config = {
        // ...
    
        params: config,
    
        // ...
    }
    
  • 在您的测试中,只需使用browser.params,例如:

    describe('Logging in', function(){
         it('should log in', function(){
             var login = element(by.id("login"));
             login.sendKeys(browser.params.login);
    
             var password = element(by.id("password"));
             login.sendKeys(browser.params.password);
    
             element(by.id("submit")).click();
         });
     });
    

换句话说,这就是“一次导入 - 随处使用”的方法。

答案 1 :(得分:0)

您可以简单地将configFile用作全局变量,并在每个测试中使用它。

describe('Description', function(){
    var configFile = require('./config.json');
    it('Test1', function(){
        //Consume configFile here
    });
    it('Test2', function(){
        //Consume configFile here
    });
});

我希望这会有所帮助。