пост №5

Всім привіт! Вибачте за довге очікування, не було часу на створення поста. Отже, трохи поміркувавши я вирішив, що теорія теорією, а практика куди корисніше і цікавіше. І ось я вирішив почати серію пратіческі постів по створенню свого test framework-а з нуля.

Для прикладу автоматизації був обраний один з простих і наочних прикладів - поштова система rambler.ru Завданням автоматизації були обрані одні з основних дій користувача з поштовою системою, а саме: логін, написання і відправлення листа, перевірка відправки, перенесення листи в треш.

Перво наперво, необхідно створити чистий проект в IDE. Так як я звик використовувати IntelliJ IDEA в якості IDE, то я вирішив не змінювати своїм вибором і створив чистий Maven проект в ній. Далі прийшов час визначатися з мовою. І тут я не став змінювати свій смак і досвіду і вибрав Java. Але щоб повністю не залишатися на досягнутих знаннях, вирішив реалізувати свій test framework спираючись на BDD методологію. Мій вибір припав на Cucumber і Gherkin, так як дана зв'язка добре сумісна з Java. Збірка і запуск тестів будуть реалізовані за допомогою maven.

Відразу хочу зказать, що на даний момент всі тести написані і test famework готовий. Але так як все в один пост не вміститися, то буду поступово описувати його частини.

Тож почнемо. З початку хотілося б представити структуру framework-а і пояснити, чому саме так.

пост №5

Основними папками (packages) є java і resources. Java - це package, службовець для зберігання реалізації тестової логіки і допоміжних класів. Тут і буде розташовані опис сторінок, кроки тестів і різноманітні утиліт-класи. Resources - це виконуваний package, в якому розташовані самі тести і конфігурація до них.

Та ж, одним з основних є pom.xml файл. Він служить для підключення всіх бібліотек і мовних фреймворків, для запуску тестів з певною конфігурацією, для настройки звітності. Загалом - це корінь усього проекту. Для наочності продемонструю уривок з файлу:

пост №5

пост №5

З основними package-ами познайомилися, а далі буду описувати кожен окремо.

Отже, на самому початку напишемо самі тести, які нам необхідно буде реалізовувати. Тести будуть написані на мові Gherkin.

Gherkin - людино-якого читають мову для опису поведінки системи, який використовує відступи для завдання структури документа, (прогалини або символи табуляції). Кожен рядок починається з одного з ключових слів і описує один з кроків. Основними ключовими словами є Given, When, Then. Сама структура тесту виглядає ось так:

пост №5

А тепер докладніше. Для реалізації тесту ми створюємо файл з розширенням .feature. Далі починаємо писати сам тест. Спочатку пишеться ключове слово Feature - воно дозволяє зрозуміти системі, що це виконуваний файл; так само служить позначенням найменування тесту.

Далі прописується ключове слово Scenario / Scenario Outline (перше це звичайний сценарій, друге - сценарій, який буде використовувати прописані в Examples тестові дані) - воно позначає, що далі буде прописаний сценарій тесту.

Переходимо до ключових слів в сценарії. Given - як зрозуміло з назви, в ньому прописано те, що відбувається на початку тесту, тобто початкові умови або початкові дії (наприклад, логін користувача в систему з певними даними). When - тут прописуються основні дії, які користувач робить з системою, тобто реалізація мети тесту (наприклад, відправка листа). Then - прописуються постдействія або очікуваний результат виконання When (наприклад, перевірка того, що лист відправлено). Так само іноді використовується ключове слово And - використовується для опису додаткових дій до попереднього ключовим словом (наприклад, логаут користувача з системи).

Якщо вам необхідно прогнати тест кілька разів, припустимо, під різними користувачами, то необхідно використовувати ключове слово Examples - воно якраз служить для прописаний значення необхідним параметрам тесту (напрмер, логін і пароль користувача). Для того, щоб ці значення підчепити тестом, необхідно вказати параметр тесту в форматі "<параметр> ". За забарвленням даного параметра можна буде зрозуміти, що він підчепив вказані значення з Examples.

І для наочності, ще один приклад тесту:

пост №5

Отже. У даній статті я почав описувати на практиці реалізацію створення test framework, розповів про основні packages і про те, як створювати тести використовуючи мову Gherkin. Надалі буду поступово описувати структуру тестів.

З.И. Дякую всім за увагу і інтерес. Сподіваюся було пізнавально і не чує мало. Буду дуже радий вашим Коментар.

Схожі статті