1

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 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません

4

1 に答える 1

0

私は Trove Nini と呼ばれる NuGet パッケージを使用しており、構成ファイル情報を取得するのに非常に適しています。

于 2014-01-30T17:19:07.750 に答える