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

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

QTP също използва „човешка“ технология за идентифициране на обекти. По време на запис Time QTP се опитва да научи свойствата на GUI обект, върху който се извършва операция. По време на изпълнение Micro Focus UFT сравнява съхранените свойства на обекта с действителните свойства на обекта, наличен на екрана, и уникално идентифицира обект, независимо от местоположението му на екрана

Извиква се съхраненият обект и заедно с неговите свойства TEST Обект

По време на Run-Time се извиква действителният обект, наличен в тестваното приложение Обект по време на изпълнение

Това е HP UFT „Модел на тестов обект“

Какво е хранилище на обекти?

Информацията за тестовите обекти се съхранява в Хранилище на обекти

Добавките помощ при инструктаж Бърз тест предварително за естеството на обекта, който трябва да се запише, така че да се намали времето, необходимо за изучаване на неговите свойства

Следващият видео урок демонстрира как QTP идентифицира GUI обект (на екрана)

Кликнете тук ако видеото не е достъпно

QTP съхранява обекта и неговите свойства в хранилището на обекти, за да ги идентифицира по време на изпълнение. Един обект може да има голям брой свойства, свързани с него. Например в уеб среда един бутон може да има следните свързани свойства.

Хранилище на обекти

If QTP ще се опита да запомни всички налични свойства за даден обект, размерът на Object Repository ще се раздуе и времето за изпълнение на скрипта ще се увеличи драстично. За да избегне това, QTP по подразбиране не съхранява всички свойства на обект, а ограничен брой типични свойства за обект, което помага при уникална идентификация. Този избор на свойства (да се запишат по време на рекордно време) за различни среди и обекти се съхранява в Идентификация на обекта

Обект Descriptйони, задължителни и помощни свойства

Предмет имот и неговата стойност са наречени Обект Descriptйон. Обектът Description се използва за уникално идентифициране на съответния обект. Например за свойство WebButton „име“ и неговата стойност"Влизам" заедно могат да бъдат определени като обект Descriptйон за този уеб бутон.

За достъп, в QTP в менюто с инструменти изберете Идентификация на обект. В диалоговия прозорец за разпознаване на обект Box можете да видите падащо меню на всички инсталирани и заредени среди.

Можете да изберете среда и QTP автоматично попълва списък с всички поддържани обекти, принадлежащи към тази среда. Отдясно QTP изброява свойствата, които ще бъдат съхранени за обекта. Списъкът е разделен на

  1. Задължителни свойства ще се съхранява по подразбиране за този обект
  2. Помощни свойства В случай, че по време на запис на скрипта QTP НЕ може да създаде уникално описание на обекта, което ще съхранява помощни свойства

За да разберете това по-добре, разгледайте примера на уеб изображение.

Обект Descriptйони, задължителни и помощни свойства

  • QTP ще съхранява стойност на alt, HTML таг, тип на изображението, задължителни свойства, дори ако може да го идентифицира уникално, като използва само свойството alt.
  • В случай, че не може да създаде уникално описание с помощта на задължително свойство, QTP ще съхранява помощно свойство. В този случай QTP ще съхранява свойството на класа.
  • Ако това свойство помага за създаването на уникално описание на обекта, QTP няма да съхранява името на файла, свойството за височина. Ако свойство на клас не е достатъчно за създаване на уникално описание, QTP ще съхрани свойството име на файл. Ако свойството име на файл създава уникално описание, QTP няма да съхранява свойството за височина и т.н.
  • Да предположим, че по време на Record Time QTP е съхранил само свойството на класа. По време на изпълнение QTP ще забрави разликата между задължителни и помощни свойства и ще сравни всички записани свойства.
  • Дори ако някое от свойствата не съответства на съхранената му стойност, Скриптът е неуспешен