如何通过我的测试场景来驱动应用配置值

时间:2019-05-02 23:21:03

标签: c# selenium selenium-webdriver

在我的Selenium-Specflow-Nunit框架的app.config文件中,我有一个密钥来设置客户价值(例如,沃尔玛,亚马逊,BestBuy等)。为了针对这些客户中的每一个进行测试,我需要每次更改app.config文件中的键值。这意味着我无法一次运行所有测试,并无法从我的Specflow场景进行控制。

想知道是否有一种方法可以从测试中驱动和控制配置文件的客户密钥值?

2 个答案:

答案 0 :(得分:1)

我这样做的一种方法是创建一个像这样的方法:

(未试用)

    [TestMethod]
    public void InitAppConfig(string customerValue)
    {
       var config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
       config.AppSettings.Settings.Remove("Customer");
       config.AppSettings.Settings.Add("Customer", customerValue);
       config.Save();
       ConfigurationManager.RefreshSection("connectionStrings");
    }

答案 1 :(得分:1)

使用了以下代码

 public void ModifyAppConfig(string customer, string env)
    {
        var config = ConfigurationManager.AppSettings;           
        config.Set("CUSTOMER", customer);            
        config.Set("Environment", environment);
        ConfigurationManager.RefreshSection("connectionStrings");

    }