understanding working with robot framework
Підручник пояснює, як створити та виконати базовий тестовий кейс у Robot Framework. Ви також дізнаєтеся про змінні та ключові слова в Robot Framework:
Ми дізналися про Основи робочої середовища IDE - RIDE у нашому попередньому підручнику, щоб допомогти нам почати писати тестові сценарії за допомогою RIDE у цьому Серія Robot Framework .
Підручник дасть вам розуміння основ Robot Framework.
Ми дізнаємося про змінні та тип змінних, доступних у Robot Framework. Ми побачимо, як створити та використовувати змінну. Ми також зрозуміємо, що таке ключові слова разом із різними типами. Ми також дізнаємось, як можна створювати та використовувати ключові слова.
як писати ефективні тестові кейси
Крім того, цей посібник також дасть вам знання про параметри налаштування та відключення в RIDE, які корисні при виконанні тестового випадку. Ми також дізнаємося про теги - функцію RIDE, яка допомагає у вибірковому виконанні тестового випадку.
Найголовніше, що ми будемо писати тестовий сценарій (з локаторами та без них) для кількох зразків тестових випадків. Ми дізнаємось, як виконуються ці тестові сценарії в Ride, і, нарешті, до кінця навчального посібника ми навчимося переглядати звіти для виконаних тестових скриптів.
Ми закінчимо підручник кількома корисними посиланнями на Robot Framework, на які ви можете звернутися в будь-який час.
Що ви дізнаєтесь:
- Створення та виконання базового тесту
- Розуміння змінних в Robot Framework
- Розуміння ключових слів у рамках роботи
- Використання налаштування та розірвання у RIDE
- Використання тегів у RIDE
- Створення тестового кейсу за допомогою локаторів
- Розуміння підходу, керованого ключовими словами та даними, у рамках роботи
- Доступ до звітів у Ride
- Висновок
- Рекомендована література
Створення та виконання базового тесту
Давайте зараз створимо базовий тестовий приклад у RIDE, де ми відкриємо веб-сайт google.com у браузері Chrome, а потім закриємо браузер. Тож давайте почнемо з нашого першого тестування в Robot Framework за допомогою Ride.
Натисніть на ‘TestCase1’ і ви можете побачити сітку (ви повинні бути на вкладці «Редагувати»).
Виконайте наступні кроки, щоб написати код:
- Введіть «Відкритий браузер» (ключове слово, надане бібліотекою Selenium) у першій комірці.
- Починаючи набирати текст, виберіть ctrl + alt + пробіл (або ctrl + пробіл), щоб отримати допомогу щодо вмісту.
- У наступній комірці введіть URL-адресу Google .
- У третю комірку введіть ім'я браузера. Вказувати назву браузера необов’язково.
- У першій комірці наступного рядка введіть «Закрити браузер».
Давайте зрозуміємо, що ми щойно зробили.
- «Відкритий браузер» - це ключове слово, надане бібліотекою Selenium, яке ми імпортували вище у нашому тестовому випадку.
- Допомога за вмістом допомагає нам точно визначити синтаксис, не пам’ятаючи його.
- «Відкрити браузер» бере перший аргумент як URL-адресу веб-сайту, який ми хочемо відкрити у браузері. Другий аргумент необов’язковий, і він визначає браузер, який ми хочемо використовувати. Якщо про це не згадується, то Firefox використовується як браузер за замовчуванням.
- “Закрити браузер” - це знову ключове слово Selenium Library, яке закриває браузер, який ми відкрили.
Тепер ми виконаємо цей код, виконавши наведені нижче дії:
- Клацніть на вкладку «Виконати» - Ця вкладка містить опцію для запуску тесту.
- Поставте прапорець «Автозбереження» - Щоб забезпечити автоматичне збереження будь-яких незбережених змін у тестовому випадку.
- Позначте «TestCase1» - щоб RIDE знав, який тест ми хочемо виконати.
- Натисніть кнопку «Пуск» - щоб розпочати виконання тестового випадку.
Тестовий кейс успішно виконується. Нижче наведено екран, який ми отримуємо після успішного виконання тесту. Тут ми можемо бачити загальний час, необхідний для виконання тесту, а також підрахунок пройдених та невдалих тестових випадків.
Окрім цього, ми також маємо можливість переглянути Звіт та Журнал для виконаного тестового випадку. Це ми побачимо у майбутніх підручниках.
Розуміння змінних в Robot Framework
Як і будь-яка мова програмування, де ми використовуємо змінні, так само ми маємо змінні в Robot Framework.
Що таке змінні?
Змінні - це не що інше, як місця зберігання, що позначаються іменем, що містить деяке значення.
Типи змінних
У Robot Framework ми маємо 3 типи змінних:
- Скаляр
- Список
- Словник
У наступних двох темах ми побачимо, як можна створювати та використовувати кожен із зазначених типів змінних.
Створення змінних
У Robot Framework змінні не чутливі до регістру. Ми повинні використовувати великі літери для посилання на глобальні змінні (які використовуються в усьому наборі тестових випадків), а малі літери для посилання на локальні змінні (які використовуються лише у певних тестових випадках).
Для іменування змінної ми використовували ідентифікатор типу змінної (&,%, $, @), який передує імені змінної, записаному в фігурних дужках. Давайте подивимось, як оголошується кожен із типів змінних.
# 1) Скалярна змінна : Скалярна змінна позначається як $ {Name}.
Тут $ - відноситься до типу змінної, тобто Scalar Name - це ім'я змінної.
Як правило, це розміщується в фігурних дужках. Скалярна змінна може надаватися з будь-яким значенням, наприклад, рядком, об'єктом, числами, списками, словниками або спеціальними об'єктами.
Давайте присвоїмо значення 5 скалярній змінній ‘a’.
Для цього виконайте наведені нижче дії.
TestCase1 (клацніть правою кнопкою миші) -> Новий скаляр
Ви отримаєте спливаючий екран, як показано нижче:
Введіть ім'я змінної в фігурні дужки, як показано на знімку вище. Введіть його значення у текстовому полі „Значення” та додайте коментар, якщо хочете.
Цю скалярну змінну - $ {a}, яку ми щойно створили, тепер можна побачити на лівій панелі.
# 2) Змінна списку : Змінна списку посилається на @ {name}.
Тут @ - відноситься до типу змінної, тобто Назва списку - це назва змінної. Як правило, це розміщується в фігурних дужках.
Список дозволяє зберігати в ньому список Python або подібний до списку об’єкт. Robot Framework не дозволяє використовувати рядки як списки, але такі об’єкти, як кортежі або словники, дозволені.
Давайте присвоїмо значення «Привіт», «Робот» та «Фреймворк» для переліку змінних «b». Для цього виконайте наведені нижче дії.
TestSuite1 (клацніть правою кнопкою миші) -> Нова змінна списку
Ви отримаєте спливаючий екран, як показано нижче. Замість типового значення «4» у стовпці стовпців ми виберемо «2».
Тепер виконайте наведені нижче дії.
- Введіть ім’я змінної ‘b’ у фігурні дужки, як показано на знімку нижче.
- Введіть його значення у текстовому полі «Значення».
- Додайте коментар (необов’язково).
- Натисніть «OK», щоб зберегти змінну.
Кожне зі значень у змінній списку доступне щодо його індексу, який враховується від 0 для першого значення у списку. Наприклад, для посилання на фреймворк ми б записали його як @ {b} (2), оскільки він знаходиться в позиції 3, для якої індекс буде 2.
# 3) Змінна словника : Змінна словника позначається як & {Name}.
Тут & - відноситься до типу змінної, тобто Назва словника - це назва змінної. Як правило, це розміщується в фігурних дужках.
Словникові змінні в основному використовуються, коли ми маємо таблицю з парами ключ-значення. Наприклад, коли ми хочемо перевірити логін для набору ідентифікатора та пароля. Різниця між змінними List і Dictionary полягає у тому, як вони посилаються, і ми побачимо це в майбутньому.
Давайте створимо змінну словника «вхід» і призначимо для нього значення: електронну пошту та пароль, як показано нижче: «testingrf19@gmail.com», «123». Для цього виконайте наведені нижче дії.
TestSuite1 (клацніть правою кнопкою миші) -> Нова змінна словника
Ви отримаєте спливаючий екран, як показано нижче. Замість типового значення «4» у стовпці стовпців ми виберемо «1».
Тепер виконайте наведені нижче дії.
- Введіть ім’я змінної „вхід” у фігурні дужки, як показано на знімку нижче.
- Введіть його значення у текстовому полі «Значення».
- Додайте коментар (необов’язково).
- Натисніть «OK», щоб зберегти змінну.
На відміну від змінних списку, які використовують індекс для посилання на окремі значення в ньому, змінні словника використовують більш чіткий спосіб посилання на його значення. Як і у випадку вище, ми використовували б & {login} (електронна пошта) та & {login} (пароль). Чи не виглядає це цілком зрозумілим?
Ці створені змінні також видно в «TestSuite1» (вкладка «Редагувати»).
Використання змінних
Тепер ми побачимо, як ми можемо використовувати ці змінні в нашому тестовому випадку. Ми будемо використовувати тестовий кейс, створений раніше, і замінимо використану URL-адресу на змінну, яка буде зберігати URL-адресу. Тож давайте створимо скалярну змінну з назвою «URL» та збережемо значення Google в цьому.
Тепер ми замінимо URL-адресу на змінну в нашому коді. Оскільки це скалярна змінна, вона буде називатися $ {URL}. Тепер наш тестовий випадок повинен виглядати так, як показано нижче:
Давайте запустимо цей тестовий приклад і подивимося, чи змінна «URL» замінюється правильним значенням. Так! Наш тестовий приклад успішно виконується. Google com відкривається в браузері, а потім браузер закривається. Результат показує, що це вдалося.
Зелений символ біля назви тесту на лівій панелі та PASS на правій панелі показує, що виконання тесту було успішним.
Ось як ми використовуємо змінні в тестовому випадку. Перевага використання змінних видно, коли ми використовуємо одне і те ж значення в кількох місцях. Всякий раз, коли змінюється значення, нам потрібно буде лише замінити значення змінної, і це буде відображатися в кожному місці, де змінна була використана.
Подібним чином ми можемо використовувати List, а також змінну словника, як це потрібно в наших тестових випадках.
Розуміння ключових слів у рамках роботи
Що таке ключові слова?
Ключові слова, як випливає з назви („Ключ” + „слово”) - це слово, яке служить ключем до чогось, що не розглядається. Простіше, давайте зрозуміємо, що якщо у мене є завдання з 10 кроків, які я повинен зробити, і я згадую ці 10 кроків і посилаюся на них по імені, тоді ім’я є ключовим словом.
Типи ключових слів
Robot Framework надає два типи ключових слів:
- Ключові слова бібліотеки : Ці ключові слова також відомі як ключові слова низького рівня. Вони доступні бібліотекам, що використовуються разом із Robot Framework (вбудовані та зовнішні бібліотеки). Наприклад, у нас є ключове слово “Log to Console”, яке надається бібліотекою Builtin, а “Open Browser” - це ключове слово, надане бібліотекою Selenium.
- Ключові слова, визначені користувачем : Вони також відомі як ключові слова високого рівня. Вони визначаються користувачем. Визначені користувачем ключові слова можуть також містити інші ключові слова Бібліотеки та / або інші дії.
Створення ключових слів
Цей підручник пояснить способи створення визначених користувачем ключових слів.
Клацніть правою кнопкою миші ‘TestSuite1’ і виберіть «Нове ключове слово користувача» .
Ви отримаєте екран, як показано нижче. Давайте створимо ключове слово для відкриття веб-сайту Google. Отже, у нас було б лише одне ключове слово для виконання завдання тестового випадку, який ми створили.
Відкрийте створений вами тест і перегляньте кроки, які ви додали. Ми відкрили google.com у Chrome, а потім закрили браузер.
Давайте дамо назву «Відкрити Google» до нашого ключового слова та натисніть «Ok».
Ключове слово було визначено, і тепер дії, які потрібно виконати, будуть записані всередині цього ключового слова. Тож натисніть « Відкрийте Google ' і напишіть ті самі кроки, що ми писали у нашому TestCase1.
Як ви бачите нижче, ключове слово “ Opengoogle ”Відкриється Google com у браузері Chrome, а потім вийдіть із браузера.
Використання ключових слів
Тепер ми визначили наше ключове слово “ Відкрийте Google '. Використовувати його в нашому тестовому випадку досить просто. Спочатку погляньте на наш оригінальний тестовий приклад, який ми створили для відкриття Google нижче.
Тепер ми замінимо цей код ключовим словом. Ви помітите, що, починаючи вводити ключове слово та відкриваючи помічник вмісту, це ключове слово також буде видно в списку, що з’явиться. Подивіться на знімок екрана нижче.
Після заміни наш TestCase1 буде виглядати просто, як показано нижче:
Давайте виконаємо це і подивимось, чи працює це за призначенням.
Так! тест проходить, і ми маємо очікуваний результат.
Використання налаштування та розірвання у RIDE
Як і випливає з назви, Налаштування - це набір інструкцій / ключових слів, які мають бути виконані як початкова підготовка до виконання фактичного тестового випадку. Як приклад, як правило, для виконання будь-якого тестового випадку, основною нашою вимогою було б відкрити браузер. Тож ми завжди можемо додати цей крок відкриття браузера як активність налаштування.
Подібним чином, розірвати - це набір інструкцій / ключових слів, які мають бути виконані в кінці виконання тестового випадку. Як приклад, коли ми закінчимо виконувати тест, ми хотіли б закрити браузер. Отже, ми завжди можемо додати цей крок закриття браузера як активацію.
Діяльність налаштування та розірвання можна оголосити за адресою:
- Рівень тестового набору: При оголошенні на рівні набору тестів інструкції з налаштування будуть виконані до того, як буде виконано будь-який з тестових випадків у цьому наборі тестів. Подібним чином, знос, оголошений на рівні набору тестів, буде виконаний після виконання будь-якого з тестових випадків у цьому наборі тестів.
- Рівень тестування : При оголошенні на рівні тестового випадку інструкції з налаштування виконуються до виконання тестових кейсів у цьому наборі тестів. Подібним чином, знищення, заявлене на рівні тестового випадку, буде виконано після виконання тестового випадку.
Давайте тепер подивимося, як ми додаємо налаштування на рівні тестового випадку.
- Створіть TestCase2.
- Натисніть кнопку «Редагувати» для налаштування, трохи нижче «Параметри» на правій панелі.
- Введіть ключове слово 'Відкритий браузер' у нашому випадку. Ви також можете скористатися цим вмістом.
- Аргументи можна передавати разом із ключовим словом, відокремлюючи їх знаком труби ‘|’.
- Натисніть «OK».
Давайте тепер подивимося, як ми додаємо знищення на рівні тестового випадку.
- Клацніть TestCase1
- Натисніть кнопку «Редагувати», щоб зруйнувати, трохи нижче Налаштування на правій панелі.
- Введіть ключове слово 'Закрити браузер' у нашому випадку. Ви також можете скористатися цим вмістом.
- Натисніть «OK».
Тепер, коли ми перенесли обидва етапи тестового випадку як налаштовані та зриваємо активність, давайте додамо ще один крок до тестового випадку, щоб ми могли виконати та перевірити його результат. Давайте відобразимо “Привіт” на консолі. Ключовим словом, яке ми використовували, є 'Журнал', яке походить із вбудованої бібліотеки.
TestCase2 буде виглядати так, як показано нижче:
Після його виконання спочатку виконується інсталяція, а потім журнал «Привіт» на консолі, і, нарешті, виконується операція розірвання, і браузер закривається.
Використання тегів у RIDE
Тегування використовується, коли ми хочемо згрупувати набір тестових кейсів або для їх виконання, або для уникнення їх виконання. В основному ми групуємо тести в рамках регресії, диму та розуму. Або це може бути у сценаріях, коли деякі важливі функції потрібно перевіряти неодноразово.
Щоб зрозуміти, як створюються та використовуються теги, напишемо два простих тестових кейси - „TestCase3“ та „TestCase4“. Код для цього такий, як показано нижче. Ми використовували ключові слова, «Увійти в консоль» що з бібліотеки Булітена.
Тестовий випадок 3
Тестовий випадок 4
Щоб позначити ці тестові випадки, виконайте наведені нижче дії.
- Натисніть кнопку Редагувати для пункту «Теги».
- У спливаючому вікні введіть назву тегу, скажімо Case3.
- Натисніть «OK»
В обох тестових випадках тепер є тег „Case3”. Подивимось, як це можна використати.
Припустимо, ми хочемо виконати лише testcase3 та testcase4.
- Перейти на вкладку RUN
- Поставте прапорець 'Запускати тести лише з цими тегами'
- У текстовому полі нижче введіть „Case3“.
- Натисніть кнопку 'Пуск'.
Зверніть увагу, що ми не вибрали жодного тестового випадку, але після виконання тесту ви побачите, що виконано лише „TestCase3“ та „TestCase4“.
Подібним чином ми також маємо можливість пропустити конкретні теговані тестові кейси з використанням 'Пропустити тести з цими тегами' та згадування назви тегу.
У нас також є можливість динамічного створення тегів під час виконання за допомогою ключового слова “Встановити тег” , аналогічним чином ми можемо також видаляти теги під час роботи за допомогою ключового слова “Видалити тег” .
Сподіваюся, цей підручник дав вам чітке уявлення про те, як створити та використовувати теги на даний момент.
Створення тестового кейсу за допомогою локаторів
Ми створили дуже базовий тестовий приклад, який передбачав щось писати на консолі або просто відкривати браузер. Давайте зараз напишемо тестові приклади, які передбачають використання локаторів.
Тестування веб-сайту або будь-якого додатка передбачає пошук елементів. Коли ми хочемо виконати дію з будь-яким елементом, нам потрібно знати його локатор. Зазвичай «id» або «name» - це атрибути елемента, які використовуються для його ідентифікації на сторінці та, отже, виконують над ним дію за допомогою ключових слів.
Ми відкриємо браузер та проведемо пошук офіційного веб-сайту Robot Framework і відкриємо його.
Давайте почнемо і напишемо код для цього.
- Створіть 'TestCase5' у TestSuite1.
- Відкрийте браузер (Chrome).
- Далі знайдіть локатор текстового поля пошуку Google.
Налаштування Chrome -> Інструменти -> Інструменти розробника .
До того ж можна отримати доступ за допомогою Ctrl + Shift + I.
- Відкривши інструмент розробника, клацніть піктограму розташування елемента, як зазначено нижче.
- Наведіть його на текстове поле пошуку Google, поки воно не виділиться, і натисніть на нього. Ви помітите, що код, що відноситься до вікна пошуку, виділяється на правій панелі.
- З коду ми будемо використовувати ім’я = ’q’ як локатор.
- «Введення тексту» - це ключове слово Selenium, яке буде використовуватися для введення тексту у вікно пошуку Google.
- Натисніть клавішу Enter, щоб отримати результати пошуку.
Ось як би виглядав наш код. Це виглядає досить просто !! Чи не так?
Вся справа в практиці. Все, що нам потрібно, це мати можливість пригадати, яке ключове слово доступне для автоматизації певної дії. Отже, чим більше ви автоматизуєте свої тести, тим комфортніше вам буде працювати з цим фреймворком.
Результат вищезазначеного тесту після виконання такий, як показано нижче. Браузер Chrome видно відкритим нижче, показуючи результати пошуку для «Robot Framework».
Розуміння підходу, керованого ключовими словами та даними, у рамках роботи
При написанні тестового кейсу в Robot Framework ми дотримуємось одного з наведених нижче підходів:
- Підхід, керований ключовими словами: Коли ми використовуємо ключові слова для написання тестових кейсів, ми називаємо це підходом на основі ключових слів. Підхід, керований ключовими словами, покращує читабельність тестового випадку. Ми вже бачили, як ключові слова можна створювати та використовувати в тестовому прикладі.
- Підхід, керований даними : Цей підхід застосовується в основному, коли ми хочемо перевірити логіку на різні значення даних. При цьому підході створюється шаблон для ключового слова високого рівня, і аргументи цього ключового слова надсилаються з тестового випадку, що є значенням даних, для якого тестовий кейс потрібно виконати.
Як ми використовуємо цей підхід у наших тестових випадках - це те, що ми побачимо нижче під час створення нового ключового слова.
Давайте створимо тестовий приклад для пошуку різних інструментів / фреймворків автоматизації тестів - Robot Framework, J-meter, Selenium тощо.
Тестовий приклад містив би просто дані, у цьому випадку пошукові слова, які передавались би як аргументи шаблону. Шаблон містив би ключове слово високого рівня, яке мало б фактичний код для виконання. Значення пошуку буде записано в тестовому випадку.
Запитання та відповіді на інтерв’ю .net
З цим коротким розумінням давайте створимо шаблон «Пошук Google», виконавши такі дії:
- Створіть TestCase6, як пояснено в темі “Створення проекту, набору тестів та тестового кейсу в поїздці”.
- Натисніть «Редагувати» для шаблону та введіть ім’я. 'Пошук Google' у нашому випадку.
- Ми будемо використовувати той самий код, що і в TestCase5, з тією лише різницею, що текст для пошуку буде переданий як аргумент, як зазначено нижче.
- Цей аргумент також слід згадати у текстовому полі Аргумент. Тож натисніть Редагувати в текстовому полі Аргументи, введіть аргумент і натисніть «ОК».
- Тепер повернімось до TestCase6 та введіть дані.
- Ось так виглядатиме ваш екран після завершення тестування.
Ви помітите, що відкрито п’ять екземплярів браузера Chrome, і кожен з них матиме результати пошуку за п’ятьма різними інструментами автоматизації тестів, які ми шукали.
Ми сподіваємось, що цей тестовий випадок дав вам хорошу ясність щодо підходу, керованого даними. Коли ви спробуєте більше таких прикладів, такий підхід здасться вам досить простим.
Доступ до звітів у Ride
Нижче наведено знімок екрана після запуску TestCase6. Він надає 2 варіанти «Звіт» та «Журнал», як зазначено нижче. Він також надає повне посилання для доступу до журналу та звіту.
Звіт - Результат виконання TestCase6
Він надає підсумковий звіт про виконаний набір тестів. При натисканні на тестовий пакет відображаються деталі тестового набору, тестовий випадок. Коли ми натискаємо далі тестовий приклад, це відкриває деталі тестового випадку, який називається Журнал.
Журнал - Результат виконання TestCase6.
Журнал містить детальний звітний тестовий приклад для усього проекту.
Крім значків Звіт та Журнал. У нас також є URL-адреси, які можна скопіювати та відкрити безпосередньо у браузері. Відома проблема, що іноді після запуску тестування піктограми „Звіт”, „Журнал” вимикаються. У такому випадку ці посилання можна скопіювати та відкрити у браузері для перегляду звіту.
URL-адреса - це місце на локальній машині, де зберігаються звіти. Щоразу, коли ми виконуємо тестовий випадок, це місце оновлюється, а новий згенерований звіт зберігається у цьому місці.
Robot Framework - корисні посилання
Висновок
Ми сподіваємось, як початківець цей підручник дав би вам хороші знання щодо використання Robot Framework як інструменту автоматизації тестів.
У цьому підручнику ми дізналися про створення змінних та ключових слів. Ми побачили, як писати тестові сценарії, використовуючи підхід, керований ключовими словами та Даними.
Ми також виконали практичне виконання тестового сценарію. Підручник дав уявлення про перегляд детальних результатів тестування за допомогою журналу та звітів. Окрім цього, також були передані важливі URL-адреси, пов’язані з Robot Framework.
“Практика робить людину ідеальною”, тому без будь-яких зволікань використовуйте цей інструмент якомога більше, щоб ви могли поступово стати впевненими у його використанні.
Щасливого читання !!
НАЗАД Підручник | ПЕРШИЙ підручник
Рекомендована література
- Підручник з Robot Framework - Особливості та встановлення програмного забезпечення
- Початок роботи з RIDE - Robot Framework IDE
- Підручник з TestNG: Вступ до Framework TestNG
- BDD (Behavio-Driven Development) Framework: Повний навчальний посібник
- Підручник з D3.js - Рамка візуалізації даних для початківців
- Підручник з рамки жасмину, що включає жасминові джакурі з прикладами
- Підручник з Java Collections Framework (JCF)
- Підручник з Karate Framework: Автоматизоване тестування API за допомогою карате