Selenium C# oktatóanyag: NUnit keretrendszer példával

⚡ Okos összefoglaló

Selenium A WebDriver C#-ból vezérli a böngészőket az IWebDriver felületen keresztül, míg az NUnit biztosítja a tesztattribútumokat, az assertions-eket és a Test Explorer jelentéskészítést, amelyek ezeket a böngészőlépéseket megismételhető automatizált tesztekké alakítják.

  • 🔘 Eszközlánc: Visual Studio plusz a Selenium WebDriver, NUnit és NUnit tesztadapter NuGet csomagokat.
  • ☑️ Projekt beállítása: A kimeneti típusnak Osztálykönyvtárnak kell lennie, nem konzolalkalmazásnak, különben a build sikertelen lesz.
  • NUnit attribútumok: A SetUp megnyitja a böngészőt, a Test végrehajtja a műveleteket, a TearDown pedig bezárja.
  • 🧪 Parancscsoportok: böngészőparancsok, WebElement parancsok és legördülő parancsok a SelectElementen keresztül.
  • 🇧🇷 Helymeghatározók: A FindElement minden elem interakcióhoz XPath és CSS szelektori stratégiákat fogad el.
  • Végrehajtás: A Test Explorer lefuttatja az osztályt, és minden eredményt sikeresként vagy sikertelenként jelent.

Selenium C# automatizálás az NUnit tesztelési keretrendszerrel

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, Ruby, PHP és Perl az automatizált tesztek kódolásához. Ha még nem ismeri az eszközt, kezdje a következővel: Selenium oktatói és a WebDriver versus Selenium RC összehasonlítás.

Selenium biztosítja a böngésző vezérlését; a nyelv, amellyel futtatod, a struktúrát.

C# áttekintés

A C# egy objektum-orientált programozási nyelv, amelyből származik C++ és a JavaA C# lehetővé teszi a fejlesztők számára, hogy alkalmazásokat készítsenek a Visual Studio használatával .NET platformon. A következők a főbb jellemzői C#.

  1. Ez egy objektum-orientált programozási nyelv
  2. Támogatja a konzol, windows és web alapú alkalmazások fejlesztését
  3. Olyan funkciókat biztosít, mint a beágyazás, az öröklődés és a polimorfizmus.

Bekötés előtt Selenium ban segít felismerni egy egyszerű C# program alakját.

A C# alapvető szintaxisa

Egy C#-ban írt programnak a következő részeket kell tartalmaznia:

  1. Névtér deklaráció
  2. Osztályok
  3. Osztálytulajdonságok és módszerek
  4. Fő módszer
  5. Programnyilatkozatok

Példa-

Az alábbiakban egy minta látható Selenium C# példaprogram a következő szöveg kinyomtatására: 'Guru99' 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, amely egy utasítás konzolra való kiíratására szolgál. A WriteLine a metódusa Console osztály. Figyeljük meg, hogy a belépési pontot Main nagy M betűvel a valódi C#-ban; kisbetűvel main a fenti példában nem lesz belépési pontként felismerve.

Miután a szintaxis tisztázódott, a következő feladat az eszközök telepítése, amelyek lefordítják és futtatják ezeket a teszteket.

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 a URL

https://visualstudio.microsoft.com/downloads/ és kattintson a 'Ingyenes letöltés' gomb jelenik meg a Visual Studio Community lapján

Visual Studio letöltési oldala a Community edition ingyenes letöltés gombjával

Step 2) Nyissa meg a letöltött exe-t. Kattintson az „Igen” gombra, ha rendszergazdai jogokat kér.

A Visual Studio telepítője rendszergazdai jogokat kér

Step 3) Az alábbi felugró ablak jelenik meg. Kattintson a 'Folytatás' gombra.

A Visual Studio telepítő üdvözlő felugró ablaka a Folytatás gombbal

A fájlok letöltése az alábbi előugró ablakban látható módon történik.

A Visual Studio telepítője letölti az összetevőfájlokat

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.

Visual Studio munkaterhelés-képernyő az Universal alkalmazással Windows Platform és .NET asztali fejlesztés kipipálva

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.

A Visual Studio telepítőjének folyamatjelzője minden kiválasztott összetevőhöz

Step 5) Az alábbi előugró ablak jelenik meg. Kattintson az „Újraindítás” gombra.

A Visual Studio telepítője kéri a gép újraindítását

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.

Visual Studio bejelentkezési felugró ablak a „Most nem, talán később” hivatkozással

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

Visual Studio első indítási képernyője a színtéma kiválasztásához

Step 8) Megjelenik a Visual Studio „Get Started” képernyője.

Visual Studio Első lépések képernyő a telepítés befejezése után

Hozzon létre egy új projektet a Visual Studióban:

Step 1) A Fájl menüben kattintson az Új > Projekt elemre

Visual Studio Fájl menüje Új és Projekt kijelöléssel

Step 2) A következő képernyőn

  1. Válassza a „Visual C#” lehetőséget
  2. Kattintson a Konzolalkalmazásra (.Net Framework)
  3. Írd be a nevet így: „Guru99 "
  4. kattintson az OK gombra

Új projekt párbeszédpanel a Visual C# konzolalkalmazással és a projekt neve Guru99

Step 3) A projekt sikeres létrehozása után az alábbi képernyő jelenik meg.

A Visual Studio szerkesztője mutatja az újonnan létrehozott Guru99 konzol projekt

Á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

Eszközök menü elérési útja N-hezuGet Csomagkezelő és N kezeléseuGet Csomagok a megoldáshoz

Step 2) A következő képernyőn

  1. Keresése Selenium az eredményül kapott képernyőn
  2. Válassza ki az első keresési eredményt
  3. Jelölje be a projekt jelölőnégyzetét
  4. Kattintson a "Telepítés" gombra

NuGet csomagkezelő a Selenium keresési eredmény és projekt jelölőnégyzet bejelölve

Step 3) Kattintson az „OK” gombra a felugró képernyőn

NuGet megerősítő felugró ablak a Selenium csomag telepítve van

Step 4) A csomag sikeres telepítése után az alábbi üzenet jelenik meg.

NuGet kimeneti megerősítés Selenium WebDriver telepítése sikeresen megtörtént

Selenium most már meg tud nyitni egy böngészőt, de még nem tudja jelenteni, hogy egy teszt sikeresen sikerült-e. Ez az egységtesztelési keretrendszer feladata.

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 egységtesztelési keretrendszer .NET alkalmazásokhoz. Az NUnit olvasható formátumban jeleníti meg a teszteredményeket, és lehetővé teszi a tesztelők számára az automatizált tesztek hibakeresését.

Telepítenünk kell az NUnit keretrendszert és az NUnit tesztadaptert a Visual Studio-ra a használatához.

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

Eszközök menü újranyitva N-néluGet Csomagkezelő az NUnit telepítéséhez

Step 2) A következő ablakban

  1. NUnit keresése
  2. Válassza ki a keresési eredményt
  3. Válassza a Projekt lehetőséget
  4. Kattintson a Telepítés gombra

NuGet csomagkezelő, amelyen a telepítéshez kiválasztott NUnit keresési eredmény található

Step 3) Az alábbi felugró ablak jelenik meg. Kattintson az 'Ok' gombra.

NuGet megerősítő felugró ablak az NUnit keretrendszer telepítése előtt

Step 4) A telepítés befejezése után az alábbi üzenet jelenik meg.

NuGet üzenet, amely megerősíti az NUnit keretrendszer telepítésének befejezését

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.

Jelenlegi csomagok: egy modern projekt telepíti NUnit3TestAdapter Együtt Microsoft.NET.Test.Sdk, és az idősebb NUnitTestAdapter csomagot már nem tartják karban. A .NET (Core) rendszeren az egész projekt a következővel állítható össze: dotnet new nunit, amely mindhárom csomagot hozzáadja Önnek.

Step 1) Lépjen az Eszközök ->N elemreuGet Csomagkezelő -> N kezeléseuGet Csomagok a megoldáshoz. Ezen a képernyőn

  1. NUnitTestAdapter keresése
  2. Kattintson a Keresés eredménye elemre
  3. Válassza a Projekt lehetőséget
  4. Kattintson a Telepítés gombra

NuGet csomagkezelő NUnitTestAdapter-t keres a kiválasztott projekttel

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:

NuGet üzenet, amely megerősíti az NUnit tesztadapter telepítésének befejezését

Mindkét fél telepítve van, így a következő lépés az, hogy egyetlen tesztosztályba egyesítsük őket.

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 egy NUnit tesztosztály létrehozásával és a tesztosztály NUnit keretrendszerrel történő futtatásával. A Java ennek a mintának a megfelelőjét a JUnit keretrendszer oktatóanyag, és a Visual Studio-n belüli NUnit .NET alternatíváját is megvitatjuk a cikk mellett. TestNG mert Selenium.

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áskezelőben kattintson jobb gombbal a projektre, majd válassza a Hozzáadás > Osztály lehetőséget.

Megoldáskezelő helyi menüje, ahol a Hozzáadás és az Osztály van kiválasztva

Step 2) Megjelenik az osztálylétrehozó ablak.

  1. Adj nevet az osztálynak
  2. Kattintson a Hozzáadás gombra

Új elem hozzáadása párbeszédpanel, amely az új NUnit tesztosztály elnevezésére szolgál

Step 3) Az alábbi képernyő jelenik meg.

Üres C# osztályfájl létrehozva a Visual Studio szerkesztőben

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 'chromedriver.exe' fájl helyét. Selenium 4.6-os és későbbi verziók Selenium menedzser, amely automatikusan feloldja a megfelelő illesztőprogramot, így new ChromeDriver() A path argumentum nélküli `path` az aktuális űrlap — az alábbi elérési utat megtartja a rendszer, mert megegyezik a képernyőképekkel.

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

Build menü kijelölt Build Solution (Megoldás létrehozása) opcióval a Visual Studio-ban

JEGYZET: Előfordulhat, hogy olyan hibaüzenetet kaphat, mint például: „Nem tartalmaz belépési ponthoz megfelelő statikus „fő” metódust”.

Építési hibajelentés, ahol nincs megfelelő statikus főmetódus a belépési ponthoz

A probléma megoldásához lépjen a Projekt > Tulajdonságok menüpontra, és módosítsa a Kimenet típusát „Osztálykönyvtár” értékre. Az alapértelmezett érték a „Konzolalkalmazás”.

Projekttulajdonságok, ahol a kimeneti típus Osztálykönyvtárra van állítva

Step 5) Ha a felépítés sikeres, meg kell nyitnunk a Test Explorer ablakot. Kattintson a Teszt -> gombra Windows -> Test Explorer

Tesztmenü elérési útja Windows és Tesztböngésző

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

Tesztböngésző, amely felsorolja az elérhető teszteket a Kiválasztott tesztek futtatása lehetőséggel

Step 7) Selenium megadottal kell megnyitnia a böngészőt URL és zárja be a böngészőt. A teszteset állapota „Sikeres”-re változik a Tesztböngésző ablakban.

A Tesztböngészőben látható az NUnit teszteredménye, amely sikeresként van megjelölve

Egy sikeres vizsga igazolja, hogy a vízvezeték-szerelés működik. A következők azok a szavak, amelyekkel ténylegesen dolgozatokat kell írnod.

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.

  1. Böngésző parancsok
  2. Webelem parancsok
  3. Legördülő parancsok

Most ebben Selenium C# oktatóanyag, tanulmányozzuk a Selenium A WebDriver parancsokat egyesével adja ki. Java hasonlóak ebben első WebDriver szkript végigjátszás.

Az alábbi parancsok továbbra is aktuálisak IWebDriver felület Selenium 4, így a szintaxis változatlanul megmarad.

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 megnyitására szolgál. URL 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()

A böngészőparancsok az ablakra hatnak; a következő csoport a benne lévő tartalomra hat.

WebElement parancsok

Egy WebElement egy weboldal bármely elemét képviseli. Ezeket HTML-címkék képviselik. A gombok, szövegdobozok, linkek, képek, táblázatok és keretek mind WebElementek. Operaaz ezen elemekre vonatkozó hatások a IWebElement felület. Ahhoz, hogy egy webelemmel interakcióba léphessünk, először megtalálni az elemet az oldalon, majd végrehajt rajta egy műveletet. Az elérhető stratégiákat a következő részben tárgyaljuk: lokátorok SeleniumA böngészőfejlesztő eszközök – vagy a lenti képernyőképeken látható korábbi Firebug és Firepath kiegészítők – segítségével azonosítható a XPath egy webelemből.

A következők a C#-ban elérhető WebElement parancsok.

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 Ez a parancs azonosítja, hogy egy adott webes elem 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)

Megjegyzés a fenti mintákkal kapcsolatban: a táblázat az eredeti szintaxist reprodukálja. A jelenlegiben Selenium .NET a tagok Pascal-tokosak — element.Submit() és a element.GetCssValue("color") - És GetCssValue argumentumként a CSS tulajdonság nevét veszi igénybe.

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 Ez a parancs azonosítja, hogy egy legördülő menü többválasztós legördülő menü-e; A többválasztós legördülő menü lehetővé teszi a felhasználó számára, hogy egyszerre több lehetőséget is kiválasszon. Ez a parancs egy 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");

Az alábbi négy szkript a fenti parancsokat a következő ellen fordítja: Guru99 demó oldal. Mindegyik egy teljes, futtatható NUnit tesztosztály.

Code Minták

1. példa: Kattintson egy hivatkozásra az XPATH Locator segítségével:

Teszt forgatókönyv:

  1. Navigálás a demóhoz Guru99 weboldal – https://demo.guru99.com/test/guru99home/
  2. Maximalizálja az ablakot
  3. Kattintson a „Tesztelés” menüre
  4. 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:

  1. Navigáljon a Guru99 demóoldal – https://demo.guru99.com/test/guru99home/
  2. Írja be az adatokat az e-mail szövegmezőbe
  3. 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:

  1. Navigáljon a Guru99 demóoldal – https://demo.guru99.com/test/guru99home/
  2. Írja be az adatokat az e-mail szövegmezőbe
  3. 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:

  1. Navigáljon a Guru99 demóoldal – https://demo.guru99.com/test/guru99home/
  2. Kattints a SAP link
  3. Írja be az adatokat a név és e-mail szövegmezőkbe
  4. Válasszon értéket a Tanfolyam legördülő menüből
  5. 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");
                        
        }
    }
}

GYIK

Felhasználás Selenium.WebDriver 4.x NUnit 3.14 vagy NUnit 4 verzióval, valamint NUnit3TestAdapterrel és Microsoft.NET.Test.Sdk. Az NUnit 4 a .NET Framework 4.6.2-es vagy a .NET 6-os vagy újabb verzióját célozza meg, ezért a fent látható csomagokról való frissítés előtt ellenőrizze a projekt célhelyét.

Nem. Selenium 4.6 bevezetése Selenium Manager, amely futásidőben letölti és egyezteti a böngésző illesztőprogramját. Az illesztőprogram mappájának ChromeDriver konstruktornak való átadása továbbra is működik, de csak akkor szükséges, ha egy adott illesztőprogram-buildet kell rögzítenie.

Az implicit várakozás egyetlen időtúllépést alkalmaz minden elemkeresésre az IWebDriver példány élettartama alatt. Az explicit várakozás egy elemre és egy feltételre, például kattinthatóra vagy láthatóra vonatkozik, így gyorsabban hiúsul meg, és pontosabban írja le a szándékot.

Igen. Jelöld meg az assemblyt Parallelizable-lel, és az NUnit egyidejűleg futtatja a fixture-öket. Minden tesztnek rendelkeznie kell a saját IWebDriver példányával, ezért a meghajtót a SetUp-ban hozd létre a statikus mező megosztása helyett, különben a párhuzamos tesztek ütköznek ugyanazon a böngészőn.

Az NUnit és az MSTest is attribútumokat és csoportos teszteket használ a TestFixture vagy a TestClass segítségével. Az xUnit nem igényel osztályattribútumot, és a párhuzamosság jegyében tervezték. Mindhárom a Test Explorerben fut; az NUnit továbbra is a leggyakoribb választás a következőkhöz: Selenium C#-ban dolgozni.

A mesterséges intelligencia eszközei egy oldal pillanatképéből javasolnak lokátorokat, kijavítják a felhasználói felület módosítása után hibás szelektorokat, és egy megírt tesztesetet NUnit metódustervezetté alakítanak. Minden javaslatot vázlatként kell kezelni, és a véglegesítés előtt ellenőrizni kell az állításokat.

Igen. A forgatókönyvet leíró megjegyzés alapján a Copilot elkészíti a SetUp, Test és TearDown tagokat, és a környező kódból javasol FindElement hívásokat. Ellenőrizze a lokátorokat az élő oldallal szemben, mivel a generált szelektorok kikövetkeztetésre kerülnek, nem pedig ellenőrzésre.

Selenium A legszélesebb grid-, felhő- és nyelvi támogatással, valamint nagyon nagy meglévő tesztkörnyezettel rendelkezik, így a készség továbbra is alkalmazható. A Playwright gyorsabb végrehajtást és beépített várakozást kínál. Sok .NET-csapat mindkettőt futtatja, ugyanazt az NUnit futtatót és jelentéseket használva.

Foglald össze ezt a bejegyzést a következőképpen: