luo automatisoituja testejä TestNG

1 Johdanto

automatisoituja testejä voidaan luoda eri työkaluilla riippuen testityypistä. Integrointitestejä voidaan luoda Soapuilla, yksikkötestejä Yksikkötestausmoduulilla ja UI-testejä Selenium IDE: llä. Selenium IDE: n avulla voit luoda skriptejä, jotka auttavat automaatioavusteisessa kokeellisessa testauksessa. Jos haluat luoda vankkoja, selainpohjaisia testejä, kannattaa tutkia seleenillä varustetun testauskehyksen käyttöä.

TestNG on Javan testauskehys,jolla voidaan ajaa seleeniä. Tässä miten-voit oppia luomaan automaattisen testin TestNG.

tällä tavalla opetetaan seuraavaa:

  • luo TestNG testitiedostoja
  • Suorita automaattisia testejä TestNG
  • Luo raportteja TestNG

2 Edeltävät opinnot

ennen kuin aloitat tällä ohjeella, varmista, että olet suorittanut seuraavat edellytykset:

  • Lataa ja asenna Eclipse
  • Lataa Selenium Client & Webdriver Javalle

tämä miten-käyttää yrityksen kulut app malli alkaen lisää kolmas Testimenetelmä osiossa esimerkki skenaario. Kuitenkin, tämä sovellus malli ei ole enää Alustan tukema Mendix. Siksi tätä sovellusmallia käyttäviä osioita voidaan käyttää vain viitteenä eikä osioina, jotka voidaan suorittaa vaiheittain.

3 Java-projektin luominen

tässä luvussa asennat TestNG-laajennuksen ja luot Java-projektin Eclipseen sisältäen TestNG-ja Selenium-kirjastot:

  1. avaa pimennys.
  2. noudata Eclipse-laajennuksen ohjeita > Asenna päivityssivuosasta ladatessa TestNG: tä.
  3. Käynnistä Eclipse uudelleen, jotta muutokset tulevat voimaan.
  4. Valitse Tiedosto > Uusi > Java-Projekti.
  5. anna projektin nimen My Firststestngprojekti ja napsauta Seuraava.
  6. valitse kirjastot-välilehti ja valitse Lisää kirjasto.
  7. valitse TestNG ja valitse Seuraava.
  8. napsauta Valmis asettaaksesi Oletuskirjaston tälle projektille.
  9. napsauta lisää ulkoiset purkit … ja siirry kohtaan, johon Tallennit Seleenipurkkitiedostot.
  10. Lisää kaikki JAR – tiedostot selenium-ja libs-kansioiden sisään:

  11. napsauta Valmis luodaksesi Java-projektin. My firststestngprojekti näkyy Resurssienhallinnassa:

olet nyt valmis perustamaan projektisi!

4 Luo TestNG-tiedosto

luodaksesi uuden TestNG-tiedoston, noudata näitä ohjeita:

  1. napsauta hiiren kakkospainikkeella src-kansiota ja valitse Uusi > Muu…:
  2. valitse TestNG class ja valitse sitten Seuraava:

  3. valitse lähdekansio valitsemalla Selaa…, valitsemalla Myfirstestngproject > src ja valitsemalla OK.

  4. anna seuraavat tiedot:

    • Paketin nimi: myfirstestngpackage
    • Class name: Myfirstestngfile
    • @Beftest: true
    • @AfterTest: totta

  5. valitse Valmis. Malli ensimmäinen TestNG tiedosto luodaan automaattisesti:

    @Test – merkinnällä todetaan, että sen mukainen menetelmä on testitapaus. Tällöin menetelmä f on testitapaus. @BeforeTest – merkinnällä todetaan, että sen mukainen menetelmä suoritetaan ennen ensimmäistä testitapausta. @AfterTest – merkinnällä todetaan, että sen mukainen menetelmä suoritetaan viimeisen testitapauksen jälkeen.

5 luodaan testitapaus

koodataan nyt testitapauksesi.

5.1 lisää WebDriver

luodaksesi muuttujan Webdriverille, toimi seuraavasti:

  1. etsi seuraavia:

    public class MyFirstTestNGFile {
  2. lisää alla oleva koodi seuraavalle riville. Tämä luo driver muuttujan WebDriver-tyypin:

    public WebDriver driver;
  3. paina Ctrl + Shift + O järjestääksesi tuonnin. Tämä tuo puuttuvat lausekkeet ja poistaa käyttämättömät tuontilausekkeet. Seuraava ilmoitus tuodaan:

    import org.openqa.selenium.WebDriver;

5.2 lisätään ennen testimenetelmää

@BeforeTest käytetään huomautusta, jossa todetaan, että sen mukainen menetelmä suoritetaan ennen ensimmäistä testitapausta. Ennen ensimmäistä testitapausta avaa Firefox-selain noudattamalla näitä ohjeita:

  1. muuta seuraava koodi:

    @BeforeTestpublic void beforeTest() {}

    into:

    @BeforeTestpublic void beforeTest() { driver = new FirefoxDriver();}

    tämä luo uuden ilmentymän Firefox-ohjaimesta ja avaa Firefox-selaimen.

  2. paina CTRL + SHIFT + O. seuraava lauseke tuodaan:

    import org.openqa.selenium.firefox.FirefoxDriver;

5.3 Add an AfterTest Method

the @AfterTest annotation is used to statement that the method under it will be executed after the last test case. Viimeisen testitapauksen jälkeen sulje selain muuttamalla seuraavaa koodia:

@AfterTestpublic void afterTest() {}

into:

@AfterTestpublic void afterTest() {driver.close();}

tämä sulkee Firefox-selaimen.

5.4 Lisää ensimmäinen Testimenetelmä

lisätäksesi ensimmäisen testimenetelmän, Avaa URL selaimessa ja muuta seuraava koodi:

@Testpublic void f() {}

into:

@Test(priority=1)public void openApp() {driver.get("http://localhost:8080/index.html");}

tämä Testimenetelmä Avaa URL-osoitteen http://localhost:8080/index.html Firefox-selaimessa. Oletusarvoisesti @Test merkityt menetelmät suoritetaan aakkosjärjestyksessä. Voit käyttää parametreja muokkaamaan huomautuksen toimintoa. Muuttujalla priority voidaan suorittaa menetelmät eri järjestyksessä. TestNG suorittaa @Test – merkinnän, jossa on pienin prioriteettiarvo suurimpaan asti.

5.5 Lisää toinen Testimenetelmä

nyt kun olet kirjautumisikkunassa, haluat kirjautua sisään. Jos haluat lisätä toisen testimenetelmän, noudata näitä ohjeita:

  1. avaa Firefox ja siirry kohtaan http://localhost:8080/index.html.
  2. käytä kehittäjän työkaluja alkuaineen tarkastamiseen.
  3. Napsauta käyttäjänimen syöttökenttää. Tämän kentän tunnus on usernameInput. Tunnisteen CSS-valitsin on hashtag (#) + tunnisteen nimi. Käyttäjätunnuskentässä tämä on #käyttäjätunnusput. Samaa periaatetta käytetään muissakin vaiheissa. CSS-valitsin #käyttäjätunnusput on ainutlaatuinen. On yksi vastaava solmu:

  4. Toista vaiheet 5-6 salasanan syöttökentälle ja kirjaudu sisään-painikkeelle:

    Elementti CSS-valitsin
    salasanan syöttökenttä #passwordInput
    Kirjaudu sisään-painike #loginButton
  5. lisätään uusi testimenetelmä login. Käytä seuraavaa koodia:

    @Test(priority=2)public void login() { driver.findElement(By.cssSelector("#usernameInput")).sendKeys("MxAdmin"); driver.findElement(By.cssSelector("#passwordInput")).sendKeys("1"); driver.findElement(By.cssSelector("#loginButton")).click();}

tämä Testimenetelmä sisältää seuraavat testivaiheet:

  1. Kirjoita mxadmin käyttäjänimeksi.
  2. syötä salasanaksi 1.
  3. Napsauta kirjautumispainiketta.

5.6 lisätään kolmas Testimenetelmä

, jos haluat lisätä kolmannen testimenetelmän, noudata näitä ohjeita.:

  1. Avaa sovellus ja App Explorer, avaa ProgramDetail sivu.
  2. valitse kulut-välilehti:

    kulut-välilehden nimi on tabPage4. Jokainen elementti saa automaattisesti CSS-luokan mx-name-, joten kulut-välilehti saa CSS-luokan mx-name-tabPage4, kun sovellus on käynnissä.

  3. palaa pimennykseen.

  4. lisätään uusi testimenetelmä openExpensesTab. Käytä seuraavaa koodia:

    @Test(priority=3)public void openExpensesTab() { WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".mx-name-tabPage4"))).click();}

    tämä Testimenetelmä kutsuu ExpectedCondition 500 millisekunnin välein, kunnes se joko palaa onnistuneesti tai 10 Sekuntia on kulunut. Kun 10 Sekuntia on kulunut ja elementti ei ole paikannettu, Aikaero heitetään. Jos elementti sijaitsee 10 sekunnin sisällä, menetelmä napsauttaa elementin, jonka luokkanimi on mx-name-tabPage4. Meno-välilehden luokka on mx-name-tabPage4. Luokan CSS-valitsin on piste (.) + luokan nimi, joten kulut-välilehdellä se on .mx-name-tabPage4.

5.7 lisää neljäs Testimenetelmä

nyt kun olet kulut-välilehdellä, haluat luoda uuden kulun. Jos haluat lisätä neljännen testimenetelmän, noudata näitä ohjeita:

  1. avaa Studio Pro ja avaa Desktop_AdminMenu-sivu.
  2. Valitse Uusi Kustannuspainike:

    uuden Kustannuspainikkeen nimi on newButton3, joten painikkeella on mx-name-newButton3 CSS-Luokka:

  3. avaa Desktop_Expense_NewEdit_Admin-sivu.

  4. Etsi nimet seuraavat elementit (kuten teit vaiheessa 3):

    alkuaine nimi
    määrä-kenttä textBox6
    kuvaus pudotusvaihe referenceSelector1
    Tallenna-painike saveButton1
    The name of an element in your app may be different than the name shown in the Name column. In step 7, use the name of the element of your app.
  5. palaa pimennykseen.

  6. lisätään uusi testimenetelmä createExpense. Käytä seuraavaa koodia:

    @Test(priority=4)public void createExpense() { driver.findElement(By.cssSelector(".mx-name-newButton3")).click(); driver.findElement(By.cssSelector(".mx-window-active .mx-name-textBox6 input")).clear(); driver.findElement(By.cssSelector(".mx-window-active .mx-name-textBox6 input")).sendKeys("15.00"); driver.findElement(By.cssSelector(".mx-window-active .mx-name-referenceSelector1 option:nth-child(2)")).click(); driver.findElement(By.cssSelector(".mx-window-active .mx-name-saveButton1")).click();}

    tämä Testimenetelmä sisältää seuraavat testivaiheet:

    1. Valitse Uusi kustannuksella.
    2. Tyhjennä Summakenttä.
    3. Enter 15.00 Summakentässä.
    4. valitse toinen vaihtoehto kuvauksen pudotusvalikosta.
    5. Napsauta Tallenna.

    ponnahdusikkuna näkyy, kun olet napsauttanut uuden kulun (.mx-name-newButton3). Varmistaaksesi, että aktiivisen sivun Elementti noudetaan (joka tässä tapauksessa on ponnahdusikkuna), sinun on lisättävä .mx-window-active ponnahdusikkunan elementtien CSS-valitsimeen.

    jokaiselle syöttökentälle on lisättävä input CSS-valitsimen loppuun.

    määräkentän oletusarvo on 0,00. Uuden arvon syöttämiseksi sinun on ensin tyhjennettävä kenttä.

    viitevalitsimessa on kuusi vaihtoehtoa; tyhjä, Majoitus, ateria, muut, tarvikkeet, Kuljetus. Jos haluat valita Accomodation (toinen vaihtoehto), sinun täytyy lisätä option:nth-child(2) CSS-valitsimen loppuun.

5.8 lisää viides Testimenetelmä

kun olet luonut kulun, haluat kirjautua ulos. Jos haluat lisätä viidennen testimenetelmän, noudata näitä ohjeita:

  1. avaa Studio Pro ja avaa Desktop_MyInfo-pätkä.
  2. Etsi seuraavan alkuaineen nimi:

    alkuaine nimi
    Kirjaudu ulos-painike signOutButton1
  3. lisätään uusi testimenetelmä signOut. Käytä seuraavaa koodia:

    @Test(priority=5)public void signOut() { driver.findElement(By.cssSelector(".mx-name-signOutButton1")).click();}

    tällä testimenetelmällä napsautetaan alkuainetta, jonka luokan nimi on mx-name-signOutButton1.

6 suorita testi

olet nyt valmis suorittamaan testin. Suorita testi noudattamalla näitä ohjeita:

  1. napsauta hiiren kakkospainikkeella My Firststestngproject-kansiota.
  2. valitse Suorita nimellä > TestNG-testi:

    testin tulokset näkyvät konsoli-ikkunassa ja TestNG-tulosikkunassa:

7 Testiraportti

TestNG luo raportteja HTML-muodossa. Testaa raportti noudattamalla näitä ohjeita:

  1. napsauta hiiren kakkospainikkeella My Firststestngproject-kansiota ja valitse Päivitä. Luodaan testitulostekansio:

  2. avaa testitulostekansio.

  3. Napsauta hakemistoa hiiren kakkospainikkeella.html-tiedosto.

  4. valitse Avaa > – selaimella. Raportti näyttää tältä:

  5. klikkaa (Näytä). Testimenetelmät on esitetty aakkosjärjestyksessä:

  6. Napsauta kronologista näkymää. Yleiskatsaus menetelmiin aikajärjestyksessä näytetään:

8 testisarjan luominen

kun suoritat testin kuten suoritit testin, luodaan testisarja automaattisesti. Tämä testisarja sisältää kaikki testNG-tiedostot, jotka löytyvät projektista. Mutta entä jos haluat tehdä vain erityisiä testejä? Kuin sinun täytyy luoda testi suite itse.

  1. napsauta hiiren kakkospainikkeella src-kansiota ja valitse Uusi > Muu.
  2. avaa XML-kansio ja valitse XML-tiedosto:

  3. valitse Seuraava.

  4. muuta tiedostonimi My Firststestsuite.xml.

  5. luo XML-tiedosto napsauttamalla Valmis:

  6. Napsauta lähde-välilehteä:

  7. muuta seuraava koodi:

    <?xml version="1.0" encoding="UTF-8"?>

    into

    <?xml version="1.0" encoding="UTF-8"?><suite name="MyFirstTestSuite"> <test name="Test1"> <classes> <class name="myfirsttestngpackage.MyFirstTestNGFile" /> </classes> </test></suite>

    tämä luo uuden testisarjan MyFirstTestSuite. Testisarjassa on yksi testi: Test1. Testissä on yksi testNG-tiedosto, myfirsttestngpackage.MyFirstTestNGFile.

  8. napsauta hiiren kakkospainikkeella My Firststestsuite-painiketta.XML-tiedosto ja valitse Suorita > 1 TestNG Suite.

hyvin tehty! Loit ensimmäisen TestNG-sviittisi!

9 Suorita Testisarjasi useilla selaimilla käyttäen @Parameters

luomasi testi suoritetaan nyt vain Firefoxissa. Jos haluat varmistaa, että toiminnallisuus toimii odotetusti muissa selaimissa, sinun on suoritettava usean selaimen testaus. TestNG on erittäin helppo suorittaa sama testi eri selaimissa.

  1. Lataa ChromeDriver täältä: https://sites.google.com/a/chromium.org/chromedriver/downloads.
  2. Lataa IEDriver täältä: http://selenium-release.storage.googleapis.com/index.html.
  3. Eclipse-pelissä avaa My Firststestng-tiedosto ja muuta seuraava koodi:

    @BeforeTestpublic void beforeTest() { driver = new FirefoxDriver();}

    into:

    @Parameters("browser")@BeforeTestpublic void beforeTest(String browser) { if(browser.equalsIgnoreCase("chrome")){ System.setProperty("webdriver.chrome.driver", "C://Selenium/chromedriver.exe"); driver = new ChromeDriver(); } else if(browser.equalsIgnoreCase("ie")){ System.setProperty("webdriver.ie.driver", "C://Selenium/IEDriverServer.exe"); driver = new InternetExplorerDriver(); } else{ driver = new FirefoxDriver(); }}

    @Parameters käytetään parametrin (tässä tapauksessa browser) lisäämiseen XML-testisarjasta. Jos selaimen parametri on chrome, käynnistetään Chrome-ohjain.

    tässä kohdassa kromedriver.exe on tallennettu C://Selenium kansio. Muista käyttää oikeaa polkua tässä koodissa.

  4. paina Ctrl + Shift + O, ja seuraavat lausumat tuodaan:

    import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.ie.InternetExplorerDriver;import org.testng.annotations.Parameters;
  5. avaa Myfirstestsuite ja muuta seuraava koodi

    <?xml version="1.0" encoding="UTF-8"?><suite name="MyFirstTestSuite"> <test name="Test1"> <classes> <class name="myfirsttestngpackage.MyFirstTestNGFile" /> </classes> </test></suite>

    muotoon:

    <?xml version="1.0" encoding="UTF-8"?><suite name="MyFirstTestSuite"> <test name="ChromeTest"> <parameter name="browser" value="chrome" /> <classes> <class name="myfirsttestngpackage.MyFirstTestNGFile" /> </classes> </test> <test name="IETest"> <parameter name="browser" value="ie" /> <classes> <class name="myfirsttestngpackage.MyFirstTestNGFile" /> </classes> </test> <test name="FirefoxTest"> <parameter name="browser" value="firefox" /> <classes> <class name="myfirsttestngpackage.MyFirstTestNGFile" /> </classes> </test></suite>

    ensimmäisessä testissä (nimeltään ChromeTest) on selaimen parametri chrome. Tätä parametria käytetään @BeforeTest – menetelmässä My Firststestngfile-tiedostossa.

  6. napsauta hiiren kakkospainikkeella My Firststestsuite-painiketta.XML-tiedosto ja valitse Suorita > TestNG Suite:

hyvin tehty! Loit ensimmäisen automaattisen cross-browser-testin TestNG: llä!

nyt tiedät, miten TestNG-testitiedosto luodaan, miten luodaan testisarja ja miten automatisoidut testit suoritetaan useilla selaimilla.

hyvää testausta!

10 Lue lisää

  • testattavat Mendix-Sovellukset seleeni-IDE: llä
  • testattavat Mikrotestit Yksikkötestausmoduulilla

Leave a Reply

Vastaa

Sähköpostiosoitettasi ei julkaista.