我正在使用 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”或其依赖项之一。该系统找不到指定的文件