Skip to content

heyzling/to.testcalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

to.testcalc

Тестовое задание по тестированию онлайн калькулятора валют от Сбербанка.

Постановка

  • Придумать сценарии для тестирования Калькулятора иностранных валют на сайте http://www.sberbank.ru/ru/quotes/converter
  • Автоматизировать из них 3 сценария

Результат выполненного ТЗ:

  • Реализовать функциональные (pytest) тесты сценариев.
  • Использовать инструмент Selenium WebDriver
  • Каждый тест должен выглядеть в отчете как отдельный тестовый сценарий
  • Тест должны быть параметризирован в XML или CSV
  • Результатом выполнения должен быть Yandex.Allure отчет
  • Исходный код проекта должен быть выложен на github или bitbucket.

Описание проекта

  1. src/api/calcpage.py находится PageObject для доступа к странице - класс CalcPage.
  2. src/api/drivers.py - в модуле содержаться упрощенные методы получения драйверов. В случае, если не указаны пути для драйверов они будут скачаны (используется библиотека webdrvier_manager)
  3. src/test_calcPage.py - тесты PageOjbect'а к странице. Заодно тестируют интерфейс.
  4. src/test_functional.py - параметризированный тест на правильность подсчета. Сценарии лежат в файле src/test_functional_scenarios.xml. В нем можно задавать неограниченное количестов сценариев.
  5. allure - бинарники для yandex.allure 2.7.0. Генерирует отчеты. В PageObject калькулятора (CalcPage) настроена интерпретация каждого действия как шаг (step) теста. Таким образом при выполнении любого теста с использованием CalcPage в генерируемом отчете будут показываться шаги выполнения (читаемые, на русском)

Установка

Требования:

  • Python >= 3.6.5
  • pip >= 9.0.3
  • java >= 1.8.0_181-b13
git clone git@github.com:mirakulus/to.testcalc.git
cd to.testcalc
pip install -r requirements.txt

Запуск

Указанная ниже последовательность комманд, запустит все тесты, сгенерирует и запустить в бразуере allure-отчет

cd to.testcalc
pytest --alluredir=reports
"allure/bin/allure" serve reports

На данный момент тесты запускаются в Хроме, в headless-mode. Работает стабильно, но полной уверенности в нем нет - во время разработки возникало много проблем. Если код вдруг упал на попытке доступа к элементу, то нужно либо перезапустить тесты еще раз, либо откзааться от headless режима. Выключить headless режим:

  • test_CalcPage.py - Test_CalcPage.setup_class(), в методе drivers.chrome(True) убрать True
  • test_functional.py - TestFunctional.setup_class(), в методе drivers.chrome(True) убрать True