Здравствуйте! В сегодняшней статье рассмотрим автоматизацию web тистирования при помощи языка Python , фреймворка Selenium и Selenium WebDriver .

Автоматизация веб тестирования с 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);")

Таким образом, возможно автоматизировать выполнение большинства ручных тестов. Единственное чего не хватает в нашем примере - это проверка результатов.