Преглед на най-добрите инструменти за тестване на Selenium: Robot Framework срещу Katalon Studio

Наскоро имах възможност да работя с няколко екипа за тестване на софтуер, за да им помогна да започнат своите начинания за автоматизация на тестове. Екипите се състоят предимно от ръчни тестери и някои, които преди това са имали опит с тестовата автоматизация, но никой от тях не е бил запознат с програмирането като разработчици. Приложенията са предимно уеб базирани, с придружаващи мобилни приложения. Направихме кратък списък от няколко инструмента за тестване, включително безплатни и не-свободни, а след това излязохме с най-добрите две - Robot Framework и Katalon Studio. Като цяло те са доста добър избор, така че мисля, че би било интересно да направим едно до друго сравнение и да видим как ще се справят в бъдеще.

технология

И двете са изградени на върха на Selenium - рамката за автоматизация, която в момента се поддържа от най-добрите разработчици на уеб браузъри (Google, Microsoft, Apple, Mozilla). Безопасно е да се каже, че Selenium е най-добрият начин за автоматизиране на вашия уеб браузър засега.

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. Още няколко инсталационни работи, които трябва да се свършат, но работят.

Недостатъкът на това е, че разработката на Selenium IDE е била неактивна от известно време и се основава на старата добавъчна рамка на Firefox, която са решили да изключат в края на 2017 г. Да, Selenium IDE ще спре да работи по това време за по-нови версии на Firefox.

Katalon Studio се предлага със собствени добавки за Chrome, Firefox и дори Internet Explorer. Инсталирането е толкова лесно, колкото да отидете в съответните магазини за добавки на уеб браузър и щракнете върху Инсталиране.

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

Кодиране (скриптове)

Robot Framework има собствен език, специфичен за домейна (DSL). Персонализираните ключови думи могат да бъдат написани в Python и Java, но когато става въпрос за съдържание на тестови случаи, трябва да говорите, че DSL. Защо имитира човешки езици за прости тестови случаи, сложните са доста роботизирани. Лично аз го намирам за по-малко описателен от обикновените езици за програмиране:

*** Настройки ***
Библиотечен низ
*** Тестови случаи ***
За-Loop-In-Range
 : ЗА $ {INDEX} В RANGE 1 3
 \ Влезте $ {INDEX}
 \ $ {RANDOM_STRING} = Генериране на произволен низ $ {INDEX}
 \ Влезте $ {RANDOM_STRING}
За-Loop-елементи
 @ {ITEMS} Създаване на списък Star Trek Star Wars Пери Родан
 : ЗА $ {ELEMENT} В @ {ITEMS}
 \ Влезте $ {ELEMENT}
 \ $ {ELEMENT} Замяна на низа $ {ELEMENT} $ {SPACE} $ {EMPTY}
 \ Влезте $ {ELEMENT}
За-Loop-Излизане
 @ {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 Studio е, че по всяко време можем да превключваме между ръчен режим (с рекордер и GUI с точки и щракване) и режим на скриптове (с редактор Groovy). Възползвахме се от това, за да обучим ръчни тестери да пишат код. Първоначално те проектират своите тестови случаи чрез действия и елементи с точка и щракване, след което преминават в режим на скрипт, за да видят еквивалентния код на Groovy. Много приятна функция.

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

Данни от теста

И двете са добри. Данните за тестовите случаи могат да бъдат подавани от файлове на Excel, бази данни и т.н.

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

Разширяемост на ключовите думи

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

Изпълнение, отчитане и интеграция

Очакваме съвременните инструменти за автоматизация на тестове да могат да изпълняват тестови случаи чрез команден ред и в CI като Jenkins. Също така трябва да имаме отчети в приложението, за да улесним разследването на повредите. Отчетите също трябва да бъдат подготвени в архивируем формат (HTML, CSV, PDF), така че да могат да бъдат потърсени по-късно.

Изглежда, че Katalon Studio експериментира с по-родна JIRA интеграция, което ми звучи добре, тъй като ние също използваме JIRA, но нека да видя колко добре ще се получи.

Едно нещо, което липсва и в двете, е изображение за съкращаване на времето за разгръщане и конфигуриране на CI, но може би това е просто моята мързел.

Още една вратовръзка за мен. Роботна рамка - Каталон Студио: 1–1.

Общност и подкрепа

И двата продукта са в активно развитие и са добре подкрепени от собствениците си, както и от общността. На въпросите се отговаря в много кратки срокове. Освен това, тъй като Robot Framework и Katalon Studio са базирани на Selenium, можем да прибягваме до ванилия Selenium и WebDriver за сложни сценарии.

Изглежда, че Katalon Studio е изградено от компания, която извършва услуги за тестване на софтуер, което означава, че те знаят кои функции са практични и необходими. Robot Framework е популярен проект с отворен код на GitHub, така че очаквам същото.

Последната вратовръзка тук. Роботна рамка - Каталон Студио: 1–1.

заключение

Роботна рамка: 7.5 / 9 - Каталон Студио: 9/9.

И двата инструмента са чудесен избор за екипи за тестова автоматизация, като Katalon Studio има предимство в потребителското изживяване и затова е по-добър от Robot Framework за екип за тестване, базиран на тестер. Конкуренцията винаги е добра за потребителите и с нетърпение очаквам да видя повече напредъци от играчите в бъдеще.

Моят пост в блога: Robot Framework срещу Katalon Studio