加载带有值的附加配置文件

And*_*rit 5 javascript testing selenium end-to-end protractor

我在测试中使用了很多值,例如用户名和密码。

为此,我创建了一个配置文件,仅将这些数据存储在 JSON 中,如下所示:

{
    "login": "test",
    "password": "pass",
    "number": "1234",
}
Run Code Online (Sandbox Code Playgroud)

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

我怎样才能加载这个配置文件一次而不是在每个文件中。例如,我现在怎么做:

var configFile = require('./config.json');
Run Code Online (Sandbox Code Playgroud)

有人可以帮我设置这个吗?

ale*_*cxe 4

要遵循“DRY”原则,请使用量角器配置和全局可用browser对象:

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

    var config = require("./config.js");
    exports.config = {
        // ...
    
        params: config,
    
        // ...
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 在您的测试中,只需使用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();
         });
     });
    
    Run Code Online (Sandbox Code Playgroud)

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