Selenium C# õpetus: NUnit raamistik näitega

⚡ Nutikas kokkuvõte

Selenium WebDriver juhib brausereid C#-st IWebDriveri liidese kaudu, samas kui NUnit pakub testiatribuute, väiteid ja Test Exploreri aruandlust, mis muudavad need brauseri sammud korduvateks automatiseeritud testideks.

  • 🔘 Tööriistakett: Visual Studio pluss Selenium WebDriver, NUnit ja NUnit testiadapter NuGet pakette.
  • ☑️ Projekti seadistamine: Väljundtüüp peab olema klassiteek, mitte konsoolirakendus, vastasel juhul ehitus ebaõnnestub.
  • NUniti atribuudid: SetUp avab brauseri, Test teostab toimingud, TearDown sulgeb selle.
  • 🧪 Käsklused: brauseri käsud, WebElemendi käsud ja rippmenüü käsud SelectElemendi kaudu.
  • 🛠️ Lokaatorid: FindElement aktsepteerib iga elemendi interaktsiooni jaoks XPath ja CSS valikustrateegiaid.
  • Täitmine: Test Explorer käivitab klassi ja annab iga tulemuse teada, kas see on sooritatud või mitte.

Selenium C# automatiseerimine NUnit testimisraamistikuga

Selenium Ülevaade

Selenium on avatud lähtekoodiga veeb Automatiseerimise testimine tööriist, mis toetab mitut brauserit ja mitut operatsioonisüsteemi. See võimaldab testijatel kasutada mitut programmeerimiskeelt, näiteks Java, C#, Python, Ruby, PHP ja Perl automatiseeritud testide kodeerimiseks. Kui tööriist on teie jaoks uus, alustage sellest Selenium juhendaja ja WebDriver versus Selenium RC võrdlus.

Selenium annab brauseri juhtimise; keel, milles seda juhitakse, annab struktuuri.

C# ülevaade

C# on objektorienteeritud programmeerimiskeel, mis on tuletatud C++ ja JavaC# võimaldab arendajatel luua rakendusi, kasutades Visual Studiot .NET platvormil. Järgnevalt on toodud peamised omadused C#.

  1. See on objektorienteeritud programmeerimiskeel
  2. See toetab konsooli, akende ja veebipõhiste rakenduste arendamist
  3. See pakub selliseid funktsioone nagu kapseldamine, pärimine ja polümorfism.

Enne juhtmestiku paigaldamist Selenium see aitab ära tunda tavalise C# programmi kuju.

C# põhisüntaks

C# programm peab sisaldama järgmisi sektsioone

  1. Nimeruumi deklaratsioon
  2. klassid
  3. Klassi atribuudid ja meetodid
  4. Peamine meetod
  5. Programmi avaldused

Näide-

Allpool on näidis Selenium C# näidisprogramm teksti ' väljatrükkimiseksGuru99' süsteemi konsoolil.

using System;
namespace FirstProgram {
class DemoPrint {
static void main(){
    Console.WriteLine("Guru99");
	}
  }
}

Selgitus:

  • Nimeruum ülaltoodud Selenium C# näide on mitme klassi kogum. Iga nimeruum tuleb deklareerida märksõnaga "kasutamine".
  • Koodi esimene lause sisaldab meie programmis nimeruumi "Süsteem". Süsteemi nimeruum määratleb C#-s kasutatavad põhiklassid ja sündmused. Kasutatav nimeruum sõltub programmi nõudest.
  • Teine väide on klassi "DemoPrint" jaoks nimeruumi "FirstProgram" deklareerimine. AC#-fail võib sisaldada samas nimeruumis mitut klassi.
  • Kolmas lause sisaldab klassi deklaratsiooni. Klass võib sisaldada mitut atribuuti ja mitut meetodit.
  • Neljas lause sisaldab peamise meetodi deklaratsiooni. Peamine meetod on iga klassi täitmise sisestuspunkt.
  • Viimane lause on C# süntaks, mida kasutatakse lause konsoolile kuvamiseks. WriteLine on meetod Console klass. Pane tähele, et sisenemispunkt on kirjutatud Main päris C#-s suure M-tähega; väiketäht main ülaltoodud näites ei tuvastata sisenemispunktina.

Kui süntaks on selge, on järgmine ülesanne installida tööriistad, mis neid teste kompileerivad ja käivitavad.

Selenium koos C# Setupiga

Visual Studio seadistamine Selenium Veebidraiver:

Nüüd selles Selenium C# õpetus, uurime samm-sammult Visual Studio seadistamise protsessi Selenium Veebidraiver:

Visual Studio on integreeritud arenduskeskkond (IDE), mida arendajad kasutavad rakenduste loomiseks mitmel platvormil, näiteks Windows, Android, iOS-i ja pilvepõhised rakendused.

Step 1) Liikuge URL

https://visualstudio.microsoft.com/downloads/ ja klõpsake nuppu "Tasuta allalaadimine" Visual Studio kogukonna vahekaardil kuvatav nupp

Visual Studio allalaadimiste leht koos kogukonna väljaande tasuta allalaadimise nupuga

Step 2) Avage allalaaditud exe. Kui teilt küsitakse administraatoriõigusi, klõpsake nuppu Jah.

Visual Studio installija küsib administraatori õigusi

Step 3) Ilmub allolev hüpikaken. Klõpsake nuppu "Jätka".

Visual Studio installija tervitusaken nupuga Jätka

Failid laaditakse alla, nagu on näidatud allolevas hüpikaknas.

Visual Studio installer laadib alla komponentide faile

Step 4) Järgmisel ekraanil

Märkige ruudud

  • Universaalne Windows Platvormi arendamine
  • .NET töölaua arendus

Klõpsake "Installi".

Visual Studio töökoormuse ekraan Universaliga Windows Platvormi ja .NET töölaua arendus linnukese saanud

Oodake, kuni iga komponendi installimine on lõpule viidud. Failid on 16 GB suurused ja võtavad aega.

Visual Studio installija edenemisriba iga valitud komponendi jaoks

Step 5) Kuvatakse allolev hüpikaken. Klõpsake nuppu "Taaskäivita".

Visual Studio installiprogramm küsib arvuti taaskäivitamist

Step 6) Kui masin on taaskäivitatud, otsige käivitusmenüüst "Visual Studio" ja klõpsake otsingutulemust. Ilmub järgmine hüpikaken. Kui teil pole kontot, klõpsake lingil "Mitte praegu, võib-olla hiljem".

Visual Studio sisselogimise hüpikaken lingiga „Mitte praegu, võib-olla hiljem”

Step 7) Järgmisel ekraanil

  • Valige oma maitse järgi värviteema
  • Klõpsake nuppu „Käivita Visual Studio”

Visual Studio esmakäivitusekraan värviteema valimiseks

Step 8) Ilmub Visual Studio 'Alusta' ekraan.

Visual Studio alustamisekraan pärast installimise lõppu

Looge Visual Studios uus projekt:

Step 1) Menüüs Fail klõpsake nuppu Uus > Projekt

Visual Studio menüü Fail, kus on valitud Uus ja Projekt

Step 2) Järgmisel ekraanil

  1. Valige suvand "Visual C#"
  2. Klõpsake konsoolirakendusel (.Net Framework)
  3. Sisesta nimi kujul „Guru99 "
  4. OK

Uue projekti dialoog Visual C# konsoolirakendusega ja nimega projekt Guru99

Step 3) Kui projekt on edukalt loodud, kuvatakse allolev ekraan.

Visual Studio redaktor, mis kuvab äsjaloodud Guru99 konsooli projekt

Seadistage Visual Studio rakendusega Selenium Veebidraiver:

Step 1) Liikuge jaotisse Tööriistad -> NuGet Paketihaldur -> Halda NuGet Lahenduse paketid

Tööriistade menüü tee N-niuGet Paketihaldur ja halda N-iuGet Lahenduse paketid

Step 2) Järgmisel ekraanil

  1. Otsi Selenium saadud ekraanil
  2. Valige esimene otsingutulemus
  3. Märkige projekti märkeruut
  4. Klõpsake nuppu "Install"

NuGet paketihaldur koos Selenium otsingutulemuse ja projekti märkeruut on märgitud

Step 3) Klõpsake hüpikaknas nuppu 'OK'

NuGet kinnituse hüpikaken enne Selenium pakett on installitud

Step 4) Allolev teade kuvatakse pärast paketi edukat installimist.

NuGet väljundi kinnitamine Selenium WebDriver on edukalt installitud

Selenium saab nüüd brauseri avada, aga ei saa veel aru anda, kas test õnnestus. See on ühiktestimise raamistiku ülesanne.

NUnit Framework: ülevaade

NUnit on Üksuse testimine raamistik, mida toetab Visual Studio ja Selenium WebDriver. NUnit on .NET-rakenduste jaoks kõige laialdasemalt kasutatav ühiktestimise raamistik. NUnit esitab testi tulemused loetavas vormingus ja võimaldab testijal automatiseeritud teste siluda.

Selle kasutamiseks peame Visual Studiosse installima NUnit Frameworki ja NUnit Test Adapteri.

NUnit Frameworki installimise sammud

Nüüd selles Selenium C# õpetusega tutvume NUniti raamistiku installimise protsessiga:

Step 1) Liikuge jaotisse Tööriistad -> NuGet Paketihaldur -> Halda NuGet Lahenduse paketid

Tööriistade menüü taasavati kell NuGet NUniti installi paketihaldur

Step 2) Järgmises aknas

  1. Otsige NUnit
  2. Valige otsingutulemus
  3. Valige Projekt
  4. Klõpsake nuppu Installi

NuGet paketihaldur, mille installimiseks on valitud otsingutulemuseks NUnit

Step 3) Ilmub allolev hüpikaken. Klõpsake nuppu 'OK'.

NuGet kinnitusaken enne NUnit raamistiku installimist

Step 4) Allolev teade kuvatakse pärast installimise lõpetamist.

NuGet teade, mis kinnitab NUnit raamistiku installimise lõppu

NUnit Test Adapteri allalaadimise juhised

Nüüd selles NUniti õpetuses käsitleme samme NUnit Test Adapteri allalaadimiseks:

Pange tähele, et alltoodud sammud töötavad ainult 32-bitiste masinate puhul. 64-bitiste masinate jaoks peate alla laadima NUnit3 testadapteri, järgides sama protsessi, nagu allpool mainitud.

Praegused paketid: kaasaegne projekt paigaldab NUnit3TestAdapter Koos Microsoft.NET.Test.Sdkja vanemad NUnitTestAdapter paketti enam ei hooldata. .NET-is (Core) saab kogu projekti toestada ... abil dotnet new nunit, mis lisab teile kõik kolm paketti.

Step 1) Liikuge jaotisse Tööriistad -> NuGet Paketihaldur -> Halda NuGet Lahenduse paketid. Sellel ekraanil

  1. Otsige NUnitTestAdapter
  2. Klõpsake nuppu Otsingutulemus
  3. Valige Projekt
  4. Klõpsake nuppu Installi

NuGet paketihaldur otsib valitud projektiga NUnitTestAdapterit

Step 2) Klõpsake kinnituse hüpikaknas OK. Kui installimine on lõpetatud, näete järgmist teadet -

NuGet teade, mis kinnitab NUnit-testadapteri installimise lõppu

Mõlemad pooled on paigaldatud, seega on järgmine samm nende ühendamine üheks katseklassiks.

Selenium ja NUnit raamistik

Seleeni integreerimine NUniti raamistikuga võimaldab testijal eristada erinevaid testiklasse. NUnit võimaldab testijatel kasutada ka selliseid märkusi nagu SetUp, Test ja TearDown, et teha toiminguid enne ja pärast testi käivitamist.

NUniti raamistikku saab integreerida Selenium luues NUnit testiklassi ja käivitades selle NUnit raamistiku abil. Java Selle mustri ekvivalent on kaetud JUnit raamistiku õpetusja Visual Studios olevat NUniti .NET-alternatiivi käsitletakse koos TestNG eest Selenium.

Allpool on selle sammud Selenium C# raamistiku õpetust on vaja NUnit raamistikku kasutava testklassi loomiseks ja käitamiseks.

NUnit Testi klassi loomise sammud Selenium:

Step 1) Lahenduste brauseris paremklõpsake projektil > Lisa > Klass

Lahenduste uurija kontekstimenüü, kus on valitud Lisa ja Klass

Step 2) Ilmub klassi loomise aken.

  1. Andke klassile nimi
  2. Klõpsake nuppu Lisa

Uue elemendi lisamise dialoogiboks, mida kasutatakse uue NUnit-testiklassi nimetamiseks

Step 3) Ilmub allolev ekraan.

Visual Studio redaktoris loodud tühi C# klassi fail

Step 4) Lisage loodud klassi järgmine kood. Pange tähele, et Chrome'i draiveri initsialiseerimisel peate määrama faili 'chromedriver.exe' asukoha. Selenium 4.6 ja hilisemad versioonid Selenium Juht, mis lahendab sobiva draiveri automaatselt, seega new ChromeDriver() ilma tee argumendita on praegune vorm — allolev tee säilitatakse, kuna see vastab ekraanipiltidele.

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) Klõpsake "Ehita" -> "Ehita lahendus"

Visual Studios menüü „Loo lahendus” valitud valikuga „Loo lahendus”

MÄRKUS: Ehitamisel võidakse kuvada tõrketeade, näiteks "Ei sisalda sisenemispunkti jaoks sobivat staatilist "põhimeetodit".

Ehitusvea teatel puudub sisenemispunkti jaoks sobiv staatiline põhimeetod

Selle probleemi lahendamiseks minge menüüsse Projekt > Atribuudid ja muutke väljundtüübiks „Klassiteek“. Vaikimisi on see „Konsoolirakendus“.

Projekti atribuudid, mille väljundi tüüp on lülitatud klassiteeki

Step 5) Kui ehitamine on edukas, peame avama Test Exploreri akna. Klõpsake nuppu Test -> Windows -> Test Explorer

Testimenüü tee Windows ja testimisalane uurija

Step 6) Avaneb Test Exploreri aken saadaolevate testide loendiga. Paremklõpsake Test Explorerit ja valige Käivita valitud testid

Testihaldur, mis loetleb saadaolevaid teste koos valikuga Käivita valitud testid

Step 7) Selenium peab brauseri avama määratud URL ja sulgege brauser. Testi olek muudetakse testimisaknas olekuks „Läbitud“.

Testihaldur, mis kuvab NUnit-testi tulemuse märgitud sooritatuks

Sooritatud test tõestab, et torustik töötab. Järgneb sõnavara, millega sa tegelikult teste kirjutad.

Selenium WebDriveri käsud C#-s

C# kasutab brauseri interaktsiooniks liidest 'IWebDriver'. Järgmised on käsud, mis on saadaval Selenium C# keeles.

  1. Brauseri käsud
  2. Veebielemendi käsud
  3. Rippmenüü käsud

Nüüd selles Selenium C# õpetus, uurime Selenium WebDriver käsud ükshaaval. Java analoogid on selles demonstreeritud esimene WebDriveri skript läbikäik.

Allolevad käsud on endiselt kehtivad IWebDriver pind sisse Selenium 4, seega süntaks jääb muutmata kujul alles.

Brauseri käsud:

Järgmine on brauseri käskude loend, mis on saadaval C#-s Selenium.

Käsu nimi Kirjeldus Süntaks
URL-i käsk Seda käsku kasutatakse määratud avamiseks. URL brauseris.
driver.Url = "https://www.guru99.com"
Pealkiri Käsk Seda käsku kasutatakse praegu avatud veebilehe lehe pealkirja hankimiseks
String title = driver.Title
PageSource käsk Seda käsku kasutatakse praegu avatud veebilehe lähtekoodi hankimiseks.
String pageSource = driver.PageSource
Sule käsk Seda käsku kasutatakse hiljuti avatud brauseri eksemplari sulgemiseks.
driver.Close();
Välju käsust Seda käsku kasutatakse kõigi avatud brauseri eksemplaride sulgemiseks
driver.Quit();
Tagasi käsk Seda käsku kasutatakse brauseri ajaloo eelmisele lehele liikumiseks.
driver.Navigate().Back();
Edasi käsk Seda käsku kasutatakse brauseri ajaloo järgmisele lehele liikumiseks.
driver.Navigate().Forward()
Värskenda käsk Seda käsku kasutatakse brauseri värskendamiseks.
driver.Navigate().Refresh()

Brauseri käsud mõjutavad akent; järgmine rühm mõjutab selle sisu.

WebElemendi käsud

Veebielement (WebElement) esindab mis tahes elementi veebilehel. Neid esindavad HTML-sildid. Nupud, tekstikastid, lingid, pildid, tabelid ja raamid on kõik veebielemendid. Operanende elementide meetmed käivitatakse läbi IWebElement liides. Veebielemendiga suhtlemiseks peame kõigepealt leia element lehel ja seejärel sellel toiming sooritada. Saadaval olevad strateegiad on käsitletud jaotises lokaatorid SeleniumBrauseri arendustööriistu – või allpool olevate ekraanipiltide varasemaid Firebugi ja Firepathi lisandmooduleid – saab kasutada tuvastamiseks. XPath veebielemendist.

Järgnevalt on toodud C#-s saadaolevad WebElemendi käsud.

Käsu nimi Kirjeldus Süntaks
Klõpsake käsku Seda käsku kasutatakse veebielemendil klõpsamiseks. Et element oleks klõpsatav, peab element olema veebilehel nähtav. Seda käsku kasutatakse ka märkeruudu ja raadionupu toimingute jaoks.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.Click();
Tühjenda käsk Seda käsku kasutatakse spetsiaalselt tekstikastide olemasoleva sisu kustutamiseks.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.Clear();
SendKeys käsk Seda käsku kasutatakse tekstikastidesse väärtuse sisestamiseks. Sisestatav väärtus tuleb parameetrina edastada
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.SendKeys("guru99");
Kuvatakse käsk Seda käsku kasutatakse selleks, et tuvastada, kas veebilehel kuvatakse konkreetne element. See käsk tagastab Boole'i ​​väärtuse; tõene või vale, olenevalt veebielemendi nähtavusest.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Displayed;
Lubatud käsk Seda käsku kasutatakse selleks, et tuvastada, kas konkreetne veebielement on veebilehel lubatud. See käsk tagastab Boole'i ​​väärtuse; selle tulemusena tõene või vale.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Enabled;
Valitud käsk Seda käsku kasutatakse selleks, et tuvastada, kas konkreetne veebielement on valitud. Seda käsku kasutatakse märkeruutude, raadionuppude ja valikutoimingute jaoks.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Selected;
Esita käsk: See käsk sarnaneb klikikäsuga. Erinevus seisneb selles, kas HTML-vormil on nupp tüübiga Esita. Kui klikikäsk klõpsab mis tahes nupul, siis esitamiskäsk klõpsab ainult nuppudel, mille tüüp on Esita.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.submit();
Teksti käsk See käsk tagastab veebielemendi siseteksti. See käsk tagastab selle tulemusel stringi väärtuse.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String text=element.Text;
Käsk TagName See käsk tagastab veebielemendi HTML-märgendi. Tulemusena tagastab see stringi väärtuse.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  String tagName = element.TagName;
GetCSSValue käsk: Seda meetodit kasutatakse veebielemendi värvi tagastamiseks rgba stringi kujul (punane, roheline, sinine ja alfa).
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String color = element.getCSSValue;

Väljund- Kui elemendi värv on punane, on väljundiks rgba(255,0,0,1)

Märkus ülaltoodud näidiste kohta: tabel kordab algset süntaksit. Praeguses Selenium .NET liikmed on Pascal-tüüpi — element.Submit() ja element.GetCssValue("color") - ja GetCssValue võtab argumendina CSS-i atribuudi nime.

Rippmenüü käsud:

C# rippmenüü toiminguid saab teha SelectElement klassi abil.

Järgmised on erinevad C#-s saadaolevad rippmenüü toimingud.

Käsu nimi Kirjeldus Süntaks
SelectByText käsk See käsk valib rippmenüüst valiku suvandi teksti põhjal.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByText("Guru99");
SelectByIndexi käsk Seda käsku kasutatakse suvandi valimiseks selle indeksi alusel. Rippmenüü indeks algab 0-st.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByIndex("4");
SelectByValue käsk Seda käsku kasutatakse suvandi valimiseks selle suvandi väärtuse alusel.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByValue("Guru99");
Valikud käsk Seda käsku kasutatakse rippmenüüs kuvatavate valikute loendi hankimiseks.
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);
}

Ülaltoodud kood prindib kõik valikud konsoolile rippmenüüs.

IsMultiple käsk Selle käsu abil saab tuvastada, kas tegemist on mitmikvalikuga rippmenüüga; mitmikvalikuga rippmenüü võimaldab kasutajal valida korraga mitu valikut. See käsk tagastab Boole'i ​​väärtuse.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
Boolean status = select.IsMultiple();
DeSelectAll käsk Seda käsku kasutatakse mitme valiku rippmenüüdes. See tühjendab juba valitud valikud.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectAll();
DeSelectByIndexi käsk See käsk tühistab juba valitud väärtuse valiku selle indeksi abil.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByIndex("4");
DeSelectByValue käsk See käsk tühistab juba valitud väärtuse, kasutades selle väärtust.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByValue("Guru99");
DeSelectByText käsk See käsk tühistab juba valitud väärtuse teksti kasutades.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByText("Guru99");

Allolevad neli skripti panevad ülaltoodud käsud tööle vastu Guru99 demosaiti. Igaüks neist on täielik ja käivitatav NUnit testiklass.

Code Näidised

Näide 1: klõpsake XPATH Locatori abil lingil:

Testi stsenaarium:

  1. Navigeeri demo juurde Guru99 veebilehte – https://demo.guru99.com/test/guru99home/
  2. Maksimeerige aken
  3. Klõpsake menüül "Testimine".
  4. Sulgege brauser
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();
        }
    }
}

Näide 2: Andmete sisestamine tekstiBox ja klõpsake XPATH lokaatori abil nuppu:

Testi stsenaarium:

  1. Liikuge Guru99 demoleht – https://demo.guru99.com/test/guru99home/
  2. Sisestage andmed e-posti tekstikasti
  3. Klõpsake registreerumisnupul
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();
                        
        }
    }
}			

Näide 3: Andmete sisestamine tekstiBox ja klõpsake CSS-i lokaatori abil nuppu:

Testi stsenaarium:

  1. Liikuge Guru99 demoleht – https://demo.guru99.com/test/guru99home/
  2. Sisestage andmed e-posti tekstikasti
  3. Klõpsake registreerumisnupul
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();

             
        }
    }
}

Näide 4: valige rippmenüüst väärtus:

Testi stsenaarium:

  1. Liikuge Guru99 demoleht – https://demo.guru99.com/test/guru99home/
  2. Klõpsake SAP link
  3. Sisestage andmed nime ja meili tekstikasti
  4. Valige väärtus rippmenüüst Kursus
  5. Sulgege brauser
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");
                        
        }
    }
}

KKK

Kasutama Selenium.WebDriver 4.x koos NUnit 3.14 või NUnit 4-ga, lisaks NUnit3TestAdapter ja Microsoft.NET.Test.Sdk. NUnit 4 sihib .NET Framework 4.6.2 või .NET 6 ja uuemaid versioone, seega kontrollige enne ülaltoodud pakettidest uuendamist oma projekti sihtmärki.

Ei. Selenium 4.6 kasutusele Selenium Manager, mis laadib brauseri draiveri alla ja leiab sellega vaste käitusajal. Draiverikausta edastamine ChromeDriveri konstruktorile toimib endiselt, kuid seda on vaja ainult siis, kui peate konkreetse draiveri järgu kinnitama.

Kaudne ootamine rakendab igale elemendi otsingule IWebDriveri eksemplari eluea jooksul ühe ajalõpu. Otsene ootamine on suunatud ühele elemendile ja ühele tingimusele, näiteks klõpsatav või nähtav, seega ebaõnnestub see kiiremini ja kirjeldab kavatsust täpsemalt.

Jah. Märgi assembler paralleelseks muudetavaks ja NUnit käivitab kinnitusrakised samaaegselt. Igal testil peab olema oma IWebDriver eksemplar, seega loo draiver SetUpis, mitte jaga staatilist välja, vastasel juhul põrkuvad paralleelsed testid samas brauseris.

Nii NUnit kui ka MSTest kasutavad atribuute ja rühmitavad teste TestFixture'i või TestClassiga. xUnit ei vaja klassi atribuuti ja see on loodud paralleelsust silmas pidades. Kõik kolm töötavad Test Exploreris; NUnit on endiselt kõige levinum valik. Selenium tööta C#-s.

Tehisintellekti tööriistad pakuvad lehe hetktõmmise põhjal lokaatoreid, parandavad pärast kasutajaliidese muutmist katki läinud selektorid ja teisendavad kirjaliku testi NUnit-meetodi mustandiks. Käsitle iga ettepanekut mustandina ja vaata enne kinnitamist väited üle.

Jah. Stsenaariumi kirjeldava kommentaari põhjal koostab Copilot SetUp, Test ja TearDown liikmed ning pakub ümbritsevast koodist välja FindElement päringud. Kontrollige lokaatoreid reaalajas lehe suhtes, sest genereeritud selektorid tuletatakse, mitte ei kontrollita.

Selenium omab kõige laiemat ruudustiku-, pilve- ja keeletuge ning väga suurt olemasolevat testimiskeskkonda, seega on oskus alati rakendatav. Playwright pakub kiiremat teostust ja sisseehitatud ootamisfunktsiooni. Paljud .NET-meeskonnad käitavad mõlemat, jagades sama NUnit-käivitajat ja aruandeid.

Võta see postitus kokku järgmiselt: