Незадължително влизане QTP/UFT с Пример

⚡ Умно обобщение

Незадължителни стъпки в QTP намлява UFT Човек позволява на сесията на изпълнение да продължи, когато контрола просто липсва. Инструментът пропуска стъпката, регистрира съобщение и завършва теста, без да регистрира неуспех.

  • 🔘 Основание: Обработвайте контроли, които се появяват само понякога, като например подкана за вход, която приложението може да е запомнило.
  • ☑️ Два начина за задаване на такъв: Щракнете с десния бутон върху стъпката в изгледа с ключови думи или добавете ключовата дума OptionalStep преди оператора.
  • Синтаксис: OptionalStep, последвана от точка и нормалния оператор, без друга промяна в реда.
  • 🧪 Автоматични случаи: Стъпките, които отварят определени стандартни диалогови прозорци, се третират като незадължителни, без да е необходимо да предприемате никакви действия от ваша страна.
  • 🛠️ Лимитът: Липсващ обект в приложението се пропуска; липсващ запис в хранилището на обекти все още не успява да се изпълни.
  • 📌 Алтернативи: Условните оператори и сценариите за възстановяване обхващат случаите, в които една незадължителна стъпка не може.

Задаване на стъпка като опционална стъпка в QTP намлява UFT Един

Какво е незадължителна стъпка QTP/UFT?

An допълнителна стъпка е стъпка, която не е задължително необходима за успешното завършване на сесия на бягане.

По време на сесия на изпълнение, ако обектът на незадължителна стъпка не съществува в приложението QTP байпаси тази стъпка и продължава да изпълнява теста.

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

В края на сесията на изпълнение инструментът докладва стъпката, която не е изпълнил, така че пропускането е видимо в резултатите, а не безшумно. Стъпката все още не води до неуспешно изпълнение.

⚠️ Бележка към версията: Продуктът, описан тук, се доставяше като HP QuickTest Professional, беше преименуван на Micro Focus Unified Functional Testing и се продава днес като OpenText Функционално тестване (UFT Един)Незадължителните стъпки се държат по един и същи начин във всяка една от тези версии.

Как да зададете стъпка като незадължителна

За да зададете стъпка като незадължителна в изглед на ключови думи щракнете с десния бутон върху стъпката и изберете Незадължителна стъпка.

Като алтернатива, можете директно да напишете ключовата дума „OptionalStep“ пред даден оператор, за да го направите незадължителен.

Синтаксисът е ключовата дума, точката и вече съществуващото изречение. Нищо друго в реда не се променя.

OptionalStep.StatementToMakeOptional

Приложено към реална стъпка, диалоговият прозорец на браузъра по-долу се кликва, когато се появи, и се пропуска, когато не се появи.

OptionalStep.Browser("Browser").Dialog("AutoComplete").WinButton("Yes").Click

Същият префикс работи за всяко изявление, включително такова, което избира от списък.

OptionalStep.Browser("Mercury Tours").Page("Find Flights").WebList("depart").Select "Paris"

И двата начина дават един и същ резултат. Менюто за преглед на ключови думи е по-бързо при изграждане на тест, а ключовата дума е по-лесна за групово прилагане, след като скриптът е написан в Експертен изглед.

Следното видео описва НЕОБХОДИМА СТЪПКА и как може да се използва.

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

Стандартни допълнителни стъпки в QTP намлява UFT Един

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

Заглавна лента на диалоговия прозорец или полето за съобщение
AutoComplete
Изтегляне на файла
Internet Explorer
Въведете мрежова парола
грешка
Сигнал за сигурност
Информация за сигурност
Предупреждение за сигурност
Потребителско име и парола са задължителни

Тъй като тези действия се обработват вместо вас, записан скрипт, който преминава през защитен прозорец, обикновено се възпроизвежда чисто на машина, която никога не го показва. Всеки диалогов прозорец извън този списък трябва да бъде маркиран на ръка.

Когато незадължителна стъпка все още е неуспешна

Една незадължителна стъпка предпазва само от едно нещо: обектът да отсъства от прилаганеНе предпазва от отсъствие на обекта от хранилище на обекти.

Следователно изпълнението все още се проваля, ако инструментът не може да намери опционалния обект step в хранилището. Това обикновено се случва по една от две причини:

  • Обектът е преименуван в теста или компонента, но не и в хранилището, така че двете вече не съвпадат.
  • Обектът беше изтрит от хранилището, докато стъпката, която го използва, беше оставена в скрипта.

Струва си да знаете два по-малки капана. Маркирането на стъпка като незадължителна не я прави... контролно-пропускателен пункт незадължително във всеки полезен смисъл, защото пропуснатата стъпка не генерира стойност за проверка. А незадължителната стъпка потиска неуспех, вместо да докладва условие, така че прекомерната ѝ употреба може да скрие истинска регресия зад изпълнение, което все пак е успешно.

Незадължителна стъпка срещу условно изявление срещу сценарий за възстановяване

Незадължителните стъпки са най-лекият от трите начина за справяне с нещо, което може да се появи или да не се появи. Правилният избор зависи от това колко контрол е необходим за ситуацията.

Подход Как работи Най - доброто за
Стъпка по избор Инструментът пропуска стъпката, когато обектът липсва, и регистрира съобщение Единичен контрол, който понякога липсва, като например подкана за вход
Условно твърдение Вашият vbscript първо проверява съществуването и след това се разклонява Блок от стъпки, които трябва да се изпълняват заедно, или решение, което докладът трябва да запише
Сценарий за възстановяване Тригер се задейства и изпълнява операция за възстановяване във всеки един момент от изпълнението Непредсказуеми изскачащи прозорци и сривове, които могат да прекъснат работата отвсякъде

Полезно правило: използвайте опционална стъпка, когато липсващият контрол е очакван и безобиден, условен оператор, когато скриптът трябва да направи нещо различно в резултат на това, и сценарий за възстановяване, когато прекъсването може да възникне във всеки един момент, а не на един известен ред.

Въпроси и Отговори

Не. Изпълнението продължава и завършва нормално. В резултатите от изпълнението се появява съобщение, посочващо пропуснатата стъпка, така че пропускането се записва и е видимо, но не се отчита като неуспех.

Не. Ключовата дума се прилага само за един оператор, така че всеки ред се нуждае от собствен префикс. Когато няколко стъпки трябва да се изпълнят или да бъдат пропуснати заедно, вместо това ги обвийте в условен оператор.

Инструментът маркира реда, така че стъпката да се чете като незадължителна стъпка в колоната „Елемент“. Превключването към експертен изглед показва същия ред, носещ префикса „OptionalStep“ пред оператора.

Защото обектът липсва в хранилището на обекти, а не в приложението. Преименуването на обект в скрипта без преименуването му в хранилището или изтриването на записа в хранилището води до точно тази грешка.

Моделите за машинно обучение клъстерират историята на изпълнението, за да отделят наистина счупените стъпки от тези, които се провалят само от време на време, след което предлагат кои редове заслужават опционално маркиране, изчакване или поправен локатор, вместо общ повторен опит.

Copilot с удоволствие добавя префикс към дадено твърдение, след като види шаблона във файла, което прави груповите редакции бързи. Не може да прецени кои стъпки трябва да са незадължителни, така че преглеждайте всяко предложение спрямо действителното поведение на приложението.

Не съвсем. Пропусната стъпка е тази, която сте деактивирали и тя никога не се изпълнява. Незадължителната стъпка все още се изпълнява, когато е наличен нейният обект, и се пропуска само при изпълненията, където контролата не се появява.

Да. Поведението е идентично: обектът се търси, стъпката се пропуска, когато отсъства от приложението, и в резултатите от изпълнението в края се появява съобщение, посочващо пропуснатата стъпка.

Обобщете тази публикация с: