LoadTestGoalBasedLoadProfile, classe
Représente le profil de charge d'un test de charge qui a un modèle de charge en fonction des objectifs.
Hiérarchie d'héritage
System.Object
Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestLoadProfile
Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestGoalBasedLoadProfile
Espace de noms : Microsoft.VisualStudio.TestTools.LoadTesting
Assembly : Microsoft.VisualStudio.QualityTools.LoadTestFramework (dans Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll)
Syntaxe
'Déclaration
<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
Le type LoadTestGoalBasedLoadProfile expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
LoadTestGoalBasedLoadProfile | Initialise une nouvelle instance de la classe LoadTestGoalBasedLoadProfile. |
Début
Propriétés
Nom | Description | |
---|---|---|
CategoryName | Obtient ou définit une catégorie de compteur de performance à contrôler. | |
CounterName | Obtient ou définit le compteur de performance à contrôler. | |
HigherValuesBetter | Affectez true à cette valeur booléenne lorsque le compteur de performance spécifié par les propriétés Category et Counter est un compteur de performance pour lequel une valeur inférieure indique l'utilisation supérieure d'une ressource. | |
InitialUserCount | Obtient ou définit le nombre d'utilisateurs initial.Il s'agit du nombre d'utilisateurs virtuels exécutés au début du test de charge avant l'ajustement de la charge utilisateur, selon l'objectif spécifié. | |
InstanceName | Obtient ou définit l'instance du compteur de performance à contrôler. | |
MachineName | Obtient ou définit le nom de l'ordinateur à contrôler. | |
MaxTargetValue | Obtient ou définit une limite supérieure à viser.La charge est augmentée ou réduite pour garder le compteur au-dessous de cette valeur. | |
MaxUserCount | Obtient ou définit le nombre d'utilisateurs maximal.La charge ne peut pas dépasser cette valeur après que l'objectif a été réalisé. (Substitue LoadTestLoadProfile.MaxUserCount.) | |
MaxUserCountDecrease | Obtient ou définit la quantité de réduction maximale de la charge utilisateur. | |
MaxUserCountIncrease | Obtient ou définit la quantité d'augmentation maximale de la charge utilisateur. | |
MinTargetValue | Obtient ou définit la limite inférieure à viser pour le modèle de charge en fonction des objectifs. | |
MinUserCount | Obtient ou définit le nombre d'utilisateurs minimal.La charge ne peut pas descendre au-dessous de cette valeur pour satisfaire le but. (Substitue LoadTestLoadProfile.MinUserCount.) | |
ScenarioName | Obtient ou définit le nom du scénario dans le test de charge que l'implémentation du profil de charge contrôle. (Hérité de LoadTestLoadProfile.) | |
StopAdjustingAtGoal | true indique que le test doit cesser d'ajuster la charge utilisateur. false indique que tout au long du test, celui-ci doit continuer d'ajuster la charge utilisateur, si nécessaire, pour garder la valeur du compteur de performance spécifiée dans la plage cible. |
Début
Méthodes
Nom | Description | |
---|---|---|
CheckIfProfileCanBeModified | Lève une exception si la propriété de profil n'est pas encore prête à être modifiée. (Hérité de LoadTestLoadProfile.) | |
Copy | Retourne une copie de l'objet actuel afin qu'il puisse être modifié et assigné à la propriété LoadTestScenario.LoadProfile. (Hérité de LoadTestLoadProfile.) | |
Equals | Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.) | |
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) | |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
GetLoad | Retourne la charge utilisateur qui doit être utilisée à l'heure actuelle dans le test de charge en fonction de la valeur de elapsedSeconds depuis le début du test de charge passé en tant qu'argument. (Substitue LoadTestLoadProfile.GetLoad(Int32).) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) | |
RestoreUserCountAfterRestart | Restaure (après redémarrage) le nombre d'utilisateurs actuels à la valeur avant le redémarrage. (Substitue LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32).) | |
ToString | Retourne une chaîne qui représente l'objet actif. (Hérité de Object.) | |
Validate | Lève une exception InvalidLoadProfileException si l'objet LoadProfile contient des propriétés non valides ou incohérentes.Affiche également un message approprié. (Substitue LoadTestLoadProfile.Validate().) |
Début
Exemples
Dans l'exemple suivant, un plug-in de test de charge construit un objet GoadBasedLoadProfile et l'assigne à LoadTestScenario.Il assigne également une valeur pour DelayBetweenIterations à LoadTestScenario dans la méthode 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;
}
}
Dans l'exemple suivant, un plug-in de test de charge modifie les propriétés sélectionnées d'un GoalBasedLoadProfile dans le gestionnaire HeartbeatEvent.Cette approche fonctionne uniquement si le profil de charge spécifié dans le fichier .loadtest est un modèle de charge en fonction des objectifs.
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;
}
}
}
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Microsoft.VisualStudio.TestTools.LoadTesting, espace de noms