Локальное и разделяемое хранилище объектов в QTP/UFT

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

Репозиторий объектов в QTP/UFT В нём хранятся тестовые объекты и свойства, которые инструмент использует для распознавания вашего приложения, и он доступен в двух формах: локальный репозиторий для каждого действия и многократно используемый общий репозиторий.

  • 🔘 Модель тестового объекта: QTP Изучает свойства объекта во время записи и сравнивает их с объектом, используемым в режиме реального времени, во время воспроизведения.
  • ☑️ По умолчанию локальный: Каждое действие начинается с собственного локального репозитория, сохраненного в виде файла ObjectRepository.bdb в папке действия.
  • ✅ Масштабирование общих репозиториев: Файл .tsr находится вне теста и может быть связан со многими действиями в разных тестах.
  • 🧪 Три основных шага: Создайте репозиторий, свяжите его со своими действиями, а затем отредактируйте его через Менеджер репозиториев объектов.
  • 🇧🇷 Защита только для чтения: Общий репозиторий открывается в режиме только для чтения в Менеджере до тех пор, пока не будет выбран пункт «Файл» > «Включить редактирование».
  • 📌 Текущее наименование: QTP Сейчас OpenText Функциональное тестирование (UFT Один), но меню репозитория и форматы файлов остались неизменными.

Структура локального и разделяемого репозитория объектов в QTP  и  UFT Одна

Что такое репозиторий объектов в QTP?

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

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

Как работает идентификация объектов в QTP?

  • QTP использует технологию, похожую на «человекоподобную», для идентификация объекта
  • Во время Запись время QTP пытается изучить свойства объекта графического интерфейса пользователя, над которым выполняется операция.
  • Во время выполнения программы, UFT Сохраненные свойства объекта сравниваются с фактическими свойствами объекта, отображаемыми на экране, и таким образом однозначно идентифицируется объект независимо от его местоположения на экране.
  • Сохраненный объект, вместе со своими свойствами, называется Тестовый объект
  • Во время выполнения программы фактический объект, доступный в тестируемом приложении, называется Объект времени выполнения
  • Это Быстрый тест «Модель тестового объекта»
  • Информация о тестовых объектах хранится в репозитории объектов.
  • Надстройки помогают, заранее сообщая QuickTest о природе объекта, который необходимо записать, что сокращает время, необходимое для изучения его свойств.

Изучите идентификацию объектов на примере следующего видео.

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

Типы репозиториев объектов

В хранилище объектов существует 2 типа. QTP

  1. Репозиторий локальных объектов
  2. Репозиторий общих объектов

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

Репозиторий локальных объектов

  • Локальный репозиторий объектов — это репозиторий объектов по умолчанию.
  • Он специфичен для действий и может использоваться только для определенного действия.
  • Использование локального репозитория объектов предпочтительнее, когда приложение не является динамическим по отношению ко времени.
  • Локальный репозиторий объектов нельзя использовать повторно.
  • В локальном репозитории объектов можно выполнять множество операций, например:
    • Выделите объект, хранящийся в репозитории тестируемого приложения.
    • Проверьте, хранится ли конкретный объект вашего AUT в репозитории объектов.
    • Вырезать, копировать, вставлять, изменять и удалять объекты
    • Если вы случайно изменили значение свойства, вы можете обновить его описание из приложения, используя функцию обновления.

В видеоролике ниже показана работа с локальным репозиторием объектов.

Репозиторий общих объектов: создание, связывание, редактирование

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

Чтобы создать и использовать общий репозиторий объектов, вам необходимо выполнить три общих шага.

  • Создание общего репозитория объектов
  • Связывание общего репозитория объектов
  • Редактирование репозитория общих объектов

Давайте посмотрим на них по одному

Шаг 1) Создание общего репозитория объектов

  • По умолчанию все репозитории являются локальными. Чтобы создать общий объектный репозиторий, воспользуйтесь диалоговым окном «Объектный репозиторий». Box, Нажмите Файл > Экспорт локальных объектов
  • Файлы репозитория имеют расширение .tsrПридумайте подходящее имя, например, «guru99», и сохраните.
  • Файл общего репозитория теперь создан.

Шаг 2) Связывание репозитория общих объектов

  • Следующий шаг — связать репозиторий с вашим тестом, что позволит вам его использовать.
  • Чтобы связать репозиторий с тестом, нажмите... Ресурсы > Партнерский репозиторий (с маркировкой) Ассоциированные репозитории в течении UFT Одна из версий)
  • Вы можете выбрать репозиторий, который будет связан с действиями, доступными в вашем тесте.
  • Теперь вы можете использовать этот общий репозиторий для разработки своих тестов.

Шаг 3) Редактирование репозитория общих объектов

  • Для редактирования общего репозитория можно использовать Менеджер репозитория объектов.
  • Выбрать Ресурсы > Менеджер репозитория объектовОткройте созданный нами репозиторий объектов «guru99».
  • По умолчанию репозиторий открыт в режиме только для чтения. Чтобы включить редактирование, нажмите кнопку. Файл > Включить редактирование
  • После включения режима редактирования вы сможете выполнять все операции, такие как вырезание, копирование, вставка и переименование объектов, которые также доступны в репозитории объектов.
  • С помощью менеджера репозитория объектов вы также можете сравнить два репозитория объектов. QTP В отчете приводятся статистические данные об уникальных и общих элементах обоих репозиториев.
  • С помощью инструмента слияния репозиториев объектов можно объединить два репозитория в один.

В следующем видеоролике показан рабочий процесс работы с общим репозиторием.

Разница между локальным и разделяемым объектным репозиторием

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

Критерии Репозиторий локальных объектов Репозиторий общих объектов
Доступность Создается автоматически при каждом действии Необходимо создать, а затем связать с действием.
Объем Один репозиторий на одно действие; доступен только для этого действия. Один файл, который можно использовать для множества действий в рамках множества тестов.
Формат файла Сохранено как ObjectRepository.bdb внутри папки действий Сохранено как внешний файл .tsr файл
Редактирование Редактируется непосредственно в окне репозитория объектов. По умолчанию доступно только для чтения; редактирование осуществляется через Менеджер репозитория объектов.
Снова использовать Не может быть использован повторно Разработано для повторного использования и контроля версий.
Обслуживание Изменённое свойство необходимо фиксировать в каждом действии. Измененное свойство фиксируется один раз для каждого связанного теста.
Наиболее подходит для Небольшие, стабильные приложения и тесты обучения на основе отдельных действий. Крупные или динамичные приложения с участием нескольких инженеров по автоматизации.

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

Как добавлять объекты непосредственно в репозиторий общих объектов

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

  1. Выбрать Ресурсы > Менеджер репозитория объектов чтобы открыть окно «Менеджер».
  2. Выбирайте Файл> Новый чтобы создать пустой общий репозиторий или открыть существующий .tsr файл и выберите Файл > Включить редактирование.
  3. Использовать Добавить объекты Укажите элемент управления, который вы хотите изучить в тестируемом приложении, а затем подтвердите выбор.
  4. Повторите эти действия для каждого элемента управления, используемого в пакете, переименовывая объекты в читаемые имена по мере необходимости.
  5. Выбрать Файл> Сохранить и сохраните файл в папке системы контроля версий рядом с тестом.
  6. Вернитесь в меню теста и выберите... Ресурсы > Партнерский репозиторий и прикрепите файл к каждому действию, для которого он необходим.

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

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

Локальный репозиторий объектов хранится в папке действия как файл ObjectRepository.bdb. Разделяемый репозиторий объектов хранится как отдельный файл .tsr, который находится вне теста и может быть добавлен в систему контроля версий.

Да. Откройте окно «Репозиторий объектов» для соответствующего действия, выберите «Файл», затем «Экспорт локальных объектов». QTP Записывает объекты действия в файл .tsr, который затем связывается с любым действием, которому они необходимы.

Да. Диалоговое окно «Связать репозиторий» принимает несколько файлов .tsr за одно действие и позволяет установить порядок их приоритета. Если одно и то же имя объекта встречается дважды, приоритет отдается репозиторию, расположенному выше в списке.

Менеджер репозитория объектов открывает общие файлы только для чтения, чтобы два инженера не могли перезаписывать файлы друг друга. Выберите «Файл», затем «Включить редактирование», чтобы получить блокировку на запись, и закройте файл после завершения работы, чтобы коллеги могли его редактировать.

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

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

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

Откройте оба файла в Менеджере репозитория объектов и запустите Инструмент слияния репозитория объектов. Он сообщит, какие объекты являются общими, а какие — уникальными, а затем позволит вам разрешить каждый конфликт перед записью объединенного файла .tsr.

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