qtp tutorial 18 data driven
Ми працюємо над тим, щоб з’ясувати, як отримати в Рамка автоматизації що найкраще підходить для певного проекту тестування, а також визначає певні основи, які вже існують.
Приклад, який ми використовували в попередня стаття фреймворку QTP створював новий обліковий запис Gmail.
Для початку ми закодували створення нового сценарію облікового запису лише шляхом лінійного запису та відтворення. Побачивши, як йому не вистачало модульності, читабельності та багаторазовості, ми розбили його на функції, які називались ключовими словами, що рухаються вперед.
=> Клацніть тут для серії навчальних посібників з QTP
За допомогою цього методу ми досягли модульності, читабельності та повторного використання, але нам потрібно було зробити програму ще більш надійною, щоб вона могла приймати різні набори значень без необхідності модифікувати сам сценарій.
Це саме те, чого ми збираємось досягти, керуючи тестами даних.
Що ви дізнаєтесь:
- Система керування даними, керована даними, за допомогою QTP
- Гібридні рамки
- Висновок
- Рекомендована література
Система керування даними, керована даними, за допомогою QTP
Створення декількох облікових записів користувачів Google - це завдання, яку ми спробуємо виконати, використовуючи цей фреймворк.
У прикладі раніше ми намагалися створити обліковий запис у коді ім’я, прізвище, дані ідентифікатора користувача тощо. Нам доведеться відокремити код від даних, якщо нам потрібно досягти аспекту керування даними для цього сценарію.
Дані повинні надходити з джерела, яке не є самою програмою.
Зазвичай введення даних може бути будь-яким:
- Файли MS Excel
- База даних
- Текстові файли
- XML-файли ... тощо.
Найчастіше використовуються файли Excel. Сам факт того, що кожна дія в QTP інтегрована з власною таблицею даних, пояснює, чому це так.
приклад хеш-таблиці c ++
Ви можете використовувати одне або кілька джерел даних для одного сценарію. Можна використати аркуш 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 надає значення за замовчуванням. Користувач має можливість зберегти його таким самим або змінити.
Після натискання кнопки ОК у таблиці даних створюється новий стовпець.
Ось так виглядає таблиця даних, яка містить 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 про те, скільки разів цей код повинен запускатися, або скільки ітерацій.
Ось як ми це робимо: Перейти до Файл-> Налаштування та Виконати (натисніть на зображення, щоб збільшити)
мережевий ключ безпеки для гарячої точки Samsung - -
На наведеному вище екрані встановіть властивості ітерації відповідно до вимог.
Крім того, ви можете програмно проінструктувати QTP про ітерації. Як завжди, це дозволяє більше контролю, а також більше навичок програмування. Отже, вибір будь-якого з цих методів дійсно залежить від рівня комфорту тестувальника.
Компонентами в структурі, керованій даними, є:
- Тестовий сценарій
- Файли даних
- Спільна функціональна бібліотека (якщо існує або може бути лінійною програмою)
- Сховище об’єктів (Знову ж, цей компонент не існуватиме, якщо для створення об’єктів було використано описове програмування)
Результати тесту показуватимуть статус «Пройдено» або «Не виконано» для кожного тестового запуску.
Окрім таблиці даних, яка постачається за замовчуванням, ми можемо використовувати будь-який зовнішній файл Excel як вхідний аркуш.
Гібридні рамки
У наведеному вище прикладі ви використовували ключові слова (назви функцій, які створив користувач) і провели тест на основі даних, щоб переконатися, що різні користувачі створюються одночасно. Це не що інше, як гібридні рамки.
Поєднання будь-яких двох або більше фреймворків, які ми обговорювали дотепер, є гібридною структурою.
З мого досвіду, жоден фреймворк не працює ефективно для певного проекту. Найчастіше використовується гібридна система.
Кілька важливих моментів щодо фреймворків:
- Структура - це просто рішення, яке найкраще спрацювало у певній ситуації, але не повинно розглядатися як набір правил, яких слід точно дотримуватися. Це слід сприймати більше як настанови.
- Може використовуватися багато інших фреймворків, ми лише перерахували та пояснили загальні
- Номенклатура - Різні люди звертаються до своїх систем з різними іменами. Отже, якщо імена дещо відрізняються від однієї програми до іншої, це нормально.
- Більшість фреймворків можна використовувати у поєднанні один з одним, коли будь-який з них не може забезпечити комплексного рішення ваших цілей тестування.
Висновок
Для зручності розуміння ми справді спростили поняття основи тут. Якщо у вас є якісь проблеми, пов’язані з фреймворком, які не висвітлюються в цих статтях, повідомте нам про це. Ми точно спробуємо відповісти на ваші запитання. Будь ласка, не соромтеся розміщувати свої запитання.
=> Завітайте сюди, щоб дізнатись про серію навчальних посібників з QTP
Рекомендована література
- Фреймворки QTP - Фреймворки автоматизованих тестів - Приклади, керовані ключовими словами та лінійні фреймворки - Підручник QTP # 17
- Як працює тестування на основі даних (приклади QTP та селену)
- Data Driven Framework у Selenium WebDriver з використанням Apache POI
- Тестування на основі даних або параметризоване за допомогою Spock Framework
- Як проводити тестування на основі даних за допомогою інструмента TestComplete
- Підручники з QTP - 25+ навчальних посібників із швидкого тестування з мікрофокусом (QTP)
- Видобуток даних: процес, методи та основні проблеми аналізу даних
- Параметризація в QTP Пояснення на прикладах (Частина 1) - Підручник з QTP # 19