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