Как циклы влияют на состояние виртуальных пользователей

Если точки проверки неожиданно начинают выдавать отрицательный результат во время выполнения; причиной может быть то, что виртуальные пользователи в циклах не сохраняют свое исходное состояние. Для того чтобы каждый виртуальный пользователь входил в цикл в исходном состоянии, можно внести изменения в параметры HTTP теста или добавить пользовательский код.

Об этой задаче

По умолчанию кэш cookie для виртуального пользователя не сбрасывается во время выполнения теста. Это соответствует поведению браузера. Если тест или расписание содержит циклы и веб-сервер устанавливает cookie на первой итерации цикла, cookie доступна и на следующих итерациях.

В некоторых случаях может потребоваться сброс всех cookie в кэше для определенного виртуального пользователя. Например, если нужно, чтобы каждая итерация выглядела как новый пользователь, необходимо сбросить кэш. Если этого не сделать, то, хотя тест будет выполнен до конца, некоторые точки проверки в тесте могут выдать отрицательный результат.

Существует два способа сброса кэша cookie, и каждый имеет свои последствия.

Для сброса кэша cookie в цикле расписания или когда тест идет за другим тестом в расписании используйте следующий способ. В этом способе кэш сбрасывается при каждом входе в тест. Даже если тесты выполняются не в цикле, этот способ следует применять для смежных тестов и тестов Siebel.

  1. В Навигаторе тестов найдите тест и дважды щелкните на нем. Тест откроется.
  2. На странице Параметры HTTP включите переключатель Очищать кэш cookie при запуске теста.

Процедура

Для сброса кэша cookie при переходе на следующую итерацию цикла, когда цикл охватывает все содержимое теста и цикл находится внутри теста, добавьте пользовательский код в тест и вызовите соответствующую функцию API:

  1. Выполните тест или расписание, чтобы добавить текущие библиотеки Java™ в путь к классам.
  2. Откройте тест и выберите элемент теста в месте, где должен выполняться сброс кэша cookie. Обычно это конец цикла.
  3. Нажмите кнопку Добавить или Вставить и выберите Пользовательский код. Кнопка Добавить добавляет пользовательский код в конец выбранного элемента (теста или страницы теста). Кнопка Вставить добавляет пользовательский код над выбранной страницей или запросом страницы.
  4. Добавьте следующий оператор Java import: Import com.ibm.rational.test.lt.execution.http.util.CookieCacheUtil;
  5. Добавьте следующий код Java в метод exec: CookieCacheUtil.clearCookieCache(tes);

Пример

В следующем примере показано добавление пользовательского кода, который сбрасывает кэш cookie. Строки, добавляемые в сгенерированный шаблон пользовательского кода, выделены полужирным шрифтом:
Прим.: Другой пример пользовательского кода, который устанавливает и очищает cookie, приведен в разделе Установка и удаление cookie для виртуального пользователя.
package test;

import com.ibm.rational.test.lt.execution.http.util.CookieCacheUtil;
import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices;

public class Class1131739398417 implements
		com.ibm.rational.test.lt.kernel.custom.ICustomCode2 {
		
	public Class1131739398417() {
	}
	public String exec(ITestExecutionServices tes, String[] args) {
		CookieCacheUtil.clearCookieCache(tes);
		return null;
	}
 }

Комментарии