Compartilhar via


Classe LoadTestGoalBasedLoadProfile

Representa o analisar de carga de um teste de carga que tem um padrão de carga baseado em meta.

Namespace:  Microsoft.VisualStudio.TestTools.LoadTesting
Assembly:  Microsoft.VisualStudio.QualityTools.LoadTestFramework (em Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll)

Sintaxe

<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

Exemplos

No exemplo a seguir, um plug-in de teste de carga constrói um objeto GoadBasedLoadProfile e o atribui ao LoadTestScenario.Ele também atribui um valor para DelayBetweenIterations LoadTestScenario no método inicializar().

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;
    }
}

No exemplo a seguir, um plug-in de teste de carga modifica propriedades selecionadas de um GoalBasedLoadProfile no manipulador de HeartbeatEvent.Essa abordagem funciona somente se o analisar de carregamento especificado no arquivo .loadtest é um padrão de carga com meta.

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;
        }
    }
}

Hierarquia de herança

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

Acesso thread-safe

Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Membros LoadTestGoalBasedLoadProfile

Namespace Microsoft.VisualStudio.TestTools.LoadTesting

Outros recursos

Sobre Padrão de Carga

Como: Criar um teste de Carregar plug-in