Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КонспЛекций_ГСиИО_Козак.doc
Скачиваний:
102
Добавлен:
06.12.2018
Размер:
8.64 Mб
Скачать

Распознавание объектов в qtp и уникальность их свойств

При записи теста QTP записывает описания объектов интерфейса тестируемого приложения (Application Under Test, AUT), с которыми тест взаимодействует, в Object Repository. Если QTP что-то не распознаёт, с 99.9% вероятности это означает, что свойства распознавания в Object Repоsitory указаны неверно. Это происходит потому, что при записи QTP записывает в Object Repository совершенно определённый набор свойств объекта, одинаковый для каждого отдельного типа объектов. Какие именно свойства QTP записывает для каждого типа объектов определяется настройками Object Idenfication (Tools>Object Identification...).Для настройки свойств уникальности распознавания объектов следует:

  1. Спомощью Object Spy выяснить, какие именно свойства, из тех что записываются в Object Repository для объекта, меняются от сессии к сессии;

  2. Выяснить, какие свойства не меняются - их можно использовать для распознавания;

  3. Пойти в Object Identification Settings (Tools>Object Identification) и для соответствующего типа объектов правильно настроить свойства распознавания (которые будут прописываться в Object Repository при записи).

Рис. 48 Окно Object Identification

Mandatory Properties — свойства, которые QTP прописывает для этого типа объектов в Object Repository ВСЕГДА.

Assistive Properties — свойства, которые QTP прописывает в Object Repository ТОЛЬКО если во время записи объекта в Object Repository в приложении еcть более одного объекта, удовлетворяющих Mandatory Properties.

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

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

Настройки QTP по умолчанию не слишком удачны для работы с Win32 GUI приложениями, написанными НЕ на MFC и для динамических страниц Web.

Практически для всех типов объектов в качестве Assistive свойства указано window id. Для приложений, написанных без использования Microsoft Fundation Classes это приводит к тому, что объекты не распознаются при воспроизведении, так как window id меняется от сессии к сессии.

Rational RobotJ

RobotJ – это новейшая разработка Rational Software, предназначенная для тестирования Java- или веб-приложений, работающих на платформах Microsoft Windows и Unix. 4 RobotJ встраивается в открытую интегрированную среду разработки (Integrated Development Environment, IDE) фирмы IBM, известную как Eclipse. Используя IDE-среду IBM, как показано на Рис. 49, RobotJ оказывается в одном ряду с другими программными решениями, разрабатываемыми Rational Software и прочими производителями, которые обеспечивают простую интеграцию инструментария в общий интерфейс.

Рис. 49 Интерфейс Rational RobotJ

Регистратор RobotJ хранит рабочие копии всех объектов, задействованных во время сеанса записи. Большинство этих объектов помещается в группу с названием Test Object Map (Схема тестируемого объекта).

Другие элементы, например, те, что созданы в процессе определения контрольной точки, добавляются в раздел Verification Points (Контрольные точки).

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

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

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