Параметризация в QTP/UFT с примером

⚡ Умное резюме

Параметризация в QTP/UFT Заменяет жестко закодированные значения переменными входными данными, позволяя одному тестовому скрипту запускаться для множества комбинаций данных, настроек среды и вызываемых действий без переписывания ни одного шага.

  • 🎯 Определение: Параметризация заменяет фиксированное значение переменным входным сигналом, поэтому QTP/UFT Можно использовать один скрипт в различных условиях тестирования.
  • 📊 Таблица данных: Сохраняйте имя агента, пароль или другие введенные данные на листе «Глобальные параметры» для каждого действия или на листе «Действия» только для одного действия.
  • 🌐 Переменные среды: В рамках одного действия в тесте можно использовать встроенные, заданные пользователем внутренние или заданные пользователем внешние XML-значения.
  • 🔗 Параметры теста/действия: Передайте входное значение в вызываемое действие и верните выходное значение вызывающему действию.
  • 🎲 Случайное число: Для каждой итерации, действия или всего выполнения программы генерируйте уникальное числовое значение в заданном диапазоне.
  • ▶ ️ Исполнение: Запустите скрипт один раз и дайте ему... QTP/UFT Автоматически перебирать каждую строку данных, сообщая о каждом успешном или неудачном прохождении по строке.
  • ⚙️ Оптимизация: Объедините драйверы данных с параметризованными полями, чтобы в одном окне обнаружить все константы, подлежащие параметризации.

Что такое QTP Параметризация?

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

Без параметризации тестирование одного и того же экрана входа в систему с тремя различными комбинациями имени агента и пароля означает запись или поддержание трех практически идентичных скриптов. Параметризация сохраняет один скрипт и просто передает ему новую строку данных для каждого запуска, поэтому от нее зависит тестирование, основанное на данных.

Типы параметризации в QTP

UFT (ранее QTP) поддерживает четыре типа параметров, каждый из которых подходит для разных типов переменных данных:

  1. Параметры таблицы данных
  2. Параметры теста/действия
  3. Параметры переменных среды
  4. Параметры случайных чисел

В таблице ниже приведено сравнение оптимального применения каждого типа, после чего мы рассмотрим реальный пример.

Тип параметра Откуда берется ценность Типичный вариант использования
Таблица данных В комплект теста входит глобальная или локальная (действенная) электронная таблица. Выполнение тех же шагов с большим количеством строк тестовых данных.
Переменная среды Встроенные значения, значения, заданные внутри теста, или внешний XML-файл. Обладание одной постоянной величиной, например, URL, во всех действиях
Тест/Действие Входное или выходное значение, передаваемое между действиями. Передача значения, полученного в одном действии, в другое действие.
Случайное число Число, сгенерированное автоматически в пределах заданного диапазона. Создание уникального значения, например, идентификатора заказа, при каждом запуске.

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

Параметризация таблиц данных: пошаговый пример

Эта Микрофокус UFT учебник В этом примере показано, как параметризовать тест авторизации для приложения бронирования авиабилетов с помощью таблицы данных. Вы можете задаться вопросом, зачем столько усилий вкладывается в автоматизацию простой авторизации. Ценность становится очевидной, как только сценарий проверяет, что пользователь может успешно войти в систему. комбинация действительных буквенно-цифровых символов: имя агента и пароль значения. Шаги тестирования остаются прежними, но объем данных для тестирования увеличивается. В этом примере пошаговое выполнение ограничено 3 из 8 возможных комбинаций.

Сценарий тестирования Шаги тестирования Тестовые данные
Убедитесь, что пользователь успешно входит в приложение, введя КОМБИНАЦИЮ действительных БУКВЕННО-ЦИФРОВЫХ имени и пароля агента. Шаг 1) Откройте заявку на бронирование авиабилетов.
Шаг 2) Введите действительное имя агента
Шаг 3) Введите действительный пароль
Шаг 4) Нажмите «ОК».
Шаг 5) Закройте приложение после успешного входа в систему.
Имя агента = Guru
Пароль = Mercury
Имя агента = Guru99
Пароль = МЕРКУРИЙ
Имя агента = 9999
Пароль = ртуть

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

Параметризация в QTP

В этом примере самый простой способ параметризовать аргумент. Guru, является:

  1. Нажмите «Просмотр ключевых слов».
  2. Нажмите на значок «Параметризация».

Параметризация в QTP

Откроется диалоговое окно «Настройка значения», в котором в данный момент установлено значение «Константа». Щелкните переключатель «Параметр». QTP Присваивает параметру имя по умолчанию, которое можно переименовать перед нажатием кнопки «ОК». По умолчанию новый столбец добавляется на лист «Глобальная таблица данных», поэтому значение становится доступным для каждого действия в тесте; выбор листа «Действие (локальное)» ограничивает его использование только одним действием.

Параметризация в QTP

На листе «Глобальные настройки» есть столбец с заголовком «Имя агента» и значением Guru Создан. Вы можете добавить больше строк значений для этого параметра.

Параметризация в QTP

Переход на экспертный взгляд показывает, что поле «Имя агента» было заменено ссылкой на параметр «Guru», а также тип используемого листа.

Параметризация в QTP

Аргумент Password можно параметризовать аналогичным образом, но ввести другой набор тестовых данных.

Параметризация в QTP

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

Параметризация в QTP

Параметры переменных среды в UFT

Параметры переменных окружения предоставляют значение, которое остается постоянным на протяжении каждой итерации выполнения, что делает их полезными для данных конфигурации, таких как базовый параметр. URL или название среды, которое необходимо для каждого действия. UFT Распознаёт три типа переменных окружающей среды:

  • Встроенный: Предопределенные значения, такие как имя теста, имя действия или версия операционной системы, которые UFT Заполняется автоматически.
  • Определяемые пользователем внутренние параметры: Значения, которые вы задаете внутри теста с помощью скрипта, существуют только для текущего запуска и не сохраняются вместе с тестом.
  • Пользовательский внешний интерфейс: Пары «имя-значение» хранятся во внешнем XML-файле, который вы загружаете перед началом выполнения.

Чтобы использовать переменную среды внутри шага, откройте диалоговое окно «Конфигурация значений» для ячейки, выберите тип параметра «Среда» и укажите имя переменной. Приведенный ниже скрипт VBScript демонстрирует все три типа переменных внутри одного действия:

' Read a Built-in environment variable
MsgBox Environment.Value("OS")

' Set and read a User-Defined Internal environment variable
Environment.Value("AppURL") = "https://demo.guru99.com/V4/"
MsgBox Environment.Value("AppURL")

' Load a User-Defined External XML file, then read a value from it
Environment.LoadFromFile "C:\Guru99\EnvConfig.xml"
MsgBox Environment.Value("Address")

Для создания указанного выше внешнего файла создайте XML-документ с корневым каталогом. <Environment> элемент и один <Variable> для каждой пары "имя-значение", затем загрузите ее из меню Файл > Настройки > Окружение. UFT Перед запуском теста. Внешние переменные становятся доступными только для чтения после загрузки, поэтому обновляйте исходный XML-файл всякий раз, когда необходимо изменить значение.

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

Тестовые и рабочие параметры в UFT

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

Чтобы создать параметр, щелкните правой кнопкой мыши действие в тестовом потоке, выберите «Свойства действия» и добавьте параметр на вкладке «Входные параметры» или «Выходные параметры» с именем и типом данных. Затем действие сможет напрямую ссылаться на этот параметр в своих шагах. Когда другое действие вызывает это действие, например, с помощью RunAction "VerifyLogin", oneIteration, "Guru99", "Mercury"Значения, указанные в вызове, заполняют входные параметры для данного запуска.

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

Параметры случайных чисел в UFT

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

Для настройки параметра откройте диалоговое окно «Настройка значений» для ячейки и выберите «Случайное число» в качестве типа параметра. UFT Запрашивает числовой диапазон, необязательное имя параметра и частоту генерации нового значения:

  • Для каждой итерации действия – генерирует новое число каждый раз при выполнении действия.
  • Для каждой итерации теста – генерирует новое число один раз за каждую итерацию теста.
  • Один раз за весь период тестирования – сохраняет одно и то же число на протяжении всего запуска.

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

Преимущества параметризации

Параметризация окупается на протяжении всего жизненного цикла автоматизации, от первого скрипта до полного набора регрессионных тестов:

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

Нажмите здесь если видео недоступно

Часто задаваемые вопросы (FAQ)

На листе Global хранится один набор значений, общий для всех действий в тесте, в то время как на листе Action (local) хранятся значения, специфичные для одного действия и используемые только при повторении этого действия.

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

Да. Значения, загруженные из внешнего XML-файла, нельзя изменить внутри скрипта во время его выполнения; чтобы изменить значение, обновите исходный XML-файл и перезагрузите его.

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

Современные UFT В числе нововведений — идентификация объектов с помощью ИИ и самовосстанавливающиеся тесты, однако выбор полей для параметризации по-прежнему остается ручным шагом, выполняемым через диалоговое окно «Настройка значений».

Подведем итог этой публикации следующим образом: