Огляд найкращих інструментів тестування Selenium: тест Robot Framework проти Katalon Studio

Нещодавно у мене був шанс співпрацювати з декількома командами тестування програмного забезпечення, щоб допомогти їм розпочати роботу зі своїми починаннями з автоматизації тестів. Команди складаються здебільшого вручну тестерів, і деякі, хто раніше мав досвід автоматизації тестування, але жодна з них не була знайома з програмуванням, як розробники. Додатки здебільшого використовуються в Інтернеті із супутніми мобільними додатками. Ми склали короткий список декількох інструментів тестування, включаючи безкоштовні та невільні, а потім придумали два найкращих - Robot Framework та Katalon Studio. Вони в цілому є хорошим вибором, тому я думаю, що було б цікаво зробити порівняльне порівняння і подивитися, як вони будуть працювати в майбутньому.

Технологія

Обидва побудовані на вершині Selenium - системи автоматизації, яку зараз підтримують провідні розробники веб-браузерів (Google, Microsoft, Apple, Mozilla). Можна впевнено сказати, що Selenium - це найкращий спосіб автоматизації веб-браузера.

Селен також можна використовувати для автоматизації мобільних додатків через Appium. Зважаючи на те, що Google і Apple придумали свій власний спосіб автоматизації, використовуючи Selenium і Appium, це означає, що ми можемо повторно використовувати вихідний код і знання на різних платформах - вчитися один раз, писати всюди.

Отже, що стосується технології, це краватка. Робот Рамка - Каталон Студія: 1–1.

Ціна

Обидва є безкоштовними без будь-яких зобов'язань. Запуск застарілого «корпоративного» програмного забезпечення, такого як UFT, є для нас просто невигідним.

Робот Рамка - Каталон Студія: 1–1.

Встановлення та компоненти

Robot Framework оснащений двома окремими компонентами: тестовим бігуном та IDE. Встановити ці компоненти трохи складніше, але як тільки все буде зроблено, ви добре піти. Спочатку потрібно встановити Python на комп’ютер. Потім запустіть кілька командних рядків. Якщо ви використовуєте Windows, ви можете зіткнутися з проблемами, оскільки ця ОС не є першокласним громадянином Python, але вони трапляються рідко, і рішення можна легко знайти в Google.

Насправді є третій "неофіційний" компонент, про який я згадаю пізніше.

Для Katalon Studio, на мій погляд, це один з найкращих досвіду монтажу. Якщо ви встановили Eclipse, то ви б це знали. Для Windows вам доведеться завантажити ZIP-файл і витягнути його. Для macOS для вас готовий файл DMG. Досить акуратно.

Роботові рамки - Каталон Студія: 0,5–1.

Тестовий дизайн

Запис (автоматизація без коду)

Чесно кажучи, як програміст, я не є великим шанувальником запису та відтворення. Мені легше і швидше мені просто ввести код. Однак для тих, хто мало досвіду кодування, можливість записувати свої дії та генерувати тестові випадки - це величезна виграш продуктивності.

На жаль, Robot Framework не забезпечує рекордер - і ось тут з’являється третій компонент. Проект Selenium включає сумно відому надбудову Firefox під назвою Selenium IDE, яка по суті є інструментом тестового запису та відтворення. Selenium IDE може мати надбудови (це надбудова над додатком!), І хтось люб’язно написав надбудову, яка допомагає Selenium IDE генерувати код Robot Framework. Ще кілька монтажних робіт, які потрібно виконати, але це працює.

Мінус цього полягає в тому, що розробка IDE Selenium деякий час була неактивною, і вона базується на старій платформі додатків Firefox, яку вони вирішили відключити в кінці 2017 року. Так, Selenium IDE перестане працювати в цей час для нових версій Firefox.

Katalon Studio має власні додатки для Chrome, Firefox і навіть Internet Explorer. Установка настільки ж проста, як перейти до відповідних магазинів додаткових веб-браузерів і натиснути «Встановити».

Студія Katalon розширює свою роль тут. Роботові рамки - Каталон Студія: 0,5–1.

Кодування (сценарій)

Robot Framework має свою власну доменну мову (DSL). Користувацькі ключові слова можуть бути записані в Python та Java, але коли мова йде про вміст тестових випадків, ви повинні говорити про цей DSL. Чому це імітує людські мови для простих тестових випадків, складні - досить робототехнічні. Я особисто вважаю це менш описовим, ніж загальні мови програмування:

*** Налаштування ***
Рядок бібліотеки
*** Тестові справи ***
Для діапазону в діапазоні
 : ЗА $ {INDEX} У РЯДІ 1 3
 \ Увійти $ {INDEX}
 \ $ {RANDOM_STRING} = Створити випадкову рядок $ {INDEX}
 \ Увійдіть $ {RANDOM_STRING}
Елементи для циклу
 @ {ITEMS} Створити Список Зоряних походів Зоряні війни Перрі Родан
 : ЗА $ {ELEMENT} В @ {ITEMS}
 \ Увійти $ {ELEMENT}
 \ $ {ELEMENT} Замінити рядок $ {ELEMENT} $ {SPACE} $ {EMPTY}
 \ Увійти $ {ELEMENT}
Для виходу з циклу
 @ {ITEMS} Створити список Хороший елемент 1 Розбий на мене хороший елемент 2
 : ЗА $ {ELEMENT} В @ {ITEMS}
 \ Увійти $ {ELEMENT}
 \ Запустити ключове слово, якщо '$ {ELEMENT}' == 'Перерва на мене', вийдіть для циклу
 \ Журнал Виконайте більше дій тут ...
Повтор-дія
 Повторити журнал ключових слів 2 Повторюючи це ...

Але робота IDE Robot Framework з підсвічуванням синтаксису - це добре, тому, мабуть, я до цього швидко можу звикнути.

Katalon Studio, з іншого боку, підтримує Groovy і, звичайно, Java (Groovy заснований на Java). Чому він не настільки популярний, як основні мови програмування, такі як Java, C # або JavaScript - він має подібні продуктивні структури, як у Ruby, Python або JavaScript. Ще одна добра річ - те, що є багато безкоштовних бібліотек Java, щоб зробити все, тому нам не довелося переписувати «все».

Але найкрутіша річ в студії Katalon - це те, що ми можемо перемикатися між ручним режимом (із програмою Recorder і GUI вказівника миші) та режимом Script (з редактором Groovy) у будь-який час. Ми скористалися цим, щоб навчити тестувальників вручну писати код. Спочатку вони розробляють свої тестові випадки за допомогою пунктів та клацань дій та елементів, а потім переходять у режим сценарію, щоб побачити еквівалентний код Groovy. Дуже приємна особливість.

Роботові рамки - Каталон Студія: 0,5–1.

Дані тесту

І те й інше добре. Дані для тестових випадків можна надсилати з файлів Excel, баз даних і т.д.

Робот Рамка - Каталон Студія: 1–1.

Розширюваність ключових слів

Ви можете писати спеціальні ключові слова як в Robot Framework, так і в Katalon Studio. Вони вимагали певного багаторазового синтаксису, але тестери можуть писати власні ключові слова без допомоги програмістів. Документація та навчальні посібники досить хороші, тому я залишу це як краватку. Робот Рамка - Каталон Студія: 1–1.

Виконання, звітність та інтеграція

Ми очікуємо, що сучасні інструменти автоматизації тестів зможуть виконувати тестові випадки за допомогою командного рядка та в таких інтерфейсах, як Дженкінс. Нам також потрібно мати звіти в додатку, щоб полегшити розслідування несправностей. Звіти також повинні бути підготовлені у архівованому форматі (HTML, CSV, PDF), щоб їх можна було переглянути згодом.

Схоже, що Katalon Studio експериментує з більш рідною інтеграцією JIRA, що мені добре звучить, оскільки ми також використовуємо JIRA, але дозвольте мені побачити, наскільки це буде добре.

Одне, чого не вистачає в обох, - це зображення, щоб скоротити час на розгортання та конфігурацію CI, але, можливо, це лише моя лінь.

Ще одна краватка для мене. Робот Рамка - Каталон Студія: 1–1.

Громада та підтримка

Обидві продукти активно розвиваються і добре підтримуються власниками, а також громадою. На питання відповідають у дуже короткий термін. Більше того, оскільки Robot Framework і Katalon Studio базуються на селені, ми можемо значною мірою вдатися до ванілі Selenium і WebDriver для складних сценаріїв.

Схоже, що Katalon Studio побудована компанією, яка робить послуги тестування програмного забезпечення, а значить, вони знають, які функції практичні та необхідні. Robot Framework - популярний проект з відкритим кодом на GitHub, тому я очікую те саме.

Остання краватка тут. Робот Рамка - Каталон Студія: 1–1.

Висновок

Рамка роботів: 7.5 / 9 - Студія Katalon: 9/9.

Обидва інструменти є чудовим вибором для команд з автоматизації тестів, оскільки Katalon Studio має перевагу щодо досвіду роботи користувачів, і тому є кращим, ніж Robot Framework для команди тестування на базі тестерів. Конкуренція завжди хороша для споживачів, і я з нетерпінням чекаю, що в майбутньому побачать більше успіхів від гравців.

Мій пост у блозі: Robot Framework проти Katalon Studio