Selenium avtomatlashtirish sinov vositalarining eng yaxshi sharhi: Robot Framework va Katalon Studio

Yaqinda men bir nechta dasturiy ta'minotni sinovdan o'tkazish guruhlari bilan test sinovlarini avtomatlashtirishni boshlashga yordam berish uchun ishlash imkoniyatiga ega bo'ldim. Jamoalar asosan qo'lda sinovdan o'tkazuvchilardan iborat bo'lib, bundan oldin test sinovlarini avtomatlashtirish tajribasiga ega bo'lganlar bor edi, ammo ularning hech biri dasturchilar kabi dasturlash bilan tanish emas edi. Ilovalar asosan internetga asoslangan bo'lib, ular mobil hamkasblariga tegishli. Biz bir nechta sinov vositalarining, shu jumladan bepul va bepul vositalarning qisqa ro'yxatini tuzdik, so'ng ikkita eng yaxshisini - Robot Framework va Katalon Studioni topdik. Umuman olganda, ular juda yaxshi tanlovdir, shuning uchun yonma-yon taqqoslash va kelajakda qanday chiqishlarini ko'rish qiziq bo'lardi.

Texnologiya

Ikkalasi ham Selenium tepasida qurilgan - hozirgi vaqtda eng yaxshi veb-brauzer ishlab chiqaruvchilari (Google, Microsoft, Apple, Mozilla) tomonidan qo'llab-quvvatlanadigan avtomatlashtirish doirasi. Seleniy bu hozirda veb-brauzeringizni avtomatlashtirishning eng yaxshi usuli deb aytish xavfsiz.

Selenyum Appium orqali mobil ilovalarni avtomatlashtirish uchun ham ishlatilishi mumkin. Google va Apple ikkalasi ham avtomatlashtirishni o'zlari o'ylab topishgan, chunki Selenium va Appium-dan foydalanib, biz bir necha platformalarda manba kodi va bilimlaridan qayta foydalanishimiz mumkin - bir marta o'rganing, hamma joyda yozing.

Demak, texnologiya uchun bu galstuk. Robot asoslari - Katalon studiyasi: 1-1.

Narxi

Ikkalasi ham bepul. UFT kabi eskirgan "korxona" dasturini ishlatish biz uchun xarajatlarni taqiqlaydi.

Robot asoslari - Katalon studiyasi: 1-1.

O'rnatish va komponentlar

Robot asoslari ikkita alohida komponentdan iborat: sinov yuguruvchisi va IDE. Ushbu tarkibiy qismlarni o'rnatish biroz murakkab, ammo ishlar tugallangach, siz borishingiz yaxshi bo'ladi. Birinchidan, siz Python-ni kompyuteringizga o'rnatishingiz kerak. Keyin ba'zi buyruq satrlarini ishga tushiring. Agar siz Windows-dan foydalansangiz, siz muammolarga duch kelishingiz mumkin, chunki bu OS Python-ning birinchi darajali fuqarosi emas, lekin ular kamdan-kam hollarda ro'y beradi va echimlarni osongina almashtirish mumkin.

Aslida uchinchi "norasmiy" tarkibiy qism mavjud, uni keyinchalik aytib o'taman.

Katalon Studio uchun, mening fikrimcha, bu eng yaxshi o'rnatish tajribalaridan biridir. Agar siz Eclipse-ni o'rnatgan bo'lsangiz, unda siz buni bilasiz. Windows uchun ZIP-faylni va ko'chirmani yuklab olishingiz kerak bo'ladi. MacOS uchun siz uchun tayyor bo'lgan DMG fayli mavjud. Juda chiroyli.

Robot asoslari - Katalon studiyasi: 0.5-1.

Sinov dizayni

Yozib olish (sinovsiz avtomatlashtirish)

Rostini aytsam, men dasturchi sifatida yozishni va o'qishni yaxshi ko'radigan odam emasman. Menga shunchaki kodni kiritishim osonroq va tezroq bo'ladi. Ammo kodlash bo'yicha kam tajribaga ega bo'lganlar uchun o'z harakatlarini yozib olish va sinov holatlarini yaratish qobiliyati katta samaradorlik yutug'idir.

Afsuski, Robot Framework diktofonni taqdim etmaydi - va shu erda uchinchi komponent paydo bo'ladi. Selenium loyihasi taniqli Firefox Selenium IDE nomli qo'shimchani o'z ichiga oladi, bu aslida sinov yozuvi va ijro etish vositasi. Selenium IDE qo'shimcha plaginlarga ega bo'lishi mumkin (bu qo'shimcha plagin hisoblanadi!) Va kimdir Selenium IDE Robot Framework kodini yaratishda yordam beradigan plagin yozgan. Yana bir qancha o'rnatish ishlari bajarilishi kerak, ammo u ishlaydi.

Buning salbiy tomoni shundaki, Selenium IDE-ni ishlab chiqish bir muncha vaqt davomida harakatsiz edi va u Firefox-ning eski plagin tizimiga asoslangan bo'lib, ular 2017 yil oxirida uzishga qaror qilishdi. Ha, Selenium IDE o'sha paytda ishlamay qoladi. yangi Firefox versiyalari uchun.

Katalon Studio Chrome, Firefox va hatto Internet Explorer uchun o'z qo'shimchalari bilan birga keladi. O'rnatish mos keladigan veb-brauzer qo'shimchalari do'konlariga borib o'rnatishni bosing.

Katalon Studio bu erda o'z etakchisini kengaytiradi. Robot asoslari - Katalon studiyasi: 0.5-1.

Kodlash (skript yozish)

Robot Framework o'ziga xos domen tiliga (DSL) ega. Shaxsiy kalit so'zlar Python va Java-da yozilishi mumkin, ammo sinov holatlari haqida gap ketganda, siz ushbu DSL-ni gapirishingiz kerak. Nega oddiy test holatlarida inson tillarini taqlid qiladi, murakkablari juda robotlidir. Men shaxsan uni umumiy dasturlash tillariga qaraganda kamroq tavsifli deb bilaman:

*** Sozlamalar ***
Kutubxona qatori
*** Sinov ishlari ***
Loop-in-diapazoni
 : 1 $ RANGDA $ {INDEX} UChUN
 $ {INDEX} -ga kirish
 \ $ {RANDOM_STRING} = $ {INDEX} tasodifiy satrini yaratish
 $ {RANDOM_STRING} -ga kirish
Loop-elementlar uchun
 @ {ITEMS} Star Trek Star Wars Perry Rhodan ro'yxatini yarating
 : @ {{ITEMS} ichida $ {ELEMENT} UChUN
 $ {ELEMENT} tizimiga kirish
 $ $ ELEMENT} $ {ELEMENT} $ {SPACE} $ {EMPTY} qatorini almashtiring
 $ {ELEMENT} tizimiga kirish
For-Lo-Exit
 @ {ITEMS} Yaxshi elementlar ro'yxatini yarating 1 Break on Me Element 2
 : @ {{ITEMS} ichida $ {ELEMENT} UChUN
 $ {ELEMENT} tizimiga kirish
 \ '$ {ELEMENT}' == 'Break On Me' Loop uchun chiqish bo'lsa, kalit so'zni ishga tushiring
 \ Jurnal bu erda ko'proq amallarni bajarish ...
Takrorlash-harakat
 Kalit so'z 2 ni takrorlang, takrorlang ...

Ammo sintaksisni ajratib ko'rsatadigan Robot Framework IDE yaxshi, shuning uchun men baribir tezda ko'nikib qolaman deb o'ylayman.

Katalon Studio, o'z navbatida, Groovy-ni va albatta Java-ni qo'llab-quvvatlaydi (Groovy Java-ga asoslangan). Nima uchun Java, C # yoki JavaScript kabi asosiy dasturlash tillari kabi ommabop emas - Ruby, Python yoki JavaScript-da bo'lgani kabi shunga o'xshash samarali tuzilmalarga ega. Yana bir yaxshi tomoni shundaki, hamma narsani qilish uchun o'nlab bepul Java kutubxonalari mavjud, shuning uchun biz "hamma narsani" qayta yozishga majbur bo'lmadik.

Ammo Katalon Studio-da yoqimli narsa shundaki, biz xohlagan vaqtda Manual rejimini (Yozuvchi va nuqta-bosish bilan GUI) va Skript rejimini (Groovy muharriri bilan) almashtirishimiz mumkin. Biz bu imkoniyatdan foydalanib, sinov qo'llanmalarini kod yozishni o'rgatdik. Dastlab ular o'zlarining sinov ishlarini "nuqta va chertish" harakatlari va elementlari bo'yicha tuzadilar, so'ngra Groovy kodini ko'rish uchun skript rejimiga o'tadilar. Juda yoqimli xususiyat.

Robot asoslari - Katalon studiyasi: 0.5-1.

Sinov ma'lumotlari

Ikkalasi ham yaxshi. Sinov holatlari uchun ma'lumotlarni Excel fayllaridan, ma'lumotlar bazalaridan va boshqalardan olish mumkin. Bizga kerak bo'lgan narsalar mavjud, shuning uchun hozirga qadar shikoyat qiladigan hech narsa yo'q.

Robot asoslari - Katalon studiyasi: 1-1.

Kalit so'zni kengaytirish

Siz Robot Framework va Katalon Studio-da maxsus kalit so'zlarni yozishingiz mumkin. Ular bir necha marotaba tantanali sintaksisni talab qilishdi, ammo testerlar o'z kalit so'zlarini dasturchilar yordamisiz yozishlari mumkin. Hujjatlar va darsliklar etarlicha yaxshi, shuning uchun men buni galstuk sifatida qoldiraman. Robot asoslari - Katalon studiyasi: 1-1.

Bajarish, hisobot berish va integratsiya

Biz testlarni avtomatlashtirishning zamonaviy vositalari buyruq satri va Jenkins singari CI-da sinov ishlarini bajarish imkoniyatiga ega bo'lishini kutmoqdamiz. Nosozliklarni tekshirishni osonlashtirish uchun bizda ilovada hisobotlar bo'lishi kerak. Hisobotlar, shuningdek, keyinchalik ko'rib chiqilishi uchun arxivlanadigan formatda (HTML, CSV, PDF) tayyorlanishi kerak.

Aftidan, Katalon Studio ko'proq JIRA integratsiyasini sinab ko'rmoqda, bu menga juda yoqadi, chunki biz ham JIRA-ni ishlatmoqdamiz, ammo menga bu qanday ishlashi mumkinligini ko'rishga imkon bering.

Ikkalasida etishmayotgan bitta narsa - bu CIni o'rnatish va sozlash vaqtini qisqartirish uchun tasvir, lekin ehtimol bu mening dangasam.

Menga yana bir galstuk. Robot asoslari - Katalon studiyasi: 1-1.

Jamiyat va qo'llab-quvvatlash

Ikkala mahsulot ham faol rivojlanmoqda va ularning egalari va hamjamiyat tomonidan yaxshi qo'llab-quvvatlanmoqda. Savollarga juda qisqa vaqt ichida javob beriladi. Bundan tashqari, Robot Framework va Katalon Studio selenyumga asoslanganligi sababli, biz murakkab stsenariylarni yaratish uchun vanilya Selenium va WebDriver-ga murojaat qilishimiz mumkin.

Aftidan, Katalon Studio dasturiy ta'minotni sinovdan o'tkazish bo'yicha xizmatlarni ko'rsatadigan kompaniya tomonidan qurilgan, ya'ni ular qanday funktsiyalar amaliy va zarurligini bilishadi. Robot Framework - bu GitHub-dagi ommabop ommaviy dastur.

Bu erda oxirgi galstuk. Robot asoslari - Katalon studiyasi: 1-1.

Xulosa

Robot asoslari: 7.5 / 9 - Katalon Studio: 9/9.

Ikkala vosita ham testlarni avtomatlashtirish guruhlari uchun eng yaxshi tanlovdir, Katalon Studio foydalanuvchi tajribasiga yuqori darajada ega va shuning uchun test sinovlariga asoslangan avtomatlashtirish guruhi uchun Robot Framework-dan yaxshiroqdir. Raqobat har doim iste'molchilar uchun yaxshi va men kelajakda futbolchilar tomonidan ko'proq yutuqlarni kutmoqdaman.

Mening blogim: Robotning doirasi va Katalon studiyasi