LoadTestGoalBasedLoadProfile - класс
Представляет профиль нагрузки нагрузочного теста с шаблоном нагрузки на основе целей.
Иерархия наследования
Object
Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestLoadProfile
Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestGoalBasedLoadProfile
Пространство имен: Microsoft.VisualStudio.TestTools.LoadTesting
Сборка: Microsoft.VisualStudio.QualityTools.LoadTestFramework (в Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll)
Синтаксис
'Декларация
<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
Тип LoadTestGoalBasedLoadProfile предоставляет следующие члены.
Конструкторы
Имя | Описание | |
---|---|---|
LoadTestGoalBasedLoadProfile | Инициализирует новый экземпляр класса LoadTestGoalBasedLoadProfile. |
В начало страницы
Свойства
Имя | Описание | |
---|---|---|
CategoryName | Возвращает или задает категорию счетчика производительности для отслеживания. | |
CounterName | Возвращает или задает счетчик производительности для отслеживания. | |
HigherValuesBetter | Этому свойству нужно присвоить логическое значение true, если для счетчика производительности, заданного в свойствах Category и Counter, более низкое значение указывает на более высокую степень использования ресурса. | |
InitialUserCount | Возвращает или задает начальное число пользователей.Это количество виртуальных пользователей в начале нагрузочного теста до корректировки пользовательской нагрузки, исходя из заданной цели. | |
InstanceName | Возвращает или задает экземпляр счетчика производительности для отслеживания. | |
MachineName | Возвращает или задает имя компьютера для отслеживания. | |
MaxTargetValue | Возвращает или задает верхний целевой предел.Нагрузка повышается или понижается, чтобы удержать значение счетчика ниже данного значения. | |
MaxUserCount | Возвращает или задает максимальное число пользователей.Нагрузка не может превышать это значение после достижения цели. (Переопределяет LoadTestLoadProfile.MaxUserCount.) | |
MaxUserCountDecrease | Возвращает или задает максимальное значение, на которое нужно уменьшить пользовательскую нагрузку. | |
MaxUserCountIncrease | Возвращает или задает максимальное значение, на которое нужно увеличить пользовательскую нагрузку. | |
MinTargetValue | Возвращает или задает нижний целевой предел для шаблона нагрузки на основе целей. | |
MinUserCount | Возвращает или задает минимальное число пользователей.Нагрузка не может быть ниже этого значения, даже если это позволяет достичь цели. (Переопределяет LoadTestLoadProfile.MinUserCount.) | |
ScenarioName | Получает или задает имя сценария в нагрузочном тесте, управляемого реализацией профиля нагрузки. (Унаследовано от LoadTestLoadProfile.) | |
StopAdjustingAtGoal | Значение true указывает, что тест необходимо остановить для корректировки пользовательской нагрузки.Значение false указывает, что в ходе всего теста должна продолжаться корректировка пользовательской нагрузки, если это необходимо для того, чтобы значение заданного счетчика производительности оставалось в целевом диапазоне. |
В начало страницы
Методы
Имя | Описание | |
---|---|---|
CheckIfProfileCanBeModified | Создает исключение, если свойство профиля еще не подготовлено к изменению. (Унаследовано от LoadTestLoadProfile.) | |
Copy | Возвращает копию текущего объекта, поэтому он может быть изменен и назначен свойству LoadTestScenario.LoadProfile. (Унаследовано от LoadTestLoadProfile.) | |
Equals | Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.) | |
Finalize | Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как он будет уничтожен во время сборки мусора. (Унаследовано от Object.) | |
GetHashCode | Служит хэш-функцией по умолчанию. (Унаследовано от Object.) | |
GetLoad | Возвращает пользовательскую нагрузку, которую следует использовать в настоящее время в нагрузочном тесте, исходя из значения elapsedSeconds — количества секунд, прошедших от начала нагрузочного теста, которое передается в качестве аргумента. (Переопределяет LoadTestLoadProfile.GetLoad(Int32).) | |
GetType | Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.) | |
MemberwiseClone | Создает неполную копию текущего объекта Object. (Унаследовано от Object.) | |
RestoreUserCountAfterRestart | Восстанавливает текущее (после перезагрузки) число пользователей до значения, которое было до перезагрузки. (Переопределяет LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32).) | |
ToString | Возвращает строку, представляющую текущий объект. (Унаследовано от Object.) | |
Validate | Вызывает исключение InvalidLoadProfileException, если объект LoadProfile имеет недопустимые или несогласованные свойства.При этом также отображается соответствующее сообщение. (Переопределяет LoadTestLoadProfile.Validate().) |
В начало страницы
Примеры
В следующем примере подключаемый модуль нагрузочных тестов создает объект GoadBasedLoadProfile и назначает его объекту LoadTestScenario. Также он назначает значение DelayBetweenIterations объекту LoadTestScenario в методе 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;
}
}
В следующем примере подключаемый модуль нагрузочных тестов изменяет отдельные свойства GoalBasedLoadProfile в обработчике события HeartbeatEvent. Этот подход действует только в том случае, если в файле с расширением 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;
}
}
}
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.
См. также
Ссылки
Microsoft.VisualStudio.TestTools.LoadTesting - пространство имен
Другие ресурсы
Практическое руководство. Создание подключаемого модуля нагрузочных тестов