Прокачайся в код-рев’ю: для перших 50 учасників — курс безкоштовний

час читання: 3 хв

Що треба знати інженерам з автоматизації тестування про JavaScript?

Чому JavaScript така популярна серед інженерів з автоматизації тестування, у чому особливості мови та які переваги її інструментів, розповів керівник групи тестування програмного забезпечення Дмитро Прокопук.

керівник групи тестування програмного забезпечення Дмитро Прокопук

Що треба знати про JavaScript

— У будь-якої мови програмування, яку використовують для автоматизації тестування, є свої особливості. JavaScript — не виняток, — вважає Дмитро.

  • JavaScript— це динамічно типізована мова. За динамічної типізації ви можете опустити визначення типів даних для змінних. Це здійснюється автоматично під час виконання програми, на відміну від статичної типізації, коли типи даних для змінних мають бути визначені до виконання програми. За динамічної типізації код пишеться швидше, але в майбутньому ви можете пропустити помилки.
  • JavaScript— це багатопарадигмальна мова. Вона підтримує як функціональний, так і об’єктно-орієнтований стилі програмування. Як частина автоматизованого тестування, мультипарадигма JavaScript дає гнучкість у побудові архітектури проєкту, можливість легко й швидко писати тести.
  • JavaScript має найбільшу пакетну інфраструктуру серед усіх мов програмування. Наприклад, якщо вам потрібно працювати з PDF, XLS або іншими файлами в рамках тестів, у JavaScript уже є пакет, який допоможе протестувати будь-який формат файлу.

Переваги інструментів автоматизації JavaScript

Немає ініціалізації Selenium WebDriver

— Selenium WebDriver — це інструмент для автоматизації дій веббраузера, — пояснює Дмитро. — Щоб працювати з Selenium WebDriver, його необхідно ініціалізувати, тобто оголосити. Однак оголосити треба правильно. Різні підходи використовують у вигляді шаблонів проєктування.

В інструментах JavaScript вам не потрібно ініціалізувати Selenium WebDriver і вибирати, який підхід використовувати. Розробники інструментів врахували попередній досвід і впровадили ініціалізацію драйвера. На інших мовах потрібно самим оголошувати Selenium WebDriver. По-перше, це вимагає часу. А по-друге, інженеру-початківцю з автоматизації може бути важко зробити це правильно.

Широкий вибір

— Це особливо добре видно на прикладі автоматизації користувацького інтерфейсу, де використовують 3 підходи інструментів JavaScript:

  1. На основі Selenium. Класичний підхід до автоматизації вебзастосунків, коли ви взаємодієте з браузером (Chrome, Firefox) через Selenium WebDriver.
  2. На основі протоколу DevTools. Це новий підхід, за якого взаємодія з браузером відбувається не через Selenium WebDriver, а через DevTool.
  3. На основі JavaScript. За такого підходу ви взаємодієте з браузером за допомогою функціональності, реалізованої на JavaScript.

Технічні можливості

— Автоматизація не стоїть на місці, — нагадує Дмитро. — А з розвитком технологій розробки користувацького інтерфейсу виникла необхідність працювати з вкладкою браузера «Network» для виконання якісних перевірок продуктивності програми. У JavaScript є можливість працювати з мережевою вкладкою браузера без підключення додаткових бібліотек (це час на пошук, вивчення підключення), чого немає в інструментах Java, C#, Python.

Низький поріг входу

— Щоб почати писати автотести на JavaScript, достатньо:

  • Мати можливість виконувати пошук за локаторами. Локатор — це рядок, який дає змогу знайти елемент (кнопку, поле введення) на сторінці вебзастосунку або вебсайту.
  • Знати основи JavaScript. Це охоплює типи даних, умовні вирази, роботу з функціями, масивами й циклами.
  • Знати page object. Page object — це базовий підхід до організації проєкту автоматизації (тестовий фреймворк).
8 корисних джерел для вивчення JavaScript

JavaScript — це мова інтерфейсу

— Якщо у вас є вебпроєкт, то розробники обов’язково знатимуть JavaScript, — переконаний Дмитро. — І допоможуть організувати інфраструктуру тестового фреймворка, виконати review, написати тести.

Інфраструктура для розвитку

— Середовище JavaScript зростає швидше за всі інші. Тому, з високим ступенем імовірності, під час виконання завдань ви зможете знайти й використовувати готовий пакет. У JavaScript їх уже понад 1,3 мільйона.

Де використовують інструменти JavaScript

  • В автоматизації вебзастосунків. По суті, це емуляція дій користувача в браузері. Наприклад, ви можете автоматично протестувати форму входу в застосунок та інші складніші випадки.
  • В автоматизації сервісів. У всіх застосунках є сервіси, що реалізують базову логіку застосунку, а інструменти JavaScript дають змогу швидко почати автоматизацію сервісів.
  • В автоматизації настільних застосунків, написаних із використанням електронної технології. Найвідомішими застосунками, написаними на Electron, є Skype і Visual Studio Code. У JavaScript є інструменти для тестування візуальної частини та самого застосунку.
  • В автоматизації мобільних застосунків. Буде розроблятися все більше й більше мобільних застосунків, тому мобільна автоматизація — один із трендів. За допомогою інструментів JavaScript ви можете автоматизувати застосунки як для Android, так і для iOS.

Дякуємо за надану тему порталу training.epam.com.