🛠️ Установка инструментов
Что понадобится
| Инструмент | Зачем | Обязателен |
|---|---|---|
| Python 3.10+ | на нём пишутся тесты | да |
| pytest | запуск тестов, фикстуры, параметризация | да |
| Selenium | управление браузером | с урока 03 |
| Google Chrome | браузер, который будет открывать Selenium | да |
| requests | API-тесты во второй половине курса | позже |
| allure-pytest | красивые отчёты о прогоне | по желанию |
Python
Проверьте, есть ли Python уже сейчас — команда печатает версию:
python --version
python3 --version # macOS и Linux
Курсу нужен Python 3.12 или новее. Если команда не найдена или версия старее — ставьте заново.
Windows
winget install Python.Python.3.12
Либо установщик с python.org. В первом окне установщика обязательно отметьте Add python.exe to PATH — без этой галочки терминал не увидит команду python.
macOS
brew install python@3.12
Linux и WSL
sudo apt update
sudo apt install python3 python3-venv python3-pip
Виртуальное окружение и пакеты
Пакеты ставятся не в систему, а в отдельное окружение внутри папки проекта. Так у каждого курса свой набор версий, и они не конфликтуют.
mkdir autoqa
cd autoqa
python -m venv .venv
Активация зависит от оболочки:
| Оболочка | Команда |
|---|---|
| PowerShell | .venv\Scripts\Activate.ps1 |
| cmd.exe | .venv\Scripts\activate.bat |
| macOS / Linux / Git Bash | source .venv/bin/activate |
Признак успеха — префикс (.venv) в начале строки приглашения.
Пакеты курса ставятся уже внутри активированного окружения:
pip install pytest selenium requests webdriver-manager
Зафиксировать состав окружения, чтобы повторить его на другой машине:
pip freeze > requirements.txt
pip install -r requirements.txt
unittest ставить не нужно — он входит в стандартную библиотеку, первые уроки курса работают на нём без единого стороннего пакета.Браузер и драйверы
Selenium управляет настоящим браузером, поэтому он должен быть установлен:
winget install Google.Chrome
Про драйверы
Раньше chromedriver качали руками и следили, чтобы его версия совпадала с версией браузера. Сейчас этим занимается встроенный в Selenium менеджер: при первом запуске он сам скачивает нужный драйвер.
from selenium import webdriver
driver = webdriver.Chrome() # драйвер подберётся автоматически
driver.get("https://example.com")
print(driver.title)
driver.quit()
webdriver-manager в списке зависимостей курса решает ту же задачу и встречается в примерах уроков — оба подхода рабочие.webdriver.Chrome() падает с ошибкой про driver — обновите Selenium (pip install -U selenium) или используйте webdriver-manager, как показано в уроках.Редактор
Курс написан под Visual Studio Code — команды и названия расширений ниже даны для него.
| Система | Команда |
|---|---|
| Windows | winget install Microsoft.VisualStudioCode |
| macOS | brew install --cask visual-studio-code |
| Linux | пакет .deb / .rpm с code.visualstudio.com |
Расширения ставятся кнопкой в Marketplace или командой в терминале:
code --install-extension ms-python.python
code --install-extension ms-python.vscode-pylance
| Идентификатор | Что даёт |
|---|---|
ms-python.python | запуск, отладка (F5), выбор интерпретатора |
ms-python.vscode-pylance | автодополнение и проверка типов |
Ctrl+Shift+P) → Python: Select Interpreter → выберите интерпретатор из .venv. Иначе F5 запустит системный Python без ваших пакетов.Проверка, что всё встало
Команды, после которых можно начинать первый урок:
| Команда | Ожидаемый результат |
|---|---|
python --version | 3.10 или выше |
pytest --version | версия pytest |
python -c "import selenium; print(selenium.__version__)" | версия Selenium |
pytest -q в пустой папке | «no tests ran» — значит pytest работает |
Частые проблемы
Вместо запуска Python открывается Microsoft Store
Это windows-заглушка python.exe. Отключается в «Параметры → Приложения → Дополнительные параметры приложений → Псевдонимы выполнения приложения»: выключите python.exe и python3.exe. После этого переоткройте терминал.
PowerShell не даёт активировать окружение
Сообщение «выполнение сценариев отключено в этой системе». Разрешите скрипты своему пользователю — права администратора не нужны:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
pip поставил пакет, а импорт не находит его
Почти всегда окружение не активировано. Проверьте префикс (.venv) и путь, который печатает pip -V — он должен вести внутрь папки .venv.
VS Code запускает не тот Python
Палитра команд (Ctrl+Shift+P) → Python: Select Interpreter → выберите интерпретатор из .venv вашей папки. Внизу справа в строке состояния видно, какой выбран.
pytest не видит тесты
Файлы должны называться test_*.py, функции — начинаться с test_. Иначе pytest их просто не соберёт.
Браузер открывается и сразу закрывается
Так и должно быть, если в конце теста вызывается driver.quit(). Чтобы посмотреть на страницу, поставьте точку останова перед закрытием и запустите по F5.