Webdriver caracteristică a comenzilor de bază - baza de cunoștințe

În acest articol vreau să
da descriere și exemple de bază (în opinia mea), comenzi în Seleniu
2.0 WebDriver pentru testare funcțională automatizată
aplicație web-based. În acest articol, voi spune ce un WebDriver. În acest
Notă: Puteți vedea un exemplu de un script test simplu pe
WebDriver și informații generale de bază despre acest instrument
automat de testare. Exemplele sunt prezentate în C #
Driver, biblioteci versiune - 2.9.0.

Noua versiune a Seleniu organizat îmbunătățită, elemente motor de căutare
pagina. Înainte de a accesa elemente de pagină trebuie mai întâi
apel metoda de căutare care specifică tipul de Locator. Există, de asemenea, o metodă pentru
Elemente de grup vânătoare findElements (By de).
În WebDriver disponibile pentru a lucra cu următoarele tipuri de locatoare: id, nume,
XPath, tagName, ClassName, cssSelector, linktext, partionalLinkText.
Inițializarea EXEMPLU și de căutare tipuri de elemente utilizând diferite
locatoare:

Ca și în seleniu 1.0. Trei tipuri de comenzi de bază pot fi identificate în Seleniu WebDriver:


  • Acțiuni - efect funcțional pe o pagină web sau elemente
    browser-ul. De exemplu, domeniile de umplere, presare, și altele;
  • Verificați - efectuarea verificărilor pe pagina de test. De exemplu,
    verificarea faptului că un câmp specific are semnificația menționată mai sus, sau
    Verificați titlul ferestrei, etc.;
  • Așteptările - așteptările de organizare a unor evenimente în
    pagină sau o pagină (de exemplu, de așteptare pentru pagina de încărcare sau
    așteptați cereri de încărcare ajax apariția unei anumite pagini,
    Element etc.).

Comenzile de navigare. Pentru navigare întâlnește clasa Naviga.

Lucrul cu ferestre de browser:

  • void Close () - închide fereastra curentă. Se închide browser-ul, în cazul în care nu există ferestre mai deschise;
  • void Evacuați () - membru al System.IDisposable. Cu această metodă este posibil să se îndepărteze, pentru a elibera sau a reseta resursele neamenajate;
  • Gestionați () - vă permite să schimbați setările driverului;
  • void Quit () de ieșire din driver-ul, închideți toate ferestrele asociate cu acesta;
  • OpenQA.Selenium.IWebElement FindElement (OpenQA.Selenium.By de)
    - Căutările pentru un articol de pe pagină. Prin parametru indică motorul de căutare
    Element. Returnează primul element care satisface, condiția
    Căutare. Exemplele sunt date mai sus;
  • System.Collections.ObjectModel.ReadOnlyCollection FindElements (OpenQA.Selenium.By de) - la fel ca FindElement, doar pentru a reveni toate elementele care se potrivesc cu condiția de căutare;
  • OpenQA.Selenium.ITargetLocator SwitchTo () - comutarea între popup- E, Alarma, ferestre;
  • PageSource string - returnează conținutul ultima pagină încărcată;
  • Titlu șir de caractere - returnează titlul paginii curente;
  • string url - seturi sau returnează URL-ul ferestrei curente;
  • CurrentWindowHandle string - returnează o referință la fereastra curentă;
  • System.Collections.ObjectModel.ReadOnlyCollection WindowHandles - returnează link-uri la toate ferestrele de browser deschise.

Accesul la comenzile prin intermediul interfeței IWebDriver. Următoarele exemple simple:

Verificați titlul paginii curente:

Verificați dacă există un text „Rezultate“ de pe pagina curentă:

Exemple de lucru cu popup- E, alerte. Pentru a comuta între ferestre, popup- E, alerte trebuie să utilizeze metoda SwitchTo (). Pentru a lucra cu clasa Alert este IAlert.

Alegeți un cadru după nume:

Selectați fereastra pe nume:

Acțiuni pe elemente de pagină:


  • void clic () - o singură apăsare pe elementul;
  • string getAttribute (AttributeName string) - returnează valoarea atributului;
  • string GetCssValue (propertyName string) - returnează valoarea elementului CSS;
  • void SendKeys (text string)
    - introduceți text în casetele de text. Atunci când se lucrează cu câmpuri de text pot fi
    utilizați tastele funcționale, munca lor de clasă oferă chei. De exemplu: element.SendKeys ( "sds" + Keys.Up);
  • void Submit () - trimite formularul la server;
  • bool Afișare - Se returnează o valoare care indică dacă elementul este vizibil;
  • bool activat - Se returnează o valoare care indică dacă elementul activ;
  • System.Drawing.Point Localizare - returnează coordonatele elementului;
  • bool selectat - Se returnează o valoare, dacă elementul activ (casetele de selectare, butoane radio) selectat;
  • tagname string - returnează numele tag-ul;
  • șir de text - returnează elementul innerText (fără goluri);
  • System.Drawing.Size Dimensiune - Returnează o dimensiune a elementului;
  • anula Clear () - curățarea conținutul elementului text.

Drop-down liste. Elemente de alegere multiplă. În WebDriver o SelectElement specială de clasă.
care este destinat să simplifice lucrul cu elemente selectați HTML. pentru
Pentru a profita de toate facilitățile de această necesitate clasă
conectați numele de spațiu OpenQA.Selenium.Support.UI. Această clasă sozherzhit următoarele metode:


  • void DeselectAll publice () - șterge toate intrările. Numai pentru selectarea elementelor multiple (multiple selecții);
  • DeselectByIndex public void (int index) - dezactivați opțiunea utilizând indexul;
  • DeselectByText public void (text string) - dezactivați opțiunea folosind elementul de text vizibil;
  • void DeselectByValue publice (string value) - opțiunea de a dezactiva elementul semnificativ;
  • SelectByIndex public void (int index) - activarea opțiunii, folosind indexul;
  • public void SelectByText (text string) - pentru a activa opțiunea prin utilizarea elementului de text vizibil;
  • void SelectByValue publice (string value) - opțiune activată semnificativ elementul;
  • AllSelectedOptions System.Collections.Generic.IList publice - returnează toate selecțiile din elementul curent;
  • bool publice IsMultiple - Se returnează valori, dacă elementul de selecție multiplă;
  • Opțiuni System.Collections.Generic.IList publice - returnează o listă de opțiuni pentru elementul selectat;
  • publice OpenQA.Selenium.IWebElement SelectedOption - returneaza elementul curent.

Ca un exemplu pentru
elemente multiple dezactiva toate valorile selectate, apoi activați,
folosind diferite comenzi. Utilizarea depune comanda pentru a trimite date către server.

EXEMPLUL lucra cu drag and drop. Trageți și plasați echipa în acest moment există doar de lucru pe platforma Windows.

Acțiuni de clasă
predostalvyaet mecanisme suplimentare de interacțiune cu browser-ul
(Mouseclick, MouseClicksAndHold, ContextClick, DoubleClick,
DragAndDropToOffset și altele).

Un pic despre așteptări:

WebDriver regia
în primul rând pentru a lucra cu, cereri AJAX supraîncărcat complexe
interfețe web. Dezvoltatorii oferă două mecanisme de așteptare
(Waits Explicit, Waits impliciți). Waits Explicit (explicită
așteptare) folosind clasa WebDriverWait - reprezintă
de fapt, ciclică de așteptare pentru un eveniment.

Waits implicite (Așteptare implicită) - toate elementele de comenzi de căutare sunt de așteptat în mod automat.

Desigur, puteți utiliza metodele de așteptările lor. Mai jos este un exemplu al metodei
WaitForTextPresent (). Evitați utilizarea Thread.sleep ().

Seleniul WebDriver capabil de a rula teste pe o mașină de la distanță. Start la distanță este necesar să se utilizeze clasa RemoteWebDriver.

Adăugați-l la spațiul de nume.

Aici este un exemplu simplu de clasa folosind RemoteWebDriver pentru a rula teste pe mașina de la distanță:

Pentru browser-ul Firefox
cu condiția lucrul cu browser-ul Profiluri. Pentru a face acest lucru, alege
clasa FirefoxProfile și FirefoxProfileManager.

În WebDriver este posibil să se creeze capturi de ecran:

Exemplu de ecran folosind RemoteWebDriver:

Despre modul de compatibilitate cu Seleniu RC WebDriverBackedSelenium am scris în acest post.

Trebuie remarcat faptul că posibilitatea de a utiliza WebDriver realizovanna PageObject și șabloane PageFactory.
Esența acestor modele este faptul că cele mai simple operații
alocă un unități logice distincte, și anume captată la nivelul
acțiune pe o anumită pagină. De exemplu, avem o pagină de conectare.
Mai întâi vom crea o clasă de autentificare separat care descrie toate
elemente de pagină și metode de căutare a acestora. Pe lângă această clasă aloca
toate metodele neobhodimyme (acțiuni de pe pagină) utilizând anterior
elemente de pagină descrise. După aceea, metodele pot fi puse în aplicare
utiliza logica de afaceri de nivel superior. această abordare
Aceasta poate reduce în mod semnificativ costurile de dezvoltare și în special pe
Cadrul de testare de sprijin. De asemenea, face testele mai flexibile
și reyuzaemymi. Pentru a utiliza toate farmecele modelelor descrise mai sus
punerea în aplicare nu WebDriver uita sa se conecteze numele OpenQA.Selenium.Support.PageObjects spațiu. Cel mai simplu exemplu de șablon PageObject:

Vom descrie elementele paginii de conectare:

Descriere Metoda LoginAsAdministrator:

Câteva exemple au fost preluate din documentația oficială
proiect. Am încercat să conducă, cred că, toate comenzile de bază
Seleniul WebDriver. Aceste exemple arată doar minime
posibilitățile instrumentului, dar suficient pentru un bun început
le. Mult noroc!

Popravte te rog:
bool Afișare - Se returnează o valoare care indică dacă elementul este vizibil;
bool activat - Se returnează o valoare care indică dacă elementul nu este activ;

articole similare