protractor testing tool
Hva er Vinkelmåler?
Vinkelmåler er et verktøy for automatiseringstesting for testing av webapplikasjoner; kombinere kraftige teknologier som Jasmine, Selenium Webdriver, Node.js etc.
Protractor-testverktøyet er et end-to-end atferdsdrevet testrammeverk designet med tanke på Angular JS-applikasjoner. Selv om det kan høres ut som at Protractor ikke vil fungere med ikke-vinklede JS-applikasjoner, gjør det det.
Den fungerer like bra med både kantete og ikke-kantede JS-applikasjoner.
Utforsk gjerne hele AngularJS-serien med opplæringsprogrammer . I vår forrige opplæring, forskjellen mellom vinkelversjoner ble forklart i detalj.
Hva du vil lære:
- Vinkelmåler mot Selen WebDriver
- Egenskaper
- Hvordan kan Vinkelmåler hjelpe meg?
- Hvilket rammeverk å bruke?
- Hvordan laste ned og sette opp vinkelmåler
- Klar til å lage din første testsak?
- Hvordan kjøre test tilfeller?
- Noen flere kule funksjoner i Protractor
- Konklusjon
- Anbefalt lesing
Vinkelmåler mot Selen WebDriver
Hva gjør Protractor annerledes enn tradisjonell Selen WebDriver ?
Bruk et øyeblikk på å svare på disse spørsmålene:
- Er det en kamp for å avgjøre når nettstedet er endelig lastet inn (Alle de asynkrone elementene er klare og behandlet)?
- Er du lei av å legge til venter og sover i koden din?
- Vil du bli kvitt den tungvint innsatsen for å finne vinkelelementene?
- Frustrert med å finne elementer med skiftende Ids?
- Vil du lage din egen locator?
- Skriver du lang kode selv for de enkleste påstandene?
- Er du en JavaScript-entusiast / fan?
Hvis du svarte ja på disse spørsmålene, Vinkelmåler kan hjelpe.
Det er en innpakning bygget på toppen av Selenium Webdriver og gir dermed alle funksjonene til Selen sammen med mange nyttige tillegg. Den tilbyr:
Egenskaper
Den tilbyr:
1) WaitForAngular
hva er en testplan i qa
Fra dokumentasjon:
' Be WebDriver om å vente til Angular er ferdig gjengitt og ikke har noen utestående $ http- eller $ timeout-samtaler før du fortsetter. Merk at Protractor automatisk bruker denne kommandoen før hver WebDriver-handling. '
Hva dette betyr er at det ikke er behov for å legge til venter manuelt i skriptet ditt, og Vinkelmåler vil automatisk vente på at webelementene lastes inn, og bare deretter utfører de neste trinnene.
to) Den har muligheten til å eksportere en global funksjon element , som tar en lokalisator og returnerer en ElementFinder. Denne ElementFinder har et sett med handlingsmetoder, for eksempel click (), getText (), sendKeys () osv. Dette er kjernen i hvordan du kan samhandle med elementet og få informasjon fra det.
Denne globale funksjonen hjelper til med å redusere syntaksen for elementlokalisering. Ta en titt på følgende uttalelse for å finne elementet i både Selen WebDriver og Protractor:
Selen Webdriver :
driver.findElement(By.cssSelector('css selector'));
Vinkelmåler :
element(by.css('some-css'));
Syntaksen ser kompakt ut, er det ikke?
3) Noen nye lokaliseringsstrategier og funksjoner som tilbys for å hjelpe deg med å finne de vinklede elementene er: By.binding, By.repeater, By.textarea, By.model, WebElement.all, WebElement.evaluate , etc.
Hvordan kan Vinkelmåler hjelpe meg?
Ta en titt på følgende fremtredende funksjoner:
- Enkel syntaks for å skrive testsaker
- Muligheten til å kjøre flere nettlesere samtidig med Selenium Grid
- Vinkelspesifikke lokatorer
- Støtte for atferdsdrevet utvikling som Jasmine / Mocha
- Ingen grunn til å legge til soveplasser / venter
- Støttet integrasjon med Jenkins / Browser Stack / Grunt etc.
- Bli kvitt å håndtere synkroniseringsproblemer på Angular JS-nettsteder
- Støtte for flere nettlesere (Firefox, Chrome, Safari, Internet Explorer)
- Evne til å kjøre de samme skriptene i mobile nettlesere også uten å måtte endre koden
Hvilket rammeverk å bruke?
Den støtter to Behavior-driven development (BDD) testrammer rett ut av esken:
- Jasmin: Jasmin er standard testrammeverk når Protractor er installert. Vi vil bruke Jasmine i denne artikkelen.
- Mokka: Mokka er et JavaScript-testrammeverk som kjører på Node.js. Hvis du ønsker å bruke Mocha som ditt testrammeverk, må du sette det opp med vinkelmåler, og du må også bruke atferdsdrevet utviklingsgrensesnitt og Chai-påstander med Chai som lovet (se denne lenken for flere detaljer ).
Hvordan laste ned og sette opp vinkelmåler
Siden det er et node.js-program, må du installere node.js for å få det til å kjøre. Node.js kan lastes ned fra denne URL-en ved å velge operativsystemet: Node.js nedlasting
Med node.js får du også Vinkelmåler over havet pakke, som nå kan brukes til å installere Protractor.
Nå som node.js er installert på maskinen din, åpner du ledeteksten (cmd) og trykker kommandoen nedenfor for å installere den globalt:
npm install -g protractor
‘-G’ brukes til å installere dette verktøyet globalt. Fjern den hvis du ikke ønsker å installere den globalt. Denne kommandoen installerer også Protractor API sammen med en standard selen-server, noe som betyr at du ikke nødvendigvis trenger å starte en frittstående server.
Nå må vi installere selen-serveren og ChromeDriver. Bruk følgende kommando (følger også med Vinkelmåler) i cmd:
webdriver-manager update
Dette er alt vi trenger for å starte med vår første prøvesakeskriving ved hjelp av dette rammeverket. Hvis du ønsker det, kan du installere hvilken som helst IDE / editor for å skrive koden din. Formørkelse IDE er den populære, men det er også noen flere kule redaktører å vurdere. Personlig foretrekker jeg ‘Atom’ -redaktør fremfor min Protractor-kodeskriving.
Klar til å lage din første testsak?
Det trenger to filer for å kjøre:
- Konfigurasjonsfil
- Spec-fil.
De Konfigurasjonsfil er den som forteller Protractor hvor du skal finne testfilene (spesifikasjoner) / hvilken nettleser du skal velge / hvilket rammeverk du skal bruke (Jasmine / Mocha) / hvor du skal snakke med Selen-nettleseren din og andre konfigurasjoner. Hvis en konfigurasjon ikke er definert i konfigurasjonsfiler, vil den bruke standardinnstillinger.
Spec-filen er den der vi skriver vår faktiske testkode. Alle testfunksjonelle flyt / påstander vil være i denne spesifikke filen. Det kan være flere spesifikasjonsfiler basert på antall testtilfeller, men bare 1 spesifikasjonsfil vil kunne kjøre hele testpakken med flere spesifikasjoner.
Eksempel TESTSAK:
Nå skal vi skrive en enkel testtilfelle der vi navigerer til en URL og ser etter sidetittelen.
Her er trinnene:
- Opprett en ny mappe for testpakken.
- Opprett en ny fil med navnet som ‘ js (Ethvert navn vil gjøre) Alle spesifikasjons- / konfigurasjonsfilene vil ha '.js' utvidelse.
- Opprett en ny fil med navnet angitt som ‘ 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'); }); }); });
Nå er vi klar til å begynne med kodingen. Se koden nedenfor for 'testCaseNameSpec.js' -filen.
Slik ser konfigurasjonsfilen ut:
// conf.js exports.config = { framework: 'jasmine', capabilities: { browserName: 'chrome', }, specs: ('simpleTestSpec.js') };
La oss nå bryte disse 2 filene og se hvordan det fungerer.
#1) Spec.js
- Alle kommandoer på nettlesernivå håndteres av ‘ nettleser ’, En global opprettet av Protractor.
- Når vi følger Jasmine-rammeverket, beskrive ' og ‘ den ’Er syntaksen til Jasmine. Beskriv vil inneholde hele slutten for å avslutte flyten i testsaken din, mens 'den' kan inneholde noen av teststrinn / scenarier osv. Du kan ha flere ' den Blokkerer i programmet ditt hvis du ønsker det.
- browser.get er en enkel Selen-syntaks som forteller Protractor å trykke en spesifikk URL i nettleseren.
- Siden nettstedet vi prøver å treffe er et ikke-kantet nettsted, setter vi ignorere synkronisering tag til ‘ ekte ”Som vist på linje nr. 4. Hvis du ikke gjør denne koden sann, vil testen mislykkes med feilen“ Angular kunne ikke bli funnet på siden ”. Årsaken bak dette er at Protractor forventer å jobbe med kantede nettsteder som standard, og hvis vi bruker Protractor til å validere det ikke-kantede nettstedet, må vi fortelle dette til Protractor eksplisitt. Imidlertid, hvis du jobber med kantede nettsteder, er det ikke nødvendig å bruke denne uttalelsen, da Vinkelmåler som standard anser websiden for å være kantet.
- 'Forvent' er ikke noe annet enn påstanden hvor vi sammenligner tittelen på websiden til å være lik noen forhåndsdefinerte data. Vi vil diskutere flere påstander i detalj.
#to) conf.js
- Som diskutert tidligere, er konfigurasjonsfilen den som forteller Protractor kjernedetaljene. Som vist i koden er rammeverket ‘Jasmine’.
- Inne i kapittel-delen er nettleserkonfigurasjoner satt. Du kan definere nettlesernavnet som Firefox / Chrome osv. Du kan også angi maksimale forekomster av nettleserne slik at du samtidig kan kjøre flere testtilfeller i forskjellige tilgjengelige nettleservinduer.
- I ‘ spesifikasjoner 'Seksjon, gir vi banen til spesifikasjonsfilen, dvs. nøyaktig hvor spesifikasjonsfilen ligger i forhold til konfigurasjonsfilen.
- Det er også mange andre kule funksjoner du kan legge til konfigurasjonsfilen din, for eksempel rapportering / onPrepare-funksjon / terskelavbrudd etc. Vi vil dekke få av disse i denne opplæringen.
Hvordan kjøre test tilfeller?
Vi har skrevet koden, og nå trenger vi bare et lite trykk for å få koden vår til å kjøre. Trykk på følgende kommando i cmd for å kjøre programmet:
protractor conf.js
Denne kommandoen begynner å kjøre selen-serveren etterfulgt av å kjøre testskriptet. Du kan se loggene i cmd selv, eller hvis du ønsker det, kan loggene også fanges i en .txt-fil (bare legg til >> textFileName.txt etter kommandoen ovenfor og loggene blir lagret i tekstfilen i samme katalog som i konfigurasjonsfilen).
Et kromvindu åpnes, hvor SoftwareTestingHelp.com nettstedet skal åpnes. Utgangen vil være '1 spec, 0 failure' når du kjører koden. Hva dette betyr er at vi hadde 1 ‘it’ blokker, som ble utført med 0 feil.
Vurder nå spesifikasjonsfilen nedenfor der vi utfører noen handlinger på en webside som bygger på AngularJS, slik at du kan se vinkelmåler ta på Selen når det gjelder testing av Angular-nettstedet:
beste gratis DVD ripping programvare vinduer
// 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 }); });
Du kan også bruke den samme conf.js for å kjøre denne spesifikasjonen. Bare sørg for å oppdatere spesifikasjonsfilnavnet.
Nå, i denne spesifikasjonsfilen, spiller vi med et kantet JS-nettsted, slik at du kan se hva nøyaktig Protractor er i stand til.
Hvis du kjører denne filen som vi gjorde tidligere, åpnes en webside med 2 tekstbokser, en rullegardin, en knapp og få andre webelementer. Som du kanskje allerede har gjettet, er det en kalkulatorside. Vi gir to heltall som input og utfører en multiplikasjonsoperasjon.
Som vi allerede har diskutert, er en av de største fordelene ved å bruke dette verktøyet dens unike teknikker for å lokalisere de vinkelformede elementene. ‘By.model’ er en slik måte å finne elementer på. ‘.SendKeys ()’ er vanlig Selen-syntaks for å sende verdier i tekstbokser og ‘.Click ()’ brukes til å klikke på knappene.
Som diskutert tidligere, 'Forvent' er en påstand som ber Protractor om å fange resultatet av multiplikasjonen av tall og sammenligne det med ‘10’ og ‘25’ i rekkefølge. Enkel matematikk forteller oss at produksjonen skal være '25', og derfor mislykkes den første påstanden og den andre går.
Som et resultat får du 1 spesifikasjon, 1 feil ’I loggene når du kjører koden, som forventes.
Noen flere kule funksjoner i Protractor
# 1) Påstander og merknader
Påstander er en viktig del av automatiseringsskriptene. Kommentarer er også veldig nyttige for å effektivt merke bestemte metoder i en klasse for å ha spesiell betydning.
Det gir en rekke påstander og merknader, og i tillegg til det, gir det også muligheten til å lage dine egne påstander.
Tenk på eksemplet nedenfor:
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); }); });
I eksemplet ovenfor bruker vi to merknader, ‘BeforeEach’ og 'Etter hver' . Disse merknadene er også tilgjengelige i TestNG (tradisjonelt selen). Disse kommentarene sørger for at en bestemt kode blir utført før / etter henholdsvis utførelse av gjenværende kode.
Så her er hvordan utførelsen av koden vil finne sted,
- Vinkelmåler vil nå inne i før hver Blokkere først, og den treffer http://juliemr.github.io/protractor-demo/ URL i nettleseren.
- Nå vil flyten flytte til 'it' -blokken og fungere ' multiplyNumbers ’ vil bli kalt som i sin tur vil utføre de spesifiserte handlingene i den og sende kontrollen tilbake til der funksjonen ble kalt.
- Til slutt vil påstanden gjøre jobben sin. Nå, hvis vi vil takle flere elementer på samme tid, kan du bruke 'element.all' en funksjon av dette verktøyet. Den vil identifisere alle tilgjengelige elementer med den angitte locatoren (av. Repeater i dette tilfellet). Det er opp til deg hva du ønsker å gjøre med de identifiserte elementene. I dette tilfellet sammenligner vi beregningshistorikken med et gitt tall.
- Siden vi i den første påstanden sammenligner beregningshistorikkantallet med ‘2’ selv om vi utførte beregningen bare en gang, vil påstanden mislykkes. Den andre påstanden vil imidlertid passere som etter den andre beregningen, ville historikkantallet være '2'.
Det er mange flere tilgjengelige påstander. Noen av dem er gitt nedenfor:
a) Få tekst fra et webelement og sammenlign den med en viss verdi:
element(by.locator('someLocator')).getText(text) .then(function() { expect(text).toEqual('someData'); expect(text).not.toEqual('someData'); expect(text).toContain('someOtherData'); });
b) Bekreft om et webelement vises på siden eller ikke:
expect(browser.driver.findElement(by.locator(someLocator)) .isDisplayed()).toBe(true);
# 2) Håndtering av flere nettlesere / vinduer / faner
Det kan være flere tilfeller når det gjelder håndtering av nettleseren. Noen av disse sakene er fremhevet nedenfor:
a) En ny fane åpnes ved å klikke på en hvilken som helst lenke
Noen ganger, når du klikker på en hvilken som helst kobling, åpnes en ny fane, og resten av handlingene må finne sted i det nylig åpnede vinduet. I dette tilfellet, når du skriver koden til det punktet en ny fane åpnes, må du implementere Window Handler på følgende måte:
//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 }); });
Først må du telle alle tilgjengelige vinduer og deretter bruke indeksering for å bytte kontroll mellom vinduene. Det opprinnelige vinduet som startet det nye vinduet vil ha indeks 0, mens de påfølgende vinduene vil ha økende indekser.
b) Åpne en helt ny nettleser med ny økt
Når du trenger å utføre noen handlinger i en nettleser og trenger å utføre flere handlinger på en annen økt i nettleseren, må vi bruke forkNewDriverInstance . I dette tilfellet oppretter vi en ny nettleserforekomst med et nytt nettlesernavn på følgende måte:
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) Kjøre testsaken din i flere nettlesere:
Å kjøre testsaken din i to nettlesere om gangen er noe konfigurasjonsfilen kan gjøre for deg. Bare legg til koden nedenfor i konfigurasjonsfilen:
Så snart du kjører denne konfigurasjonsfilen, vil du se tester som kjører i både Firefox og Chrome samtidig, og kjøringslogger vises separat i ledeteksten.
// conf.js exports.config = { framework: 'jasmine', specs: ('SomeSpec.js'), multiCapabilities: ({ browserName: 'firefox' }, { browserName: 'chrome' }) }
# 3) Bruk sideobjekter for å gjøre rammeverket ditt enda bedre
Dette verktøyet er bra alene, men det blir uovervinnelig når det kombineres med Page Object Model (POM). De fleste av dens mangler (hvis noen) overvinnes med sideobjektmodellen. Videre hjelper POM også med å opprettholde prosjektet på en mer strukturert måte.
Hvis du ikke vet hva POM er, er du ikke bekymret. POM er en måte å adskille testsaken din på grunnlag av sidene.
Ta dette eksemplet:
Det er et shoppingnettsted. Testtilfellet ditt er å velge et produkt, legge det i handlekurven og deretter kjøpe det.
Nå er det to måter å administrere testskriptkoden for dette:
- Skriv en vanlig testtilfelle med alle lokalisatorene på samme side som logikken din er skrevet i,
- Skriv hele strømmen av testtilfelle, logikken din i spesifikasjonsfilen din, og adskill lokaliseringssteder og testdata i forskjellige filer. Hver webside vil ha en tilsvarende .js-sidefil. På denne måten vil koden din være strukturert, og hvis det er noen annen testtilfelle som krever samme lokalisator, trenger du ikke å skrive disse lokalisatorene igjen, bare importer denne locator-filen og bruk den etter behov.
Det kan være veldig vondt å opprettholde testsakene dine. Hvis du bruker POM, vil koden din være på en mye mer strukturert måte.
spørsmål om såpe og hvile på nettjenester
Her er et eksempel på bruk av sideobjektmodellen:
Dette er flyten i øyeblikksbildet ovenfor:
- Det er en testtilfelle som kjøper bærbar PC. Koden for flyt og logikk vil være i kjøpetLaptopSpec.js.
- Alle sidene du opplever for å kjøpe den bærbare datamaskinen, vil ha 1 ‘.js’-fil med riktig tittel. Alle elementene som kreves for å bli brukt til å kjøpe den bærbare datamaskinen, deres lokaliserere vil være inne i den respektive sidefilen.
- Dataene som kreves for denne testsaken, kan lagres i TestData-mappen enten i ‘.json’-format eller i excel-format.
- Når du er ferdig med sidene og lokalisatorene, er det bare å importere disse filene i spesifikasjonsfilen din for å bruke lokaliserings- / testdataene, og du er klar med testsaken.
# 4) Rapportering
NPM (Node Package Manager) tilbyr forskjellige rapporteringspakker, som skjermbilde av hvert testtrinn kan tas, og når testkjøringen er fullført, vil den generere en HTML-rapport for deg. Alt du trenger å gjøre er å installere disse pakkene ved å åpne en ledetekst og trykke på kommandoene nedenfor:
npm install -g protractor-jasmine2-html-reporter
npm install protractor-jasmine2-screenshot-reporter --save-dev
Når disse pakkene er installert, lagres alle skjermbilder av testsakene dine hver gang du kjører konfigurasjonsfilen din, og det vil også være generert en HTML-rapport som viser test / case-resultat.
# 5) Integrer med andre kraftige verktøy som Git / Jenkins / Browserstack / Grunt
Det er flere verktøy tilgjengelig i markedet for å gjøre testsakene dine enda bedre. Git / Jenkins / BrowserStack / Grunt er noen slike verktøy som gir betydelig verdi til dine normale Protractor-testskripter. Og det beste er at du ikke trenger å berøre spesifikasjonsfilen for å integrere vinkelmåler med noen av disse verktøyene. Det er konfigurasjonsfilen din, som tar alle disse tingene for deg.
Gå er et veldig kraftig versjonskontrollverktøy. Det er alltid en god praksis å oppbevare koden din i Git hvis det er flere utviklere involvert.
Jenkins er et kontinuerlig integreringsverktøy som du kan planlegge testsakene dine og kjøre etter behov. Vinkelmåler-skript kan også konfigureres med Jenkins. Den beste bruken av å kjøre testsakene dine på Jenkins er at det er veldig raskt, og at du også kan kjøre flere testsaker om gangen.
BrowserStack er et testverktøy på tvers av nettlesere som også kan brukes til å teste applikasjonene dine i forskjellige nettlesere. Det kan også integreres med Protractor ved å legge til browserStack-legitimasjonen i konfigurasjonsfilen din.
Bakke er en JavaScript-oppgaveløper. Det gir deg muligheten til å utføre flere oppgaver for deg. Dens fantastiske er at det er mer enn 4000 oppgaver, og du kan opprette enda flere oppgaver i henhold til dine behov. Følgende er noen av de viktige daglige bruksoppgavene vi kan bruke Grunt til:
- Oppgi alle kodingsrutinene og informer umiddelbart når du bryter med noen av disse.
- Å lage flere spesifikke filer på kjøretid. For eksempel , hvis det er noen testtilfelle du vil kjøre flere ganger (fra 1 til et hvilket som helst tall). Dette kan virke unødvendig på dette tidspunktet, men tenk å kjøre en hvilken som helst shoppingnettsted-kasse som skal kjøres på hvert eneste tilgjengelige land. Det ville være kjedelig å lage flere spesifikasjoner manuelt. Så la Grunt gjøre dette for deg.
- Klokkefunksjonen. Du skriver en prøvesak, og hver gang du lagrer koden din etter at du har gjort noen endringer i den, vil du at testsaken skal kjøre, Grunt har fått den.
- Sammenkoble flere filer.
Bare prøv det, så vil du elske det.
Konklusjon
Du kan få Selen til å fungere som vinkelmåler, men hvorfor finne opp hjulet på nytt? Hvis Google har lagt ned så mye arbeid for å få Protractor til å fungere som en sjarm, kan du bruke den til det fulle. I det minste for AngularJS-nettsteder vil det gjøre livet ditt mye enklere.
Dessuten handler denne artikkelen ikke bare om Vinkelmåler. Det er en stor verden av Protractor der ute, og det er hundrevis av pakker tilgjengelig i markedet som tilbys av NPM for å legge til flere funksjoner i testen din i tillegg til enkle testscenarier. Bruk gjerne disse pakkene og gjør det enda bedre.
Om forfatteren: Dette er et gjestepost av Deshansh. Han jobber som programvareutviklingsingeniør i test med en av de ledende MNC-ene. Han har lang erfaring med å jobbe med Selenium og Protractor-automatiseringstesting.
Vår kommende opplæring vil hjelpe deg med å fjerne alle AngularJS-intervjuer.
PREV Opplæring | NESTE veiledning
Anbefalt lesing
- Beste verktøy for testing av programvare 2021 (QA Test Automation Tools)
- Testing Primer eBook Download
- Automatiseringstesting ved hjelp av agurkverktøy og selen - Selenveiledning nr. 30
- Installere applikasjoner og klargjøre dem for appiumtesting
- Lastetesting ved hjelp av LoadUI - Et gratis og åpen kildekode lastetestingverktøy
- Integrering av selen med JMeter
- Lastetesting med HP LoadRunner-veiledninger
- Veiledning for WAVE tilgjengelighetstestverktøy