Автоматизация веб тестирования с Python и Selenium
Здравствуйте! В сегодняшней статье мы рассмотрим автоматизацию web тистирования при помощи языка Python, фреймворка Selenium и Selenium WebDriver.
Коротко говоря, Selenium WebDriver использует язык программирования по вашему выбору для разработки сценариев для автоматического просмотра веб-страниц в разных браузерах. Другими словами, Selenium WebDriver помогает автоматизировать то, что пользователь обычно делает в веб-браузере. Вот и все! Но то, что вы на самом деле делаете или автоматизируете, зависит только от вас. Автоматизация web тестирования, вот одно из возможных применений Selenium WebDriver с Python.
Прежде чем углубляться в подробности, рекомендуется инициализировать и настроить WebDriver для браузеров, которые вы собираетесь использовать. Вот 3 наиболее распространенных веб-драйвера, которые обычно используются:
Firefox — GeckoDriver
Chrome — ChromeDriver
Safari — SafariDriver (Обязательно включите « Разрешить удаленную автоматизацию » в Safari)
Загружаемый WebDriver должен иметь ту же версию, что и браузер вашего компьютера. ( Например: версия браузера Firefox на компьютере — 70.0.1 . Поэтому драйвер Gecko для загрузки — версия 0.26.0, поскольку этот выпуск предназначен для версии Firefox> 60.0)
Далее инициализируем WebDriver:
from selenium import webdriver # Основной элемент webdriver
# Ниже приведены 3 импорта утилит для веб-драйвера
из selenium.webdriver.common.by import By
из
selenium.webdriver.support.ui
from bs4 import BeautifulSoup # Для парсинга HTML, если требуется
# настройка веб-драйверов - лучше использовать по одному
firefox = webdriver.Firefox(executable_path='path/to/gecko.exe')
chrome = webdriver.Chrome(executable_path='path/to/chrome.exe' )
safari = webdriver.Safari() # для сафари не требуется exe_path :)
Пример ниже дает представление о том, как структурировать модульные тесты. Мы можем загрузить веб-сайт, щелкнуть каждую статью и (возможно) проанализировать статью с помощью bs4 , чтобы убедиться, что она не содержит искаженных HTML - тегов. Далее приступаем к самому веб тестированию.
# Цикл чередования Firefox, Chrome и Safari для тестирования веб-сайта.
webbie_url = r' https://myrusakov.ru/ '
for i in [firefox, chrome, safari]:
i.get(webbie_url)
# Здесь проверки bs4!!
# JavaScriptExecutor - для визуализации прокрутки
i.execute_script("window.scrollTo(0, document.body.scrollHeight);")
Таким образом, возможно автоматизировать выполнение большинства ручных тестов. Единственное чего не хватает в нашем примере - это проверка результатов.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.