protractor testing tool
Ce este Protractor?
Protractor este un instrument de testare a automatizării pentru testarea aplicațiilor web; combinând tehnologii puternice precum Jasmine, Selenium Webdriver, Node.js etc.
Instrumentul de testare Protractor este un cadru de testare bazat pe comportament cap la cap conceput ținând cont de aplicațiile Angular JS. Chiar dacă s-ar putea să pară că Protractor nu va funcționa cu aplicații JS non-unghiulare, da.
Funcționează atât cu aplicațiile JS unghiulare, cât și cu cele non-unghiulare la fel de bine.
Simțiți-vă liber să explorați întreaga serie de tutoriale AngularJS . În tutorialul nostru anterior, diferența dintre versiunile unghiulare a fost explicat în detaliu.
Ce veți învăța:
- Protractor vs Selenium WebDriver
- Caracteristici
- Cum mă poate ajuta Protractor?
- Ce cadru să folosești?
- Cum se descarcă și se configurează Protractor
- Sunteți gata să vă creați primul caz de testare?
- Cum să vă rulați cazurile de testare?
- Unele caracteristici mai interesante ale Protractor
- Concluzie
- Lectură recomandată
Protractor vs Selenium WebDriver
Ceea ce face Protractor diferit de tradițional Selenium WebDriver ?
Luați un minut pentru a răspunde la aceste întrebări:
- Este o luptă să stabilim când se încarcă exact pagina web (toate elementele asincrone sunt gata și procesate)?
- Te-ai săturat să adaugi așteptări și somnuri la codul tău?
- Vrei să scapi de efortul greoi de a localiza elementele unghiulare?
- Frustrat cu elemente de localizare cu ID-uri în schimbare?
- Doriți să creați propriul dvs. localizator?
- Scrii coduri lungi chiar și pentru cele mai simple afirmații?
- Sunteți un pasionat / fan JavaScript?
Dacă ați răspuns Da la aceste întrebări, Raportor poate ajuta.
Este un wrapper construit deasupra Selenium Webdriver și, prin urmare, oferă toate capacitățile Selenium împreună cu multe adăugiri utile. Ofera:
Caracteristici
Ofera:
1) WaitForAngular
cât de diferit este c de c ++
Din documentație:
' Instruiți WebDriver să aștepte până când Angular a terminat redarea și nu are apeluri $ http sau $ timeout restante înainte de a continua. Rețineți că Protractor aplică automat această comandă înainte de fiecare acțiune WebDriver. '
Ceea ce înseamnă acest lucru este că nu este nevoie să adăugați manual așteptări la script și Protractor va aștepta automat încărcarea elementelor web și abia apoi execută pașii următori.
Două) Are capacitatea de a exporta o funcție globală element , care ia un localizator și va returna un ElementFinder. Acest ElementFinder are un set de metode de acțiune, cum ar fi click (), getText (), sendKeys () etc. Acesta este nucleul modului de a interacționa cu elementul și de a obține informații de la acesta.
Această funcție globală ajută la reducerea sintaxei de localizare a elementelor. Aruncați o privire la următoarea afirmație pentru a localiza elementul atât în Selenium WebDriver, cât și în Protractor:
Selenium Webdriver :
driver.findElement(By.cssSelector('css selector'));
Raportor :
element(by.css('some-css'));
Sintaxa arată compactă, nu-i așa?
3) Unele noi strategii și funcții de localizare oferite pentru a ajuta la localizarea elementelor unghiulare sunt: By.binding, By.repeater, By.textarea, By.model, WebElement.all, WebElement.evaluate , etc.
Cum mă poate ajuta Protractor?
Aruncați o privire la următoarele caracteristici principale:
- Sintaxă simplă pentru a scrie cazuri de testare
- Posibilitatea de a rula mai multe browsere simultan folosind Selenium Grid
- Localizatori specifici unghiular
- Sprijin pentru dezvoltarea bazată pe comportament, cum ar fi Jasmine / Mocha
- Nu este nevoie să adăugați somnuri / așteptări
- Integrare acceptată cu Jenkins / Browser Stack / Grunt etc.
- Scăpați de gestionarea problemei de sincronizare pe site-urile web Angular JS
- Suport pentru mai multe browsere (Firefox, Chrome, Safari, Internet Explorer)
- Abilitatea de a rula aceleași scripturi și în browserele mobile, fără a fi nevoie să schimbați codul
Ce cadru să folosești?
Suportă două cadre de testare pentru dezvoltare bazată pe comportament (BDD) chiar de la început:
- Iasomie: Iasomie este cadrul implicit de testare când este instalat Protractor. Vom folosi Jasmine în acest articol.
- Mocha: Mocha este un cadru de testare JavaScript care rulează pe Node.js. Dacă doriți să utilizați Mocha ca cadru de testare, va trebui să îl configurați cu Protractor și va trebui, de asemenea, să utilizați interfața de dezvoltare condusă de comportament și afirmațiile Chai cu Chai ca promis (consultați acest link pentru mai multe detalii ).
Cum se descarcă și se configurează Protractor
Deoarece este un program node.js, trebuie să instalați node.js pentru a-l rula. Node.js poate fi descărcat de pe acest URL selectând sistemul de operare: Descărcare Node.js
Cu node.js, primiți și Protractor deasupra nivelului mării pachet, care poate fi folosit acum pentru a instala Protractor.
Acum că node.js este instalat pe mașina dvs., deschideți promptul de comandă (cmd) și apăsați comanda de mai jos pentru ao instala global:
npm install -g protractor
„-G” este folosit pentru a instala acest instrument la nivel global. Eliminați-l dacă nu doriți să îl instalați la nivel global. Această comandă instalează, de asemenea, Protractor API împreună cu un server de seleniu implicit, ceea ce înseamnă că nu trebuie neapărat să porniți un server independent.
Acum, trebuie să instalăm serverul seleniu și ChromeDriver. Utilizați următoarea comandă (vine și cu Protractor) în cmd:
webdriver-manager update
Acesta este tot ce avem nevoie pentru a începe cu primul nostru test de scriere a cazurilor folosind acest cadru. Dacă doriți, puteți instala orice IDE / editor pentru a vă scrie codul. Eclipse IDE este cel mai popular, dar există și mai mulți editori interesanți de luat în considerare. Personal, prefer editorul „Atom” pentru scrierea codului Protractor.
Sunteți gata să vă creați primul caz de testare?
Are nevoie de 2 fișiere pentru a rula:
- Fișier de configurare
- Fișier spec.
Fișier de configurare este cel care îi spune Protractor unde să găsească fișierele de testare (specificații) / ce browser să aleagă / ce cadru să folosească (Jasmine / Mocha) / unde să vorbească cu browserul dvs. Selenium și alte configurații. Dacă orice configurație nu este definită în fișierele de configurare, aceasta va utiliza valorile implicite.
Fișierul spec este cel în care scriem codul de testare real. Toate fluxurile / afirmațiile noastre funcționale de testare vor fi în acest fișier specific. S-ar putea să existe mai multe fișiere de specificații pe baza numărului de cazuri de test, dar doar un fișier de specificații va putea rula întreaga suită de testare din mai multe specificații.
Exemplu TEST CASE:
Acum, vom scrie un caz de test simplu în care vom naviga la o adresă URL și vom căuta titlul paginii.
Iată pașii:
- Creați un folder nou pentru suita de testare.
- Creați un fișier nou cu numele ca „ js (Orice nume va fi) Toate fișierele de specificații / configurare vor avea extensia „.js”.
- Creați un fișier nou cu numele specificat ca „ js '.
//CheckTitleSpec.js describe('Protractor Demo', function() { it('to check the page title', function() { browser.ignoreSynchronization = true; browser.get('https://www.softwaretestinghelp.com/'); browser.driver.getTitle().then(function(pageTitle) { expect(pageTitle).toEqual('Software Testing Help - A Must Visit Software Testing Portal'); }); }); });
Acum, suntem pregătiți să începem cu codarea noastră. Consultați codul de mai jos al fișierului „testCaseNameSpec.js”.
Iată cum arată fișierul de configurare:
// conf.js exports.config = { framework: 'jasmine', capabilities: { browserName: 'chrome', }, specs: ('simpleTestSpec.js') };
Acum, să rupem aceste 2 fișiere și să vedem cum funcționează.
# 1) Spec.js
- Toate comenzile la nivel de browser vor fi gestionate de „ browser ’, O lume creată de Protractor.
- Pe măsură ce urmărim cadrul Jasmine, „ descrie ' și ' aceasta 'Sunt sintaxele lui Jasmine. Descrie va conține întregul capăt pentru a încheia fluxul cazului de testare, în timp ce „acesta” ar putea conține unele dintre etapele de testare / scenarii etc. Puteți avea mai multe „ aceasta 'Blochează în programul dvs. dacă doriți acest lucru.
- browser.get este o sintaxă simplă Selenium care îi spune lui Protractor să lovească o anumită adresă URL din browser.
- Deoarece site-ul pe care încercăm să-l accesăm este un site non-unghiular, am setat ignoreSynchronization eticheta la „ Adevărat 'Așa cum este afișat la rândul # 4. Dacă nu faceți această etichetă adevărată, testul dvs. va eșua cu eroarea „Unghiular nu a putut fi găsit pe pagină”. Motivul din spatele acestui fapt este că Protractor se așteaptă să funcționeze în mod implicit cu site-uri web unghiulare și, dacă folosim Protractor pentru a valida site-ul web non-unghiular, trebuie să-i spunem Protractor în mod explicit. Cu toate acestea, dacă lucrați pe site-uri web unghiulare, nu este necesar să utilizați această declarație, deoarece Protractor va considera în mod implicit pagina web a fi unghiulară.
- „Așteptați” nu este altceva decât afirmația în care comparăm titlul paginii web pentru a egala unele date predefinite. Vom discuta mai multe afirmații în detaliu.
#Două) conf.js
- După cum s-a discutat mai devreme, fișierul de configurare este cel care îi spune Protractor detaliile de bază. Așa cum este afișat în cod, cadrul este „Jasmine”.
- În secțiunea de funcții, sunt configurate configurațiile browserului. Puteți defini numele browserului, cum ar fi Firefox / Chrome etc. Puteți, de asemenea, seta instanțele maxime ale browserelor, astfel încât să puteți rula simultan mai multe cazuri de test pe diferite ferestre disponibile ale browserului.
- În ' specificații 'Secțiune, oferim calea fișierului spec, adică exact unde se află fișierul spec în raport cu fișierul de configurare.
- Există, de asemenea, multe alte funcții interesante pe care le puteți atașa la fișierul de configurare, cum ar fi funcția de raportare / onPrepare / prag de expirare etc. Vom acoperi câteva dintre acestea în acest tutorial.
Cum să vă rulați cazurile de testare?
Am scris codul și acum tot ce ne trebuie este o mică apăsare pentru a pune codul în funcțiune. Apăsați următoarea comandă în cmd pentru a rula programul:
protractor conf.js
Această comandă va începe să ruleze serverul de seleniu urmată de rularea scriptului de testare. Puteți vizualiza jurnalele în cmd sau dacă doriți, jurnalele pot fi capturate și într-un fișier .txt (doar adăugați >> textFileName.txt după comanda de mai sus și jurnalele vor fi salvate în fișierul text situat în același director ca al fișierului de configurare).
Se va deschide o fereastră cromată, unde SoftwareTestingHelp.com site-ul web ar trebui să fie deschis. Ieșirea va fi „1 spec, 0 failure” atunci când rulați codul. Ceea ce înseamnă asta este că am avut 1 blocuri „it”, care au fost executate cu 0 eșecuri.
Acum, luați în considerare fișierul de specificații de mai jos, în care efectuăm câteva acțiuni pe o pagină web construită pe AngularJS, astfel încât să puteți vedea preluarea de către Protractor a seleniului atunci când vine vorba de testarea site-ului web Angular:
c ++ întrebări de interviu pentru profesioniști cu experiență
// spec.js describe('Code to interact with Angular JS elements', function() { it('should multiply two integers', function() { browser.get('http://juliemr.github.io/protractor-demo/'); element(by.model('first')).sendKeys(5); element(by.model('second')).sendKeys(5); element(by.model('operator')).click(); element(by.xpath('.//option(@value= 'MULTIPLICATION')')).click(); element(by.id('gobutton')).click(); expect(element(by.binding('latest')) .getText()).toEqual('10'); //Incorrect expectation expect(element(by.binding('latest')) .getText()).toEqual('25'); //Correct expectation }); });
Puteți utiliza același conf.js și pentru a rula această specificație. Asigurați-vă că actualizați numele fișierului cu specificații.
Acum, în acest fișier de specificații, ne jucăm cu un site JS unghiular, astfel încât să puteți vedea de ce este capabil exact Protractor.
Dacă rulați acest fișier așa cum am făcut mai devreme, se va deschide o pagină web cu 2 casete de text, o listă verticală, un buton și câteva alte elemente web. Așa cum ați fi putut ghici deja, este o pagină de calculator. Dăm 2 numere întregi ca intrare și efectuăm o operație de multiplicare.
După cum am discutat deja, unul dintre cele mai mari avantaje ale utilizării acestui instrument este tehnicile sale unice de localizare a elementelor unghiulare. „By.model” este un astfel de mod de localizare a elementelor. ‘.SendKeys ()’ este de obicei sintaxa seleniului pentru a trimite valori în casetele de text și '.clic()' este folosit pentru a face clic pe butoane.
După cum sa discutat mai devreme, 'aştepta' este o afirmație care cere Protractor să capteze rezultatul înmulțirii numerelor și să îl compare cu „10” și „25” secvențial. Matematica simplă ne spune că rezultatul ar trebui să fie „25” și, prin urmare, prima afirmație eșuează și a doua trece.
Drept urmare, veți primi „ 1 Spec, 1 Eșec 'În jurnalele când rulați codul, ceea ce este de așteptat.
Unele caracteristici mai interesante ale Protractor
# 1) Afirmații și adnotări
Afirmațiile sunt o parte importantă a scripturilor de automatizare. Adnotările sunt, de asemenea, foarte utile în etichetarea eficientă a anumitor metode dintr-o clasă pentru a avea o semnificație specială.
Oferă o varietate de afirmații și adnotări și, în plus față de aceasta, oferă și posibilitatea de a crea propriile afirmații.
Luați în considerare exemplul de mai jos:
describe('Code to understand assertions/annotations', function() { beforeEach(function() { browser.get('http://juliemr.github.io/protractor-demo/'); }); afterEach(function() { browser.get('https://www.madewithangular.com/#/'); }); var multiplyNumbers = function(a, b) { element(by.model('first')).sendKeys(a); element(by.model('second')).sendKeys(b); element(by.model('operator')).click(); element(by.id('gobutton')).click(); }; it('should multiply two integers', function() { multiplyNumbers(2, 2); expect(element.all(by.repeater('result in memory')).count()).toEqual(2); multiplyNumbers(3, 3); expect(element.all(by.repeater('result in memory')).count()).toEqual(2); }); });
În exemplul de mai sus, folosim 2 adnotări, „Înainte de fiecare” și 'după fiecare' . Aceste adnotări sunt disponibile și în TestNG (seleniu tradițional). Aceste adnotări asigură faptul că o anumită bucată de cod va fi executată înainte / după executarea respectivului cod rămas.
Deci, iată cum va avea loc execuția codului,
- Protractor va ajunge în interiorul înainte de Fiecare „Blochează mai întâi și va atinge„ http://juliemr.github.io/protractor-demo/ 'URL din browser.
- Acum, fluxul se va deplasa la blocul „it” și va funcționa „ multiplyNumbers ' va fi apelat care va efectua, la rândul său, acțiunile specificate în acesta, trimitând controlul înapoi la locul în care a fost apelată funcția.
- În cele din urmă, afirmația își va face treaba. Acum, dacă dorim să abordăm mai multe elemente în același timp, puteți utiliza „element.all” o caracteristică a acestui instrument. Acesta va identifica toate elementele disponibile cu localizatorul specificat (de către repetor în acest caz). Depinde de dvs. ce doriți să faceți cu elementele identificate. În acest caz, comparăm istoricul calculelor cu un număr dat.
- Deoarece, în prima afirmație, comparăm numărul istoricului de calcul cu „2”, chiar dacă am efectuat calculul o singură dată, afirmația va eșua. A doua afirmație, cu toate acestea, va trece, deoarece după al doilea calcul, istoricul ar fi „2”.
Există mult mai multe tipuri de afirmații disponibile. Unele dintre acestea sunt prezentate mai jos:
a) Obțineți text dintr-un element web și comparați-l cu o anumită valoare:
element(by.locator('someLocator')).getText(text) .then(function() { expect(text).toEqual('someData'); expect(text).not.toEqual('someData'); expect(text).toContain('someOtherData'); });
b) Verificați dacă un element web este afișat sau nu pe pagină:
expect(browser.driver.findElement(by.locator(someLocator)) .isDisplayed()).toBe(true);
# 2) Gestionarea mai multor browsere / ferestre / file
Pot exista mai multe cazuri când este vorba de manipularea browserului. Unele dintre aceste cazuri sunt evidențiate mai jos:
a) Se deschide o filă nouă făcând clic pe orice link
Uneori, când faceți clic pe orice link, se deschide o filă nouă, iar restul acțiunilor trebuie să aibă loc în fereastra nou deschisă. În acest caz, atunci când scrieți codul până la punctul în care se deschide o filă nouă, trebuie să implementați Window Handler folosind următorul mod:
//Get all of the opened windows and store the count in handles browser.getAllWindowHandles().then(function(handles) { //Now switch the control to the newly opened window browser.switchTo().window(handles(1)).then(function() { //Write the code which needs to be executed in the new tab }); });
Mai întâi obțineți un număr al tuturor ferestrelor disponibile și apoi utilizați indexarea pentru a comuta controlul între ferestre. Fereastra originală care a inițiat noua fereastră va avea index 0, în timp ce ferestrele ulterioare vor avea indexuri în creștere.
b) Deschiderea unui browser complet nou cu sesiune nouă
Când trebuie să efectuați unele acțiuni pe un browser și trebuie să faceți acțiuni suplimentare pe o sesiune diferită a browserului, trebuie să folosim forkNewDriverInstance . În acest caz, creăm o nouă instanță de browser cu un nou nume de browser în felul următor:
describe('Code to understand assertions/annotations', function() { //Create a new browser instance var newBrowser = browser.forkNewDriverInstance(); it('should should open multiple browsers instances', function() { //Opens a URL in the 1st browser instance browser.get('http://juliemr.github.io/protractor-demo/'); //Opens a URL in the 2nd browser instance newBrowser.get('https://www.madewithangular.com/#/'); newBrowser.driver.quit(); }); });
c) Rularea cazului de testare în mai multe browsere:
Executarea cazului de testare în 2 browsere la un moment dat este ceva ce poate face fișierul de configurare pentru dvs. Trebuie doar să adăugați codul de mai jos în fișierul de configurare:
De îndată ce rulați acest fișier de configurare, veți vedea teste care rulează atât în Firefox, cât și în Chrome simultan și jurnalele de rulare vor fi afișate separat în promptul de comandă.
// conf.js exports.config = { framework: 'jasmine', specs: ('SomeSpec.js'), multiCapabilities: ({ browserName: 'firefox' }, { browserName: 'chrome' }) }
# 3) Folosiți Obiecte de pagină pentru a vă îmbunătăți cadrul și mai bine
Acest instrument este bun de la sine, dar devine invincibil atunci când este combinat cu Modelul de obiecte de pagină (POM). Majoritatea neajunsurilor sale (dacă există) sunt depășite cu modelul de obiect de pagină. Mai mult, POM vă ajută să vă mențineți proiectul într-un mod mai structurat.
Dacă nu știți ce este POM, nu vă faceți griji. POM este o modalitate de a vă separa cazul de test pe baza paginilor.
Luați acest exemplu:
Există un site de cumpărături. Cazul dvs. de testare este să selectați un produs, să îl adăugați în coș și apoi să îl cumpărați.
Acum, există două moduri de a gestiona codul scriptului de testare pentru aceasta:
- Scrieți un caz simplu de testare cu toate localizatoarele de pe aceeași pagină în care este scrisă logica dvs.,
- Scrieți tot fluxul cazului de testare, logica dvs. în fișierul de specificații și separați localizatorii și datele de testare în diferite fișiere. Fiecare pagină web va avea un fișier de pagină .js echivalent. În acest fel, codul dvs. va fi structurat și dacă există orice alt caz de test care necesită același localizator, nu este necesar să scrieți din nou acești localizatori, trebuie doar să importați acest fișier localizator și să îl utilizați conform nevoilor dvs.
Menținerea cazurilor de testare poate fi o adevărată durere. Dacă utilizați POM, codul dvs. va fi într-un mod mult mai structurat.
ce nu poate găsi analiza statică
Iată un exemplu de utilizare a modelului de obiect pagină:
Acesta este fluxul în instantaneul de mai sus:
- Există un caz de testare care cumpără laptop. Codul pentru flux și logică va fi în buyLaptopSpec.js.
- Toate paginile întâlnite pentru achiziționarea laptopului vor avea 1 fișier ‘.js’ cu un titlu adecvat. Toate elementele necesare pentru a achiziționa laptopul, localizatoarele lor vor fi în fișierul paginii respective.
- Datele necesare pentru acest caz de testare pot fi salvate în folderul TestData fie în format „.json”, fie în format excel.
- După ce ați terminat cu paginile și localizatoarele, trebuie doar să importați aceste fișiere în fișierul dvs. de specificații pentru a utiliza datele de localizare / test și sunteți pregătiți cu cazul de testare.
# 4) Raportare
NPM (Node Package Manager) oferă diferite pachete de raportare, cu ajutorul cărora se poate captura captura de ecran a fiecărui pas de testare și, de asemenea, odată ce testul se finalizează, va genera un raport HTML pentru dvs. Tot ce trebuie să faceți este să instalați acele pachete deschizând un prompt de comandă și apăsând comenzile de mai jos:
npm install -g protractor-jasmine2-html-reporter
npm install protractor-jasmine2-screenshot-reporter --save-dev
Odată ce aceste pachete sunt instalate, de fiecare dată când rulați fișierul de configurare, toate capturile de ecran ale cazurilor de testare vor fi salvate și, de asemenea, va fi generat un raport HTML care afișează rezultatul testului de trecere / eșec.
# 5) Integrarea cu alte instrumente puternice, cum ar fi Git / Jenkins / Browserstack / Grunt
Există mai multe instrumente disponibile pe piață pentru a vă ajuta să vă îmbunătățiți cazurile de testare. Git / Jenkins / BrowserStack / Grunt sunt câteva astfel de instrumente care adaugă valoare semnificativă scripturilor dvs. normale de testare Protractor. Și cea mai bună parte este că nu trebuie să vă atingeți fișierul de specificații pentru a vă integra Protractor cu oricare dintre aceste instrumente. Este fișierul dvs. de configurare, care va lua toate aceste lucruri pentru dvs.
Merge este un instrument de control al versiunilor foarte puternic. Este întotdeauna o bună practică să vă păstrați codul în Git dacă sunt implicați mai mulți dezvoltatori.
Jenkins este un instrument de integrare continuă cu care vă puteți programa cazurile de testare și le puteți rula în funcție de nevoile dvs. Scripturile Protractor pot fi, de asemenea, configurate cu Jenkins. Cea mai bună utilizare a cazurilor de testare pe Jenkins este că este foarte rapid și, de asemenea, puteți rula mai multe cazuri de testare la un moment dat.
BrowserStack este un instrument de testare pe mai multe browsere care poate fi folosit și pentru a testa aplicațiile dvs. în diferite browsere. Poate fi, de asemenea, integrat cu Protractor adăugând acreditările browserStack în fișierul dvs. de configurare.
Sol este un alergător de sarcini JavaScript. Vă oferă posibilitatea de a efectua mai multe sarcini pentru dvs. Minunat este că există mai mult de 4000 de sarcini și puteți crea și mai multe sarcini conform cerințelor dvs. Următoarele sunt câteva dintre sarcinile importante de utilizare zilnică pentru care putem folosi Grunt pentru:
- Enumerați toate cele mai bune practici de codificare și informați imediat ori de câte ori încălcați oricare dintre acestea.
- Pentru a crea mai multe fișiere de specificații în timpul rulării. De exemplu , dacă există vreun caz de test pe care doriți să îl rulați de mai multe ori (variind de la 1 la orice număr). Acest lucru ar putea părea inutil în acest moment, dar gândiți-vă la rularea oricărui flux de verificare a site-ului de cumpărături pentru a fi rulat în fiecare țară disponibilă. Ar fi plictisitor să creați mai multe specificații manual. Deci, lasă-l pe Grunt să facă asta pentru tine.
- Caracteristica ceasului. Scrieți un caz de testare și, de fiecare dată, imediat ce salvați codul după ce ați făcut orice modificare, doriți să ruleze cazul de testare, Grunt îl are.
- Concatenarea mai multor fișiere.
Doar încercați și vă va plăcea.
Concluzie
Puteți face Selenium să funcționeze ca un transportor, dar de ce să reinventați roata? Dacă Google a depus atât de mult efort pentru a face ca Protractor să funcționeze ca un farmec, să îl folosim la maximum. Cel puțin pentru site-urile AngularJS, acesta vă va ușura viața.
De asemenea, acest articol nu este doar despre Protractor. Există o lume mare de Protractor acolo și există sute de pachete disponibile pe piață oferite de NPM pentru a adăuga mai multe caracteristici testului dvs. în plus față de scenariile de testare simple. Simțiți-vă liber să utilizați aceste pachete și să le îmbunătățiți și mai mult.
Despre autor: Acesta este un post de invitat de Deshansh. Lucrează ca inginer de dezvoltare software în Test cu unul dintre cele mai importante MNC-uri. Are o vastă experiență lucrând la testarea automatizării Selenium și Protractor.
Următorul nostru tutorial vă va ajuta să ștergeți cu succes orice interviu AngularJS.
Lectură recomandată
- Cele mai bune instrumente de testare software 2021 (Instrumente de automatizare a testelor de calitate)
- Descărcare eBook Descărcare Primer
- Testarea automatizării folosind instrumentul Castravete și Seleniu - Tutorial Seleniu # 30
- Instalarea aplicațiilor și pregătirea acestora pentru testarea Appium
- Testarea încărcării folosind LoadUI - Un instrument de testare a încărcării gratuit și open source
- Integrarea seleniului cu JMeter
- Testarea încărcării cu tutoriale HP LoadRunner
- Tutorial WAVE Accessibility Testing Tool