GetRoProperty, GetToProperty в QTP/UFT с примером
⚡ Умное резюме
Object Spy раскрывает свойства и методы любого элемента управления в тестируемом приложении, а GetROProperty, GetTOProperty и SetTOProperty считывают и записывают значения этих свойств из объекта Object Spy. QTP or UFT За один раз выполняется один скрипт.

Этот учебник демонстрирует Объект шпион.
Object Spy может помочь определить полезные свойства и методы, связанные с объектом в вашей среде.
HP/Микро Фокус UFT учебные пособия также описывает GetROProperty, GetTOProperty и SetTOProperty.
⚠️ Примечание к версии: Описанный здесь инструмент поставлялся под названием HP QuickTest Professional, затем стал продуктом Micro Focus Unified Functional Testing, а сегодня продается под другим названием. OpenText Функциональное тестирование (UFT Один)Object Spy и все три метода по-прежнему работают точно так, как описано ниже.
Нажмите здесь если видео недоступно
Объект шпион
- Функция Object Spy присутствует в QTP С помощью этого инструмента можно просмотреть свойства и методы как тестовых, так и исполняемых объектов.
- Он также дает синтаксис выбранного метода.
- Object Spy отображает полную иерархию выбранного объекта.
Эта иерархия имеет значение, поскольку имя свойства, скопированное из Object Spy, представляет собой точную строку, которую ожидают три описанных ниже метода. Поэтому отслеживание объекта является первым шагом практически в любой задаче получения свойств.
GetROProperty
- GetROProperty — это встроенный метод, используемый для получения значения свойства объекта во время выполнения.
Использование функции GetROProperty включает в себя 4 шага:
- Запишите объект, для которого вы хотите использовать GetROProperty, в Репозиторий объектов.
- Для записанного объекта определите свойство времени выполнения, которое можно использовать. Вы можете использовать Object Spy.
- Используйте метод GetROProperty для получения идентифицированного свойства времени выполнения и сохраните его значение в переменной.
- Используйте это значение для дальнейших вычетов.
Поскольку значение считывается из элемента управления в реальном времени, приложение должно быть открыто, и объект должен фактически существовать на экране во время выполнения строки кода.
SetTOProperty & GetTOProperty
- Рассмотрим веб-кнопку, хранящуюся в репозитории объектов.
- Когда запускается тест QTP Создает копию этого объекта под названием Test Object и сравнивает ее с объектом Run Time Object.
- С помощью функции GetTOProperty можно получить значение свойства объекта Test.
- С помощью функции SetTOProperty можно изменить значение свойства тестового объекта.
- После завершения теста этот тестовый объект удаляется, как и любые изменения, внесенные вами в свойства объекта с помощью метода SetTOProperty.
- При повторном запуске теста создается новая копия тестового объекта с исходными значениями свойств, хранящимися в репозитории объектов.
- Использование функций GetTOProperty и SetTOProperty может быть полезно, если ваш тестовый скрипт содержит много строк кода, а среда выполнения работает нестабильно.
- Обратите внимание, что свойства SetROProperty не существует.
Синтаксис и примеры
Все три метода вызываются для тестового объекта в конце его иерархии, и все три принимают имя свойства описания в виде строки. В таблице приведена сигнатура каждого из них.
| Способ доставки | Синтаксис | Читает или пишет |
|---|---|---|
| GetROProperty | object.GetROProperty(Property) | Считывает данные с элементов управления в реальном времени в приложении. |
| GetTOProperty | object.GetTOProperty(Property) | Считывает сохраненное описание тестового объекта. |
| SetTOProperty | object.SetTOProperty Свойство, Значение | Выводит описание тестового объекта только для этого запуска. |
Чтение значения, полученного во время выполнения, осуществляется одним оператором. Этот пример взят из... официальный справочник по получению и установке значенийЭта функция извлекает целевой адрес ссылки во время выполнения программы.
link_href = Browser("Technologies").Page("Technologies").Link("Jobs").GetROProperty("href")
Запись, а затем чтение свойства тестового объекта выполняется так же быстро. Приведенная ниже пара операций устанавливает имя кнопки «Отправить» на мою кнопку и считывает то же значение обратно.
Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").SetTOProperty "Name", "my button" ButtonName = Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")
Типичная проверка объединяет две идеи: считывает значение, полученное во время выполнения, с помощью GetROProperty, а затем сравнивает его с тем, что ожидает тест.
strValue = Browser("Welcome").Page("Find a Flight").WebList("fromPort").GetROProperty("selection") If strValue = "Acapulco" Then Reporter.ReportEvent micPass, "Default city", "Default city is correct" Else Reporter.ReportEvent micFail, "Default city", "Unexpected value: " & strValue End If
Разница между GetROProperty и GetTOProperty
Эти два имени отличаются всего одной буквой и являются наиболее запутанной парой в инструменте. RO означает объект времени выполнения, TO — тестовый объект, и каждое из них считывает данные из разного места.
| Точка сравнения | GetROProperty | GetTOProperty |
|---|---|---|
| Источник ценности | Управление в реальном времени в запущенном приложении | Описание, хранящееся для тестового объекта. |
| Приём заявок должен быть открытым. | Да | Нет |
| Обнаруживает изменение свойства SetTOProperty | Нет | Да, для текущего запуска |
| Типичное использование | Проверка того, что на самом деле видит пользователь. | Проверка или отладка способа идентификации объекта. |
| Сеттер | Нет — свойства SetROProperty не существует. | SetTOProperty |
Проведенное сравнение делает это различие очевидным. Задайте HTML-идентификатор для списка, в котором его нет, а затем прочитайте его в обоих направлениях: GetROProperty возвращает пустую строку, поскольку приложение так и не изменилось, в то время как GetTOProperty возвращает значение, которое только что было записано в описание.
Распространенные ошибки и способы их исправления
Сбой при извлечении свойств происходит по ряду предсказуемых причин. В таблице перечислены те причины, с которыми тестировщики сталкиваются чаще всего.
| Симптом | Вызывать | фиксированный |
|---|---|---|
| Вызов возвращает пустую строку. | Название свойства указано неверно, или объект его не предоставляет. | Снова отследите объект и скопируйте имя свойства точно так, как оно указано. |
| Объект не найден в строке GetROProperty | Элемент управления еще не был обработан. | Добавьте этап синхронизации перед чтением. |
| Функция GetROProperty игнорирует изменение, выполненное функцией SetTOProperty. | Эти два метода предназначены для работы с разными объектами. | Вместо этого считайте изменения обратно с помощью GetTOProperty. |
| Изменение, выполненное с помощью SetTOProperty, исчезает. | Изменения тестовых объектов сохраняются только в течение текущего запуска. | Отредактируйте объект в репозитории или используйте описательное программирование |
| Метод SetROProperty вызывает синтаксическую ошибку. | Такого метода не существует. | Проведите приложение через стандартный этап, например, установку или клик. |
Большинство таких ошибок предотвращается двумя привычками: сначала проверьте элемент управления, а затем угадывайте имя свойства, и сохраняйте VBScript Запросы на получение данных выполняются непосредственно на этапе, когда требуется значение, поэтому объект остается на экране во время чтения.
