Тестирование на основе данных в Cucumber — это мощный метод, позволяющий выполнить один и тот же сценарий тестирования с разными входными данными. Это помогает обеспечить единообразие поведения системы в различных тестовых случаях. Вот несколько методов, которые вы можете использовать для тестирования на основе данных в Cucumber, а также примеры кода:
- Структура сценария с примерами.
Ключевое слово «Структура сценария» в Cucumber позволяет определить шаблон сценария, который можно выполнить с различными наборами данных, заданными с помощью ключевого слова «Примеры». Вот пример:
Scenario Outline: Login with different credentials
Given I am on the login page
When I enter "<username>" and "<password>"
Then I should be logged in
Examples:
| username | password |
| user1 | pass1 |
| user2 | pass2 |
- Таблицы данных:
Cucumber поддерживает таблицы данных, которые можно использовать для передачи табличных данных в качестве аргументов на шаги. Вы можете определить данные непосредственно в файле объекта или предоставить их из внешних источников, таких как файлы CSV. Вот пример:
Scenario: Add multiple products to the cart
Given I am on the product page
When I add the following products to the cart:
| Product Name | Quantity |
| iPhone | 2 |
| MacBook Pro | 1 |
Then the cart should contain the added products
- Внешние источники данных.
Вы также можете использовать внешние источники данных, такие как файлы CSV, электронные таблицы Excel или базы данных, для предоставления тестовых данных для ваших сценариев Cucumber. Это позволяет отделить тестовые данные от файлов объектов, что упрощает управление и обновление. Вот пример использования файла CSV:
Scenario: Validate user registration
Given I have the following user data from "users.csv":
| Name | Email | Password |
| John | john@example.com | pass123 |
| Alice | alice@example.com | pass456 |
When I register each user
Then the user should be successfully registered