Selenium е набор от инструменти, които са всеизвестни и предпочитани в тестовите среди, когато става въпрос за тестване с различни браузъри и сравняване на поведението на тествания софтуер при използването им. Selenium се използва за автоматизирано тестване на уеб приложения, тъй като осигурява поддръжка за най-популярните версии на уеб браузъри и операционни системи.
Софтуерни уеб приложения, написани на различни езици за програмиране като Java, JavaScript, Python, C#, Ruby, PHP, могат да бъдат тествани автоматизирано със Selenium. Самите тестови сценарии могат да бъдат написани на език, различен от този на тестваното приложение, което прави Selenium още по-предпочитан сред софтуерните тестери.
Основните компоненти на Selenium са както следва:
- Selenium IDE
Selenium Integrated Development Environment е инструмент, който може да бъде добавен към браузъри Google Chrome и Mozilla Firefox. Принципът на работа с този инструмент за автоматизиране е чрез запис и възпроизвеждане на тестовия сценарий. Не са необходими сериозни познания по програмиране за работа с него.
- Selenium RC
Основните компоненти на Selenium remote control са Selenium сървър, който отваря и затваря браузъра, интерпретира и изпълнява команди, които са подадени през тестваната програма, и клиентски библиотеки, които предоставят място за интеракция между езика за програмиране и Selenium сървъра. Selenium RC в оригиналния си вариант вече не се поддържа.
- Selenium WebDriver
Selenium WebDriver е подобрена версия на Selenium RC, разработена заради лимитациите на RC версията. Selenium WebDriver позволява създаването на тестови скриптове на различни езици за програмиране. WebDriver-ът управлява браузъра така, както би го използвал обикновен потребител локално или на отдалечена машина чрез използване на Selenium сървър.
От своя страна Selenium WebDriver архитектурата също е съставена от четири компонента. Те са Selenium клиентска библиотека, JSON wire протокол, използващ HTTP, driver-и на браузъри и истински браузъри.
След като софтуерният тестер се запознае по-подробно с използването на компонентите, може да бъде създаден Selenium WebDriver скрипт със основни стъпки:
- Създаване на WebDriver инстанция
- Отваряне на уеб страница
- Откриване на уеб елемент върху уеб страницата (например: снимка, падащо меню, бутон)
- Изпълнение на действие върху елемента (например: кликане върху снимката)
- Презареждане на очаквания резултат или отговор от браузъра
- Стартиране на теста
- Запис на резултатите и сравнението им с очаквания резултат
- Selenium Grid
Selenium Grid е инструмент, използван за едновременно изпълнение на тестови сценарии върху различни браузъри, операционни системи и машини. Това е едно от основните предимства пред ръчното тестване, тък като за кратък период от време могат да бъдат изпълнени много тестови сценарии с различни конфигирации и тестови данни.
При разработване на автоматизирани тестове със Selenium е добре да се изгради и отделен цялостен framework, базиран на Selenium като се спазват всички правила на обектно ориентираното програмиране. Преизползваемият и добре подреден код помага за по-бързо писане на тестове и по-лесната им поддръжка. Когато се разработват тест скриптове, те трябва да бъдат тествани на основните видове браузъри, тък като поддръжката на езика XPath на различните браузъри се различава и е възможно едни пътища да работят на браузър Google Chrome, но същите елементи да не могат да бъдат открити в DOM дървото на браузър Internet Explorer (Microsoft Edge). Преди създаването на тестовете се изгражда Support Matrix – таблица, която съдържа параметри като браузъри, версии и операционни системи, които ще се поддържат от тестваната система. На база на тази матрица може да се избере основна конфигурация, върху която да се разработват и изпълняват nightly builds, а преди предаване на версията на продукта към клиента, да се изпълняват и тестове върху всички останали комбинации.
Прочетете повече за курса ни по “Автоматизирано тестване”.