1 Bevezetés
az automatizált tesztek a tesztek típusától függően különböző eszközökkel hozhatók létre. Integrációs tesztek hozhatók létre a SoapUI-val, az egységtesztek az Egységtesztelési modullal, az UI tesztek pedig a Selenium IDE-vel. A Selenium IDE segítségével szkripteket hozhat létre az automatizálással támogatott feltáró tesztelés elősegítésére. Ha robusztus, böngésző alapú teszteket szeretne létrehozni, meg kell vizsgálnia a Selenium tesztelési keretrendszerének használatát.
a TestNG egy Java tesztelési keretrendszer, amely a Selenium meghajtására használható. Ebben az útmutatóban megtudhatja, hogyan hozhat létre automatizált tesztet a TestNG segítségével.
ez a útmutató megtanítja, hogyan kell csinálni a következőket:
- TestNG tesztfájlok létrehozása
- automatizált tesztek futtatása a TestNG segítségével
- jelentések készítése a TestNG segítségével
2 előfeltételek
mielőtt elkezdené ezt az útmutatót, győződjön meg arról, hogy teljesítette a következő előfeltételeket:
- töltse le és telepítse az Eclipse-t
- töltse le a Selenium Client-et & WebDriver Java-ra
ez az útmutató a vállalati költségek alkalmazássablont használja, amely a harmadik tesztmódszer hozzáadása szakaszban kezdődik egy példahelyzethez. Ezt az alkalmazássablont azonban a Mendix már nem támogatja platformként. Ezért az ezt az alkalmazássablont használó szakaszok csak referenciaként használhatók, nem pedig szakaszokként, amelyeket lépésről lépésre be lehet fejezni.
3 Java projekt létrehozása
ebben a fejezetben telepíti a TestNG plug-int, és létrehoz egy Java projektet az Eclipse – ben, beleértve a TestNG és a Selenium könyvtárakat:
- nyissa meg a napfogyatkozást.
- kövesse az Eclipse plug-in > Install from update site szakasz utasításait a TestNG letöltése részben.
- indítsa újra az Eclipse-t, hogy a módosítások életbe lépjenek.
- Fájl Kiválasztása > Új > Java Projekt.
- írja be a projekt nevét a Myfirsttestngproject mezőbe, majd kattintson a Tovább gombra.
- válassza a könyvtárak fület, majd kattintson a könyvtár hozzáadása gombra.
- válassza a TestNG lehetőséget, majd kattintson a Tovább gombra.
- kattintson a Befejezés gombra a projekt alapértelmezett TestNG könyvtárának beállításához.
- kattintson a külső Üvegek hozzáadása… elemre, és keresse meg a Selenium JAR fájlok mentésének helyét.
-
adja hozzá az összes JAR fájlt a selenium-és libs mappákba:
-
kattintson a Befejezés gombra a Java projekt létrehozásához. MyFirstTestNGProject jelenik meg a csomag Explorer:
most már kész a Projekt beállítása!
4 TestNG fájl létrehozása
új TestNG fájl létrehozásához kövesse az alábbi lépéseket:
- kattintson a jobb gombbal az src mappára, majd válassza az új > egyéb lehetőséget…:
-
válassza a TestNG osztály lehetőséget, majd kattintson a Tovább gombra:
-
kattintson a Tallózás … gombra egy forrásmappa kiválasztásához, válassza a MyFirstTestNGProject > src lehetőséget, majd kattintson az OK gombra.
-
adja meg a következő információkat:
- Csomag neve: myfirsttestngpackage
- Osztály neve: MyFirstTestNGFile
- @ Beforttest: igaz
- @AfterTest: igaz
-
kattintson a Befejezés gombra. Az első TestNG fájl sablonja automatikusan létrejön:
a
@Test
megjegyzést arra használjuk, hogy kijelentsük, hogy az alatta lévő módszer teszt eset. Ebben az esetben af
módszer egy teszt eset. A@BeforeTest
annotáció arra szolgál, hogy kijelentse, hogy az alatta lévő módszer az első teszteset előtt kerül végrehajtásra. A@AfterTest
megjegyzés arra szolgál, hogy kijelentse, hogy az alatta lévő módszer az utolsó teszteset után kerül végrehajtásra.
5 teszteset létrehozása
most kódoljuk a tesztesetet.
5.1 WebDriver hozzáadása
a Webdriverhez használandó változó létrehozásához kövesse az alábbi lépéseket:
-
keresse meg a következőket:
public class MyFirstTestNGFile {
-
adja hozzá az alábbi kódot a következő sorhoz. Ez létrehoz egy
driver
változót a WebDriver típusból:public WebDriver driver;
-
nyomja meg a Ctrl + Shift + O billentyűkombinációt az Importálás megszervezéséhez. Ez importálja a hiányzó utasításokat, és eltávolítja a fel nem használt importálási utasításokat. A következő utasítás lesz importálva:
import org.openqa.selenium.WebDriver;
5.2 Add a Beforttest metódus
a @BeforeTest
annotáció arra szolgál, hogy kijelentse, hogy az alatta lévő metódus az első teszteset előtt kerül végrehajtásra. Az első teszteset előtt nyissa meg a Firefox böngészőt az alábbi lépések végrehajtásával:
-
módosítsa a következő kódot:
@BeforeTestpublic void beforeTest() {}
into:
@BeforeTestpublic void beforeTest() { driver = new FirefoxDriver();}
ez létrehoz egy új példányt a Firefox illesztőprogramból, és megnyitja a Firefox böngészőt.
-
nyomja meg a CTRL + SHIFT + O. a következő utasítás lesz importálva:
import org.openqa.selenium.firefox.FirefoxDriver;
5.3 Adjon hozzá egy Utóteszt metódust
a @AfterTest
annotáció azt jelzi, hogy az alatta lévő metódus az utolsó teszteset után kerül végrehajtásra. Az utolsó teszteset után zárja be a böngészőt a következő kód megváltoztatásával:
@AfterTestpublic void afterTest() {}
into:
@AfterTestpublic void afterTest() {driver.close();}
ez bezárja a Firefox böngészőt.
5.4 az első vizsgálati módszer hozzáadása
az első vizsgálati módszer hozzáadásához nyisson meg egy URL-t a böngészőben, majd módosítsa a következő kódot:
@Testpublic void f() {}
into:
@Test(priority=1)public void openApp() {driver.get("http://localhost:8080/index.html");}
ez a teszt módszer megnyitja a http://localhost:8080/index.html
URL-t a Firefox böngészőben. Alapértelmezés szerint a @Test
által jegyzetelt módszerek ábécé sorrendben kerülnek végrehajtásra. A paraméterek segítségével módosíthatja a kommentár funkcióját. A priority
paraméter használható a módszerek más sorrendben történő végrehajtására. A TestNG a @Test
megjegyzést a legalacsonyabb prioritási értékkel hajtja végre a legnagyobbig.
5.5 adja hozzá a második vizsgálati módszert
most, hogy a bejelentkezési ablakban van, be kell jelentkeznie. A második vizsgálati módszer hozzáadásához kövesse az alábbi lépéseket:
- nyissa meg a Firefoxot, és lépjen a
http://localhost:8080/index.html
pontra. - használja a fejlesztői eszközöket az elem ellenőrzéséhez.
-
kattintson a felhasználónév beviteli mezőre. A mező azonosítója usernameInput. Az azonosító CSS-választója egy hashtag (
#
) + az azonosító neve. A Felhasználónév mezőben ez lesz # usernameInput. Ugyanezt az elvet alkalmazzák a többi lépésnél is. A CSS választó #usernameInput egyedülálló. Van egy megfelelő csomópont: -
ismételje meg az 5-6. lépéseket a jelszó beviteli mezőhöz és a Bejelentkezés gombhoz:
elem CSS választó jelszó beviteli mező #passwordInput
Bejelentkezés gomb #loginButton
-
adjon hozzá egy új vizsgálati módszert, amelynek neve
login
. Használja a következő kódot:@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();}
ez a vizsgálati módszer a következő vizsgálati lépéseket tartalmazza:
- adja meg az mxadmin nevet felhasználónévként.
- adja meg az 1-et jelszóként.
- kattintson a Bejelentkezés gombra.
5.6 A harmadik vizsgálati módszer hozzáadása
a harmadik vizsgálati módszer hozzáadásához kövesse az alábbi lépéseket:
- nyissa meg az alkalmazást, majd az App Explorerben nyissa meg a ProgramDetail oldalt.
-
válassza ki a költségek lapot:
a költségek lap neve tabPage4. Minden elem automatikusan megkapja a
mx-name-
CSS osztályt, így a költségek fül megkapja amx-name-tabPage4
CSS osztályt, amikor az alkalmazás fut. -
menj vissza az Eclipse – hez.
-
adjon hozzá egy új vizsgálati módszert, amelynek neve
openExpensesTab
. Használja a következő kódot:@Test(priority=3)public void openExpensesTab() { WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".mx-name-tabPage4"))).click();}
ez a vizsgálati módszer a
ExpectedCondition
– ot 500 milliszekundumonként hívja, amíg vagy sikeresen visszatér, vagy 10 másodperc telt el. Amikor 10 másodperc telt el, és az elem nem található, egy TimeoutException kerül dobásra. Ha az elem 10 másodpercen belül található, a módszer azmx-name-tabPage4
osztálynévvel rendelkező elemre kattint. A költségek lap osztályamx-name-tabPage4
. Az osztály CSS-választója egy pont (.
) + az osztály neve, tehát a költségek lapon.mx-name-tabPage4
lesz.
5.7 adja hozzá a negyedik vizsgálati módszert
most, hogy a költségek lapon van, új kiadást szeretne létrehozni. A negyedik vizsgálati módszer hozzáadásához kövesse az alábbi lépéseket:
- nyissa meg a Studio Pro alkalmazást, majd nyissa meg a Desktop_AdminMenu oldalt.
-
válassza ki az új költség gombot:
az új költség gomb neve
newButton3
, tehát a gombnakmx-name-newButton3
CSS osztálya lesz: -
nyissa meg a Desktop_Expense_NewEdit_Admin oldalt.
-
keresse meg a következő elemek nevét (ahogy a 3. lépésben tette):
elem név összeg mező textBox6
leírás legördülő referenceSelector1
Mentés gomb 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.
-
menj vissza az Eclipse – hez.
-
adjon hozzá egy új vizsgálati módszert, amelynek neve
createExpense
. Használja a következő kódot:@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();}
ez a vizsgálati módszer a következő vizsgálati lépéseket tartalmazza:
- kettyenés új költség.
- törölje az összeg mezőt.
- írja be a 15-öt.00 az összeg mezőben.
- válassza ki a második lehetőséget a leírás legördülő menüből.
- Kattintson A Mentés Gombra.
egy felugró ablak jelenik meg az új költség (
.mx-name-newButton3
) gombra kattintás után. Annak érdekében, hogy az aktív oldal eleme visszakereshető legyen (amely ebben az esetben az előugró ablak), hozzá kell adnia a.mx-window-active
elemet az előugró elem CSS-választójához.minden beviteli mezőhöz hozzá kell adni
input
a CSS választó végén.az összeg mező alapértelmezett értéke 0,00. Új érték megadásához először törölnie kell a mezőt.
a referencia választónak hat lehetősége van; üres, Szállás, Étkezés, egyéb, kellékek, szállítás. A szállás kiválasztásához (a második lehetőség) hozzá kell adnia
option:nth-child(2)
a CSS választó végén.
5.8 Add az ötödik vizsgálati módszer
miután létrehozott egy költség, akkor eldönthetjük, hogy jelentkezzen ki. Az ötödik vizsgálati módszer hozzáadásához kövesse az alábbi lépéseket:
- nyissa meg a Studio Pro alkalmazást, majd nyissa meg a Desktop_MyInfo kódrészletet.
-
keresse meg a következő elem nevét:
elem név kijelentkezés gomb signOutButton1
-
adjon hozzá egy új vizsgálati módszert, amelynek neve
signOut
. Használja a következő kódot:@Test(priority=5)public void signOut() { driver.findElement(By.cssSelector(".mx-name-signOutButton1")).click();}
ez a tesztelési módszer a
mx-name-signOutButton1
osztálynévvel rendelkező elemre kattint.
6 futtassa a tesztet
most már készen áll a teszt futtatására. A teszt futtatásához kövesse az alábbi lépéseket:
- kattintson a jobb gombbal a MyFirstTestNGProject mappára.
-
válassza a Futtatás lehetőséget > TestNG teszt:
a teszt eredményei megjelennek a konzol ablakban és a TestNG eredmények ablakban:
7 tesztjelentés
a TestNG jelentéseket generál HTML formátumban. A jelentés teszteléséhez kövesse az alábbi lépéseket:
-
kattintson a jobb gombbal a MyFirstTestNGProject mappára, majd válassza a Frissítés lehetőséget. Létrejön egy teszt kimeneti mappa:
-
nyissa meg a teszt-kimeneti mappát.
-
kattintson a jobb gombbal az Indexre.html fájl.
-
válassza a Megnyitás > webböngészővel lehetőséget. A jelentés így fog kinézni:
-
kattintson a (show) gombra. A vizsgálati módszerek betűrendben vannak feltüntetve:
-
kattintson az időrendi nézetre. A módszerek áttekintése időrendi sorrendben jelenik meg:
8 tesztcsomag létrehozása
amikor a tesztet a teszt futtatásához hasonlóan futtatja, automatikusan létrejön egy tesztcsomag. Ez a tesztcsomag tartalmazza a projektben található összes testNG fájlt. De mi van, ha csak meghatározott teszteket akar futtatni? Mint magának kell létrehoznia egy tesztcsomagot.
- kattintson a jobb gombbal az src mappára, majd válassza az új > egyéb lehetőséget.
-
nyissa meg az XML mappát, és válassza ki az XML fájlt:
-
kattintson a Tovább gombra.
-
módosítsa a fájl nevét MyFirstTestSuite értékre.xml.
-
kattintson a Befejezés gombra az XML fájl létrehozásához:
-
kattintson a forrás fülre:
-
módosítsa a következő kódot:
<?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>
ez létrehozza az új tesztcsomagot
MyFirstTestSuite
. A tesztcsomag egy tesztet tartalmaz:Test1
. A teszt tartalmaz egy testNG fájlt,myfirsttestngpackage.MyFirstTestNGFile
. -
kattintson a jobb gombbal a MyFirstTestSuite elemre.xml fájlt, majd válassza a Futtatás > 1 TestNG Suite lehetőséget.
szép munka! Ön hozta létre az első TestNG Suite!
9 futtassa a tesztcsomagot több böngészőben a @Parameters használatával
a létrehozott teszt mostantól csak a Firefoxon fut. Ha meg akarja győződni arról, hogy a funkcionalitás a többi böngészőben elvárt módon működik, akkor több böngészőt kell tesztelnie. A TestNG nagyon könnyű elvégezni ugyanazt a tesztet a különböző böngészők.
- töltse le a ChromeDriver itt: https://sites.google.com/a/chromium.org/chromedriver/downloads.
- töltse le az IEDriver-t itt: http://selenium-release.storage.googleapis.com/index.html.
-
az Eclipse programban nyissa meg a MyFirstTestNGFile fájlt, és módosítsa a következő kódot:
@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
paraméter beszúrására szolgál (ebben az esetbenbrowser
) a test suite XML-ből. Ha a böngésző paraméterechrome
, elindul egy Chrome illesztőprogram.ebben a szakaszban, chromedriver.az exe-t a C://Selenium mappa. Ügyeljen arra, hogy a helyes utat használja ebben a kódban.
-
nyomja meg a Ctrl+Shift+O billentyűkombinációt, és a következő utasítások lesznek importálva:
import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.ie.InternetExplorerDriver;import org.testng.annotations.Parameters;
-
nyissa meg a MyFirstTestSuite-ot, és módosítsa a következő kódot
<?xml version="1.0" encoding="UTF-8"?><suite name="MyFirstTestSuite"> <test name="Test1"> <classes> <class name="myfirsttestngpackage.MyFirstTestNGFile" /> </classes> </test></suite>
:
<?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>
az első teszt (
ChromeTest
néven) a böngésző paraméterechrome
. Ezt a paramétert a myfirsttestngfile@BeforeTest
metódusában fogjuk használni. -
kattintson a jobb gombbal a MyFirstTestSuite elemre.xml fájl és válassza a Futtatás > TestNG Suite lehetőséget:
szép munka! Ön hozta létre az első automatizált cross-browser teszt TestNG!
most már tudja, hogyan kell létrehozni egy TestNG tesztfájlt, hogyan kell létrehozni egy tesztcsomagot, és hogyan kell futtatni az automatizált teszt(ek) et több böngészőben.
Boldog tesztelést!
10 Olvass tovább
- teszt Mendix Alkalmazások Selenium IDE használatával
- tesztelje a Mikroflow-kat az egység tesztelési moduljával