Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/levvolkov/pageobject
6 «BDD (Behaviour Driven Development), Page Object's»
https://github.com/levvolkov/pageobject
automated-testing bdd github-actions gradle issues
Last synced: 2 days ago
JSON representation
6 «BDD (Behaviour Driven Development), Page Object's»
- Host: GitHub
- URL: https://github.com/levvolkov/pageobject
- Owner: levvolkov
- Created: 2024-04-02T19:50:45.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-04-03T17:34:15.000Z (9 months ago)
- Last Synced: 2024-11-10T12:28:50.358Z (about 2 months ago)
- Topics: automated-testing, bdd, github-actions, gradle, issues
- Language: Java
- Homepage:
- Size: 15.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Java CI with Gradle](https://github.com/LevVolkov/PageObject/actions/workflows/gradle.yml/badge.svg)](https://github.com/LevVolkov/PageObject/actions/workflows/gradle.yml)
# 6. Домашнее задание к занятию «2.4. BDD»
В качестве результата пришлите ссылки на ваши GitHub-проекты в личном кабинете студента на сайте [netology.ru](https://netology.ru).
Все задачи этого занятия нужно делать **в разных репозиториях**.
**Важно**: проекты с решением задач по данной теме реализуются с использованием Selenide.
**Важно**: если у вас что-то не получилось, то оформляйте issue [по установленным правилам](https://github.com/netology-code/aqa-homeworks/blob/master/report-requirements.md).
**Важно**: не делайте ДЗ всех занятий в одном репозитории. Иначе вам потом придётся достаточно сложно подключать системы Continuous integration.
## Как сдавать задачи
1. Инициализируйте на своём компьютере пустой Git-репозиторий.
1. Добавьте в него готовый файл [.gitignore](https://github.com/netology-code/aqa-homeworks/blob/master/.gitignore).
1. Добавьте в этот же каталог код ваших автотестов.
1. Сделайте необходимые коммиты.
1. Добавьте в каталог `artifacts` целевой сервис [app-ibank-build-for-testers.jar](https://github.com/netology-code/aqa-homeworks/blob/master/bdd/app-ibank-build-for-testers.jar).
1. Создайте публичный репозиторий на GitHub и свяжите свой локальный репозиторий с удалённым.
1. Сделайте пуш — удостоверьтесь, что ваш код появился на GitHub.
1. Выполните интеграцию проекта с Github Actions ([инструкция](.https://github.com/netology-code/aqa-homeworks/tree/master/github-actions-integration)) или Appveyor ([инструкция](https://github.com/netology-code/aqa-homeworks/tree/master/api-ci#appveyor)) на выбор, удостоверьтесь что автотесты в CI выполняются.
1. Поставьте бейджик сборки вашего проекта в файл README.md.
1. Ссылку на ваш проект отправьте в личном кабинете на сайте [netology.ru](https://netology.ru).
1. Задачи, отмеченные как необязательные, можно не сдавать, это не повлияет на получение зачёта.
1. Автотесты могут падать и сборка может быть красной из-за багов тестируемого приложения. В таком случае должны быть заведены репорты на обнаруженные в ходе тестирования дефекты в отдельных issues, [придерживайтесь схемы при описании](https://github.com/netology-code/aqa-homeworks/blob/master/report-requirements.md).## Задача №1: Page Object's
Вам необходимо добить тестирование функции перевода с карты на карту. Разработчики пока реализовали возможность перевода только между своими картами, но уже хотят, чтобы вы всё протестировали.
Для этого они не поленились и захардкодили вам целого одного пользователя с двумя дебетовыми картами:
```
* login: 'vasya'
* password: 'qwerty123'
* verification code (hardcoded): '12345'
* cards:
* first:
* number: '5559 0000 0000 0001'
* balance: 10 000 RUB
* second:
* number: '5559 0000 0000 0002'
* balance: 10 000 RUB
```После логина, который уже мы сделали на лекции, вы получите список карт:
![](https://github.com/netology-code/aqa-homeworks/blob/master/bdd/pic/cards.png)
Нажав на кнопку «Пополнить», вы перейдёте на страницу перевода средств:
![](https://github.com/netology-code/aqa-homeworks/blob/master/bdd/pic/transfer.png)
При успешном переводе вы вернётесь назад на страницу со списком карт.
Это ключевой кейс, который нужно протестировать.
Нужно, чтобы вы через Page Object's добавили доменные методы:
* перевода с определённой карты на другую карту энной суммы,
* проверки баланса по карте со страницы списка карт.**Вы можете познакомиться с некоторыми подсказками [по реализации этой задачи](https://github.com/netology-code/aqa-homeworks/blob/master/bdd/balance.md)**.
P.S. Чтобы вам было не скучно, мы добавили порядком багов, поэтому как минимум один issue в GitHub у вас должен быть 😈
Подсказка
Обратите внимание на то, что ваши тесты должны проходить целиком, то есть весь набор тестов.
Мы, как всегда, заложили там небольшую ловушку, чтобы вам не было скучно 😈
Не закладывайтесь на то, что на картах для каждого теста всегда одна и та же фиксированная сумма, подумайте,
как работать с SUT так, чтобы не приходилось её перезапускать для каждого теста.## Задача №2: BDD (необязательная)
Используя Page Object's из предыдущей задачи, на базе шаблона Cucumber с лекции реализуйте кастомные steps:
* когда пользователь переводит 5 000 рублей с карты с номером 5559 0000 0000 0002 на свою 1 карту с главной страницы,
* тогда баланс его 1 карты из списка на главной странице должен стать 15 000 рублей.Тогда вместе с логином, который мы сделали на лекции, всё должно выглядеть вот так:
* пусть пользователь залогинен с именем «vasya» и паролем «qwerty123»,
* когда пользователь переводит 5 000 рублей с карты с номером 5559 0000 0000 0002 на свою 1 карту с главной страницы,
* тогда баланс его 1 карты из списка на главной странице должен стать 15 000 рублей.