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 та застосунок що тестується для браузера походитимуть з одного домену.

З виходом Selenium 2.0 з'явилась технологія WebDriver, яка за допомогою використання вбудованих у браузери API для автоматизації може керувати браузером напряму, не емулюючи дії користувача. Проте для браузерів що не мають такого API може досі застосовуватись Selenium Core.

Загальні відомості

Selenium це об'єктно-орієнтований Java-додаток, який може аналізувати и певної структури для того, щоб знаходити в них команди для маніпуляції браузером і команди для виконання певних дій і перевірок. Крім того, команди Selenium можна викликати з наступних мов програмування: Java, C#, Ruby, Haskell, JavaScript, Objective-C, Perl, PHP, Python, R . 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 — дозволяє одночасно запускати тести на кількох серверах та типах веббраузерів зменшуючи час на тестування.

Підтримувані платформи Microsoft Windows

Firefox 2, 3, 3.x Internet Explorer 6, 7, 8 Safari 2,3 Opera 8, 9, 10 Google Chrome

Mac OS X

Safari 2, 3, 4 Firefox 2, 3, 3.x Camino 1.0a1 Mozilla Suite 1.6+, 1.7+ Seamonkey 1.0

GNU/Linux

Firefox 2, 3, 3.x Mozilla Suite 1.6+, 1.7+ Konqueror Opera 8, 9, 10, 11

Інші браузери — часткова підтримка, в залежності від ОС, браузера і налаштувань безпеки браузера.

Див. також

PageObject Автоматизоване тестування Юзабіліті-тестування Регресивне тестування

Примітки

Посилання Основний сайт проєкту Selenium Selenium IDE: автоматизоване тестування вебдодатків за 15 хвилин Selenium Certification