Selenium C# oktatóanyag NUnit példával
Selenium Áttekintés
Selenium egy nyílt forráskódú web Automatizálási tesztelés több böngészőt és több operációs rendszert támogató eszköz. Lehetővé teszi a tesztelőknek több programozási nyelv használatát, mint pl Java, C#, Python, .Net, Ruby, PHP és Perl az automatizált tesztek kódolásához.
C# áttekintés
A C# egy objektum-orientált programozási nyelv, amelyből származik C++ és a Java. A C# lehetővé teszi a fejlesztők számára, hogy alkalmazásokat készítsenek a Visual Studio használatával .Net platformon. Az alábbiak a legfontosabb jellemzők C#.
- Ez egy objektum-orientált programozási nyelv
- Támogatja a konzol, windows és web alapú alkalmazások fejlesztését
- Olyan funkciókat biztosít, mint a beágyazás, az öröklődés és a polimorfizmus.
A C# alapvető szintaxisa
A C# nyelvű programnak tartalmaznia kell a következő szakaszokat
- Névtér deklaráció
- Osztályok
- Osztálytulajdonságok és módszerek
- Fő módszer
- Programnyilatkozatok
Példa-
Az alábbiakban egy minta látható Selenium C# példaprogram a 'Guru99' szöveg kinyomtatására a rendszerkonzolon.
using System; namespace FirstProgram { class DemoPrint { static void main(){ Console.WriteLine("Guru99"); } } }
Magyarázat:
- Névtér a fentiekben Selenium A C# példa több osztály gyűjteménye. Minden névteret a „using” kulcsszóval kell deklarálni.
- A kód első utasítása tartalmazza a programunkban a 'Rendszer' névteret. A rendszernévtér határozza meg a C#-ban használt alapvető osztályokat és eseményeket. A használandó névtér a programkövetelménytől függ.
- A második utasítás egy „FirstProgram” névteret deklarál a „DemoPrint” osztály számára. Az AC# fájl több osztályt is tartalmazhat ugyanazon a névtéren belül.
- A harmadik utasítás tartalmazza az osztálydeklarációt. Egy osztály több attribútumot és több metódust is tartalmazhat.
- A negyedik utasítás tartalmazza a Main metódus deklarációját. A fő módszer az egyes osztályok végrehajtásának belépési pontja.
- Az utolsó utasítás a C# szintaxis, amelyet egy utasítás konzolra történő nyomtatására használnak. A WriteLine a „Console” osztály egyik metódusa.
Selenium C# Setup segítségével
A Visual Studio beállítása Selenium WebDriver:
Most ebben Selenium C# oktatóanyag, tanuljuk meg lépésről lépésre a Visual Studio beállításának folyamatát Selenium WebDriver:
A Visual Studio egy integrált fejlesztői környezet (IDE), amelyet a fejlesztők arra használnak, hogy alkalmazásokat építsenek több platformon, mint pl. Windows, Android, iOS és felhő alapú alkalmazások.
Step 1) Navigáljon az URL-hez
https://visualstudio.microsoft.com/downloads/ és kattintson a 'Ingyenes letöltés' gomb jelenik meg a Visual Studio Community lapján
Step 2) Nyissa meg a letöltött exe-t. Kattintson az „Igen” gombra, ha rendszergazdai jogokat kér.
Step 3) Az alábbi felugró ablak jelenik meg. Kattintson a 'Folytatás' gombra.
A fájlok letöltése az alábbi előugró ablakban látható módon történik.
Step 4) A következő képernyőn
Jelölje be a jelölőnégyzeteket
- Egyetemes Windows Platform fejlesztés
- .Net asztali fejlesztés
Kattintson a "Telepítés" gombra.
Várja meg, amíg az egyes összetevők telepítése befejeződik. A fájlok mérete 16 GB, és időbe telik.
Step 5) Az alábbi előugró ablak jelenik meg. Kattintson az „Újraindítás” gombra.
Step 6) A gép újraindítása után keresse meg a „Visual Studio” kifejezést a start menüben, és kattintson a keresési eredményre. A következő felugró ablak jelenik meg. Kattintson a „Most nem, talán később” linkre, ha nincs meglévő fiókja.
Step 7) A következő képernyőn
- Válassza ki a tetszőleges színtémát
- Kattintson a „Visual Studio indítása” gombra.
Step 8) Megjelenik a Visual Studio „Get Started” képernyője.
Hozzon létre egy új projektet a Visual Studióban:
Step 1) A Fájl menüben kattintson az Új > Projekt elemre
Step 2) A következő képernyőn
- Válassza a „Visual C#” lehetőséget
- Kattintson a Konzolalkalmazásra (.Net Framework)
- Írja be a nevet "Guru99"-ként
- kattintson az OK gombra
Step 3) A projekt sikeres létrehozása után az alábbi képernyő jelenik meg.
Állítsa be a Visual Studio alkalmazást Selenium WebDriver:
Step 1) Lépjen az Eszközök -> N menüpontrauGet Csomagkezelő -> N kezeléseuGet Csomagok a megoldáshoz
Step 2) A következő képernyőn
- Keresése Selenium az eredményül kapott képernyőn
- Válassza ki az első keresési eredményt
- Jelölje be a projekt jelölőnégyzetét
- Kattintson a "Telepítés" gombra
Step 3) Kattintson az „OK” gombra a felugró képernyőn
Step 4) A csomag sikeres telepítése után az alábbi üzenet jelenik meg.
NUnit Framework: Áttekintés
NUnit az Egység tesztelése A Visual Studio által támogatott keretrendszer és Selenium WebDriver. Az NUnit a legszélesebb körben használt Unit Testing keretrendszer a .Net alkalmazásokhoz. Az NUnit a teszteredményeket olvasható formátumban jeleníti meg, és lehetővé teszi a tesztelő számára az automatizált tesztek hibakeresését.
A használatához telepítenünk kell a NUnit Framework-et és a NUnit Test Adaptert a Visual Studio-ra.
A NUnit Framework telepítésének lépései
Most ebben Selenium a C# oktatóanyaggal tanuljuk meg a NUnit keretrendszer telepítésének folyamatát:
Step 1) Lépjen az Eszközök -> N menüpontrauGet Csomagkezelő -> N kezeléseuGet Csomagok a megoldáshoz
Step 2) A következő ablakban
- NUnit keresése
- Válassza ki a keresési eredményt
- Válassza a Projekt lehetőséget
- Kattintson a Telepítés gombra
Step 3) Az alábbi felugró ablak jelenik meg. Kattintson az 'Ok' gombra.
Step 4) A telepítés befejezése után az alábbi üzenet jelenik meg.
A NUnit tesztadapter letöltésének lépései
Ebben a NUnit oktatóanyagban bemutatjuk a NUnit tesztadapter letöltésének lépéseit:
Kérjük, vegye figyelembe, hogy az alábbi lépések csak 32 bites gépeken működnek. 64 bites gépek esetén le kell töltenie a „NUnit3 tesztadaptert” az alábbiakban leírt eljárást követve.
Step 1) Lépjen az Eszközök ->N elemreuGet Csomagkezelő -> N kezeléseuGet Csomagok a megoldáshoz. Ezen a képernyőn
- NUnitTestAdapter keresése
- Kattintson a Keresés eredménye elemre
- Válassza a Projekt lehetőséget
- Kattintson a Telepítés gombra
Step 2) Kattintson az OK gombra a megerősítést kérő felugró ablakban. A telepítés után a következő üzenet jelenik meg:
Selenium és NUnit keretrendszer
A szelén integrálása az NUnit keretrendszerrel lehetővé teszi a tesztelő számára, hogy különbséget tegyen a különböző tesztosztályok között. A NUnit azt is lehetővé teszi a tesztelőknek, hogy olyan megjegyzéseket használjanak, mint a SetUp, Test és TearDown, hogy a teszt futtatása előtt és után műveleteket hajtsanak végre.
A NUnit keretrendszer integrálható Selenium NUnit tesztosztály létrehozásával és a tesztosztály NUnit keretrendszer használatával történő futtatásával.
Az alábbiakban ennek lépései Selenium A C# keretrendszer oktatóanyaga szükséges egy tesztosztály létrehozásához és futtatásához NUnit keretrendszer használatával.
NUnit Test osztály létrehozásának lépései Selenium:
Step 1) A Megoldásböngészőben kattintson a jobb gombbal a projekt > Hozzáadás > Osztály elemre
Step 2) Megjelenik az osztálylétrehozó ablak.
- Adj nevet az osztálynak
- Kattintson a Hozzáadás gombra
Step 3) Az alábbi képernyő jelenik meg.
Step 4) Adja hozzá a következő kódot a létrehozott osztályhoz. Kérjük, vegye figyelembe, hogy a chrome illesztőprogram inicializálása során meg kell adnia a „chromdriver.exe” fájl helyét.
using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Firefox; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Guru99Demo { class Guru99Demo { IWebDriver driver; [SetUp] public void startBrowser() { driver = new ChromeDriver("D:\\3rdparty\\chrome"); } [Test] public void test() { driver.Url = "http://www.google.co.in"; } [TearDown] public void closeBrowser() { driver.Close(); } } }
Step 4) Kattintson a "Build" -> "Build Solution" elemre
JEGYZET: Előfordulhat, hogy olyan hibaüzenetet kaphat, mint például: „Nem tartalmaz belépési ponthoz megfelelő statikus „fő” metódust”.
A probléma megoldásához lépjen a Project > Properties menüpontba, és módosítsa a Kimenet típusát „Osztálykönyvtár” értékre. Az alapértelmezett a „Konzolalkalmazás”.
Step 5) Ha a felépítés sikeres, meg kell nyitnunk a Test Explorer ablakot. Kattintson a Teszt -> gombra Windows -> Test Explorer
Step 6) Megnyílik a Test Explorer ablak az elérhető tesztek listájával. Kattintson a jobb gombbal a Test Explorer elemre, és válassza a Kiválasztott tesztek futtatása lehetőséget
Step 7) Selenium meg kell nyitnia a böngészőt a megadott URL-lel, és be kell zárnia a böngészőt. A teszteset állapota „Megfelelt” értékre változik a Test Explorer ablakban.
Selenium WebDriver parancsok C#-ban
A C# az IWebDriver felületet használja a böngésző interakciójához. A következő parancsok kategóriái állnak rendelkezésre Selenium C# nyelven.
- Böngésző parancsok
- Webelem parancsok
- Legördülő parancsok
Most a Selenium C Sharp bemutató, tanulmányozzuk a Selenium A WebDriver egyenként parancsol
Böngésző parancsok:
Az alábbiakban felsoroljuk a C#-ban elérhető böngészőparancsokat Selenium.
Parancs neve | Leírás | Szintaxis |
---|---|---|
URL parancs | Ez a parancs egy megadott URL megnyitására szolgál a böngészőben. |
driver.Url = "https://www.guru99.com" |
Cím Parancs | Ezzel a paranccsal lekérheti az éppen megnyitott weboldal címét |
String title = driver.Title |
PageSource parancs | Ez a parancs az éppen megnyitott weboldal forráskódjának lekérésére szolgál. |
String pageSource = driver.PageSource |
Parancs bezárása | Ez a parancs a legutóbb megnyitott böngészőpéldány bezárására szolgál. |
driver.Close(); |
Lépjen ki a Commandból | Ez a parancs az összes megnyitott böngészőpéldány bezárására szolgál |
driver.Quit(); |
Vissza parancs | Ezzel a paranccsal a böngészési előzmények előző oldalára lehet navigálni. |
driver.Navigate().Back(); |
Parancs előre | Ezzel a paranccsal a böngésző előzményeinek következő oldalára lehet navigálni. |
driver.Navigate().Forward() |
Frissítési parancs | Ez a parancs a böngésző frissítésére szolgál. |
driver.Navigate().Refresh() |
Webelem parancsok
A webelem a weboldal összes elemét képviseli. Ezeket HTML címkék képviselik. A gombok, szövegdobozok, hivatkozások, képek, táblázatok és keretek mindegyike a Webelemek alá tartozik. OperaAz IWebelement felület segítségével aktiválhatók a webes elemeken lévő elemek. A webelemmel való interakcióhoz meg kell találnunk az elemet a weboldalon, majd műveleteket kell végrehajtanunk rajta. Az olyan eszközök, mint a Firebug és a Firepath használhatók az azonosításra Xpath a Webelement.
Az alábbiakban a C#-ban elérhető Webelem parancsok listája található.
Parancs neve | Leírás | Szintaxis |
---|---|---|
Kattintson a parancsra | Ezzel a paranccsal egy webelemre kattinthatunk. Ahhoz, hogy az elem kattintható legyen, az elemnek láthatónak kell lennie a weboldalon. Ez a parancs a jelölőnégyzet és a választógomb műveleteihez is használható. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); element.Click(); |
Parancs törlése | Ez a parancs kifejezetten a szövegdobozok meglévő tartalmának törlésére szolgál. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); element.Clear(); |
SendKeys parancs | Ezzel a paranccsal értéket írhatunk be a szövegmezőkbe. A beírandó értéket paraméterként kell átadni |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); element.SendKeys("guru99"); |
Megjelenített parancs | Ezzel a paranccsal azonosítható, hogy egy adott elem megjelenik-e a weboldalon. Ez a parancs logikai értéket ad vissza; igaz vagy hamis a webelem láthatóságától függően. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); Boolean status = element.Displayed; |
Engedélyezett parancs | Ezzel a paranccsal azonosítható, hogy egy adott webelem engedélyezve van-e a weboldalon. Ez a parancs logikai értéket ad vissza; ennek eredményeként igaz vagy hamis. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); Boolean status = element.Enabled; |
Kiválasztott parancs | Ezzel a paranccsal azonosítható, hogy egy adott webelem ki van-e választva. Ez a parancs jelölőnégyzetekhez, választógombokhoz és kiválasztási műveletekhez használható. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); Boolean status = element.Selected; |
Parancs elküldése: | Ez a parancs hasonló a click parancshoz. A különbség abban rejlik, hogy a HTML űrlapon van-e Submit típusú gomb. Míg a click parancs bármelyik gombra kattint, addig a submit parancs csak a submit típusú gombokra kattint. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); element.submit(); |
Szöveges parancs | Ez a parancs egy webelem belső szövegét adja vissza. Ez a parancs egy karakterlánc értéket ad vissza. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); String text=element.Text; |
TagName parancsot | Ez a parancs egy webelem HTML-címkéjét adja vissza. Eredményként egy karakterlánc értéket ad vissza. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); String tagName = element.TagName; |
GetCSSValue parancs: | Ezt a módszert egy webelem színének visszaadására használják rgba karakterlánc formájában (piros, zöld, kék és alfa). |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); String color = element.getCSSValue; teljesítmény- Ha az elem színe piros, a kimenet rgba(255,0,0,1) |
Legördülő parancsok:
A C# legördülő műveletei a SelectElement osztály segítségével érhetők el.
Az alábbiakban bemutatjuk a C# nyelven elérhető legördülő műveleteket.
Parancs neve | Leírás | Szintaxis |
---|---|---|
SelectByText parancs | Ez a parancs a legördülő menü egy opcióját választja ki az opció szövege alapján. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.SelectByText("Guru99"); |
SelectByIndex parancs | Ezzel a paranccsal lehet kiválasztani egy beállítást az indexe alapján. A legördülő menü indexe 0-tól kezdődik. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.SelectByIndex("4"); |
SelectByValue parancs | Ezzel a paranccsal lehet kiválasztani egy opciót annak értéke alapján. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.SelectByValue("Guru99"); |
Opciók Parancs | Ezzel a paranccsal lekérheti a legördülő menüben megjelenő opciók listáját. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); List<IWebelement> options = select. Options; int size = options.Count; for(int i=0;i<options.size();i++) { String value = size.elementAt(i).Text; Console.writeLine(value); } A fenti kód egy legördülő menüben nyomtatja ki az összes lehetőséget a konzolra. |
IsMultiple parancs | Ezzel a paranccsal azonosítható, hogy egy legördülő menü egy többszörös kijelölésű legördülő menü-e; A többszörös kiválasztás legördülő menü lehetővé teszi a felhasználó számára, hogy egyszerre több lehetőséget is kiválassza a legördülő listából. Ez a parancs logikai értéket ad vissza. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); Boolean status = select.IsMultiple(); |
DeSelectAll parancs | Ez a parancs a többszörös kiválasztási legördülő listákban használatos. Törli a már kiválasztott opciókat. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.DeSelectAll(); |
DeSelectByIndex parancsot | Ez a parancs megszünteti a már kiválasztott érték kijelölését az indexe segítségével. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.DeSelectByIndex("4"); |
DeSelectByValue parancs | Ez a parancs megszünteti a már kiválasztott érték kijelölését az értékével. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.DeSelectByValue("Guru99"); |
DeSelectByText parancs | Ez a parancs megszünteti a már kiválasztott érték kijelölését a szövege segítségével. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.DeSelectByText("Guru99"); |
Kódminták
1. példa: Kattintson egy hivatkozásra az XPATH Locator segítségével:
Teszt forgatókönyv:
- Navigáljon a Demo Guru99 weboldalára – https://demo.guru99.com/test/guru99home/
- Maximalizálja az ablakot
- Kattintson a „Tesztelés” menüre
- Zárja be a böngészőt
using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Guru99Demo { class CSS { IWebDriver m_driver; [Test] public void cssDemo() { m_driver = new ChromeDriver("D:\\3rdparty\\chrome"); m_driver.Url = "https://demo.guru99.com/test/guru99home/"; m_driver.Manage().Window.Maximize(); IWebelement link = m_driver.FindElement(By.XPath(".//*[@id='rt-header']//div[2]/div/ul/li[2]/a")); link.Click(); m_driver.Close(); } } }
2. példa: Adatok bevitele a szövegbeBox és kattintson egy gombra az XPATH lokátor segítségével:
Teszt forgatókönyv:
- Navigáljon a Guru 99 bemutató oldalára – https://demo.guru99.com/test/guru99home/
- Írja be az adatokat az e-mail szövegmezőbe
- Kattintson a regisztráció gombra
using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Guru99Demo { class CSS { IWebDriver m_driver; [Test] public void cssDemo() { m_driver = new ChromeDriver("G:\\"); m_driver.Url = "https://demo.guru99.com/test/guru99home/"; m_driver.Manage().Window.Maximize(); // Store locator values of email text box and sign up button IWebElement emailTextBox = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-email']")); IWebElement signUpButton = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-submit']")); emailTextBox.SendKeys("test123@gmail.com"); signUpButton.Click(); } } }
3. példa: Adatok bevitele a szövegbeBox és kattintson egy gombra a CSS lokátor segítségével:
Teszt forgatókönyv:
- Navigáljon a Guru 99 bemutató oldalára – https://demo.guru99.com/test/guru99home/
- Írja be az adatokat az e-mail szövegmezőbe
- Kattintson a regisztráció gombra
using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Guru99Demo { class CSS { IWebDriver m_driver; [Test] public void cssDemo() { m_driver = new ChromeDriver("G:\\"); m_driver.Url = "https://demo.guru99.com/test/guru99home/"; m_driver.Manage().Window.Maximize(); // Store locator values of email text box and sign up button IWebElement emailTextBox = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-email]")); IWebElement signUpButton = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-submit]")); emailTextBox.SendKeys("test123@gmail.com"); signUpButton.Click(); } } }
4. példa: Válasszon ki egy értéket a legördülő menüből:
Teszt forgatókönyv:
- Navigáljon a Guru 99 bemutató oldalára – https://demo.guru99.com/test/guru99home/
- Kattints a SAP link
- Írja be az adatokat a név és e-mail szövegmezőkbe
- Válasszon értéket a Tanfolyam legördülő menüből
- Zárja be a böngészőt
using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Support.UI; namespace Guru99Demo { class TestSelect { IWebDriver m_driver; [Test] public void selectDemo() { m_driver = new ChromeDriver("G:\\"); m_driver.Url = "https://demo.guru99.com/test/guru99home/"; m_driver.Manage().Window.Maximize(); IWebElement course = m_driver.FindElement(By.XPath(".//*[@id='awf_field-91977689']")); var selectTest = new SelectElement(course); // Select a value from the dropdown selectTest.SelectByValue("sap-abap"); } } }
Összegzésként
- Annak érdekében, hogy használni Selenium WebDriver C#-val, telepítenie kell a Visual Studio-t.
- Az NUnit a Visual Studio és által támogatott Unit Testing keretrendszer Selenium web meghajtó
- A használatához telepítenünk kell a NUnit Framework-et és a NUnit Test Adaptert a Visual Studio-ra.
- A NUnit keretrendszer integrálható Selenium NUnit tesztosztály létrehozásával és a tesztosztály NUnit keretrendszer használatával történő futtatásával.
- A NUnit lehetővé teszi a tesztelők számára olyan megjegyzések használatát is, mint a SetUp, Test és TearDown a teszt futtatása előtti és utáni műveletek végrehajtásához.
- Selenium A WebDriver parancsok Böngésző parancsokba, Webelem parancsokba és Legördülő parancsokba sorolhatók.