Параметризация в QTP/UFT с Пример
⚡ Умно обобщение
Параметризация в QTP/UFT Заменя твърдо кодираните стойности с променливи входни данни, така че един тестов скрипт може да се изпълнява с много комбинации от данни, настройки на средата и извиквания на действия, без да се пренаписва нито една стъпка.
Какво е QTP Параметризация?
QTP/UFT параметризация ви позволява да избирате различни тестови входни данни по време на изпълнение, вместо да кодирате твърдо една стойност в скрипт. Този процес на подаване на външни стойности на параметри към тест, а не на една фиксирана стойност, се нарича параметризация.
Без параметризация, тестването на един и същ екран за вход с три различни комбинации от име и парола на агент означава записване или поддържане на три почти идентични скрипта. Параметризацията запазва един скрипт и просто му подава нов ред данни за всяко изпълнение, поради което тестването, управлявано от данни, зависи от нея.
Видове параметризация в QTP
UFT (по-рано QTP) поддържа четири типа параметри, всеки от които е подходящ за различен вид променливи данни:
- Параметри на таблицата с данни
- Параметри за тест/действие
- Параметри на променливите на средата
- Параметри на случайни числа
Таблицата по-долу сравнява за какво е най-подходящ всеки тип, преди да разгледаме пример на живо.
| Тип на параметъра | Откъде идва стойността | Типичен случай на употреба |
|---|---|---|
| Таблица с данни | Глобална или локална електронна таблица за действие, включена в комплекта с теста | Изпълнение на същите стъпки с много редове от тестови данни |
| Променлива на околната среда | Вградени стойности, стойности, зададени в теста, или външен XML файл | Споделяне на една постоянна стойност, като например URL, във всяко действие |
| Тест/Действие | Входна или изходна стойност, предавана между действия | Пренасочване на стойност, произведена в едно действие, към друго действие |
| Случайно число | Число, генерирано автоматично в рамките на определен диапазон | Създаване на уникална стойност, като например идентификатор на поръчка, при всяко изпълнение |
Останалата част от този урок разглежда параметризацията на таблици с данни от край до край, след което обяснява как да конфигурирате останалите три типа с работещи VBScript примери.
Параметризация на таблица с данни: пример стъпка по стъпка
Това Micro Focus UFT настойнически показва как да се параметризира тест за влизане в приложението за резервация на полет, използвайки таблицата с данни. Може би се чудите защо толкова много усилия се влагат в автоматизирането на просто влизане. Стойността става ясна, след като сценарият провери дали потребителят може да влезе успешно с комбинация от валидно буквено-цифрово име на агент и парола стойности. Стъпките на теста остават същите, но обемът на данните за тестване нараства. Този пример ограничава обходния процес до 3 от 8-те възможни комбинации.
| Сценарий на теста | Тестови стъпки | Данни от теста |
|---|---|---|
| Проверете дали потребителят успешно влиза в приложението при въвеждане на КОМБИНАЦИЯ ОТ валидни БУКВЕНО-ЦИФРОВО име на агент и парола | Стъпка 1) Отворете приложението за резервация на полет Стъпка 2) Въведете валидно име на агент Стъпка 3) Въведете валидна парола Стъпка 4) Натиснете OK Стъпка 5) Затворете приложението след успешно влизане. |
Име на агент = Guru Парола = Mercury Име на агент = Guru99 Парола = MERCURY Име на агент = 9999 Парола = живак |
Можете да копирате едни и същи шест стъпки многократно с различни стойности на данните, което бихте направили ръчно, или можете да използвате параметризация.
Най-лесният начин за параметризиране на аргумент, в този пример Guru, е:
- Кликнете върху „Изглед на ключови думи“.
- Щракнете върху иконата за параметризация.
Отваря се диалоговият прозорец „Конфигурация на стойност“, като стойността в момента е зададена на „Константа“. Щракнете върху радио бутона „Параметър“. QTP присвоява име по подразбиране на параметъра, което можете да преименувате, преди да щракнете върху „OK“. По подразбиране новата колона се добавя към листа „Глобална таблица с данни“, така че стойността става достъпна за всяко действие в теста; избирането на листа „Действие (локално)“ го обхватява само до едно действие.
В глобалния лист, колона със заглавие „Име на агент“ и стойността Guru е създаден. Можете да добавите още редове със стойности за този параметър.
Превключване към експертен поглед показва, че „Име на агент“ е заменено с препратката към параметъра „Guru„, заедно с вида на използвания лист.
Можете да параметризирате аргумента „Парола“ по същия начин и да въведете различен набор от тестови данни.
Тази таблица с данни означава QTP ще повтори същите шест записано стъпките са три пъти. Първата итерация използва данните от ред едно, втората итерация използва ред две и така нататък. Лентата на състоянието показва кой ред се използва в момента и маркира съответния ред в листа с данни. Резултатите обобщават всичките три итерации.
Параметри на променливите на средата в UFT
Параметрите на променливите на средата предоставят стойност, която остава постоянна във всяка итерация на изпълнение, което ги прави полезни за конфигурационни данни, като например базова URL или име на среда, от което се нуждае всяко действие. UFT разпознава три вида променливи на средата:
- Вградена: Предварително дефинирани стойности, като например име на тест, име на действие или версия на операционната система, които UFT попълва се автоматично.
- Вътрешно, дефинирано от потребителя: Стойности, които задавате вътре в теста със скрипт; те съществуват само за текущото изпълнение и не се запазват с теста.
- Външно, дефинирано от потребителя: Двойки име-стойност, съхранени във външен XML файл, който зареждате преди началото на изпълнението.
За да използвате променлива на средата в стъпка, отворете диалоговия прозорец „Конфигурация на стойност“ за клетката, изберете „Среда“ като тип параметър и изберете името на променливата. VBScript по-долу показва и трите вида променливи в едно действие:
' Read a Built-in environment variable MsgBox Environment.Value("OS") ' Set and read a User-Defined Internal environment variable Environment.Value("AppURL") = "https://demo.guru99.com/V4/" MsgBox Environment.Value("AppURL") ' Load a User-Defined External XML file, then read a value from it Environment.LoadFromFile "C:\Guru99\EnvConfig.xml" MsgBox Environment.Value("Address")
За да изградите външния файл, посочен по-горе, създайте XML документ с корен <Environment> елемент и един <Variable> елемент за всяка двойка име-стойност, след което го заредете от Файл > Настройки > Среда в UFT преди да изпълните теста. Външните променливи са само за четене след зареждане, така че актуализирайте изходния XML файл всеки път, когато е необходимо да се промени стойност.
Променливите на средата се различават от параметрите Test/Action по обхват: променлива на средата е достъпна за всяко действие в теста, докато параметър Test/Action се предава изрично между две специфични действия, което е типът, който ще бъде разгледан по-долу.
Параметри за тестване и действие в UFT
Параметрите Test/Action позволяват на едно действие да предаде стойност на друго действие като входен параметър и позволяват на извиканото действие да върне стойност обратно като изходен параметър. За разлика от променливите на средата, които са видими за целия тест, параметърът Test/Action съществува само за конкретното извикване, което го дефинира, което прави действията многократно използваеми в различни тестове.
За да създадете такова, щракнете с десния бутон върху действието в тестовия поток, изберете „Свойства на действието“ и добавете параметър в раздела „Входни параметри“ или „Изходни параметри“ с име и тип данни. След това действието може да препраща директно към параметъра в своите стъпки. Когато друго действие извиква това действие, например с RunAction "VerifyLogin", oneIteration, "Guru99", "Mercury", стойностите, предоставени в извикването, попълват входните параметри за това изпълнение.
Тъй като стойностите се предават с повикването, а не се намират в таблицата с данни, параметрите Test/Action работят добре за многократна употреба. мерки които се нуждаят от различни входни данни в зависимост от това кой тест ги извиква, като например споделено действие за влизане, използвано от няколко тестови потока.
Параметри на случайни числа в UFT
Параметрите на случайни числа генерират автоматично числова стойност в определен от вас диапазон, което е полезно, когато тестът се нуждае от стойност, която трябва да бъде уникална при всяко изпълнение, като например нов идентификатор на клиент, номер на поръчка или референтен номер за резервация, който приложението няма да приеме два пъти.
За да конфигурирате такъв, отворете диалоговия прозорец „Конфигурация на стойност“ за клетката и изберете „Случайно число“ като тип параметър. UFT пита за числовия диапазон, незадължително име за параметъра и колко често трябва да генерира нова стойност:
- За всяка итерация на действието – генерира ново число всеки път, когато действието се изпълни.
- За всяка итерация на теста – генерира ново число веднъж на тестова итерация.
- Веднъж на целия тестов цикъл – запазва един и същ номер за целия период.
Параметрите на случайни числа споделят гъвкавостта по време на изпълнение, характерна за таблиците с данни и параметрите на променливите на средата, но премахват необходимостта от ръчно създаване на уникални тестови данни с нарастването на обема на итерациите, управлявани от данни.
Предимства на параметризацията
Параметризацията се отплаща през целия жизнен цикъл на автоматизацията, от първия скрипт до пълния набор от регресионни алгоритми:
- Това ви позволява да избирате различни стойности по време на изпълнение, вместо да редактирате скрипта за всяка комбинация от данни.
- Това намалява времето и усилията, необходими за обхващане на множество комбинации от тестови данни.
- Драйвери за данни, a UFT функция, избройте всяка константа в скрипт, която отговаря на условията за параметризация, в един прозорец, което опростява параметризирането на големи скриптове.
- Той държи тестовите данни извън скрипта, така че тестерът може да добавя нови редове, стойности на средата или произволни диапазони, без да докосва логиката на автоматизацията.
Кликнете тук ако видеото не е достъпно








