Kaip sukurti testavimo automatizavimo sistemą iš „Scratch“?

Šiame nuosekliame vadove aprašysiu, kaip sukurti „modulinę“ testavimo automatikos sistemą nuo nulio naudojant „Java“, „Selenium“, „TestNG“ ir „Maven“.

Pirmiausia pažiūrėkime, kas yra „Test Automation Framework“ ir kokie yra jos kūrimo pranašumai.



„Test Automation Framework“

Koks yra „Test Automation Framework“ tikslas? Kokius iššūkius tai sprendžia kūrėjų komandai?


Vykdant judrią plėtrą, jums gali nepakakti laiko laiku automatizuoti naujas funkcijas, todėl galbūt kuriate automatizuotus scenarijus, daugelyje vietų kopijuodami daug kodų.

Kodo pertvarkymas yra neatskiriama programinės įrangos kūrimo dalis, siekiant išvengti didžiulės technologijų skolos. Tai taip pat taikoma bandymų automatizavimui; pertvarkę automatizuotus scenarijus, ilgainiui pagerinsite įskaitomumą ir priežiūrą.


Šioje „Test Automation Framework“ mokymo programoje galutinis produktas yra daugelio pertvarkymų rezultatas per tam tikrą laiką. Akivaizdu, kad nuolatinis tobulinimas yra būtinas, jei bandymų automatizavimo metu gausime gerą investicijų grąžą.

Kurdami „Test Automation Framework“ turėtume atsižvelgti į šiuos pagrindinius dalykus:

  • Gebėti greitai sukurti automatinius testus, naudojant tinkamus abstrakcijos sluoksnius
  • Ši sistema turėtų turėti reikšmingą registravimo ir ataskaitų teikimo struktūrą
  • Turėtų būti lengvai prižiūrimas ir pratęsiamas
  • Tikrintojai turėtų būti pakankamai paprasti, kad galėtų rašyti automatinius testus
  • Pakartotinis bandymas pakartoti nepavykusius bandymus - tai ypač naudinga atliekant „WebDriver“ vartotojo sąsajos testus

Šioje pamokoje naudosiu:

  • „Java“ kaip programavimo kalba
  • TestNG kaip tvirtinimo pagrindą
  • Mavenas kaip kūrimo įrankis
  • „WebDriver“ kaip naršyklės automatizavimo įrankis
  • IntelliJ kaip IDE

Ši „Test Automation Framework“ mokymo programa yra padalinta į dvi dalis:


1 dalis: Pagrindinio projekto, modulių ir priklausomybių kūrimas

2 dalis: Pridedamas kodas

Šios pamokos 1 dalyje manau, kad jūsų kompiuteryje jau įdiegta „Java“ ir „Maven“.

Veiksmai, kaip sukurti „Test Automation Framework From Scratch“


1 žingsnis - sukurkite naują „Maven“ projektą

Atidarykite „IntelliJ IDE“ ir meniu pasirinkite „Naujas projektas“. Tada jums pateikiamas ekranas, kuriame galite pasirinkti jus dominančio projekto tipą.

2 žingsnis - suteikite savo projektui pavadinimą


Pasirinkite projekto tipą „Maven“. Nurodykite „GroupId“ ir „ArtifatId“ pavadinimą - nusprendžiau pavadinti šią „Test Automation Framework“ „Rima“.

3 žingsnis - Pasirinkite savo projekto vietą

Dabar pasirinkite savo projekto pavadinimą ir darbo srities katalogą


4 žingsnis - sukurtas bazinis projektas

Dabar turite sukurtą pagrindinį projektą. Šiame projekte galime pradėti kurti „maven“ modulius, kad sutvarkytume „Test Automation Framework“ struktūrą.

Taip atrodo mūsų pom.xml

Kadangi tai bus mūsų pagrindinis projektas su pagrindiniu pom.xml, šiame projekte neturėsime jokio kodo. Vietoj to, mes sukursime „Maven“ modulius skirtingoms „Test Automation Framework“ dalims. Pirmyn ir ištrinkite src aplanką.

5 žingsnis - sukurkite skirtingus modulius

Dabar mes galime sukurti skirtingus „maven“ modulius savo sistemai. Mes sukursime šiuos modulius:

rima-karkasas - šiame modulyje yra visos susijusios klasės ir metodai, palengvinantys automatinių testų kūrimą.

rima domenas - šiame modulyje yra domeno kalbos (DSL) klasės.

rima-puslapis-objektai - kaip rodo pavadinimas, šiame modulyje yra puslapio objektai.

rima-regresijos testai - ir pagaliau mūsų automatiniai regresijos testai.

Pirmiausia sukursime rima-karkasas modulis. Norėdami tai padaryti, pasirinkite Failas> Naujas> Modulis

Pasirinkite „Maven“ modulį ir spustelėkite Pirmyn

Kitame ekrane galite nurodyti kuriamo modulio artefactId, šiuo atveju rima-karkasas

Atkreipkite dėmesį į pirminį modulį ir groupId kaip „Rima“ ir spustelėkite Pirmyn, kur galime pateikti modulio pavadinimą ir spustelėkite Baigti.

Kartą rima-karkasas sukurtas modulis, jis turėtų atrodyti maždaug taip

Tada galime toliau kurti likusius modulius tuo pačiu būdu. Sukūrę visus modulius, mūsų projektas turėtų atrodyti žemiau

Galiausiai visi moduliai buvo pridėti prie šaknies pom.xml

Pridėti priklausomybes

Toliau turime pridėti priklausomybes tarp modulių sistemoje, taip pat pridėti bibliotekas ir kitus sudėtingus projektus, nuo kurių priklauso mūsų „Test Automation Framework“.

Pridėjau priklausomybes pom.xml failuose. Galite peržiūrėti „pom.xml“ failus mano „GitHub“ repo faile:

https://github.com/AmirGhahrai/Rima

Šios pamokos 2 dalyje pereisime tikrąjį „Test Automation Framework“ kodą, parašytą „Java“, „WebDriver“ ir „TestNG“.

Ir čia yra nuoroda į šios pamokos 2 dalį:

Puslapio objekto modelio sistema su „Java“ ir „WebDriver“

Papildoma literatūra: