Применение пользовательского кода в тестах Citrix

Можно писать собственный код на языке Java™ для расширения функций IBM® Rational Performance Tester.

Прежде чем начать

Пользовательский код требует навыка программирования на языке Java и знания API Rational Performance Tester. Дополнительная информация приведена в разделе Выполнение тестов с помощью пользовательского кода.

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

Для применения пользовательского кода для синхронизации тестов выполните следующие действия:

Процедура

  1. В навигаторе тестов выберите расположение элемента теста для вставки пользовательского кода.
  2. Выберите команду меню Вставить > Пользовательский код. В тесте будет создан элемент пользовательского кода.
  3. На странице Сведения об элементе теста выберите команду Сгенерировать код, чтобы создать класс Java на основе API Rational Performance Tester. Для изменения существующего класса выберите команду Показать код.
  4. В редакторе Java добавьте оператор import для тестов Citrix: import com.ibm.rational.test.lt.execution.citrix.customcode.*;
  5. Укажите функцию для создания в методе exec.
  6. Сохраните и закройте класс Java.

Пример

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

import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices;
import org.eclipse.hyades.test.common.event.VerdictEvent;
import com.ibm.rational.test.lt.execution.citrix.customcode.CitrixCustomCodeImpl2;
import com.ibm.rational.test.lt.execution.citrix.customcode.ICitrixCustomCode2;

public String exec(ITestExecutionServices tes, String[] args) {
	ICitrixCustomCode2 thisCode = new CitrixCustomCodeImpl2(tes);

	// получить последнее состояние точки проверки
	int verdict = thisCode.getLastVerificationPointVerdict();
	if (verdict != VerdictEvent.VERDICT_PASS) {
	
		// этот пример выдает сообщение, но должен быть адаптирован под конкретные нужды
		tes.getTestLogManager().reportMessage("последнее состояние точки проверки: " + thisCode.verdictEventToString(verdict));

	}
	return null;
}

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

import com.ibm.rational.test.lt.kernel.services.ITestExecutionServices; 
import com.ibm.rational.test.lt.execution.citrix.customcode.*;

public String exec(ITestExecutionServices tes, String[] args) { 
	
	ICitrixCustomCode2 thisCode = new CitrixCustomCodeImpl2(tes); 
	
	// Создать снимок всего экрана и записать в протокол: 
	thisCode.logFullScreenCapture(); 
	
	// Создать снимок части экрана и записать в протокол: 
	// thisCode.logPartialScreenCapture(x, y, width, height); 
	
	// Создать снимок части экрана и записать в файл: 
	// thisCode.savePartialScreenCapture(filename, x, y, width, height); 
	
	return null; 
}

Дальнейшие действия

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

Комментарии