Skip to content

6 «BDD (Behaviour Driven Development), Page Object's»

Notifications You must be signed in to change notification settings

levvolkov/PageObject

Repository files navigation

Java CI with Gradle

6. Домашнее задание к занятию «2.4. BDD»

В качестве результата пришлите ссылки на ваши GitHub-проекты в личном кабинете студента на сайте netology.ru.

Все задачи этого занятия нужно делать в разных репозиториях.

Важно: проекты с решением задач по данной теме реализуются с использованием Selenide.

Важно: если у вас что-то не получилось, то оформляйте issue по установленным правилам.

Важно: не делайте ДЗ всех занятий в одном репозитории. Иначе вам потом придётся достаточно сложно подключать системы Continuous integration.

Как сдавать задачи

  1. Инициализируйте на своём компьютере пустой Git-репозиторий.
  2. Добавьте в него готовый файл .gitignore.
  3. Добавьте в этот же каталог код ваших автотестов.
  4. Сделайте необходимые коммиты.
  5. Добавьте в каталог artifacts целевой сервис app-ibank-build-for-testers.jar.
  6. Создайте публичный репозиторий на GitHub и свяжите свой локальный репозиторий с удалённым.
  7. Сделайте пуш — удостоверьтесь, что ваш код появился на GitHub.
  8. Выполните интеграцию проекта с Github Actions (инструкция) или Appveyor (инструкция) на выбор, удостоверьтесь что автотесты в CI выполняются.
  9. Поставьте бейджик сборки вашего проекта в файл README.md.
  10. Ссылку на ваш проект отправьте в личном кабинете на сайте netology.ru.
  11. Задачи, отмеченные как необязательные, можно не сдавать, это не повлияет на получение зачёта.
  12. Автотесты могут падать и сборка может быть красной из-за багов тестируемого приложения. В таком случае должны быть заведены репорты на обнаруженные в ходе тестирования дефекты в отдельных issues, придерживайтесь схемы при описании.

Задача №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

После логина, который уже мы сделали на лекции, вы получите список карт:

Нажав на кнопку «Пополнить», вы перейдёте на страницу перевода средств:

При успешном переводе вы вернётесь назад на страницу со списком карт.

Это ключевой кейс, который нужно протестировать.

Нужно, чтобы вы через Page Object's добавили доменные методы:

  • перевода с определённой карты на другую карту энной суммы,
  • проверки баланса по карте со страницы списка карт.

Вы можете познакомиться с некоторыми подсказками по реализации этой задачи.

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 рублей.

About

6 «BDD (Behaviour Driven Development), Page Object's»

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages