Selenium
Selenium — інструмент для автоматизації роботи в web-браузері. Selenium надає застосунок запису/відтворення, що дозволяє створювати тести вебзастосунків без вивчення мов програмування. Інструмент також надає власну предметно-орієнтовану мову (Selenese) задля написання тестів на таких мовах як C#, Groovy, Java, Perl, PHP, Python, Ruby та Scala.
Найчастіше використовується для автоматизації Web-тестування.
Історія
Selenium як проєкт був розпочатий у червні 2004 року, а вже в грудні 2004 року він став відкритим. Спочатку проєкт вела компанія ThoughtWorks, науковим керівником якої є Мартін Фаулер.
Перший Selenium (Selenium RC) складався з сервера, який запускав браузер і завантажував у ньому JavaScript код, що називався Selenium Core. Selenium Core слухав команди сервера, і виконував їх над застосунком що тестується. Щоб обійти політику одного походження, яка забороняла скриптам з різних доменів отримувати дані одне від одного для уникнення XSS використовувалось два способи. Перший — запускати браузер з підвищеними повноваженнями, що дозволяло йому ігнорувати цю політику. Другий — «проксі ін'єкція»: запуск в сервері Selenium також проксі-сервера, через який браузер отримує застосунок що тестується, але з доданим кодом Selenium Core. Таким чином Selenium Core та застосунок що тестується для браузера походитимуть з одного домену.[2]
З виходом Selenium 2.0 з'явилась технологія WebDriver, яка за допомогою використання вбудованих у браузери API для автоматизації може керувати браузером напряму, не емулюючи дії користувача.[3] Проте для браузерів що не мають такого API може досі застосовуватись Selenium Core.
Загальні відомості
Selenium це об'єктно-орієнтований Java-додаток, який може аналізувати файли певної структури для того, щоб знаходити в них команди для маніпуляції браузером і команди для виконання певних дій і перевірок. Крім того, команди Selenium можна викликати з наступних мов програмування: Java, C#, Ruby, Haskell, JavaScript, Objective-C, Perl, PHP, Python, R[4]. Selenium підтримується Microsoft Internet Explorer, Google Chrome, Mozilla Suite і Mozilla Firefox для Microsoft Windows, Linux і Apple Macintosh.
В рамках проєкту Selenium також випускається інструмент Selenium IDE, який являє собою версію досить популярної бібліотеки Selenium в GUI-оболонці. Реалізовано це у вигляді розширення до браузера Firefox, розміром близько 240 Кб, включаючи сам Selenium. Цей інструмент дозволяє записувати і відтворювати скрипти, що являють собою звичайні HTML-сторінки з однією таблицею, яка містить команди.
Компоненти
- Selenium IDE — інтегроване середовище розробки у вигляді Firefox-додатка, який дозволяє записувати та відтворювати тести в Firefox 2+.
- Selenium Client API — набір API, що дозволяє писати тести на Java, C#, Ruby, JavaScript та Python.
- Selenium Remote Control — це клієнт / серверна система, яка дозволяє керувати веб-браузерами локально або на іншому комп'ютері, використовуючи практично будь-яку мову програмування та тестування системи.
- Selenium WebDriver — драйвер що дозволяє керувати веб-браузером за допомогою Selenese або API.
- Selenium Grid — дозволяє одночасно запускати тести на кількох серверах та типах веб-браузерів зменшуючи час на тестування.
Підтримувані платформи
- Firefox 2, 3, 3.x
- Internet Explorer 6, 7, 8
- Safari 2,3
- Opera 8, 9, 10
- Google Chrome
- Safari 2, 3, 4
- Firefox 2, 3, 3.x
- Camino 1.0a1
- Mozilla Suite 1.6+, 1.7+
- Seamonkey 1.0
- Firefox 2, 3, 3.x
- Mozilla Suite 1.6+, 1.7+
- Konqueror
- Opera 8, 9, 10, 11
Інші браузери — часткова підтримка, в залежності від ОС, браузера і налаштувань безпеки браузера.
Примітки
- Release 4.1.0 — 2021.
- Selenium 1 (Selenium RC) — Selenium Documentation. Процитовано 28 травня 2016.
- Selenium WebDriver — Selenium Documentation. Процитовано 28 травня 2016.
- Platforms Supported by Selenium. www.seleniumhq.org. Процитовано 25 жовтня 2016.