1

我正在使用 Visual Studio 2012 Ultimate Top 创建 Web 性能测试。

我已经手动创建了一个测试,并且我试图通过 Web 测试插件从解决方案中的 App.config 文件中获取一个值。

App.config 中的代码:

(xml code)
<configuration>
<appSettings>
<add key="PaymentServiceURL" value="MyURL" />
</appSettings>
<connectionStrings>
...
</connectionStrings>

插件代码:

using Microsoft.VisualStudio.TestTools.WebTesting;
using PaymentServiceAPITestNew.ConfigManager;
using System;
using System.Collections.Generic;
using System.IO;


public class Init : WebTestPlugin
{
    public override void PreWebTest(object sender, PreWebTestEventArgs e)
    {
        //List<APIObj> testList = null;
        string feedsURL = MyConfigManager.GetAppSettings("PaymentServiceURL");
        e.WebTest.Context["PaymentServiceURL"] = feedsURL;
    }
     .....

代码 MyConfigManager:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using log4net;
using System.IO;

public static class MyConfigManager
{
  ...
    public static string GetConnectionString(string key)
    {
        string result = string.Empty;
        if (connectionStrings == null || (connectionStrings != null && connectionStrings.Count == 0))
        {
            connectionStrings = new Dictionary<string, string>();
            var config = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Reflection.Assembly.GetCallingAssembly().Location);
            foreach (System.Configuration.ConnectionStringSettings conn in config.ConnectionStrings.ConnectionStrings)
                connectionStrings.Add(conn.Name, conn.ConnectionString);
        }

        connectionStrings.TryGetValue(key, out result);
        return result;
    }
    ...

网络测试使用了应该转到 app.config 并获取 PaymentServiceUrl 的插件,但他没有使用该插件。

结果是:请求失败:在测试上下文中找不到上下文参数“PaymentServiceURL”

请求失败:PreWebTest 事件中的异常:无法加载文件或程序集“PaymentServiceAPITestNew,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件

4

1 回答 1

0

我使用了名为 Trove Nini 的 NuGet 包,并且在获取配置文件信息方面效果很好。

于 2014-01-30T17:19:07.750 回答