Огляд архітектури Селену

В даний час селен є одним з найпопулярніших інструментів для автоматизації на ринку. Це дуже потужний інструмент і широко використовується. Однією з причин його популярності є те, що він безкоштовний, тобто це набір тестування з відкритим кодом. Його популярність - не лише результат цього, але й багато інших причин. Це інструмент автоматизації веб-додатків і підтримує всі різні веб-переглядачі, такі як Internet Explorer, Chrome, Safari, Mozilla Firefox, Opera тощо. Він розширює підтримку на різних платформах, а також на різних мовах програмування, таких як C #, Java, Perl, PHP, Пітон, Рубі. Селен дещо схожий на інструмент UFT (HP Quick Test Pro або QTP). Основна відмінність полягає в тому, що Selenium призначений лише для автоматизації веб-додатків. Якщо ви використовуєте Selenium для тестування, він відомий як Selenium Testing.

Пам'ятайте, що Selenium - це набір веб-інтерфейсів з відкритим кодом (User Interface) для тестування автоматизації. У ньому є багато програмного забезпечення, яке самостійно відповідає вимогам тестера автоматизації в організації. Інструмент був розроблений на думках творів Джейсона Х'юггінса в 2004 році як внутрішній інструмент. Selenium підтримує декілька різних платформ, таких як Windows, Linux, Solaris та Macintosh. Він також підтримує ОС (операційну систему) для мобільних додатків, таких як Windows mobile та android mobile, iOS. Всі функціональні тести можна легко автоматизувати і провести за допомогою Selenium легко. Для того, щоб досягти безперервного тестування, він також може бути інтегрований з іншими інструментами тестування для автоматизації, такими як Maven, Docker, Jenkins та ін. Оскільки селен не може самостійно генерувати звіти про випробування, його слід інтегрувати з такими інструментами, як JUnit або TestNG в щоб керувати тестовими справами та генерувати звіти, які добре описуються та налаштовуються відповідно до наших вимог.

Селенова архітектура

Нижче наведено чотири основні архітектури Селену -

  1. Селен IDE
  2. Селен RC
  3. Веб-драйвер Selenium
  4. Селенова сітка

1) Selenium IDE або інтегроване середовище розробки можуть бути реалізовані як розширення Firefox. Для написання тестових сценаріїв в IDE не потрібна логіка програмування, оскільки вона дозволяє просто записувати події, що відбулися в результаті вашої взаємодії з браузером, а також функції відтворення, редагування та тестування налагодження. Всі записи та відтворення дозволяється виконувати в реальному середовищі. Створені сценарії можна редагувати пізніше вручну. Вважається, що це ідеальне середовище для створення сценаріїв тестування Selenium незалежно від бажаного способу тестування. Це правда, що для використання Selenium IDE вам не потрібні знання мови програмування, але попередні базові знання JavaScript будуть корисні при використанні команд Selenese, як runScript, і т.д. Одне з обмежень Selenium IDE полягає в тому, що, будучи плагіном Firefox, він підтримує лише один браузер, тобто Mozilla Firefox.

2) Selenium Remote Control - це інструмент для тестування автоматизації, який дозволяє створювати тестові сценарії для веб-програми будь-якою мовою програмування, використовуючи будь-який браузер із увімкненим JavaScript. В основному, Selenium RC має два основні компоненти - Сервер і Клієнтську бібліотеку.

Роль сервера тут полягає у запуску та знищенні браузера, прийомі та підтвердженні HTTP-запитів, зроблених між браузером та тестованою програмою, інтерпретації та виконанні команд Selenese, переданих тестовою програмою, а також виступаючи як HTTP-проксі. Однак бібліотеки клієнтів виступають як інтерфейс між сервером Selenium RC та різними мовами програмування, які використовуються.

Методологія архітектури клієнт-сервер RC, з Selenium RC між пакетом автоматизації та AUT (додаток під тестом), робить виконання скриптів повільнішим. Про це дбає і веб-матриця Selenium, оскільки вона зв’язується безпосередньо з AUT і використовує природну сумісність браузера з автоматизацією без потреби жодного сервера.

3) WebDriver Selenium - найпопулярніший і важливий компонент Selenium. Це один з найпопулярніших інструментів автоматизації, на який зараз покладається кілька інженерів з автоматизації. Інструмент є "інструментом з відкритим кодом", тобто він доступний безкоштовно.

WebDriver - це вдосконалена версія Selenium RC, яка розширює підтримку на різні браузери та платформи, на відміну від Selenium IDE. Виконання тестових сценаріїв не вимагає запуску сервера Selenium, на відміну від Selenium RC. Selenium Webdriver - це в основному веб-інтерфейс API автоматичного тестування, який легко зрозуміти та використовувати. Він також підтримує тестування динамічних веб-сторінок. Selenium Webdriver допомагає у створенні та підтримці тестових сценаріїв дуже простим способом, оскільки він не пов'язаний з будь-якими тестовими рамками чи інструментами. Це дозволяє легко інтегруватись з будь-якими інструментами з відкритим кодом, такими як Junit, TestNG тощо, відповідно до наших знань, вимог та використання.

4) Сітка селену є одним із компонентів пакету Selenium, який підтримує виконання декількох тестових скриптів у різних браузерах або операційній системі чи машинах. Після зазначення обраної вами операційної системи разом із браузером та версією браузера селену селену можна легко з'єднати з Selenium Remote. Ці значення можна задавати лише на основі можливостей використовуваного віддаленого Selenium.

Хаб і вузли - це дві його основні складові. Щоб мати можливість використовувати інструмент Selenium Grid, найпершим кроком для цього є створення концентратора. Після створення концентратора до цього концентратора можна підключити кілька різних вузлів. Тестові сценарії виконуються у вузлі. Функція концентратора, однак, полягає в тому, щоб перевірити, чи закінчиться тест правильно відповідно до наданих специфікацій, таких як деталі машини, операційної системи та браузера, зазначені у вашому тесті.

Висновок

На закінчення, Selenium - це в основному набір інструментів, а саме IDE, розширення Firefox, яке дозволяє виконувати функції запису та відтворення. Функція запису / відтворення обмежує і доступна лише для Firefox, тому другим інструментом є RC з Webdriver (третім інструментом) як розширення, що надає API на різних мовах та сумісність браузера. Нарешті, Grid відповідає за те, щоб зробити можливим паралельне виконання скриптів у різних браузерах та машинах.

Рекомендовані статті

Це було керівництвом архітектури Selenium. Тут ми обговорюємо вступ та топ-4 архітектури селену. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Кар'єра в селені
  2. Життєвий цикл дефектів при тестуванні програмного забезпечення
  3. Як встановити селен
  4. Питання для інтерв'ю з селеном