Selenium Tutorial C# cu Exemplu NUnit

Selenium Descriere

Selenium este un web cu sursă deschisă Testarea automatizării instrument care acceptă mai multe browsere și mai multe sisteme de operare. Le permite testerilor să folosească mai multe limbaje de programare, cum ar fi Java, C#, Python, .Net, Ruby, PHP și Perl pentru codarea testelor automate.

Prezentare generală C#

C# este un limbaj de programare orientat pe obiecte derivat din C++ si Java. C# permite dezvoltatorilor să construiască aplicații folosind Visual Studio pe platforma .Net. Următoarele sunt caracteristicile cheie ale C#.

  1. Este un limbaj de programare orientat pe obiecte
  2. Suportă dezvoltarea de consolă, Windows și aplicații bazate pe web
  3. Oferă funcții precum încapsularea, moștenirea și polimorfismul.

Sintaxa de bază a C#

Un program în C# trebuie să conțină următoarele secțiuni

  1. Declarație de spațiu de nume
  2. Clase
  3. Atribute și metode de clasă
  4. Metoda principală
  5. Declarații de program

Exemplu-

Mai jos este o mostră Selenium Exemplu de program C# pentru a tipări textul „Guru99” pe consola sistemului.

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

Explicaţie:

  • Un spațiu de nume în cele de mai sus Selenium Exemplul C# este o colecție de mai multe clase. Fiecare spațiu de nume trebuie declarat folosind cuvântul cheie „utilizare”.
  • Prima declarație a codului include spațiul de nume „System” în programul nostru. Spațiul de nume de sistem definește clasele și evenimentele fundamentale utilizate în C#. Spațiul de nume care trebuie utilizat depinde de cerințele programului.
  • A doua declarație este declararea unui spațiu de nume „FirstProgram” pentru clasa „DemoPrint”. Fișierul AC# poate conține mai multe clase în același spațiu de nume.
  • A treia declarație include declarația de clasă. O clasă poate conține mai multe atribute și mai multe metode.
  • A patra instrucțiune include o declarație a metodei Main. Metoda principală este punctul de intrare de execuție pentru fiecare clasă.
  • Ultima declarație este sintaxa C# folosită pentru tipărirea unei instrucțiuni pe consolă. WriteLine este o metodă din clasa „Console.

Selenium cu C# Setup

Cum se configurează Visual Studio cu Selenium WebDriver:

Acum în asta Selenium Tutorial C#, haideți să învățăm procesul pas cu pas pentru a configura Visual Studio Selenium WebDriver:

Visual Studio este un mediu de dezvoltare integrat (IDE) care este utilizat de dezvoltatori pentru a construi aplicații pe mai multe platforme, cum ar fi Windows, Android, iOS și aplicații bazate pe cloud.

Pas 1) Navigați la adresa URL

https://visualstudio.microsoft.com/downloads/ și faceți clic pe 'Descărcare gratuită' butonul afișat în fila Comunitate Visual Studio

Configurați Visual Studio cu Selenium webdriver

Pas 2) Deschideți exe descărcat. Faceți clic pe „Da” dacă vi se solicită drepturi de administrator.

Configurați Visual Studio cu Selenium webdriver

Pas 3) Va apărea fereastra de mai jos. Faceți clic pe butonul „Continuare”.

Configurați Visual Studio cu Selenium unitate web

Fișierele vor fi descărcate așa cum se arată în fereastra de mai jos.

Configurați Visual Studio cu Selenium unitate web

Pas 4) În ecranul următor,

Bifați casetele de selectare pentru

  • Universal Windows Dezvoltarea platformei
  • Dezvoltare desktop .Net

Faceți clic pe „Instalare”.

Configurați Visual Studio cu Selenium unitate web

Așteptați finalizarea instalării fiecărei componente. Fișierele au o dimensiune de 16 GB și vor dura timp.

Configurați Visual Studio cu Selenium unitate web

Pas 5) Va fi afișat pop-up-ul de mai jos. Faceți clic pe butonul „Reporniți”.

Configurați Visual Studio cu Selenium unitate web

Pas 6) Odată ce aparatul este repornit, căutați „Visual Studio” în meniul de pornire și faceți clic pe rezultatul căutării. Va apărea următorul pop-up. Faceți clic pe linkul „Nu acum, poate mai târziu” dacă nu aveți un cont existent.

Configurați Visual Studio cu Selenium unitate web

Pas 7) În ecranul următor,

  • Selectați tema de culoare pe placul dvs
  • Faceți clic pe butonul „Porniți Visual Studio”

Configurați Visual Studio cu Selenium unitate web

Pas 8) Va apărea ecranul „Începeți” Visual Studio.

Configurați Visual Studio cu Selenium unitate web

Creați un nou proiect în Visual Studio:

Pas 1) În meniul Fișier, faceți clic pe Nou > Proiect

Creați un proiect nou în Visual Studio

Pas 2) În ecranul următor,

  1. Selectați opțiunea „Visual C#”
  2. Faceți clic pe Console App (.Net Framework)
  3. Introduceți numele ca „Guru99”
  4. Faceți clic pe OK

Creați un proiect nou în Visual Studio

Pas 3) Ecranul de mai jos va fi afișat odată ce proiectul este creat cu succes.

Creați un proiect nou în Visual Studio

Configurați Visual Studio cu Selenium WebDriver:

Pas 1) Navigați la Instrumente -> NuGet Manager de pachete -> Gestionați NuGet Pachete pentru soluție

Configurați Visual Studio cu Selenium webdriver

Pas 2) În ecranul următor

  1. Caută Selenium pe ecranul rezultat
  2. Selectați primul rezultat al căutării
  3. Bifați caseta de selectare a proiectului
  4. Faceți clic pe „Instalare”

Configurați Visual Studio cu Selenium webdriver

Pas 3) Faceți clic pe butonul „OK” din ecranul pop-up

Configurați Visual Studio cu Selenium webdriver

Pas 4) Mesajul de mai jos va fi afișat odată ce pachetul este instalat cu succes.

Configurați Visual Studio cu Selenium webdriver

Cadrul NUnit: Prezentare generală

NUnit este Testarea unității framework susținut de Visual Studio și Selenium WebDriver. NUnit este cel mai utilizat cadru de testare unitară pentru aplicațiile .Net. NUnit prezintă rezultatele testelor într-un format care poate fi citit și permite unui tester să depaneze testele automate.

Trebuie să instalăm NUnit Framework și NUnit Test Adapter pe Visual Studio pentru a le folosi.

Pași pentru a instala NUnit Framework

Acum în asta Selenium cu tutorialul C#, să învățăm procesul de instalare a cadrului NUnit:

Pas 1) Navigați la Instrumente -> NuGet Manager de pachete -> Gestionați NuGet Pachete pentru soluție

Instalați NUnit Framework

Pas 2) În fereastra următoare

  1. Căutați NUnit
  2. Selectați rezultatul căutării
  3. Selectați Proiect
  4. Faceți clic pe Instalare

Instalați NUnit Framework

Pas 3) Va apărea fereastra de mai jos. Faceți clic pe butonul „Ok”.

Instalați NUnit Framework

Pas 4) Mesajul de mai jos va apărea după finalizarea instalării.

Instalați NUnit Framework

Pași pentru a descărca NUnit Test Adapter

Acum, în acest tutorial NUnit, vom acoperi pașii pentru a descărca NUnit Test Adapter:

Vă rugăm să rețineți că pașii de mai jos funcționează numai pentru mașinile pe 32 de biți. Pentru mașinile pe 64 de biți, trebuie să descărcați „Nunit3 Test Adapter” urmând același proces menționat mai jos.

Pas 1) Navigați la Instrumente ->NuGet Manager de pachete -> Gestionați NuGet Pachete pentru soluție. În acel ecran,

  1. Căutați NUnitTestAdapter
  2. Faceți clic pe Rezultatul căutării
  3. Selectați Proiect
  4. Faceți clic pe Instalare

Descărcați adaptorul de testare NUnit

Pas 2) Faceți clic pe OK în fereastra pop-up de confirmare. Odată ce instalarea este finalizată, veți vedea următorul mesaj -

Descărcați adaptorul de testare NUnit

Selenium și cadrul NUnit

Integrarea seleniului cu cadrul NUnit permite unui tester să facă diferența între diferitele clase de testare. NUnit permite, de asemenea, testerilor să folosească adnotări precum SetUp, Test și TearDown pentru a efectua acțiuni înainte și după rularea testului.

Cadrul NUnit poate fi integrat Selenium prin crearea unei clase de testare NUnit și rularea clasei de testare folosind cadrul NUnit.

Mai jos, pașii în acest sens Selenium Tutorialul de framework C# este necesar pentru a crea și rula o clasă de testare folosind cadrul NUnit.

Pași pentru a crea o clasă NUnit Test în Selenium:

Pas 1) În Solution Explorer, faceți clic dreapta pe proiect > Adăugați > Clasă

Creați o clasă de test NUnit în Selenium

Pas 2) Va apărea fereastra de creare a clasei.

  1. Furnizați un nume clasei
  2. Faceți clic pe butonul Adăugați

Creați o clasă de test NUnit în Selenium

Pas 3) Va apărea ecranul de mai jos.

Creați o clasă de test NUnit în Selenium

Pas 4) Adăugați următorul cod la clasa creată. Vă rugăm să rețineți că trebuie să specificați locația fișierului „chromdriver.exe” în timpul inițializării driverului Chrome.

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

    }
}

Pas 4) Faceți clic pe „Build” -> „Build Solution”

Creați o clasă de test NUnit în Selenium

NOTĂ: Este posibil să primiți o eroare precum „Nu conține o metodă statică „principală” potrivită pentru un punct de intrare” atunci când construiți

Creați o clasă de test NUnit în Selenium

Pentru a rezolva acest lucru, Am ajuns la Proiect > Proprietăți și schimbați Tipul de ieșire în „Biblioteca de clasă”. Valoarea implicită este „Aplicație de consolă”.

Creați o clasă de test NUnit în Selenium

Pas 5) Odată ce construirea are succes, trebuie să deschidem fereastra Test Explorer. Faceți clic pe Test -> Windows -> Test Explorer

Creați o clasă de test NUnit în Selenium

Pas 6) Fereastra Test Explorer se deschide cu lista de teste disponibile. Faceți clic dreapta pe Test Explorer și selectați Run Selected Tests

Creați o clasă de test NUnit în Selenium

Pas 7) Selenium trebuie să deschidă browserul cu adresa URL specificată și să închidă browserul. Starea cazului de testare va fi schimbată în „Pass” în fereastra Test Explorer.

Creați o clasă de test NUnit în Selenium

Selenium Comenzi WebDriver în C#

C# folosește interfața „IWebDriver” pentru interacțiunile cu browserul. Următoarele sunt categoriile de comenzi disponibile cu Selenium în C#.

  1. Comenzi de browser
  2. Comenzi Web Element
  3. Comenzi derulante

Acum în Selenium Tutorial C Sharp, haideți să studiem Selenium Comenzile WebDriver una câte una

Comenzi browser:

Mai jos este o listă de comenzi de browser disponibile în C# cu Selenium.

Numele comenzii Descriere Sintaxă
Comanda URL Această comandă este utilizată pentru a deschide o adresă URL specificată în browser.
driver.Url = "https://www.guru99.com"
Comanda titlului Această comandă este folosită pentru a prelua titlul paginii web care este deschisă în prezent
String title = driver.Title
Comanda PageSource Această comandă este folosită pentru a prelua codul sursă al paginii web care este deschisă în prezent.
String pageSource = driver.PageSource
Închideți comanda Această comandă este folosită pentru a închide instanța de browser deschisă recent.
driver.Close();
Ieșiți din comandă Această comandă este folosită pentru a închide toate instanțele de browser deschise
driver.Quit();
Comanda înapoi Această comandă este utilizată pentru a naviga la pagina anterioară a istoricului browserului.
driver.Navigate().Back();
Comandă înainte Această comandă este utilizată pentru a naviga la următoarea pagină a istoricului browserului.
driver.Navigate().Forward()
Comanda de reîmprospătare Această comandă este utilizată pentru a efectua reîmprospătarea browserului.
driver.Navigate().Refresh()

Comenzi Webelement

Un Webelement reprezintă toate elementele dintr-o pagină web. Ele sunt reprezentate de etichete HTML. Fiecare dintre butoanele, casetele de text, linkurile, imaginile, tabelele și cadrele se încadrează în Webelements. Operaacțiunile pe elemente web pot fi declanșate folosind interfața IWebelement. Pentru a interacționa cu un Webelement, trebuie să găsim elementul pe pagina web și apoi să efectuăm operațiuni pe acesta. Instrumente precum Firebug și Firepath pot fi folosite pentru a identifica Xpath de Webelement.

Următoarele sunt lista comenzilor Webelement disponibile în C#.

Numele comenzii Descriere Sintaxă
Faceți clic pe comandă Această comandă este folosită pentru a face clic pe un element Web. Pentru ca elementul să poată fi făcut clic, acesta trebuie să fie vizibil pe pagina web. Această comandă este folosită și pentru operațiunile cu casetele de selectare și butoanele radio.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.Click();
Șterge comanda Această comandă este utilizată în mod special pentru ștergerea conținutului existent al casetelor de text.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.Clear();
Comanda SendKeys Această comandă este folosită pentru a introduce o valoare în casetele de text. Valoarea care trebuie introdusă trebuie transmisă ca parametru către
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
element.SendKeys("guru99");
Comanda afișată Această comandă este utilizată pentru a identifica dacă un anumit element este afișat pe pagina web. Această comandă returnează o valoare booleană; adevărat sau fals în funcție de vizibilitatea elementului web.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Displayed;
Comanda activată Această comandă este utilizată pentru a identifica dacă un anumit element web este activat pe pagina web. Această comandă returnează o valoare booleană; adevărat sau fals ca urmare.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Enabled;
Comanda selectată Această comandă este utilizată pentru a identifica dacă este selectat un anumit element web. Această comandă este utilizată pentru casete de selectare, butoane radio și operațiuni de selectare.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
Boolean status = element.Selected;
Trimite comanda: Această comandă este similară cu comanda click, diferența constă în faptul că formularul HTML are un buton cu tipul Submit. În timp ce comanda de clic dă clic pe orice buton, comanda de trimitere dă clic pe singurele butoane cu tipul de trimitere.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  element.submit();
Comandă text Această comandă returnează textul interior al unui element Web. Această comandă returnează o valoare șir ca rezultat.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String text=element.Text;
Comanda TagName Această comandă returnează eticheta HTML a unui element web. Returnează o valoare șir ca rezultat.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));  String tagName = element.TagName;
Comanda GetCSSValue: Această metodă este folosită pentru a returna culoarea unui element web sub forma unui șir rgba (Roșu, Verde, Albastru și Alfa).
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
String color = element.getCSSValue;

producție– Dacă culoarea elementului este roșie, ieșirea ar fi rgba(255,0,0,1)

Comenzi derulante:

Operațiile dropdown în C# pot fi realizate folosind clasa SelectElement.

Următoarele sunt diferitele operațiuni derulante disponibile în C#.

Numele comenzii Descriere Sintaxă
Comanda SelectByText Această comandă selectează o opțiune dintr-un meniu vertical pe baza textului opțiunii.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByText("Guru99");
Comanda SelectByIndex Această comandă este folosită pentru a selecta o opțiune pe baza indexului acesteia. Indicele derulant începe de la 0.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByIndex("4");
Comanda SelectByValue Această comandă este utilizată pentru a selecta o opțiune în funcție de valoarea acesteia.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.SelectByValue("Guru99");
Comanda Opțiuni Această comandă este utilizată pentru a prelua lista de opțiuni afișate într-un meniu vertical.
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);
}

Codul de mai sus imprimă toate opțiunile pe consolă într-un meniu vertical.

Comanda IsMultiple Această comandă este utilizată pentru a identifica dacă un meniu derulant este un meniu derulant cu selecție multiplă; Un meniu derulant cu selecție multiplă permite utilizatorului să selecteze mai mult de o opțiune dintr-un meniu derulant simultan. Această comandă returnează o valoare booleană.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
Boolean status = select.IsMultiple();
Comanda DeSelectAll Această comandă este utilizată în meniurile derulante cu selecție multiplă. Șterge opțiunile care au fost deja selectate.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectAll();
Comanda DeSelectByIndex Această comandă deselectează o valoare deja selectată folosind indexul acesteia.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByIndex("4");
Comanda DeSelectByValue Această comandă deselectează o valoare deja selectată folosind valoarea acesteia.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByValue("Guru99");
Comanda DeSelectByText Această comandă deselectează o valoare deja selectată folosind textul acesteia.
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); 
SelectElement select = new SelectElement(element);
select.DeSelectByText("Guru99");

Exemple de cod

Exemplul 1: Faceți clic pe un link utilizând XPATH Locator:

Scenariul de testare:

  1. Navigați la pagina web Demo Guru99 – https://demo.guru99.com/test/guru99home/
  2. Maximizați fereastra
  3. Faceți clic pe meniul „Testare”.
  4. Închideți browserul
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();
        }
    }
}

Exemplul 2: Introducerea datelor în textBox și faceți clic pe un buton folosind XPATH locator:

Scenariul de testare:

  1. Navigați la pagina demonstrativă Guru 99 – https://demo.guru99.com/test/guru99home/
  2. Introduceți datele în caseta de text de e-mail
  3. Faceți clic pe butonul de înregistrare
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();
                        
        }
    }
}			

Exemplul 3: Introducerea datelor în textBox și faceți clic pe un buton folosind locatorul CSS:

Scenariul de testare:

  1. Navigați la pagina demonstrativă Guru 99 – https://demo.guru99.com/test/guru99home/
  2. Introduceți datele în caseta de text de e-mail
  3. Faceți clic pe butonul de înregistrare
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();

             
        }
    }
}

Exemplul 4: Selectați o valoare din meniul derulant:

Scenariul de testare:

  1. Navigați la pagina demonstrativă Guru 99 – https://demo.guru99.com/test/guru99home/
  2. Faceţi clic pe SAP legătură
  3. Introduceți datele în casetele de text cu nume și e-mail
  4. Selectați o valoare din meniul derulant Curs
  5. Închideți browserul
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");
                        
        }
    }
}

Rezumat

  • Pentru a putea utiliza Selenium WebDriver cu C#, trebuie să instalați Visual Studio.
  • NUnit este cadrul de testare unitară susținut de Visual Studio și Selenium webdriver
  • Trebuie să instalăm NUnit Framework și NUnit Test Adapter pe Visual Studio pentru a le folosi.
  • Cadrul NUnit poate fi integrat Selenium prin crearea unei clase de testare NUnit și rularea clasei de testare folosind cadrul NUnit.
  • NUnit permite, de asemenea, testerilor să folosească adnotări precum SetUp, Test și TearDown pentru a efectua acțiuni înainte și după rularea testului.
  • Selenium Comenzile WebDriver pot fi clasificate în comenzi de browser, comenzi Webelement și comenzi drop-down.