次の方法で共有


LoadTestGoalBasedLoadProfile クラス

更新 : 2007 年 11 月

ゴール志向ロード パターンを持つロード テストの負荷プロファイルを表します。

名前空間 :  Microsoft.VisualStudio.TestTools.LoadTesting
アセンブリ :  Microsoft.VisualStudio.QualityTools.LoadTestFramework (Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll 内)

構文

'宣言
<SerializableAttribute> _
Public Class LoadTestGoalBasedLoadProfile _
    Inherits LoadTestLoadProfile
'使用
Dim instance As LoadTestGoalBasedLoadProfile
[SerializableAttribute]
public class LoadTestGoalBasedLoadProfile : LoadTestLoadProfile
[SerializableAttribute]
public ref class LoadTestGoalBasedLoadProfile : public LoadTestLoadProfile
public class LoadTestGoalBasedLoadProfile extends LoadTestLoadProfile

次の例では、ロード テスト プラグインが GoadBasedLoadProfile オブジェクトを構築し、それを LoadTestScenario に割り当てます。また、Initialize() メソッドで DelayBetweenIterations の値も LoadTestScenario に割り当てます。

using Microsoft.VisualStudio.TestTools.LoadTesting;
public class LoadTestPluginInitChangeProfile : ILoadTestPlugin
{
    public void Initialize(LoadTest loadTest)
    {
        LoadTestGoalBasedLoadProfile goalLoadProfile = new LoadTestGoalBasedLoadProfile();
        goalLoadProfile.MachineName = Environment.MachineName;
        goalLoadProfile.CategoryName = "Processor";
        goalLoadProfile.CounterName = "% Processor Time";
        goalLoadProfile.InstanceName = "_Total";
        goalLoadProfile.InitialUserCount = 5;
        goalLoadProfile.MinUserCount = 1;
        goalLoadProfile.MaxUserCount = 100;
        goalLoadProfile.MaxUserCountIncrease = 10;
        goalLoadProfile.MaxUserCountDecrease = 5;
        goalLoadProfile.MinTargetValue = 20;
        goalLoadProfile.MaxTargetValue = 25;
        // This example assumes that there is only one scenario
        loadTest.Scenarios[0].LoadProfile = goalLoadProfile;

        loadTest.Scenarios[0].DelayBetweenIterations = 5;
    }
}

次の例では、ロード テスト プラグインが HeartbeatEvent ハンドラで GoadBasedLoadProfile の選択されたプロパティを変更します。この方法は、.loadtest ファイルに指定された負荷ファイルがゴール志向ロード パターンの場合にのみ有効です。

using Microsoft.VisualStudio.TestTools.LoadTesting;

public class LoadTestPluginChangeGoal : ILoadTestPlugin
{
    private LoadTest m_loadTest;
    private LoadTestScenario m_scenario1;
    private bool m_goalChanged;

    public void Initialize(LoadTest loadTest)
    {
        m_loadTest = loadTest;
        // This example assume there is only one scenario
        m_scenario1 = loadTest.Scenarios[0];
        m_loadTest.Heartbeat += new   EventHandler<HeartbeatEventArgs>(m_loadTest_Heartbeat);
    }

    void m_loadTest_Heartbeat(object sender, HeartbeatEventArgs e)
    {
        if (e.ElapsedSeconds >= 60 && !m_goalChanged)
        {
            LoadTestGoalBasedLoadProfile goalLoadProfile = 
m_scenario1.LoadProfile.Copy() as    LoadTestGoalBasedLoadProfile;
            goalLoadProfile.MinTargetValue = 50;
            goalLoadProfile.MaxTargetValue = 60;
            m_scenario1.LoadProfile = goalLoadProfile;
            m_goalChanged = true;
        }
    }
}

継承階層

System.Object
  Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestLoadProfile
    Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestGoalBasedLoadProfile

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

参照

参照

LoadTestGoalBasedLoadProfile メンバ

Microsoft.VisualStudio.TestTools.LoadTesting 名前空間

その他の技術情報

ロード パターンの概要

方法 : ロード テスト プラグインを作成する