Visual Studio 2012 Ultimate Top Create Web パフォーマンス テストを使用しています。
手動でテストを作成しました。ソリューションの App.config ファイルから、Web テスト プラグインを介して値を取得しようとしています。
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;
}
...
Web テストでは、app.config に移動して PaymentServiceUrl を取得するはずだったプラグインを使用していますが、彼はそのプラグインを使用していません。
結果は次のとおりです: 要求が失敗しました: コンテキスト パラメーター 'PaymentServiceURL' がテスト コンテキストで見つかりません
と
要求が失敗しました: PreWebTest イベントの例外: ファイルまたはアセンブリ 'PaymentServiceAPITestNew、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません