Selenium C#-opetusohjelma: NUnit-kehys esimerkin kera

โšก ร„lykรคs yhteenveto

Selenium WebDriver ohjaa selaimia C#:sta IWebDriver-rajapinnan kautta, kun taas NUnit toimittaa testiattribuutit, vรคitteet ja Test Explorer -raportoinnin, jotka muuttavat kyseiset selainvaiheet toistettaviksi automatisoiduiksi testeiksi.

  • ๐Ÿ”˜ Tyรถkaluketju: Visual Studio ja sen lisรคksi Selenium WebDriver, NUnit ja NUnit-testisovitin NuGet paketteja.
  • โ˜‘๏ธ Projektin mรครคritys: Tulosteen tyypin on oltava luokkakirjasto, ei konsolisovellus, tai koonti epรคonnistuu.
  • โœ… NUnit-attribuutit: SetUp avaa selaimen, Test suorittaa toiminnot ja TearDown sulkee sen.
  • ๐Ÿงช Komentoryhmรคt: selainkomennot, WebElement-komennot ja alasvetokomennot SelectElementin kautta.
  • ๐Ÿ› ๏ธ Paikannin: FindElement hyvรคksyy XPath- ja CSS-valitsinstrategiat jokaiselle elementtivuorovaikutukselle.
  • โšก toteutus: Test Explorer suorittaa luokan ja raportoi jokaisen tuloksen joko hyvรคksytyksi tai hylรคtyksi.

Selenium C#-automaatio NUnit-testauskehyksellรค

Selenium Yleiskatsaus

Selenium on avoimen lรคhdekoodin verkko Automaatiotestaus tyรถkalu, joka tukee useita selaimia ja kรคyttรถjรคrjestelmiรค. Sen avulla testaajat voivat kรคyttรครค useita ohjelmointikieliรค, kuten Java, C#, Python, Ruby, PHP ja Perl automatisoitujen testien koodaamiseen. Jos olet uusi tyรถkalun kรคyttรคjรค, aloita tรคstรค Selenium oppitunti ja WebDriver vastaan Selenium RC-vertailu.

Selenium tarjoaa selaimen ohjauksen; kieli, jolla sitรค kรคytetรครคn, tarjoaa rakenteen.

C# yleiskatsaus

C# on olio-ohjelmointikieli, joka on johdettu C++ ja JavaC# antaa kehittรคjille mahdollisuuden rakentaa sovelluksia Visual Studion avulla .NET-alustalla. Seuraavat ovat C#:n tรคrkeimmรคt ominaisuudet C#.

  1. Se on olio-ohjelmointikieli
  2. Se tukee konsolien, ikkunoiden ja verkkopohjaisten sovellusten kehitystรค
  3. Se tarjoaa ominaisuuksia, kuten kapseloinnin, periytymisen ja polymorfismin.

Ennen johdotusta Selenium sisรครคn, se auttaa tunnistamaan yksinkertaisen C#-ohjelman muodon.

C#:n perussyntaksi

C#-kielisen ohjelman on sisรคllettรคvรค seuraavat osiot

  1. Nimiavaruuden ilmoitus
  2. Sarjat
  3. Luokan attribuutit ja menetelmรคt
  4. Pรครคmenetelmรค
  5. Ohjelman lausunnot

Esimerkki-

Alla on esimerkki Selenium C# esimerkkiohjelma tekstin tulostamiseksiGuru99' jรคrjestelmรคkonsolissa.

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

Selitys:

  • Nimiavaruus yllรค olevassa Selenium C#-esimerkki on kokoelma useita luokkia. Jokainen nimiavaruus on ilmoitettava avainsanalla 'using'.
  • Koodin ensimmรคinen lause sisรคltรครค nimiavaruuden "Jรคrjestelmรค" ohjelmaamme. Jรคrjestelmรคn nimiavaruus mรครคrittelee C#:ssa kรคytetyt perusluokat ja tapahtumat. Kรคytettรคvรค nimiavaruus riippuu ohjelman vaatimuksista.
  • Toinen lauseke ilmoittaa nimiavaruuden "FirstProgram" luokalle "DemoPrint". AC#-tiedosto voi sisรคltรครค useita luokkia samassa nimiavaruudessa.
  • Kolmas lause sisรคltรครค luokkailmoituksen. Luokka voi sisรคltรครค useita attribuutteja ja useita menetelmiรค.
  • Neljรคs lause sisรคltรครค pรครคmenetelmรคn ilmoituksen. Pรครคmenetelmรค on kunkin luokan suorituspiste.
  • Viimeinen lauseke on C#-syntaksi, jota kรคytetรครคn lausekkeen tulostamiseen konsoliin. WriteLine on funktion metodi. Console luokka. Huomaa, ettรค aloituskohta on kirjoitettu Main isolla M-kirjaimella oikeassa C#:ssรค; pienellรค M-kirjaimella main yllรค olevassa esimerkissรค ei tunnisteta aloituspisteeksi.

Kun syntaksi on selvรค, seuraava tehtรคvรค on asentaa tyรถkalut, jotka kรครคntรคvรคt ja suorittavat nรคmรค testit.

Selenium C# Setupilla

Visual Studion kรคyttรถรถnotto Selenium WebDriver:

Nyt tรคssรค Selenium C#-opetusohjelma, opetellaan vaiheittaiset prosessit Visual Studion mรครคrittรคmiseksi Selenium WebDriver:

Visual Studio on integroitu kehitysympรคristรถ (IDE), jota kehittรคjรคt kรคyttรคvรคt sovellusten rakentamiseen useille alustoille, kuten Windows, Android, iOS- ja pilvipohjaiset sovellukset.

Vaihe 1) Siirry URL

https://visualstudio.microsoft.com/downloads/ ja Napsauta 'Ilmainen lataus' -painiketta, joka nรคkyy Visual Studio Community -vรคlilehdellรค

Visual Studion lataussivu, jossa on yhteisรถversion ilmainen latauspainike

Vaihe 2) Avaa ladattu exe. Napsauta Kyllรค, jos sinulta kysytรครคn jรคrjestelmรคnvalvojan oikeuksia.

Visual Studion asennusohjelma pyytรครค jรคrjestelmรคnvalvojan oikeuksia

Vaihe 3) Alla oleva ponnahdusikkuna tulee nรคkyviin. Napsauta Jatka-painiketta.

Visual Studio -asennusohjelman tervetuloikkuna ja Jatka-painike

Tiedostot ladataan alla olevan ponnahdusikkunan mukaisesti.

Visual Studio -asennusohjelma lataa komponenttitiedostoja

Vaihe 4) Seuraavassa nรคytรถssรค

Valitse valintaruudut kohteelle

  • Yleismaailmallinen Windows Alustan kehittรคminen
  • .NET-tyรถpรถytรคkehitys

Napsauta Asenna.

Visual Studion tyรถkuormanรคyttรถ Universalilla Windows Alusta- ja .NET-tyรถpรถytรคkehitys valittuna

Odota, ettรค kunkin komponentin asennus on valmis. Tiedostot ovat kooltaan 16 Gt ja vievรคt aikaa.

Visual Studio -asentajan edistymispalkki kullekin valitulle komponentille

Vaihe 5) Alla oleva ponnahdusikkuna tulee nรคkyviin. Napsauta 'Kรคynnistรค uudelleen' -painiketta.

Visual Studio -asennusohjelma kehottaa kรคynnistรคmรครคn koneen uudelleen

Vaihe 6) Kun kone on kรคynnistetty uudelleen, etsi "Visual Studio" aloitusvalikosta ja napsauta hakutulosta. Seuraava ponnahdusikkuna tulee nรคkyviin. Napsauta "Ei nyt, ehkรค myรถhemmin" -linkkiรค, jos sinulla ei ole tiliรค.

Visual Studion kirjautumisikkuna, jossa on Ei nyt, ehkรค myรถhemmin -linkki

Vaihe 7) Seuraavassa nรคytรถssรค

  • Valitse mieleisesi vรคriteema
  • Napsauta painiketta โ€Kรคynnistรค Visual Studioโ€

Visual Studion ensimmรคinen kรคynnistysnรคyttรถ vรคriteeman valitsemiseksi

Vaihe 8) Visual Studion aloitusnรคyttรถ tulee nรคkyviin.

Visual Studion aloitusnรคyttรถ asennuksen valmistuttua

Luo uusi projekti Visual Studiossa:

Vaihe 1) Valitse Tiedosto-valikosta Uusi > Projekti

Visual Studion Tiedosto-valikko, jossa on valittuna Uusi ja Projekti

Vaihe 2) Seuraavassa nรคytรถssรค

  1. Valitse vaihtoehto Visual C#
  2. Napsauta konsolisovellusta (.Net Framework)
  3. Syรถtรค nimi muodossa โ€Guru99 "
  4. OK

Uusi projekti -valintaikkuna Visual C# -konsolisovelluksella ja nimetyllรค projektilla Guru99

Vaihe 3) Alla oleva nรคyttรถ tulee nรคkyviin, kun projekti on luotu onnistuneesti.

Visual Studio -editori, joka nรคyttรครค juuri luodun Guru99 konsoliprojekti

Ota Visual Studio kรคyttรถรถn Selenium WebDriver:

Vaihe 1) Siirry kohtaan Tyรถkalut -> NuGet Paketinhallinta -> Hallitse NuGet Ratkaisupaketit

Tyรถkalut-valikon polku N:รครคnuGet Pakettien hallinta ja N:n hallintauGet Ratkaisupaketit

Vaihe 2) Seuraavassa nรคytรถssรค

  1. Etsi Selenium tuloksena olevalla nรคytรถllรค
  2. Valitse ensimmรคinen hakutulos
  3. Valitse projektin valintaruutu
  4. Napsauta "Asenna"

NuGet pakettien hallintaohjelma Selenium hakutuloksen ja projektin valintaruutu valittuna

Vaihe 3) Napsauta 'OK'-painiketta ponnahdusikkunassa

NuGet vahvistusponnahdusikkuna ennen Selenium paketti on asennettu

Vaihe 4) Alla oleva viesti tulee nรคkyviin, kun paketti on asennettu onnistuneesti.

NuGet tulosteen vahvistus Selenium WebDriver asennettu onnistuneesti

Selenium voi nyt avata selaimen, mutta se ei voi vielรค raportoida, lรคpรคisikรถ testin. Se on yksikkรถtestauskehyksen tehtรคvรค.

NUnit Framework: Yleiskatsaus

NUnit on Yksikkรถtestaus puitteet, joita tukee Visual Studio ja Selenium WebDriver. NUnit on laajimmin kรคytetty yksikkรถtestauskehys .NET-sovelluksille. NUnit esittรครค testitulokset luettavassa muodossa ja mahdollistaa testaajan automatisoitujen testien virheenkorjauksen.

Meidรคn on asennettava NUnit Framework ja NUnit Test Adapter Visual Studioon, jotta voimme kรคyttรครค niitรค.

NUnit Frameworkin asennuksen vaiheet

Nyt tรคssรค Selenium C#-opetusohjelman avulla opetellaan NUnit-kehyksen asennusprosessi:

Vaihe 1) Siirry kohtaan Tyรถkalut -> NuGet Paketinhallinta -> Hallitse NuGet Ratkaisupaketit

Tyรถkalut-valikko avattiin uudelleen N:ssรคuGet NUnit-asennuksen pakettienhallinta

Vaihe 2) Seuraavassa ikkunassa

  1. Etsi NUnit
  2. Valitse hakutulos
  3. Valitse projekti
  4. Valitse Asenna

NuGet paketinhallinta, jonka asennusta varten on valittu NUnit-hakutulos

Vaihe 3) Alla oleva ponnahdusikkuna tulee nรคkyviin. Napsauta 'Ok'-painiketta.

NuGet vahvistusponnahdusikkuna ennen NUnit-kehyksen asentamista

Vaihe 4) Alla oleva viesti tulee nรคkyviin, kun asennus on valmis.

NuGet viesti, joka vahvistaa NUnit-kehyksen asennuksen valmistumisen

NUnit Test Adapterin lataamisen vaiheet

Nyt tรคssรค NUnit-opetusohjelmassa kรคsittelemme vaiheet NUnit Test Adapterin lataamiseksi:

Huomaa, ettรค alla olevat vaiheet toimivat vain 32-bittisille koneille. 64-bittisille koneille sinun on ladattava NUnit3 Test Adapter noudattamalla alla mainittua prosessia.

Nykyiset paketit: moderni projekti asentaa NUnit3TestAdapter Sekรค Microsoft.NET.Test.Sdk, ja vanhempi NUnitTestAdapter pakettia ei enรครค yllรคpidetรค. .NET:ssรค (Core) koko projekti voidaan rakentaa scaffolding-pohjaiseksi dotnet new nunit, joka lisรครค kaikki kolme pakettia puolestasi.

Vaihe 1) Siirry kohtaan Tyรถkalut ->NuGet Paketinhallinta -> Hallitse NuGet Ratkaisupaketit. Siinรค nรคytรถssรค

  1. Hae NUnitTestAdapter
  2. Napsauta Hakutulos
  3. Valitse projekti
  4. Valitse Asenna

NuGet paketinhallinta etsii NUnitTestAdapteria, kun projekti on valittuna

Vaihe 2) Napsauta OK vahvistusponnahdusikkunassa. Kun asennus on valmis, nรคet seuraavan viestin -

NuGet viesti, joka vahvistaa NUnit-testisovittimen asennuksen valmistumisen

Molemmat puoliskot on asennettu, joten seuraava vaihe on niiden yhdistรคminen yhdeksi testiluokaksi.

Selenium ja NUnit-kehys

Seleenin integrointi NUnit-kehykseen sallii testaajan erottaa eri testiluokat toisistaan. NUnit sallii myรถs testaajien kรคyttรครค merkintรถjรค, kuten SetUp, Test ja TearDown suorittaakseen toimintoja ennen testin suorittamista ja sen jรคlkeen.

NUnit-kehys voidaan integroida Selenium luomalla NUnit-testiluokan ja suorittamalla sen NUnit-kehystรค kรคyttรคen. Java tรคmรคn kuvion vastine on kรคsitelty JUnit kehysopastusohjelma, ja Visual Studion sisรคllรค olevaa NUnitin .NET-vaihtoehtoa kรคsitellรครคn rinnakkain TestNG varten Selenium.

Alla vaiheet tรคssรค Selenium C#-kehyksen opetusohjelma tarvitaan testiluokan luomiseen ja suorittamiseen NUnit-kehyksen avulla.

NUnit Test -luokan luomisen vaiheet Selenium:

Vaihe 1) Ratkaisujen hallinnassa napsauta projektia hiiren kakkospainikkeella > Lisรครค > Luokka

Ratkaisujen hallinnan pikavalikko, jossa Lisรครค ja Luokka on valittuna

Vaihe 2) Kurssin luontiikkuna tulee nรคkyviin.

  1. Anna luokalle nimi
  2. Napsauta Lisรครค-painiketta

Lisรครค uusi kohde -valintaikkuna, jota kรคytetรครคn uuden NUnit-testiluokan nimeรคmiseen

Vaihe 3) Alla oleva nรคyttรถ tulee nรคkyviin.

Tyhjรค C#-luokkatiedosto luotu Visual Studio -editorissa

Vaihe 4) Lisรครค seuraava koodi luotuun luokkaan. Huomaa, ettรค sinun on mรครคritettรคvรค 'chromedriver.exe'-tiedoston sijainti Chrome-ajurin alustuksen aikana. Selenium 4.6 ja uudemmat versiot Selenium Johtaja, joka ratkaisee vastaavan ajurin automaattisesti, joten new ChromeDriver() ilman polkuargumenttia on nykyinen muoto โ€” alla oleva polku sรคilytetรครคn, koska se vastaa nรคyttรถkuvia.

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

    }
}

Vaihe 4) Napsauta "Build" -> "Build Solution"

Build-valikko, jossa on valittuna Build Solution (Kokoonna ratkaisu) Visual Studiossa

HUOMAUTUS: Saatat saada virheilmoituksen, kuten "Ei sisรคllรค staattista "pรครค"-menetelmรครค, joka sopii sisรครคntulopisteeseen", kun rakennat

Kรครคnnรถsvirhe raportoi, ettei staattinen pรครคmetodi sovellu aloituspisteelle

Voit ratkaista tรคmรคn siirtymรคllรค kohtaan Projekti > Ominaisuudet ja muuttamalla tulostetyypiksi โ€Luokkakirjastoโ€. Oletusarvo on โ€Konsolisovellusโ€.

Projektin ominaisuudet, joiden tulostetyyppi on vaihdettu luokkakirjastoon

Vaihe 5) Kun rakennus on onnistunut, meidรคn on avattava Test Explorer -ikkuna. Napsauta Testaa -> Windows -> Test Explorer

Testivalikon polku kohteeseen Windows ja testiselain

Vaihe 6) Test Explorer -ikkuna avautuu, jossa on luettelo kรคytettรคvissรค olevista testeistรค. Napsauta hiiren kakkospainikkeella Test Exploreria ja valitse Suorita valitut testit

Testiselaimessa luetellaan kรคytettรคvissรค olevat testit ja valitaan Suorita valitut testit

Vaihe 7) Selenium tรคytyy avata selain mรครคritetyllรค URL ja sulje selain. Testitapauksen tilaksi muuttuu Test Explorer -ikkunassa "Lรคpรคisty".

Testiselaimessa nรคkyy, ettรค NUnit-testitulos on merkitty lรคpรคistyksi

Lรคpรคisty koe todistaa putkityรถn toimivuuden. Seuraavaksi on sanasto, jolla kirjoitat kokeita.

Selenium WebDriver-komennot C#:ssa

C# kรคyttรครค IWebDriver-liittymรครค selaimen vuorovaikutukseen. Seuraavat ovat kรคytettรคvissรค olevien komentojen luokka Selenium C #: ssรค.

  1. Selaimen komennot
  2. Verkkoelementin komennot
  3. Pudotusvalikon komennot

Nyt tรคssรค Selenium C#-opetusohjelma, tutkitaanpa Selenium WebDriver-komennot yksi kerrallaan. Java vastineet on osoitettu tรคssรค ensimmรคinen WebDriver-skripti lรคpikรคynti.

Alla olevat komennot ovat edelleen ajankohtaisia IWebDriver pinta sisรครคn Selenium 4, joten syntaksi sรคilyy muuttumattomana.

Selaimen komennot:

Seuraavassa on luettelo selainkomennoista, jotka ovat saatavilla C#:ssa Selenium.

Komennon nimi Tuotetiedot Syntaksi
URL-komento Tรคtรค komentoa kรคytetรครคn tietyn osan avaamiseen. URL selaimessa.
driver.Url = "https://www.guru99.com"
Otsikko Komento Tรคtรค komentoa kรคytetรครคn hakemaan tรคllรค hetkellรค avoinna olevan verkkosivun otsikko
String title = driver.Title
PageSource-komento Tรคtรค komentoa kรคytetรครคn hakemaan tรคllรค hetkellรค avoinna olevan verkkosivun lรคhdekoodi.
String pageSource = driver.PageSource
Sulje komento Tรคtรค komentoa kรคytetรครคn sulkemaan รคskettรคin avattu selainesiintymรค.
driver.Close();
Lopeta komento Tรคtรค komentoa kรคytetรครคn sulkemaan kaikki avoimet selainesiintymรคt
driver.Quit();
Takaisin komento Tรคtรค komentoa kรคytetรครคn selainhistorian edelliselle sivulle siirtymiseen.
driver.Navigate().Back();
Eteenpรคin komento Tรคtรค komentoa kรคytetรครคn navigoimaan selainhistorian seuraavalle sivulle.
driver.Navigate().Forward()
Pรคivitรค komento Tรคtรค komentoa kรคytetรครคn selaimen pรคivittรคmiseen.
driver.Navigate().Refresh()

Selainkomennot vaikuttavat ikkunaan; seuraava ryhmรค vaikuttaa sen sisรคltรถรถn.

WebElement-komennot

Verkkoelementti (WebElement) edustaa mitรค tahansa verkkosivun elementtiรค. Niitรค edustavat HTML-tagit. Painikkeet, tekstilaatikot, linkit, kuvat, taulukot ja kehykset ovat kaikki verkkoelementtejรค. Operanรคiden elementtien toimenpiteet laukaistaan IWebElement kรคyttรถliittymรค. Jotta voimme olla vuorovaikutuksessa WebElementin kanssa, meidรคn on ensin etsi elementti sivulla ja suorittaa sitten sille toiminnon. Kรคytettรคvissรค olevat strategiat kรคsitellรครคn kohdassa paikantimet SeleniumSelaimen kehitystyรถkaluja โ€“ tai vanhoja Firebug- ja Firepath-lisรคosia, joita alla olevat kuvakaappaukset edeltรคvรคt โ€“ voidaan kรคyttรครค tunnistamaan XPath WebElementistรค.

Seuraavat WebElement-komennot ovat kรคytettรคvissรค C#:ssa.

Komennon nimi Tuotetiedot Syntaksi
Napsauta komentoa Tรคtรค komentoa kรคytetรครคn verkkoelementin napsautukseen. Jotta elementti olisi napsautettava, elementin on oltava nรคkyvissรค verkkosivulla. Tรคtรค komentoa kรคytetรครคn myรถs valintaruutujen ja valintanappien toimintoihin.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.Click();
Tyhjennรค komento Tรคtรค komentoa kรคytetรครคn erityisesti tekstilaatikoiden olemassa olevan sisรคllรถn tyhjentรคmiseen.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.Clear();
SendKeys-komento Tรคtรค komentoa kรคytetรครคn arvon syรถttรคmiseen tekstiruutuihin. Syรถtettรคvรค arvo on vรคlitettรคvรค parametrina osoitteeseen
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.SendKeys("guru99");
Nรคytรถssรค oleva komento Tรคtรค komentoa kรคytetรครคn tunnistamaan, nรคkyykรถ tietty elementti verkkosivulla. Tรคmรค komento palauttaa Boolen arvon; tosi tai epรคtosi verkkoelementin nรคkyvyydestรค riippuen.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Displayed;
Komento kรคytรถssรค Tรคtรค komentoa kรคytetรครคn tunnistamaan, onko tietty Web-elementti kรคytรถssรค verkkosivulla. Tรคmรค komento palauttaa Boolen arvon; totta tai tarua seurauksena.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Enabled;
Valittu komento Tรคtรค komentoa kรคytetรครคn tunnistamaan, onko tietty verkkoelementti valittu. Tรคtรค komentoa kรคytetรครคn valintaruutuihin, valintanappien ja valintatoimintojen kanssa.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Selected;
Lรคhetรค komento: Tรคmรค komento on samanlainen kuin klikkauskomento. Ero on siinรค, onko HTML-lomakkeessa painike, jonka tyyppi on Submit. Kun klikkauskomento napsauttaa mitรค tahansa painiketta, lรคhetyskomento napsauttaa vain painikkeita, joiden tyyppi on lรคhetรค.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.submit();
Tekstikomento Tรคmรค komento palauttaa verkkoelementin sisรคtekstin. Tรคmรค komento palauttaa tuloksena merkkijonoarvon.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String text=element.Text;
TagName-komento Tรคmรค komento palauttaa verkkoelementin HTML-tunnisteen. Se palauttaa tuloksena merkkijonoarvon.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  String tagName = element.TagName;
GetCSSValue-komento: Tรคtรค menetelmรครค kรคytetรครคn verkkoelementin vรคrin palauttamiseen rgba-merkkijonon muodossa (punainen, vihreรค, sininen ja alfa).
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String color = element.getCSSValue;

ulostuloโ€“ Jos elementin vรคri on punainen, tuloste olisi rgba(255,0,0,1)

Huomautus yllรค olevista esimerkeistรค: taulukko toistaa alkuperรคisen syntaksin. Nykyisessรค Selenium .NET-jรคsenet ovat Pascal-koteloituja โ€” element.Submit() ja element.GetCssValue("color") - ja GetCssValue ottaa CSS-ominaisuuden nimen argumenttina.

Pudotusvalikon komennot:

C#:n pudotusvalikosta voidaan tehdรค SelectElement-luokka.

Seuraavassa on erilaisia โ€‹โ€‹C#:ssa kรคytettรคvissรค olevia pudotusvalikkotoimintoja.

Komennon nimi Tuotetiedot Syntaksi
SelectByText-komento Tรคmรค komento valitsee vaihtoehdon pudotusvalikosta vaihtoehdon tekstin perusteella.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByText("Guru99");
SelectByIndex-komento Tรคtรค komentoa kรคytetรครคn valitsemaan vaihtoehto sen indeksin perusteella. Pudotusvalikon indeksi alkaa 0:sta.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByIndex("4");
SelectByValue-komento Tรคtรค komentoa kรคytetรครคn valitsemaan vaihtoehto sen arvon perusteella.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByValue("Guru99");
Vaihtoehdot Komento Tรคtรค komentoa kรคytetรครคn pudotusvalikossa nรคkyvรคn vaihtoehtoluettelon hakemiseen.
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);
}

Yllรค oleva koodi tulostaa kaikki vaihtoehdot konsoliin pudotusvalikosta.

IsMultiple-komento Tรคtรค komentoa kรคytetรครคn tunnistamaan, onko alasvetovalikko monivalintavalikko. Monivalintavalikossa kรคyttรคjรค voi valita useamman kuin yhden vaihtoehdon kerrallaan. Tรคmรค komento palauttaa totuusarvon.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
Boolean status = select.IsMultiple();
DeSelectAll -komento Tรคtรค komentoa kรคytetรครคn monivalintavalikoissa. Se tyhjentรครค jo valitut vaihtoehdot.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectAll();
DeSelectByIndex-komento Tรคmรค komento poistaa jo valitun arvon sen indeksin avulla.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByIndex("4");
DeSelectByValue -komento Tรคmรค komento poistaa jo valitun arvon sen arvon avulla.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByValue("Guru99");
DeSelectByText-komento Tรคmรค komento poistaa jo valitun arvon tekstin avulla.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByText("Guru99");

Alla olevat neljรค skriptiรค kรคyttรคvรคt yllรค olevia komentoja toimiakseen Guru99 demosivustoa. Jokainen niistรค on tรคydellinen, suoritettava NUnit-testiluokka.

Code Nรคytteet

Esimerkki 1: Napsauta linkkiรค XPATH Locatorin avulla:

Testi skenaario:

  1. Siirry demoon Guru99 verkkosivua โ€“ https://demo.guru99.com/test/guru99home/
  2. Maksimoi ikkuna
  3. Napsauta Testaus-valikkoa
  4. Sulje selain
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();
        }
    }
}

Esimerkki 2: Tietojen syรถttรคminen tekstiinBox ja napsauta painiketta XPATH-paikantimella:

Testi skenaario:

  1. Siirry Guru99 demosivu โ€“ https://demo.guru99.com/test/guru99home/
  2. Syรถtรค tiedot sรคhkรถpostin tekstikenttรครคn
  3. Napsauta rekisterรถitymispainiketta
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();
                        
        }
    }
}			

Esimerkki 3: Tietojen syรถttรคminen tekstiinBox ja napsauta painiketta CSS-paikantimella:

Testi skenaario:

  1. Siirry Guru99 demosivu โ€“ https://demo.guru99.com/test/guru99home/
  2. Syรถtรค tiedot sรคhkรถpostin tekstikenttรครคn
  3. Napsauta rekisterรถitymispainiketta
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();

             
        }
    }
}

Esimerkki 4: Valitse arvo avattavasta valikosta:

Testi skenaario:

  1. Siirry Guru99 demosivu โ€“ https://demo.guru99.com/test/guru99home/
  2. Valitse SAP linkkiรค
  3. Syรถtรค tiedot nimi- ja sรคhkรถpostikenttรครคn
  4. Valitse arvo Kurssi-pudotusvalikosta
  5. Sulje selain
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");
                        
        }
    }
}

UKK

Kรคyttรครค Selenium.WebDriver 4.x ja NUnit 3.14 tai NUnit 4 sekรค NUnit3TestAdapter ja Microsoft.NET.Test.Sdk. NUnit 4 on suunnattu .NET Framework 4.6.2:lle tai .NET 6:lle ja uudemmille versioille, joten tarkista projektisi kohde ennen pรคivittรคmistรค yllรค olevista paketeista.

Ei. Selenium 4.6 kรคyttรถรถn Selenium Manager, joka lataa ja yhdistรครค selainohjaimen suorituksen aikana. Ohjainkansion vรคlittรคminen ChromeDriver-konstruktorille toimii edelleen, mutta sitรค tarvitaan vain silloin, kun sinun on kiinnitettรคvรค tietty ohjaimen koontiversio.

Implisiittinen odotus kohdistaa yhden aikakatkaisun jokaiseen elementtihakuun IWebDriver-instanssin koko elinkaaren ajan. Eksplisiittinen odotus kohdistuu yhteen elementtiin ja yhteen ehtoon, kuten klikattavaan tai nรคkyvรครคn, joten se epรคonnistuu nopeammin ja kuvaa tarkoitusta tarkemmin.

Kyllรค. Merkitse kokoonpano Parallelizable-merkinnรคllรค, niin NUnit suorittaa kiinnityksiรค samanaikaisesti. Jokaisen testin on omistettava oma IWebDriver-instanssinsa, joten luo ajuri SetUpissa staattisen kentรคn jakamisen sijaan, muuten rinnakkaiset testit tรถrmรครคvรคt samaan selaimeen.

Sekรค NUnit ettรค MSTest kรคyttรคvรคt attribuutteja ja ryhmรคtestejรค TestFixture- tai TestClass-testien avulla. xUnit ei tarvitse luokkaattribuuttia ja se on suunniteltu rinnakkaisuuden varaan. Kaikki kolme toimivat Test Explorerissa; NUnit on edelleen yleisin valinta Selenium tyรถskentele C#:lla.

Tekoรคlytyรถkalut ehdottavat paikantimia sivun tilannevedoksesta, korjaavat kรคyttรถliittymรคmuutoksen jรคlkeen rikkoutuneet valitsimet ja muuntavat kirjoitetun testitapauksen NUnit-metodin luonnokseksi. Kรคsittele jokaista ehdotusta luonnoksena ja tarkista vรคitteet ennen commit-toimintoa.

Kyllรค. Saatuaan skenaariota kuvaavan kommentin Copilot luonnostelee SetUp-, Test- ja TearDown-jรคsenet ja ehdottaa FindElement-kutsuja ympรคrรถivรคstรค koodista. Tarkista paikantimet julkaistua sivua vasten, koska luodut valitsimet pรครคtellรครคn tarkastusten sijaan.

Selenium sillรค on laajin grid-, pilvi- ja kielituki sekรค erittรคin suuri olemassa oleva testiympรคristรถ, joten taito pysyy tyรถllistettรคvรคnรค. Playwright tarjoaa nopeamman suorituksen ja sisรครคnrakennetun odotusominaisuuden. Monet .NET-tiimit kรคyttรคvรคt molempia jakavat saman NUnit-ajurin ja raportit.

Tiivistรค tรคmรค viesti seuraavasti: