Разберитесь с функциями SystemUtil.Run, SetSecure, Set, Type: QTP/UFT

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

SystemUtil.Run — это UFT Одна команда запускает файл или приложение в начале сеанса работы, при этом команды Set, SetSecure и Type передают значения и нажатия клавиш в открываемое окно.

  • 🔘 Автоматическая вставка: Запуск приложения из Windows Запись через меню "Пуск" UFT Я напишу для вас шаг SystemUtil.Run.
  • ☑️ Пять аргументов: Команда `run` принимает параметры файла, каталога, операции и режима, поэтому одним оператором можно открыть, отредактировать, просмотреть, найти или распечатать целевой объект.
  • Набор против типа: Set записывает значение непосредственно в поле, в то время как Type отправляет необработанные нажатия клавиш, такие как micTab, которые необходимы человеку.
  • 🧪 Установить безопасные пароли: Записанные пароли хранятся в виде закодированных строк, которые невозможно преобразовать обратно в исходный текст.
  • 🇧🇷 Кодировщик паролей: Графический интерфейс программы Password Encoder и CryptonCMD.exe создают одинаковые закодированные строки вне сеанса записи.
  • 📌 Текущее наименование: QTP Сейчас OpenText Функциональное тестирование (UFT Один), а SystemUtil.Run заменяет устаревший оператор InvokeApplication.

Операторы SystemUtil.Run, SetSecure, Set и Type в QTP/UFT Один сценарий

SystemUtil.Run in UFT

В каждом записанном тесте графического интерфейса пользователя (GUI) необходим первый шаг, который выводит тестируемое приложение на экран. OpenText Функциональное тестирование (UFT One, ранее Micro Focus UFT и изначально HP QTP), этот шаг SystemUtil.RunДавайте разберем следующий фрагмент кода.

SystemUtil.Run "C:\Program Files\HP\samples\flight\app\flight.exe"
Dialog("Login").WinEdit("Agent Name:").Set "Guru"
Dialog("Login").WinEdit("Agent Name:").Type micTab
Dialog("Login").WinEdit("Password:").SetSecure "4af272a62666d2e"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
  • Первый шаг - это Команда SystemUtil.Run, используемая по умолчанию UFT/QTP открыть приложение. Во время записи с помощью Windows Меню «Пуск», мы перешли к «Бронирование авиабилетовПриложение. В то время компания Micro Focus UFT определил местоположение исполняемого файла и вставил команду SystemUtil.Run для его открытия.
  • Строка 2 — установка имени агента. Guru как показано на активном экране
  • Строка 3 — это нажатие клавиши Tab на клавиатуре, чтобы переместить фокус с поля имени агента на поле пароля, что и является именно этим шагом. Для того чтобы сфокусироваться на определенном объекте на экране, пользователям необходимо использовать клавиши Tab или щелкнуть мышью. С другой стороны, Быстрый тест может напрямую идентифицировать объект, используя свойства объекта, и не требует этих «маневрирующих» операцийЭтот шаг можно удалить, так как UFT Установить значение поля пароля можно будет и без этой операции.
  • Строка 4 устанавливает пароль как Mercury. UFT Один из них автоматически шифрует пароли. введено во время записи во избежание нарушений безопасности. Это значение невозможно расшифровать, т.е. невозможно восстановить исходное значение, используя эти загадочные данные. Вы можете явно зашифровать пароль с помощью инструмента шифрования паролей. В наших учебных целях мы будем использовать пароль в его необработанном виде. И операция также изменится на Set
  • Строка 5 — нажатие кнопки «ОК».
  • Строка 6 закрывает окно

⚠️ Примечание к версии: Указанный выше маршрут ведет к старому месту. C:\Program Files\HP\samples\flight местоположение, используемое HP QTPВ тестовой версии приложения для бронирования авиабилетов по-прежнему присутствуют следующие функции: UFT Один из них находится в текущей папке установки, поэтому буквальный путь в скрипте, записанном сегодня, будет отличаться.

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

Синтаксис и аргументы функции SystemUtil.Run

Приведённая выше строка кода использует только первый аргумент, но метод принимает пять. Зная все аргументы, SystemUtil.Run превращается из инструмента записи в целенаправленный шаг запуска, который можно написать вручную.

SystemUtil.Run file, [params], [dir], [op], [mode]
Аргумент Необходимые? Что она делает
файл необходимые Имя файла или приложения для запуска. Неисполняемый файл открывается в соответствующем приложении.
PARAMS По желанию Параметры, передаваемые приложению при файл Это исполняемый файл. По умолчанию — пустая строка.
директория По желанию Каталог по умолчанию для приложения или файла. По умолчанию — пустая строка.
op По желанию Действие, которое необходимо выполнить: открыть, отредактировать, просмотреть, найти или распечатать. Пустое значение выполняет открытие.
Режим По желанию Целочисленное значение, определяющее способ отображения окна при его открытии. Значение по умолчанию — 1.

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

значение операции Результат
открытый Открывает файл, папку или исполняемый файл, указанный в файл.
отредактировать Запускает редактор и открывает документ для редактирования. Завершается с ошибкой, если файл не является редактируемым документом.
Больше Просматривает папку с указанным именем в файл.
найдите Запускает поиск из указанного пути к папке.
Распечатать Выводит на печать документ, указанный в файлОшибка возникает, если файл не пригоден для печати.

До РежимВ повседневной работе важны следующие значения: 0 (скрыть окно и активировать другое), 1 (активировать и отобразить в исходном размере), 2 (активировать в свернутом виде) и 3 (активировать в развернутом виде). ​​Более высокие значения управляют фокусировкой и восстановлением поведения и редко требуются при тестировании.

Примеры использования SystemUtil.Run: приложения, браузеры и файлы.

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

1) только файл — Кратчайшая полезная форма. Исполняемый файл, находящийся в системном пути, не требует папки, и документ открывается в любом приложении. Windows зарегистрировался для этого.

SystemUtil.Run "notepad.exe"
SystemUtil.Run "C:\Data\Orders.txt"

2) файл плюс параметры — Сюда помещается всё, что приложение принимает в командной строке. Именно так браузер открывается по определённому адресу, а не на своей домашней странице.

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt"

3) добавление направления — полезно, когда приложение отказывается запускаться, если его собственная папка не является рабочим каталогом.

SystemUtil.Run "flight.exe", "", "C:\Program Files\HP\samples\flight\app\"

4) добавление операции — Один и тот же файл, четыре разных результата.

SystemUtil.Run "C:\Data\Orders.txt", "", "", "edit"
SystemUtil.Run "C:\Data", "", "", "explore"
SystemUtil.Run "C:\Data", "", "", "find"
SystemUtil.Run "C:\Data\Orders.txt", "", "", "print"

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

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt", "", "open", 3

Поскольку запущенное окно становится обычным тестовым объектом, управление им может начаться уже в следующей строке. В официальной документации функции Run и Type и Close объединены именно таким образом.

SystemUtil.Run "C:\type.txt", "", "", ""
Window("Text:=type.txt - Notepad").Type "happy days"
Window("Text:=type.txt - Notepad").Close

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

Set, SetSecure и Type: какой метод использовать?

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

Способ доставки Что оно посылает Используйте это, когда
Поставьте Записывает текстовое значение непосредственно в поле. Обычный ввод данных, включая пароль, который вы не против оставить в читаемом виде.
SetSecure Записывает закодированную строку, которая UFT Декодирование происходит во время выполнения программы. Любое поле для ввода пароля, поэтому его значение никогда не будет отображаться в скрипте или результатах.
Тип Отправляет необработанные нажатия клавиш, включая такие клавиши, как micTab. Поведение клавиатуры является частью теста, или же элемент управления реагирует только на реальные клавиши.

Как отмечается в пошаговом руководстве, нажатие клавиши Tab в строке 3 существует только потому, что диктофон зафиксировал привычку человека. UFT Поле пароля идентифицируется по его свойствам, поэтому удаление этой строки ничего не меняет. Замените SetSecure на Set, и тот же вход в систему будет работать с читаемым паролем.

Dialog("Login").WinEdit("Password:").Set "mercury"

Чтобы выполнить обратную операцию и закодировать значение вне сеанса записи, используйте Кодировщик паролейИнструмент с графическим интерфейсом пользователя поставляется в комплекте с... UFT Один из вариантов кодировки доступен из командной строки: CryptonCMD.exe -e в папке bin продукта. Оба варианта генерируют строки, которые можно использовать в качестве аргумента SetSecure или в качестве аргумента. параметр таблицы данныхПоставщик прямо заявляет, что данное кодирование не является стандартом безопасности: оно скрывает значение на экране и не защищает реальные данные клиентов.

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

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

Оператор Run автоматически добавляется в тест при каждом запуске приложения. Windows Во время записи используйте меню «Пуск» или диалоговое окно «Выполнить».ping Приведенное от руки утверждение дает тот же результат.

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

Воспользуйтесь инструментом «Кодировщик паролей», входящим в комплект поставки. UFT Один из вариантов — запустить CryptonCMD.exe -e, а затем ввести строку из папки bin продукта. Оба варианта выдают значение, подходящее для аргумента SetSecure или ячейки таблицы данных.

Функции «Запись» и «Выполнение» позволяют открыть приложение до первого шага, и устаревшая инструкция InvokeApplication по-прежнему работает. Разработчик сохраняет InvokeApplication только для обратной совместимости и рекомендует использовать Run вместо него.

Помимо Window(…).Close, объект SystemUtil предлагает методы CloseProcessByName, CloseProcessById, CloseProcessByHwnd, CloseProcessByWndTitle и CloseDescendentProcesses, которые завершают все процессы, запущенные в рамках текущей сессии.

Искусственный интеллект-помощники могут составлять операторы Run, Set и Type на основе описания, понятного простым языком, и предлагать исправления в случае ошибки локатора. Каждая сгенерированная строка всё ещё нуждается в проверке на соответствие реальным свойствам объекта перед выполнением.

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

Обычно причиной является некорректный путь: другая папка установки, разделение папки Program Files для 32-битных и 64-битных систем или несуществующий сетевой диск. Указание путей в переменных среды решает проблему.

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