3.9 KiB
Автотест по сценариям для стажировки в компании Тензор
Здесь представлен код для автотеста по сценариям из ТЗ. Весь код был написан на Python с использованием Selenium. В качестве браузера для тестирования был выбран Firefox, ввиду отсутствия пунктов ТЗ о том, в каких браузерах средует выполнить автотест.
Докскрины для функций было решено не делать, т.к. не знаю как будет проверяться работа, поэтому запишу описание работы сюда
Далее можно подробнее изучить код:
Сценарий 1:
Перейти к sc1.py
Были импортированы следующие библиотеки и модули:
- selenium,
- selenium.webdriver:
- By,
- expected_conditions,
- WebDriverWait,
- Service,
- pytest
- С помощью функции
browser()
создаем фикстуру для браузера - Основной код лежит в функции
test()
- Для скипа всплывающего окна о куки следующие функции
close_popup_window(driver)
иclose_popup_window2(driver)
- В файле есть закомментированный цикл
for image in png_elements...
, который используется для определения конкретных размеров указанных изображений (по высоте и ширине)
Сценарий 2:
Перейти к sc2.py
Были импортированы следующие библиотеки и модули:
- selenium,
- selenium.webdriver:
- By,
- expected_conditions,
- WebDriverWait,
- Service,
- http.client
- requests
- pytest
- С помощью функции
browser()
создаем фикстуру для браузера - Основной код лежит в функции
test_two()
- Для скипа всплывающего окна о куки следующая функция
close_pop_up_m(driver)
- Функция
region_by_ip()
определяет Ip пользователя, который запускает код и выводит регион этого пользователя. ВВиду того, что в задании не указано точно, как конкретно нужно проверять регион (только его наличие, правильность определения и прочее) было решено оставить конструкцию:
print ("Сравни регионы: - {}, согласно сайту: {}".format(reg, txt_cnt))
чтобы через запуск
pytest -s sc2.py
можно было сравнить регионы. Также начала разрабатывать возможные варианты для сранения текущего региона с тем, что есть на странице, но посмотрев вкладку "Сети" в панели разработчика (Devtools) выяснилось, что определяются не все регионы, а только конкретные в России, а по умолчанию стоит регион "Москва". Эти данные занесены в отдел region/data.txt Что не вышло:
- Транслитить и сравнивать мой регион и тот что на сайте, т.к. на сайте используются сокращения регионов
- Определить мой регион сразу на русском языке, не используя виртуальное окружение