Selenium C# vodič: NUnit okvir s primjerom

⚡ Pametni sažetak

Selenium WebDriver pokreće preglednike iz C#-a putem IWebDriver sučelja, dok NUnit pruža atribute testiranja, tvrdnje i izvješća Test Explorera koji te korake preglednika pretvaraju u ponovljive automatizirane testove.

  • 🔘 Alatna shema: Visual Studio plus Selenium WebDriver, NUnit i NUnit testni adapter NuGet paketi.
  • ☑️ Postavljanje projekta: Vrsta izlaza mora biti Biblioteka klasa, a ne Konzolna aplikacija, inače izgradnja neće uspjeti.
  • ✅ Atributi NUnit-a: SetUp otvara preglednik, Test izvršava radnje, TearDown ga zatvara.
  • 🧪 Zapovjedne skupine: naredbe preglednika, naredbe WebElementa i naredbe padajućeg izbornika putem SelectElementa.
  • 🛠️ Lokatori: FindElement prihvaća XPath i CSS strategije odabira za svaku interakciju s elementima.
  • ⚡ Izvršenje: Test Explorer pokreće klasu i izvještava o svakom rezultatu kao uspješnom ili neuspješnom.

Selenium C# automatizacija s NUnit testnim okvirom

Selenium SAŽETAK

Selenium je open-source, web Testiranje automatizacije alat koji podržava više preglednika i više operativnih sustava. Omogućuje testerima korištenje više programskih jezika kao što su Java, C#, Python, Ruby, PHP i Perl za kodiranje automatiziranih testova. Ako ste novi u alatu, počnite s Selenium udžbenik i WebDriver u odnosu na Selenium Usporedba RC-a.

Selenium pruža kontrolu preglednika; jezik kojim ga pokrećete pruža strukturu.

C# pregled

C# je objektno orijentirani programski jezik izveden iz C++ i JavaC# omogućuje programerima izradu aplikacija pomoću Visual Studija na .NET platformi. Slijede ključne značajke C#.

  1. To je objektno orijentirani programski jezik
  2. Podržava razvoj konzole, Windows i web aplikacija
  3. Omogućuje značajke kao što su enkapsulacija, nasljeđivanje i polimorfizam.

Prije ožičenja Selenium pomaže prepoznati oblik običnog C# programa.

Osnovna sintaksa C#

Program u C#-u mora sadržavati sljedeće dijelove

  1. Deklaracija imenskog prostora
  2. Nastava
  3. Atributi i metode klase
  4. Glavna metoda
  5. Programske izjave

Primjer-

Ispod je uzorak Selenium Primjer C# programa za ispis teksta 'Guru99' na konzoli sustava.

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

Objašnjenje:

  • Prostor imena u gornjem Selenium C# primjer je kolekcija više klasa. Svaki prostor imena mora biti deklariran pomoću ključne riječi 'using'.
  • Prva izjava koda uključuje imenski prostor 'Sustav' u naš program. Prostor imena sustava definira temeljne klase i događaje koji se koriste u C#. Prostor imena koji će se koristiti ovisi o zahtjevima programa.
  • Druga izjava deklarira prostor imena "FirstProgram" za klasu "DemoPrint." AC# datoteka može sadržavati više klasa unutar istog prostora naziva.
  • Treća izjava uključuje deklaraciju klase. Klasa može sadržavati više atributa i više metoda.
  • Četvrta izjava uključuje deklaraciju glavne metode. Glavna metoda je ulazna točka izvršenja za svaku klasu.
  • Posljednja naredba je C# sintaksa koja se koristi za ispis naredbe u konzolu. WriteLine je metoda od Console razred. Imajte na umu da je ulazna točka napisana Main s velikim M u pravom C#; malim slovom main u gornjem primjeru neće biti prepoznat kao ulazna točka.

Nakon što je sintaksa jasna, sljedeći zadatak je instaliranje alata koji kompajlira i pokreće te testove.

Selenium s C# postavkom

Kako postaviti Visual Studio s Selenium Web Driver:

Sada u ovome Selenium C# vodič, naučimo korak po korak postupak postavljanja Visual Studija Selenium Web Driver:

Visual Studio je integrirano razvojno okruženje (IDE) koje programeri koriste za izradu aplikacija na više platformi kao što su Windows, Android, iOS i aplikacije temeljene na oblaku.

Korak 1) Dođite na URL

https://visualstudio.microsoft.com/downloads/ i kliknite na 'Besplatno preuzimanje' prikazan na kartici Visual Studio Community

Stranica za preuzimanje Visual Studija s gumbom za besplatno preuzimanje izdanja za zajednicu

Korak 2) Otvorite preuzeti exe. Kliknite na 'Da' ako se od vas zatraže administratorska prava.

Instalacijski program Visual Studija traži administratorska prava

Korak 3) Pojavit će se donji skočni prozor. Pritisnite gumb 'Nastavi'.

Skočni prozor dobrodošlice za instalaciju Visual Studija s gumbom Nastavi

Datoteke će se preuzeti kao što je prikazano u skočnom prozoru u nastavku.

Instalacijski program Visual Studija preuzima datoteke komponenti

Korak 4) Na sljedećem ekranu

Odaberite potvrdne okvire za

  • Univerzalan Windows Razvoj platforme
  • Razvoj .NET desktopa

Kliknite na 'Instaliraj'.

Zaslon radnog opterećenja Visual Studija s Universalom Windows Označeno za razvoj platforme i .NET desktopa

Pričekajte da se instalacija svake komponente završi. Datoteke su veličine 16 GB i trebat će vremena.

Traka napretka instalacijskog programa Visual Studio za svaku odabranu komponentu

Korak 5) Prikazat će se donji skočni prozor. Pritisnite gumb 'Restart'.

Instalacijski program Visual Studija traži ponovno pokretanje računala

Korak 6) Nakon što se stroj ponovno pokrene, potražite "Visual Studio" na početnom izborniku i kliknite na rezultat pretraživanja. Pojavit će se sljedeći skočni prozor. Kliknite vezu "Ne sada, možda kasnije" ako nemate postojeći račun.

Skočni prozor za prijavu u Visual Studio s vezom Ne sada, možda kasnije

Korak 7) Na sljedećem ekranu

  • Odaberite temu boja po svom ukusu
  • Kliknite gumb "Pokreni Visual Studio"

Zaslon prvog pokretanja Visual Studija za odabir teme boja

Korak 8) Pojavit će se zaslon Visual Studio 'Get Started'.

Zaslon za početak rada u Visual Studiu nakon završetka instalacije

Napravite novi projekt u Visual Studiju:

Korak 1) U izborniku Datoteka kliknite Novo > Projekt

Izbornik Datoteka u Visual Studiu s odabranim Novo i Projekt

Korak 2) Na sljedećem ekranu

  1. Odaberite opciju 'Visual C#'
  2. Kliknite aplikaciju konzole (.Net Framework)
  3. Unesite ime kao "Guru99 "
  4. Kliknite U redu

Dijalog novog projekta s Visual C# konzolnom aplikacijom i projektom pod nazivom Guru99

Korak 3) Zaslon ispod će se prikazati nakon što je projekt uspješno kreiran.

Visual Studio editor koji prikazuje novokreirano Guru99 konzolni projekt

Postavite Visual Studio s Selenium Web Driver:

Korak 1) Idite na Alati -> NuGet Upravitelj paketa -> Upravljanje NuGet Paketi za rješenje

Putanja izbornika Alati do NuGet Upravitelj paketa i upravljanje NuGet Paketi za rješenje

Korak 2) Na sljedećem ekranu

  1. Traži za Selenium na rezultirajućem zaslonu
  2. Odaberite prvi rezultat pretraživanja
  3. Označite potvrdni okvir projekta
  4. Kliknite na "Instaliraj"

NuGet upravitelj paketa s Selenium označen potvrdni okvir rezultata pretraživanja i projekta

Korak 3) Kliknite gumb 'OK' na skočnom zaslonu

NuGet skočni prozor za potvrdu prije Selenium paket je instaliran

Korak 4) Poruka u nastavku bit će prikazana kada se paket uspješno instalira.

NuGet potvrda izlaza Selenium WebDriver uspješno instaliran

Selenium sada može otvoriti preglednik, ali još ne može izvijestiti je li test prošao. To je posao okvira za jedinično testiranje.

NUnit Framework: Pregled

NUnit je Ispitivanje jedinice okvir koji podržava Visual Studio i Selenium WebDriver. NUnit je najčešće korišteni okvir za jedinično testiranje .NET aplikacija. NUnit prikazuje rezultate testova u čitljivom formatu i omogućuje testerima otklanjanje pogrešaka u automatiziranim testovima.

Moramo instalirati NUnit Framework i NUnit Test Adapter na Visual Studio kako bismo ga koristili.

Koraci za instalaciju NUnit Framework

Sada u ovome Selenium uz C# tutorijal, naučimo proces instaliranja NUnit okvira:

Korak 1) Idite na Alati -> NuGet Upravitelj paketa -> Upravljanje NuGet Paketi za rješenje

Izbornik Alati ponovno je otvoren na NuGet Upravitelj paketa za NUnit instalaciju

Korak 2) U sljedećem prozoru

  1. Potražite NUnit
  2. Odaberite rezultat pretraživanja
  3. Odaberite Projekt
  4. Kliknite Instaliraj

NuGet upravitelj paketa s odabranim rezultatom pretraživanja NUnit za instalaciju

Korak 3) Pojavit će se donji skočni prozor. Pritisnite gumb 'Ok'.

NuGet skočni prozor za potvrdu prije instalacije NUnit okvira

Korak 4) Poruka u nastavku pojavit će se nakon dovršetka instalacije.

NuGet poruka koja potvrđuje da je instalacija NUnit frameworka završena

Koraci za preuzimanje NUnit Test Adaptera

Sada ćemo u ovom NUnit vodiču pokriti korake za preuzimanje NUnit Test Adaptera:

Imajte na umu da koraci u nastavku rade samo za 32-bitne strojeve. Za 64-bitne strojeve trebate preuzeti 'NUnit3 testni adapter' slijedeći isti postupak kao što je navedeno u nastavku.

Trenutni paketi: moderni projekt instalira NUnit3TestAdapter Zajedno s Microsoft.NET.Test.Sdki stariji NUnitTestAdapter Paket se više ne održava. Na .NET-u (Core) cijeli projekt može se scaffoldirati s dotnet new nunit, što vam dodaje sva tri paketa.

Korak 1) Idite na Alati ->NuGet Upravitelj paketa -> Upravljanje NuGet Paketi za rješenje. Na tom ekranu,

  1. Pretražite NUnitTestAdapter
  2. Pritisnite Rezultat pretraživanja
  3. Odaberite Projekt
  4. Kliknite Instaliraj

NuGet Upravitelj paketa traži NUnitTestAdapter s odabranim projektom

Korak 2) Pritisnite OK u skočnom prozoru za potvrdu. Nakon završetka instalacije vidjet ćete sljedeću poruku-

NuGet poruka koja potvrđuje da je instalacija NUnit testnog adaptera završena

Obje polovice su instalirane, pa je sljedeći korak njihovo spajanje u jednu testnu klasu.

Selenium i okvir NUnit

Integracija selena s okvirom NUnit omogućuje testeru da razlikuje različite klase testova. NUnit također omogućuje testerima korištenje komentara kao što su SetUp, Test i TearDown za izvođenje radnji prije i nakon izvođenja testa.

NUnit okvir se može integrirati sa Selenium stvaranjem NUnit testne klase i pokretanjem testne klase pomoću NUnit okvira. Java ekvivalent ovog obrasca obuhvaćen je u JUnit tutorijal o okvirua uz to se raspravlja i o .NET alternativi za NUnit unutar Visual Studija TestNG za Selenium.

U nastavku su navedeni koraci Selenium Upute za okvir C# potrebne su za stvaranje i izvođenje testne klase pomoću okvira NUnit.

Koraci za stvaranje klase NUnit Test u Selenium:

Korak 1) U Solution Exploreru desnom tipkom miša kliknite projekt > Dodaj > Klasa

Kontekstni izbornik Solution Explorera s odabranim Dodaj i Klasa

Korak 2) Pojavit će se prozor za stvaranje klase.

  1. Dajte ime razredu
  2. Pritisnite gumb Dodaj

Dijalog za dodavanje nove stavke koji se koristi za imenovanje nove NUnit testne klase

Korak 3) Pojavit će se donji zaslon.

Prazna datoteka C# klase stvorena u Visual Studio editoru

Korak 4) Dodajte sljedeći kod u kreiranu klasu. Imajte na umu da morate navesti lokaciju datoteke 'chromedriver.exe' tijekom inicijalizacije Chromeovog upravljačkog programa. Selenium Isporučuje se verzija 4.6 i novije Selenium Voditelj, što automatski rješava odgovarajući upravljački program, tako da new ChromeDriver() bez argumenta puta je trenutni oblik — donji put se zadržava jer odgovara snimkama zaslona.

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();
        }

    }
}

Korak 4) Kliknite na 'Build' -> 'Build Solution'

Izbornik Izgradnja s odabranim Rješenjem za Izgradnju u Visual Studiju

NAPOMENA: Možete dobiti pogrešku poput "Ne sadrži statičku 'glavnu' metodu prikladnu za ulaznu točku" kada gradite

Izvješćivanje o pogrešci izgradnje: nema statičke glavne metode prikladne za ulaznu točku

Da biste to riješili, idite na Projekt > Svojstva i promijenite vrstu izlaza u "Biblioteka klasa". Zadana vrijednost je "Konzolna aplikacija".

Svojstva projekta s tipom izlaza prebačenim na Biblioteku klasa

Korak 5) Nakon što je izgradnja uspješna, moramo otvoriti prozor Test Explorer. Kliknite Test -> Windows -> Test Explorer

Putanja do testnog izbornika Windows i Test Explorer

Korak 6) Otvara se prozor Test Explorer s popisom dostupnih testova. Desnom tipkom miša kliknite Test Explorer i odaberite Pokreni odabrane testove

Test Explorer koji navodi dostupne testove s opcijom Pokreni odabrane testove

Korak 7) Selenium morate otvoriti preglednik s navedenim URL i zatvorite preglednik. Status testnog slučaja promijenit će se u 'Prolaz' u prozoru Test Explorer.

Test Explorer prikazuje rezultat NUnit testa označen kao prošao

Položen ispit dokazuje da vodovod radi. Slijedi vokabular kojim ćete zapravo pisati testove.

Selenium WebDriver naredbe u C#

C# koristi sučelje 'IWebDriver' za interakcije preglednika. Sljedeće su kategorije dostupnih naredbi Selenium u C#.

  1. Naredbe preglednika
  2. Naredbe web elementa
  3. Padajuće naredbe

Sada u ovome Selenium C# tutorial, proučimo Selenium WebDriver naredbe jednu po jednu. Java kolege su prikazane u ovome prva WebDriver skripta prolazak.

Donje naredbe su i dalje trenutne IWebDriver površina u Selenium 4, tako da se sintaksa prenosi nepromijenjena.

Naredbe preglednika:

Slijedi popis naredbi preglednika dostupnih u C# sa Selenium.

Naziv naredbe Description Sintaksa
Url naredba Ova naredba se koristi za otvaranje određenog URL u pregledniku.
driver.Url = "https://www.guru99.com"
Naredba naslova Ova se naredba koristi za dohvaćanje naslova stranice koja je trenutno otvorena
String title = driver.Title
PageSource naredba Ova naredba se koristi za dohvaćanje izvornog koda web stranice koja je trenutno otvorena.
String pageSource = driver.PageSource
Zatvori naredbu Ova se naredba koristi za zatvaranje nedavno otvorene instance preglednika.
driver.Close();
Odustani od naredbe Ova se naredba koristi za zatvaranje svih otvorenih instanci preglednika
driver.Quit();
Naredba za povratak Ova se naredba koristi za navigaciju na prethodnu stranicu povijesti preglednika.
driver.Navigate().Back();
Zapovijed naprijed Ova se naredba koristi za navigaciju na sljedeću stranicu povijesti preglednika.
driver.Navigate().Forward()
Osvježi naredbu Ova se naredba koristi za izvođenje osvježavanja preglednika.
driver.Navigate().Refresh()

Naredbe preglednika djeluju na prozor; sljedeća grupa djeluje na ono što je unutar njega.

Naredbe WebElementa

WebElement predstavlja bilo koji element na web stranici. Predstavljen je HTML oznakama. Gumbi, tekstualni okviri, poveznice, slike, tablice i okviri su sve WebElementi. Operadjelovanja na te elemente pokreću se putem IWebElement sučelje. Za interakciju s WebElementom, prvo pronaći element na stranici, a zatim izvršiti operaciju na njoj. Dostupne strategije su obrađene u lokatori u SeleniumAlati za razvojne programere preglednika - ili stariji dodaci Firebug i Firepath od kojih su snimljene snimke zaslona u nastavku - mogu se koristiti za identifikaciju XPath WebElementa.

Sljedeće su WebElement naredbe dostupne u C#.

Naziv naredbe Description Sintaksa
Pritisnite naredbu Ova se naredba koristi za klik na Webelement. Da bi se na element moglo kliknuti, element mora biti vidljiv na web stranici. Ova se naredba također koristi za operacije potvrdnih okvira i radio gumba.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.Click();
Očisti naredbu Ova se naredba posebno koristi za brisanje postojećeg sadržaja tekstnih okvira.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.Clear();
Naredba SendKeys Ova se naredba koristi za unos vrijednosti u tekstualne okvire. Vrijednost koju treba unijeti mora se proslijediti kao parametar
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.SendKeys("guru99");
Prikazana naredba Ova se naredba koristi za prepoznavanje je li određeni element prikazan na web stranici. Ova naredba vraća Booleovu vrijednost; točno ili netočno ovisno o vidljivosti web elementa.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Displayed;
Omogućena naredba Ova se naredba koristi za prepoznavanje je li određeni web element omogućen na web stranici. Ova naredba vraća Booleovu vrijednost; istinito ili lažno kao rezultat.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Enabled;
Odabrana naredba Ova se naredba koristi za prepoznavanje je li određeni web element odabran. Ova se naredba koristi za potvrdne okvire, radio gumbe i operacije odabira.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Selected;
Pošalji naredbu: Ova je naredba slična klik naredbi, razlika je u tome ima li HTML obrazac gumb s tipom Pošalji. Dok naredba click klikne na bilo koji gumb, naredba submit klikne samo na gumbe s tipom submit.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.submit();
Tekstna naredba Ova naredba vraća unutarnji tekst Webelementa. Ova naredba kao rezultat vraća vrijednost niza.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String text=element.Text;
Naredba TagName Ova naredba vraća HTML oznaku web elementa. Kao rezultat vraća vrijednost niza.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  String tagName = element.TagName;
GetCSSValue naredba: Ova se metoda koristi za vraćanje boje web elementa u obliku rgba niza (crvena, zelena, plava i alfa).
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String color = element.getCSSValue;

Izlaz– Ako je boja elementa crvena, izlaz bi bio rgba(255,0,0,1)

Napomena o gornjim uzorcima: Tablica reproducira izvornu sintaksu. U trenutnom Selenium .NET članovi su u Pascalu s velikim i malim slovima — element.Submit() i element.GetCssValue("color") - i GetCssValue uzima naziv CSS svojstva kao argument.

Padajuće naredbe:

Operacije s padajućim izbornikom u C# mogu se postići pomoću klase SelectElement.

Slijede razne padajuće operacije dostupne u C#.

Naziv naredbe Description Sintaksa
Naredba SelectByText Ova naredba odabire opciju padajućeg izbornika na temelju teksta opcije.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByText("Guru99");
Naredba SelectByIndex Ova se naredba koristi za odabir opcije na temelju njenog indeksa. Indeks padajućeg izbornika počinje od 0.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByIndex("4");
Naredba SelectByValue Ova se naredba koristi za odabir opcije na temelju njezine vrijednosti opcije.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByValue("Guru99");
Naredba za opcije Ova se naredba koristi za dohvaćanje popisa opcija prikazanih u padajućem izborniku.
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);
}

Gornji kod ispisuje sve opcije na konzoli unutar padajućeg izbornika.

IsMultiple naredba Ova se naredba koristi za prepoznavanje je li padajući izbornik višestruki odabir; Padajući izbornik s višestrukim odabirom omogućuje korisniku odabir više opcija istovremeno. Ova naredba vraća logičku vrijednost.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
Boolean status = select.IsMultiple();
Naredba DeSelectAll Ova se naredba koristi u višestrukim padajućim izbornicima. Briše opcije koje su već odabrane.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectAll();
Naredba DeSelectByIndex Ova naredba poništava odabir već odabrane vrijednosti pomoću njezinog indeksa.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByIndex("4");
Naredba DeSelectByValue Ova naredba poništava odabir već odabrane vrijednosti pomoću njezine vrijednosti.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByValue("Guru99");
Naredba DeSelectByText Ova naredba poništava odabir već odabrane vrijednosti koristeći njezin tekst.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByText("Guru99");

Četiri skripte u nastavku koriste gornje naredbe da rade protiv Guru99 demo stranica. Svaka od njih je kompletna, pokrenuta NUnit testna klasa.

Code Uzorci

Primjer 1: kliknite na vezu pomoću XPATH lokatora:

Testni scenarij:

  1. Idi na Demo Guru99 web stranica – https://demo.guru99.com/test/guru99home/
  2. Maksimizirajte prozor
  3. Kliknite na izbornik 'Testiranje'
  4. Zatvorite preglednik
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();
        }
    }
}

Primjer 2: Unos podataka u tekstBox i kliknite na gumb koristeći XPATH lokator:

Testni scenarij:

  1. Dođite na Guru99 demo stranica – https://demo.guru99.com/test/guru99home/
  2. Unesite podatke u tekstni okvir e-pošte
  3. Kliknite na gumb za prijavu
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();
                        
        }
    }
}			

Primjer 3: Unos podataka u tekstBox i kliknite na gumb koristeći CSS lokator:

Testni scenarij:

  1. Dođite na Guru99 demo stranica – https://demo.guru99.com/test/guru99home/
  2. Unesite podatke u tekstni okvir e-pošte
  3. Kliknite na gumb za prijavu
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();

             
        }
    }
}

Primjer 4: Odaberite vrijednost na padajućem izborniku:

Testni scenarij:

  1. Dođite na Guru99 demo stranica – https://demo.guru99.com/test/guru99home/
  2. Kliknite na SAP link
  3. Unesite podatke u tekstualne okvire za ime i e-poštu
  4. Odaberite vrijednost s padajućeg izbornika Tečaj
  5. Zatvorite preglednik
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");
                        
        }
    }
}

Pitanja i odgovori

Koristiti Selenium.WebDriver 4.x s NUnit 3.14 ili NUnit 4, plus NUnit3TestAdapter i Microsoft.NET.Test.Sdk. NUnit 4 cilja .NET Framework 4.6.2 ili .NET 6 i novije verzije, stoga provjerite cilj svog projekta prije nadogradnje s gore prikazanih paketa.

Ne. Selenium 4.6 uveden Selenium Manager, koji preuzima i usklađuje upravljački program preglednika tijekom izvođenja. Prosljeđivanje mape upravljačkog programa konstruktoru ChromeDriver i dalje funkcionira, ali je potrebno samo kada morate prikvačiti određenu verziju upravljačkog programa.

Implicitno čekanje primjenjuje jedno vremensko ograničenje na svaku pretragu elementa tijekom životnog vijeka instance IWebDriver. Eksplicitno čekanje cilja jedan element i jedan uvjet, kao što je "klikabilno" ili "vidljivo", pa brže ne uspijeva i preciznije opisuje namjeru.

Da. Označi sklop s Parallelizable i NUnit će istovremeno pokretati fixture-e. Svaki test mora posjedovati svoju instancu IWebDrivera, stoga stvorite upravljački program u SetUpu umjesto dijeljenja statičkog polja, inače će se paralelni testovi sudarati u istom pregledniku.

NUnit i MSTest koriste atribute i grupiraju testove s TestFixtureom ili TestClassom. xUnit ne treba atribut klase i dizajniran je oko paralelizma. Sva tri se izvode u Test Exploreru; NUnit ostaje najčešći izbor za Selenium raditi u C#-u.

Alati umjetne inteligencije predlažu lokatore sa snimke stranice, popravljaju selektore koji su se pokvarili nakon promjene korisničkog sučelja i pretvaraju pisani testni slučaj u nacrt NUnit metode. Tretirajte svaki prijedlog kao nacrt i pregledajte tvrdnje prije potvrđivanja.

Da. S obzirom na komentar koji opisuje scenarij, Copilot izrađuje članove SetUp, Test i TearDown te predlaže pozive FindElement iz okolnog koda. Provjerite lokatore u odnosu na aktivnu stranicu, jer se generirani selektori zaključuju, a ne pregledavaju.

Selenium ima najširu podršku za mrežu, oblak i jezike te vrlo veliku postojeću testnu bazu, tako da vještina ostaje upotrebljiva. Playwright nudi brže izvršavanje i ugrađeno čekanje. Mnogi .NET timovi pokreću oboje, dijeleći isti NUnit runner i izvješća.

Sažmite ovu objavu uz: