Дополнительный шаг QTP/UFT с примером
⚡ Умное резюме
Дополнительные шаги в 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 сначала проверяет существование, а затем переходит к следующему этапу. | Блок шагов, которые должны выполняться последовательно, или решение, которое должно быть зафиксировано в отчете. |
| Сценарий восстановления | Триггер срабатывает и запускает операцию восстановления в любой момент выполнения. | Непредсказуемые всплывающие окна и сбои, которые могут прервать работу в любом месте. |
Полезное эмпирическое правило: используйте необязательный шаг, когда отсутствие элемента управления ожидаемо и безвредно, условное выражение, когда скрипту необходимо выполнить что-то другое в результате, и сценарий восстановления, когда прерывание может произойти в любой момент, а не на какой-то известной строке.
