Дополнительный шаг QTP/UFT с примером

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

Дополнительные шаги в QTP и UFT Можно разрешить продолжение выполнения сеанса, даже если элемент управления просто отсутствует. Инструмент пропускает этот шаг, записывает сообщение в лог и завершает тест, не регистрируя ошибку.

  • 🔘 Цель: Обрабатывайте элементы управления, которые появляются лишь иногда, например, запрос на вход в систему, который приложение могло запомнить.
  • ☑️ Есть два способа установить один: Щелкните правой кнопкой мыши по шагу в режиме просмотра ключевых слов или добавьте перед оператором ключевое слово OptionalStep.
  • Синтаксис: После OptionalStep следует точка и обычное выражение, без каких-либо других изменений в строке.
  • 🧪 Автоматические случаи: Действия, открывающие определенные стандартные диалоговые окна, считаются необязательными и не требуют от вас никаких действий.
  • 🇧🇷 Предел: Отсутствие объекта в приложении пропускается; отсутствие записи в репозитории объектов по-прежнему приводит к сбою выполнения.
  • 📌 альтернативы: Условные операторы и сценарии восстановления охватывают случаи, когда необязательный шаг не может быть выполнен.

Установка шага в качестве необязательного шага в QTP  и  UFT Одна

Что такое необязательный шаг? QTP/UFT?

An необязательный шаг Это шаг, который не обязательно должен быть выполнен для успешного завершения тренировки.

Если во время сеанса выполнения объект необязательного шага не существует в приложении QTP шунты Этот шаг продолжается, и тест выполняется.

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

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

⚠️ Примечание к версии: Описанный здесь продукт поставлялся под названием HP QuickTest Professional, затем был переименован в Micro Focus Unified Functional Testing и сегодня продается под другим названием. OpenText Функциональное тестирование (UFT Один)Дополнительные шаги ведут себя одинаково во всех этих версиях.

Как сделать шаг необязательным

Чтобы сделать шаг необязательным в просмотр по ключевым словам щелкните правой кнопкой мыши по шагу и выберите Дополнительный шаг.

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

Синтаксис состоит из ключевого слова, точки и уже имеющегося оператора. В остальном строка не меняется.

OptionalStep.StatementToMakeOptional

Применительно к реальному шагу, диалоговое окно браузера, показанное ниже, щелкается, когда оно появляется, и пропускается, когда оно не появляется.

OptionalStep.Browser("Browser").Dialog("AutoComplete").WinButton("Yes").Click

Тот же префикс работает для любого оператора, включая тот, который выбирает данные из списка.

OptionalStep.Browser("Mercury Tours").Page("Find Flights").WebList("depart").Select "Paris"

Оба способа дают одинаковый результат. Меню «Вид ключевых слов» быстрее при создании теста, а ключевое слово проще применять массово после того, как скрипт написан. Мнение эксперта.

В следующем видео описывается ДОПОЛНИТЕЛЬНЫЙ ШАГ и как его можно использовать.

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

По умолчанию необязательные шаги в QTP и UFT Одна

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

Заголовок диалогового окна или окна сообщения
Автозаполнения
Скачивание файла
Internet Explorer
Введите сетевой пароль
Ошибка
Security Alert
Информация, относящаяся к безопасности
Предупреждение о безопасности
Требуется имя пользователя и пароль.

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

Когда необязательный шаг по-прежнему завершается неудачей

Дополнительный шаг предотвращает только одно: отсутствие объекта в процессе. приложениюОно не предотвращает отсутствие объекта в системе. репозиторий объектов.

Таким образом, выполнение по-прежнему завершается с ошибкой, если инструмент не может найти необязательный объект шага в репозитории. Обычно это происходит по одной из двух причин:

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

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

Необязательный шаг, условное выражение и сценарий восстановления

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

Подход Как заказать? лучше всего для
Необязательный шаг Инструмент пропускает этот шаг, если объект отсутствует, и записывает сообщение в лог. Отдельный элемент управления, который иногда отсутствует, например, запрос на вход в систему.
Условное заявление Ваша VBScript сначала проверяет существование, а затем переходит к следующему этапу. Блок шагов, которые должны выполняться последовательно, или решение, которое должно быть зафиксировано в отчете.
Сценарий восстановления Триггер срабатывает и запускает операцию восстановления в любой момент выполнения. Непредсказуемые всплывающие окна и сбои, которые могут прервать работу в любом месте.

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

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

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

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

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

Потому что объект отсутствует в репозитории объектов, а не в приложении. Переименование объекта в скрипте без переименования в репозитории или удаления записи в репозитории приводит именно к этой ошибке.

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

Copilot без проблем добавляет префикс к оператору, как только обнаруживает соответствующий шаблон в файле, что ускоряет массовое редактирование. Он не может определить, какие шаги должны быть необязательными, поэтому каждое предложение проверяется на соответствие фактическому поведению приложения.

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

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

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