Condividi tramite


Classe LoadTestGoalBasedLoadProfile

Rappresenta il profilo di un test di carico che dispone di un modello di carico basato su obiettivo.

Gerarchia di ereditarietà

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

Spazio dei nomi:  Microsoft.VisualStudio.TestTools.LoadTesting
Assembly:  Microsoft.VisualStudio.QualityTools.LoadTestFramework (in Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll)

Sintassi

'Dichiarazione
<SerializableAttribute> _
Public Class LoadTestGoalBasedLoadProfile _
    Inherits LoadTestLoadProfile
[SerializableAttribute]
public class LoadTestGoalBasedLoadProfile : LoadTestLoadProfile
[SerializableAttribute]
public ref class LoadTestGoalBasedLoadProfile : public LoadTestLoadProfile
[<SerializableAttribute>]
type LoadTestGoalBasedLoadProfile =  
    class
        inherit LoadTestLoadProfile
    end
public class LoadTestGoalBasedLoadProfile extends LoadTestLoadProfile

Il tipo LoadTestGoalBasedLoadProfile espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico LoadTestGoalBasedLoadProfile Inizializza una nuova istanza della classe LoadTestGoalBasedLoadProfile.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica CategoryName Ottiene o imposta una categoria da controllare del contatore delle prestazioni.
Proprietà pubblica CounterName Ottiene o imposta il contatore delle prestazioni da controllare.
Proprietà pubblica HigherValuesBetter Impostare questo valore booleano su true quando il contatore delle prestazioni specificato dalle proprietà Category e Counter è un contatore per il quale il valore minore indica il maggiore utilizzo di una risorsa.
Proprietà pubblica InitialUserCount Ottiene o imposta il numero di utenti iniziale.Costituisce il numero di utenti virtuali da eseguire all'avvio del test di carico prima che venga regolato il carico dell'utente sulla base dell'obiettivo specificato.
Proprietà pubblica InstanceName Ottiene o imposta l'istanza da controllare del contatore delle prestazioni.
Proprietà pubblica MachineName Ottiene o imposta il nome del computer da controllare.
Proprietà pubblica MaxTargetValue Ottiene o imposta un limite superiore della destinazione.Il carico viene aumentato o diminuito per mantenere il contatore al di sotto di questo valore.
Proprietà pubblica MaxUserCount Ottiene o imposta il numero massimo di utenti.Il carico non può superare questo valore una volta soddisfatto l'obiettivo. (Esegue l'override di LoadTestLoadProfile.MaxUserCount).
Proprietà pubblica MaxUserCountDecrease Ottiene o imposta la quantità massima in base alla quale viene diminuito il carico dell'utente.
Proprietà pubblica MaxUserCountIncrease Ottiene o imposta la quantità massima in base alla quale viene aumentato il carico dell'utente.
Proprietà pubblica MinTargetValue Ottiene o imposta il limite inferiore della destinazione per il modello di carico basato su obiettivo.
Proprietà pubblica MinUserCount Ottiene o imposta il numero minimo di utenti.Il carico non può scendere al di sotto di questo valore neanche per soddisfare l'obiettivo. (Esegue l'override di LoadTestLoadProfile.MinUserCount).
Proprietà pubblica ScenarioName Ottiene o imposta il nome dello scenario nel test di carico controllato dall'implementazione del profilo di carico. (Ereditato da LoadTestLoadProfile)
Proprietà pubblica StopAdjustingAtGoal true indica che il test deve interrompere la regolazione del carico utente.false indica che la regolazione del carico utente deve continuare per tutto il test, se richiesto, per mantenere il valore del contatore delle prestazioni specificato nell'intervallo di destinazione.

In alto

Metodi

  Nome Descrizione
Metodo pubblico CheckIfProfileCanBeModified Genera un'eccezione se la proprietà del profilo non è ancora pronta per essere modificata. (Ereditato da LoadTestLoadProfile)
Metodo pubblico Copy Restituisce una copia dell'oggetto corrente in modo che possa essere modificato e assegnato alla proprietà LoadTestScenario.LoadProfile. (Ereditato da LoadTestLoadProfile)
Metodo pubblico Equals Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetLoad Restituisce il carico utente che deve essere attualmente utilizzato nel test di carico sulla base del valore di elapsedSeconds dal momento in cui l'avvio del test di carico è stato passato come argomento. (Esegue l'override di LoadTestLoadProfile.GetLoad(Int32)).
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico RestoreUserCountAfterRestart Ripristina (dopo il riavvio) il numero di utenti corrente sul valore che aveva prima del riavvio. (Esegue l'override di LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32)).
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblico Validate Genera InvalidLoadProfileException se l'oggetto LoadProfile dispone di proprietà non valide o coerenti.e visualizza il messaggio appropriato. (Esegue l'override di LoadTestLoadProfile.Validate()).

In alto

Esempi

Nell'esempio seguente, un plug-in test di carico costruisce un oggetto GoadBasedLoadProfile e lo assegna a LoadTestScenario. Assegna a LoadTestScenario anche un valore per DelayBetweenIterations nel metodo Initialize().

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

Nell'esempio seguente, un plug-in test di carico modifica le proprietà selezionate di GoalBasedLoadProfile nel gestore HeartbeatEvent. Questo approccio funziona solo se il profilo di carico specificato nel file con estensione loadtest è un modello di carico basato su obiettivo.

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

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.TestTools.LoadTesting

Altre risorse

About Load Pattern

Procedura: creare un plug-in test di carico