Автоматизация веб тестирования с Python и Selenium

Автоматизация веб тестирования с Python и Selenium

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

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

Источник