Autotesting_Selenium/README.md

53 lines
3.9 KiB
Markdown
Raw Permalink Normal View History

2023-11-16 23:49:16 +03:00
# Автотест по сценариям для стажировки в компании Тензор
Здесь представлен код для автотеста по сценариям из ТЗ. Весь код был написан на Python с использованием **__Selenium__**. В качестве браузера для тестирования был выбран **__Firefox__**, ввиду отсутствия пунктов ТЗ о том, в каких браузерах средует выполнить автотест.
> Докскрины для функций было решено не делать, т.к. не знаю как будет проверяться работа, поэтому запишу описание работы сюда
Далее можно подробнее изучить код:
## Сценарий 1:
[Перейти к sc1.py](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](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 пользователя, который запускает код и выводит регион этого пользователя. ВВиду того, что в задании не указано точно, как конкретно нужно проверять регион (только его наличие, правильность определения и прочее) было решено оставить конструкцию:
```python
print ("Сравни регионы: - {}, согласно сайту: {}".format(reg, txt_cnt))
```
чтобы через запуск
```bash
pytest -s sc2.py
```
можно было сравнить регионы.
Также начала разрабатывать возможные варианты для сранения текущего региона с тем, что есть на странице, но посмотрев вкладку "Сети" в панели разработчика (Devtools) выяснилось, что определяются не все регионы, а только конкретные в России, а по умолчанию стоит регион "Москва". Эти данные занесены в отдел [region/data.txt](region/data.txt)
Что не вышло:
- Транслитить и сравнивать мой регион и тот что на сайте, т.к. на сайте используются сокращения регионов
- Определить мой регион сразу на русском языке, не используя виртуальное окружение