Articles

Hvad er Protractor?

Protractor

ifølge den allerførste og grundlæggende app-arkitektur, en server på grund af konstant genindlæsning af indhold og enorm dataudveksling, er det mere almindeligt for statiske hjemmesider end faktiske apps, der består af hjemmesidekonstruktionslogik og forretningslogik interagerer med en klient ved at sende en komplet HTML-side. For at se en opdatering skal brugeren genindlæse siden helt eller med andre ord at få klienten til at sende en anmodning om en HTML-side til serveren og indlæse hele koden igen. Kig på denne type internet applikationsarkitektur diagram.

Legacy CSA

i dag skifter mange virksomheder fra traditionel klient-serverarkitektur til moderne, hvor efter den første side indlæses, sker al interaktion med serveren gennem opkald. Disse opkald returnerer data—ikke markup-normalt i JSON-format. Appen bruger JSON-dataene til at opdatere siden dynamisk uden at genindlæse siden.

i denne type erstattes byggelogikken på hjemmesiden af internettjenester, og hver side på klienten har separate enheder kaldet kontroller. Ved at sende forespørgsler til internettjenester kan kontroller modtage klumper af data i HTML eller JSON og vise dem uden at genindlæse hele siden. Med opdateringer i realtid er denne type mere dynamisk, mobilvenlig og næsten lige så populær som den næste type.

seneste CSA

vinkel er en af de rammer, der gør det muligt at oprette sådanne applikationer. Angular leveres med sit eget sæt funktioner, så traditionel lokaliseringsstrategi til automatiseringstest vil være tidskrævende.

Hvad er Protractor?

Protractor er en end-to-end testramme for AngularJS-applikationer og fungerer som en løsningsintegrator, der kombinerer kraftfulde værktøjer og teknologier som NodeJS, Selendriver, Jasmin, agurk og mokka. Det blev oprindeligt udviklet af Google-udviklere til at understøtte vinkelapplikationer, og senere frigives det som en open source-ramme. Nu vinkelmåler understøtter både kantede og ikke-kantede applikationer. Vinkelmåler er indpakning skrevet oven på Netdriver.js, alle de funktioner, der understøttes i selen Netdriver understøttes af det, ud over kantede specifikke funktioner. er den officielle javascript implementering af selen. Det bruger selen JSON-tråd-protokol til at interagere med bro.ser som selen java gør. Protractor afhænger af, hvordan man interagerer med computeren.

hvorfor er kantede js-elementer svære at identificere?

Angular Js-applikationer har nogle ekstra HTML-attributter som ng-repeater, ng-controller, ng-model.., osv. som ikke er inkluderet i Selenlokatorer. Selen er ikke i stand til at identificere disse elementer ved hjælp af Selenkode. Så Protractor på toppen af selen kan håndtere og kontrollere disse attributter i internetapplikationer.

Hvad er grader?

vinkelmåler funktioner

understøtter Vinkelspecifikke lokaliseringer: Vinkelapplikationen leveres med vinkelspecifikke lokaliseringer såsom ng-model, ng-bind, ng-gentagelse osv. så gradskive har udvidet support til disse lokaliseringer. Du behøver ikke at oprette komplekse sti til kantede locators, i Gradskive disse locators er klar til dig, så du kan bare bruge ved.model, af.repeater osv.

understøtter både ikke-kantede og kantede applikationer: vinkelmåler har udvidet understøttelse af vinkel, men det understøtter også til ikke-kantede applikationer. Det betyder, at hvis din del af applikationen er ikke-kantet, og en del af den er kantet, kan du stadig vælge protractor-ramme, og du kan udføre fuld end-to-end automatiseringstestautomatisering.vi kan køre vores scripts i flere bro.sere som Chrome, Firefoks, Safari, IE11, Edge. Det er nemt at konfigurere til cross-bro.ser-test og bruger ikke meget tid. Vi vil dække dette emne i detaljer i vores kommende tutorials.

understøtter Parallel udførelse: overvej at vi har et stort antal testcases, hvis alle testcase skal køre sekventielt i.den ene efter den anden bruger det meget tid. Parallel udførelse hjælper i dette tilfælde. Hvis du har 4 testcases, i en kørsel i to tilfælde af bro.ser hver udfører to-to testcases på et enkelt tidspunkt, så på kortere tid, flere testcases vil blive udført.

understøtter Hovedløs bro. ser: en hovedløs bro. ser er en uden brugergrænsefladen. Protractor understøtter også den hovedløse bro.ser.

understøtter udvidelsesmuligheder: da gradskive er en node.JS ansøgning, kan udnytte den brede vifte af pakker, der er tilgængelige i noden. Så man kan udvide sin ramme eller tilføje yderligere funktioner ved at installere node pakker. For eksempel, hvis du har brug for HTML-rapport, kan du bare bruge Jasmine HTML Reporter, for den rene kode kan du installere eslint eller tslint . Ligeledes kan du installere knudepakker efter eget valg.

understøtter rapportering plugins: sammenlignet med ikke-node.js baseret open source automatisering rammer det er nemt at konfigurere rapporten i gradskive. Jasmine HTML Reporter er en af rapportgenereringsrammerne. Som producerer HTML-rapporter til dine specs. Nedenfor er eksempelrapporten

understøtter Cloud-testplatforme: Cloud-baserede testplatforme giver os mulighed for at køre vores SPECIFIKATIONER på flere bro.sere(Chrome, Firefoks, Safari osv.), flere platforme (f.eks.). Gradskive understøttes af store cloud test platforme såsom SauceLabs og CrossBrowserTesting.com.

Understøtter flere Assertion biblioteker: Gradskive understøtter flere assertion biblioteker som Jasmine, mokka eller du kan endda bruge dine brugerdefinerede biblioteker. Som standard, vinkelmåler bruger Jasmine rammer for påstande.

understøtter Kontrolstrøm: API er baseret på løfter, der styres af en kontrolstrøm og tilpasset Jasmine. Protractor API ‘ er er helt asynkrone. Alle funktioner returnerer løfter. Det opretholder en kø af afventende løfter, kaldet kontrolstrømmen, for at holde udførelsen organiseret. (Vi vil dække mere om løfter i kommende tutorial sektioner).

understøtter forskellige IDE ‘ er & redaktører: der er masser af IDE ‘ er derude på markedet, du kan vælge imellem. De mest populære redaktører er Visual Studio Code, Visual Studio Professional, Atom og sublime. (Vi vil dække i detaljer på vores kommende tutorials)

understøtter CI / CD: når automatisering scripts er på plads, vi behøver ikke at udføre manuelt og overvåge. Hver gang ny kode går til lageret gradskive test skal køre automatisk og få dig rapporten. Det betyder, at vi er nødt til at automatisere processen, vi kan opnå dette ved at integrere protractor-testen for at opbygge værktøjer som Jenkins, TFS eller DevOps. Gradskive understøtter bygge værktøj integration. (Vi vil dække trin for trin konfiguration detaljer i vores kommende tutorials).

Hvordan virker Protractor?

ramme

Gradskive er en ende-til-ende testramme, Gradskive er bygget oven på Internetdriverjs, Internetdriverjs er selen API javascript bindinger. Det betyder, at API giver API ‘ er til test, der er skrevet i javascript. Graden er en Selenbaseret testramme, hvilket betyder, at graden interagerer med selenserver og Netdrivere som ChromeDriver, GeckoDriver, SafariDriver osv. for at simulere brugerens handlinger.

Når dine test scripts sende kommandoer til selen server, som igen kommunikerer med driveren og udfører kommandoerne (udføre handlinger). Næste er assertion rammer, vinkelmåler understøtter forskellige påstande rammer såsom jasmin, Mokka, etc. Denne påstandsramme hjælper os med at validere eller verificere værdierne, til gengæld vil din test blive markeret som bestået eller mislykket. Kort sagt Protractor, Netdriverjs, selen Server, bro. ser Driver, og Assertion rammer giver infrastrukturen til at skrive og udføre vores ende-til-ende tests.