Un pic despre seleniul webdriver - baza de cunoștințe

Seleniul 2.0 este
instrument pentru automatizarea testării funcționale. care include
două proiecte independente anterior - Selenium Remote Control și
WebDriver. În Selenium 2.0 puteți folosi toate farmecele precum Selenium
WebDriver și Selenium RC (în modul de compatibilitate cu WebDriver).
Dezvoltatorii de instrumente recomandă utilizarea seleniului WebDriver în
acele locuri în care Selenium RC nu poate face față, bineînțeles, dacă nu există altele
Factorii care pot influența alegerea instrumentului de automatizare. la
lucra pe Selenium 2.0, lucrarea principală a fost pe Selenium WebDriver și
compatibilitate cu Selenium RC. Modificările speciale ale seleniului RC
nu a suferit, majoritatea bug-uri fixate vechi, deci cel mai probabil
va trebui să rescrieți câteva teste (îndepărtați cârjele etc.), dacă sunteți
aveți de gând să utilizați RC în modul de compatibilitate.

Seleniu RC Arhitectura
pot fi reprezentate după cum urmează: Teste automate -> Selenium RC Server
-> Browser -> Aplicație testată. Cum funcționează Selenium RC?

În arhitectura Selenium WebDriver nu există niciun "strat" ​​al Selenium RC
Server. Dar se adaugă stratul Driver, care este responsabil pentru
interacțiune cu browserul. Acesta este modul în care funcționează Selenium WebDriver:

Principalul avantaj
Selenium WebDriver este că folosește drivere,
adaptate pentru un anumit browser. care este Selenium WebDriver
lucrează cu fiecare browser pe un "program individual". Aceasta crește
stabilitatea testelor (deoarece acestea sunt ascuțite pentru un anumit tip
browser), testele devin mai ușor de scris și de menținut, crește
viteza muncii lor. Selenium WebDriver folosește comenzi native
(încearcă să emită complet acțiunile utilizatorului), care este
un avantaj important față de Selenium RC.

În prezent există următoarele drivere:

Lista de limbi acceptate în Selenium WebDriver: C #, Java, Ruby, Phyton.

Despre echipele principale din
Selenium WebDriver Voi încerca să scriu în următoarele note, merită
doar pentru a observa că unele principii de lucru comparativ cu seleniul 1.0
încă schimbată spre bine. Deci, oferă WebDriver
o muncă suficient de flexibilă cu așteptările evenimentelor de pe pagină. Asta este
se explică prin faptul că WebDriver vizează în primul rând să lucreze cu
complexe, solicitări AJAX supraîncărcate prin interfețe web. Dezvoltatori
oferă două mecanisme de așteptare (așteptare explicită, așteptare implicită), aici
puteți vedea descrierea și exemplele. Explicit așteaptă (explicită
așteptați), utilizând clasa WebDriverWait, reprezintă un sabot
de fapt o așteptare ciclică pentru un eveniment. Implicit așteaptă (implicit
așteptare) - toate comenzile de căutare a articolelor devin automat
așteptat. Firește, puteți folosi metodele de așteptare, bine sau
(care nu este foarte de dorit
) Thread.sleep (). Apropo, Selenium WebDriver poate lucra cu HTML 5!
De asemenea, am fost foarte mulțumit de mecanismul modificat de lucru cu locatorii -
munca a devenit mai convenabilă. În Selenium WebDriver nou
tipuri de localizatori: partionalLinkText, tagName, nume. Nu este acceptată de dom
locatoare. În această notă, am pictat tipurile de localizatori din Selenium 1.0. Lista completa de locatori din Selenium 2.0:


  • By.id - atributul id (identificator unic) al elementului de pagină este utilizat ca locator;
  • By.name - atributul name al elementului de pagină este folosit ca locator;
  • By.xpath - folosit pentru a căuta un element prin expresia XPath;
  • By.tagName - căutați după numele etichetei HTML;
  • By.className - căutarea după CSS pentru clasa elementului;
  • By.cssSelector - acest tip de locator se bazează pe descrieri de foi de stil (CSS);
  • By.linkText - căutați un link cu textul specificat;
  • By.partionalLinkText - căutați după o parte a link-ului cu textul specificat.

Pentru a începe dezvoltarea testelor auto pentru Selenium 2.0 sub .Net, trebuie să descărcați un set de biblioteci pentru .Net de aici. În arhiva descărcată ar trebui să fie următoarele biblioteci: Castle.Core.dll,
Ionic.Zip.Reduced.dll, Newtonsoft.Json.Net35.dll,
Selenium.WebDriverBackedSelenium.dll, ThoughtWorks.Selenium.Core.dll,
WebDriver.dll, WebDriver.Support.dll. Biblioteca are nevoie
conectați-vă la proiect. Dacă doriți să scrieți teste în altă limbă
programare, atunci instrucțiunea inițială poate fi studiată pe site-ul oficial
dezvoltatorii de seleniu. Pentru a rula testele, trebuie să instalăm
NUnit. NUnit este un cadru auxiliar pentru crearea de teste.
Descărcați NUnit făcând clic pe acest link. Bibliotecile din NUnit: nmock.dll. nunit.core.dll. NUnit. framework.dll trebuie, de asemenea, să fie conectat la proiect.

Deci, deschidem Visual
Studio și a crea un nou proiect de tip Library Class, adăugați cele menționate
deasupra bibliotecii. După aceasta, puteți începe să scrieți primul test.
Etapele testului nostru cel mai simplu vor fi următoarele:


  • Deschideți pagina principală a acestui blog, verificați titlul paginii;
  • În câmpul "Căutare", introduceți valoarea "Selenium WebDriver";
  • Faceți clic pe butonul "Căutare Trimitere" (lupă);
  • Verificați rezultatele căutării.

Seleniul testului WebDriver utilizând C #:


  • Rulați NUnit instalat anterior;
  • În NUnit alegeți "Fișier -> Deschidere proiect ...";
  • Și în caseta de dialog, specificați calea spre .dll din testul nostru (... binDebugSeleniumTest.dll);
  • Încărcați proiectul și apăsați butonul "Run" (va fi greu să nu îl observați).

Ca urmare, datele nu sunt
În acest caz, ar trebui să efectuăm un test auto
Seleniul. Astfel arată fereastra NUnit că ar trebui încărcată
încercare:

Un pic despre seleniul webdriver - baza de cunoștințe

În acest exemplu, au fost utilizate următoarele comenzi Selenium WebDriver:

De asemenea, au fost create dezvoltatorii de Selenium 2.0
plan pentru trecerea de la Selenium 1.0 la Selenium 2.0 în modul WebDriver.
Planul este aproximativ după cum urmează:

Iată un alt exemplu de lucru privind compatibilitatea WebDriver și Selenium RC preluate din documentația oficială pentru Selenium 2.0:

Aș vrea să fac chiar mai bine) am observat un număr suficient de greșeli de scriere. (WebDriver nu prea are un "spellchecker"?);

Ar fi bine să absorbi cunoștințele de lumină pură fără să conduci subcortexul cu o greșeală de scriere a cuvintelor! Dar, după cum am spus, este o mică problemă! Faceți o super afacere! Mulțumesc)

mulțumim pentru feedback, vom gândi ceva pentru a evita greșelile

-50% până la sfârșitul lunii în cadrul trainingului corporativ PHP Codeception de la fondatorul tulei
Convinge șeful și nu pierde codul promoțional at.info-codeception

Articole similare