qtp tutorial 18 data driven
Ние работим по пътя си, като разберем как да извлечем в Рамка за автоматизация което работи най-добре за определен проект за тестване и също така определя определени рамки, които вече съществуват.
Примерът, който използвахме в предишна статия за рамка на QTP създаваше нов акаунт в Gmail.
Като начало кодирахме създаването на нов сценарий на акаунта само чрез запис и възпроизвеждане по линеен начин. Виждайки как липсва модулност, четливост и многократна употреба, ние го разделихме на функции, които ще бъдат посочени като ключови думи, които се движат напред.
=> Щракнете тук за серията учебни уроци за QTP
Постигнахме модулност, четливост и повторна употреба чрез този метод, но трябваше да направим програмата още по-стабилна, така че да може да приема различни набори от стойности, без да се налага да модифицира самия скрипт.
Точно това ще постигнем чрез данни, управляващи тестовете.
Какво ще научите:
- Управлявана от данни рамка за автоматизация, използваща QTP
- Хибридна рамка
- Заключение
- Препоръчително четене
Управлявана от данни рамка за автоматизация, използваща QTP
Създаването на множество потребителски акаунти в Google е задачата, която ще се опитаме да изпълним, използвайки тази рамка.
В примера по-рано ние кодирахме твърдо името, фамилията, данните за потребителския идентификатор и т.н. в нашия код, докато се опитвахме да създадем акаунт. Ще трябва да отделим кода от данните, ако трябва да постигнем аспекта на управление на данни за този скрипт.
Данните трябва да идват от източник, който не е самата програма.
Обикновено въвеждането на данни може да бъде всичко:
- MS Excel файлове
- База данни
- Текстови файлове
- XML файлове ... и др.
Excel файловете са тези, които се използват най-често. Самият факт, че всяко действие в QTP се интегрира със собствен лист с данни, обяснява защо е така.
как да приложим просто бинарно дърво за търсене в java
Можете да използвате един или повече източници на данни за един скрипт. Excel листът, който се доставя с действието, може да се използва или можете да използвате и външен лист на Excel. По принцип лист с данни може да бъде всеки подходящ външен файл.
Например,
Това е кодът, който трябва да управляваме с данни:
Browser('Gmail: Email from Google').Page('GoogleAccounts').WebEdit('FirstName').Set 'swati' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set 's' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set 'test'
Всички данни в момента са кодирани твърдо. Нека сега видим как можем да вземем тези стойности от листа с данни.
Отидете до експертния изглед за изявлението в QTP и щракнете върху колоната за стойност за стъпка. Отваря се следният прозорец:
Изберете опцията за параметър, изберете име за параметъра (това ще бъде името на колоната в таблицата с данни) и изберете дали ще използвате глобалния лист или локалния лист (глобалният лист е достъпен за всички действия в тест, но локалният лист е специфичен за текущото действие).
За полето „Име“ на екрана QTP предоставя стойност по подразбиране. Потребителят има опция да го запази същия или да го промени.
При щракване върху OK в таблицата с данни се създава нова колона.
Ето как изглежда листът с данни, който съдържа 3 набора от първо име, фамилия и идентификационен номер на акаунт:
Веднъж параметризиран, кодът изглежда така:
Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('FirstName').Set DataTable('G_First_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set DataTable('G_Last_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set DataTable('gmail_address', dtGlobalSheet)
Ако трябва да създадем тези 3 потребителски идентификатора с данните в листовете, трябва да имаме 3 повторения. Итерацията не е нищо друго освен тестово пускане.
След като данните са настроени, ще трябва да инструктираме QTP колко пъти трябва да се изпълнява този код или колко итерации.
Ето как го правим: Отидете на File-> Settings и Run (кликнете върху изображението, за да го увеличите)
видове наследяване в c ++
В горния екран задайте свойствата на итерация според изискванията.
Като алтернатива можете да инструктирате QTP за итерациите програмно. Както винаги, това позволява повече контрол и също така повече умения за програмиране. Така че наистина зависи от нивото на комфорт на тестера да изберете някой от тези методи.
Компонентите в управлявана от данни рамка са:
- Тестов скрипт
- Файлове с данни
- Споделена функционална библиотека (ако съществува или може да бъде линейна програма)
- Хранилище на обекти (Отново този компонент няма да съществува, ако за създаване на обекти е използвано описателно програмиране)
Резултатите от теста ще показват състояние „Приет“ или „Неуспешен“ за всяко тестово изпълнение.
Освен таблицата с данни, която се предлага по подразбиране, можем да използваме всеки външен файл на Excel като входен лист.
Хибридна рамка
В горния пример сте използвали ключови думи (имена на функциите, които потребителят е създал) и сте направили тест, управляван от данни, за да сте сигурни, че са създадени различни потребители едновременно. Това не е нищо друго освен хибридна рамка.
Комбинацията от всякакви две или повече рамки, които обсъждахме досега, е хибридна рамка.
Според моя опит никой фреймворк не работи ефективно за определен проект. Хибридната рамка е това, което се използва най-често.
Няколко важни точки относно рамките:
- Рамката е просто решение, което е работило най-добре в определена ситуация, но не трябва да се тълкува като набор от правила, които трябва да се спазват определено. Трябва да се разглежда по-скоро като насоки.
- Може да се използват много други рамки, ние само изброихме и обяснихме общите
- Номенклатура - Различните хора се обръщат към своите рамки с различни имена. Така че, ако имената се различават малко от едно приложение до друго, това е нормално.
- Повечето рамки могат да се използват заедно помежду си, когато някой от тях не може да осигури цялостно решение на вашите цели за тестване.
Заключение
За по-лесно разбиране ние наистина опростихме концепциите на рамката тук. Ако имате някакви проблеми, свързани с рамката, с които се сблъсквате и които не са разгледани в тези статии, уведомете ни. Определено ще се опитаме да отговорим на вашите въпроси. Моля, не се колебайте да публикувате вашите въпроси.
=> Посетете тук за серията учебни уроци за QTP
Препоръчително четене
- QTP Frameworks - Тестови рамки за автоматизация - Примери, управлявани от ключови думи и линейна рамка - QTP урок # 17
- Как работи тестването, управлявано от данни (примери за QTP и селен)
- Управлявана от данни рамка в Selenium WebDriver, използваща Apache POI
- Управлявано от данни или параметризирано тестване със Spock Framework
- Как да извършите тестване на данни с помощта на инструмента TestComplete
- QTP уроци - 25+ Micro Focus Quick Test Professional (QTP) учебни уроци
- Извличане на данни: процес, техники и основни проблеми при анализа на данни
- Параметризиране в QTP, обяснено с примери (част 1) - Урок за QTP # 19