Autotesting_Selenium/README.md

53 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Автотест по сценариям для стажировки в компании Тензор
Здесь представлен код для автотеста по сценариям из ТЗ. Весь код был написан на 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)
Что не вышло:
- Транслитить и сравнивать мой регион и тот что на сайте, т.к. на сайте используются сокращения регионов
- Определить мой регион сразу на русском языке, не используя виртуальное окружение