Go to file
2023-11-16 23:49:16 +03:00
data.txt Загрузить файлы в «/» 2023-11-16 23:49:16 +03:00
get_region_by_ip.py Загрузить файлы в «/» 2023-11-16 23:49:16 +03:00
README.md Загрузить файлы в «/» 2023-11-16 23:49:16 +03:00
region_on_site.py Загрузить файлы в «/» 2023-11-16 23:49:16 +03:00
sc1.py Загрузить файлы в «/» 2023-11-16 23:48:21 +03:00
sc2.py Загрузить файлы в «/» 2023-11-16 23:49:16 +03:00

Автотест по сценариям для стажировки в компании Тензор

Здесь представлен код для автотеста по сценариям из ТЗ. Весь код был написан на Python с использованием Selenium. В качестве браузера для тестирования был выбран Firefox, ввиду отсутствия пунктов ТЗ о том, в каких браузерах средует выполнить автотест.

Докскрины для функций было решено не делать, т.к. не знаю как будет проверяться работа, поэтому запишу описание работы сюда

Далее можно подробнее изучить код:

Сценарий 1:

Перейти к sc1.py
Были импортированы следующие библиотеки и модули:

  • selenium,
  • selenium.webdriver:
    • By,
    • expected_conditions,
    • WebDriverWait,
    • Service,
  • pytest
  1. С помощью функции browser() создаем фикстуру для браузера
  2. Основной код лежит в функции test()
  3. Для скипа всплывающего окна о куки следующие функции close_popup_window(driver) и close_popup_window2(driver)
  4. В файле есть закомментированный цикл for image in png_elements..., который используется для определения конкретных размеров указанных изображений (по высоте и ширине)

Сценарий 2:

Перейти к sc2.py
Были импортированы следующие библиотеки и модули:

  • selenium,
  • selenium.webdriver:
    • By,
    • expected_conditions,
    • WebDriverWait,
    • Service,
  • http.client
  • requests
  • pytest
  1. С помощью функции browser() создаем фикстуру для браузера
  2. Основной код лежит в функции test_two()
  3. Для скипа всплывающего окна о куки следующая функция close_pop_up_m(driver)
  4. Функция region_by_ip() определяет Ip пользователя, который запускает код и выводит регион этого пользователя. ВВиду того, что в задании не указано точно, как конкретно нужно проверять регион (только его наличие, правильность определения и прочее) было решено оставить конструкцию:
  print ("Сравни регионы: - {}, согласно сайту: {}".format(reg, txt_cnt))

чтобы через запуск

pytest -s sc2.py

можно было сравнить регионы. Также начала разрабатывать возможные варианты для сранения текущего региона с тем, что есть на странице, но посмотрев вкладку "Сети" в панели разработчика (Devtools) выяснилось, что определяются не все регионы, а только конкретные в России, а по умолчанию стоит регион "Москва". Эти данные занесены в отдел region/data.txt Что не вышло:

  • Транслитить и сравнивать мой регион и тот что на сайте, т.к. на сайте используются сокращения регионов
  • Определить мой регион сразу на русском языке, не используя виртуальное окружение