Įrankių paruošimas darbui

M.Gzegozevskis ... 2021-10-01 Testing
  • Selenium
  • Testavimas
About 3 min

# 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 (opens new window) Įrašykite savo kompiuteryje atsiųstą IntelliJ IDEA programinę įrangą Windows OS diegimo instrukcija (opens new window). 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>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

# 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))));
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14

(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:

# 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 (opens new window)

Daugiau bus pridėta ateityje....

Last update: September 20, 2021 06:35
Contributors: Marius Gžegoževskis