javascript - 使用值加载额外的 CONFIG 文件

标签 javascript selenium testing protractor end-to-end

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

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

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

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

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

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

有人可以帮我设置吗?

最佳答案

关注"DRY" principle ,使用您的 Protractor 配置和全局可用 browser对象:

  • 在您的 Protractor 配置中,“导入”您的配置文件并将其设置为 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();
         });
     });
    

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

关于javascript - 使用值加载额外的 CONFIG 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30728700/

相关文章:

javascript - jQuery - 动态排序 html 表行,不使用 ui-sortable

php - Behat Mink webdriver session 在套件中的每个功能之后被销毁

python - 在 Python Selenium chromedriver 中执行无限 JavaScript 循环时陷入困境

ruby-on-rails - Rails 测试找不到 test_helper

performance - Sqlite3插入性能测试

javascript - 我如何在点击函数中定位span的字符串?

javascript - 从选择框中选择选项时从本地服务器更改图像

c# - OpenQA.Selenium.WebDriverException : unknown error: Chrome failed to start: exited abnormally while executing tests through Selenium start on linux

python - 如何在 Bottle.py 中测试重定向?

javascript - Canvas PDF JS 中的 PDF 渲染