Įrankių paruošimas darbui
Automatinio testavimo programinės įrangos diegimo žingsniai
IntelliJ IDEA diegimas ir reikiamų bibliotekų prijungimas darbui su Selenium ir Cucumber
Atsisiųsti programinę įrangą skirtą Java programavimo kalbai:
IntelliJ IDEA
Įrašykite savo kompiuteryje atsiųstą IntelliJ IDEA programinę įrangą Windows OS diegimo instrukcija.
Kitose operacinėse sistemose procesas yra labai panašus.
Paleidūs projektą sukurti Maven Java tipo projektą ir pasirinkti Project SDK Java versiją nuo 1.8 iki 11 versijos.
Nukopijuoti kodo fragmentą, kuris yra pateiktas žemiau ir
Maven POM.xml
failą įdėkite šį tekstą tarp žymių (angl. tags) <project> </project>
.
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0-rc-1</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>6.11.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>6.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.0-alpha5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.github.prashant-ramcharan</groupId>
<artifactId>courgette-jvm</artifactId>
<version>5.12.0</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
</dependencies>
Prijungtų bibliotekų oficialūs adresai ir paaiškinimai
Jeigu nuspręstumėte panaudoti kitą projektų kūrimo ir valdymo sistemą pvz. Gradle, Ivy, Buildr ar kt.
Apačioje rasite visas reikiamas nuorodas svetainės tab'ę.
2. Selenium diegimas
Pagrindinės bibliotekos darbui su Selenium įrankių Java aplinkoje.
3. Cucumber diegimas
Karkasas skirtas darbui su progravimo kalba JAVA ir papildomom bibliotekom Selenium ir JUnit.
Įgalina naudoti Gherkin tipo failus su plėtiniu pvz. Hello.feature, kur yra aprašomi testavimo scenarijai (Test Cases).
Kartais yra reikalinga pagrindinė karkaso biblioteka pvz. jeigu nuspręstumėte, kurti savo karkasą.
Dažnai ši priklausomybė yra automatiškai įdėta į pvz. cucumber-java, bet jeigu nutiktu taip,
kad gaunate klaidos pranešimą jog kai kurios klasės neveikia tada tiesiog pridėkite šį dependency.
Hamcrest biblioteka mažiau skirtingų assert sakinių suspaprastinta sintaksė.
Palengvinimas ir patobulinimas JUnit bibliotekos skirtos vienetų testams rašyti.
Palyginimui Hamcrest VS JUnit:
@Test
public void shouldGetTaxRate() throws Exception {
BigDecimal actual = TaxCalculator.DEFAULT_TAX_RATE;
//JUnit assert
assertTrue(actual.compareTo(BigDecimal.valueOf(20)) < 0);
assertEquals(BigDecimal.valueOf(18), actual);
//Hamcrest matcher
assertThat(actual, closeTo(BigDecimal.valueOf(18), BigDecimal.valueOf(0)));
assertThat(actual, comparesEqualTo(BigDecimal.valueOf(18.000)));
assertThat(actual, is(lessThan(BigDecimal.valueOf(20))));
}
(Multi-threaded | Parallel Cucumber-JVM | Parallelize your Java Cucumber tests on a feature level or on a scenario level.)
Jeigu norime lygiagreciai paleisti testus, galime naudoti šią biblioteką
Note
Kartais dėl slf4j-simple bibliotekos neturėjimo galite gauti klaidos pranešimą.
Kas neleis jums dirbti su automatinio testavimo įranga.
4. WebDriveriai internetinėms svetainėms testuoti
Atsisiunčiam draiverius priklausomai kokią naršyklę naudosime automatiniams testams:
- Firefox:
https://github.com/mozilla/geckodriver/releases - Chrome (pagal versiją):
- Safari
- Opera
- Headless
Plačiau apie cucumber karkasą oficiali svetainė
https://cucumber.io/docs/guides/browser-automation/
Automatinio testavimo pavyzdiniai projektai su įdėtomis bibliotekomis:
https://github.com/prashant-ramcharan/courgette-jvm
Daugiau bus pridėta ateityje....