Articles

Wat is Gradenboog?

Gradenboog

volgens de allereerste en fundamentele web app architectuur, een server als gevolg van constante inhoud herladen en enorme data-uitwisseling, is het meer gebruikelijk voor statische websites dan echte web apps bestaande uit webpagina Bouw logica en business logic interacts met een client door het verzenden van een volledige HTML-pagina. Om een update te zien, moet de gebruiker de pagina volledig herladen of, met andere woorden, de client een verzoek voor een HTML-pagina naar de server sturen en de volledige code opnieuw laden. Kijk naar het diagram van de webapplicatie architectuur van dit type.

Legacy CSA

tegenwoordig schakelen veel bedrijven over van de traditionele Client-Server-architectuur naar de moderne, waar na het laden van de eerste pagina Alle interactie met de server plaatsvindt via Ajax-aanroepen. Deze Ajax-oproepen retourneren gegevens—niet markup-meestal in JSON-formaat. De app gebruikt de JSON-gegevens om de pagina dynamisch bij te werken, zonder de pagina opnieuw te laden.

in dit type wordt de logica van de constructie van webpagina ‘ s vervangen door webservices en elke pagina op de client heeft aparte entiteiten die widgets worden genoemd. Door Ajax queries naar webservices te sturen, kunnen widgets stukjes gegevens in HTML of JSON ontvangen en deze weergeven zonder de hele pagina opnieuw te laden. Met real-time widget updates is dit type dynamischer, mobielvriendelijker en bijna net zo populair als het volgende type.

Laatste CSA

hoek is een van de frameworks waarmee dergelijke toepassingen kunnen worden gemaakt. Hoekige wordt geleverd met een eigen set van functies, zodat de traditionele locater strategie voor automatisering testen zal tijdrovend zijn.

Wat is Gradenboog?

gradenboog is een end-to-end testkader voor AngularJS-toepassingen en werkt als een oplossing integrator die krachtige tools en technologieën combineert zoals NodeJS, Selenium WebDriver, Jasmine, Cucumber en mokka. Het werd in eerste instantie ontwikkeld door Google-ontwikkelaars om hoekige toepassingen te ondersteunen en later wordt het uitgebracht als een open source framework. Now gradenboog ondersteunt zowel hoekige als niet-hoekige toepassingen. De gradenboog is wrapper geschreven op de top van Webdriver.js, alle functies die worden ondersteund in Selenium Webdriver worden ondersteund door het, in aanvulling op hoekige specifieke functies.

WebDriverJs is de officiële javascript implementatie van selenium. Het maakt gebruik van het Selenium JSON-Wire-Protocol om te communiceren met de browser zoals selenium java doet. Gradenboog is afhankelijk van WebdriverJs om te communiceren met de browser.

Waarom zijn Hoekige Js-webalementen moeilijk te identificeren?

Hoekige Js-toepassingen hebben enkele extra HTML-attributen zoals ng-repeater, ng-controller, ng-model.., etc. die niet zijn opgenomen in seleniumlocatoren. Selenium is niet in staat om die web-elementen te identificeren met behulp van Selenium code. Dus, gradenboog op de top van Selenium kan omgaan met en controleert die attributen in webapplicaties.

Wat is Gradenboog?

Gradenboog functies

ondersteunt Hoekspecifieke locatoren: De hoekige toepassing wordt geleverd met hoekspecifieke locators zoals ng-model, ng-bind, ng-repeat, enz. dus gradenboog heeft uitgebreide ondersteuning voor deze locators. U hoeft geen complexe XPath voor hoekige locators te maken, in Gradenboog zijn die locators klaar voor u, zodat u gewoon kunt gebruiken door.model, door.repeater, enz.

ondersteunt zowel niet-hoekige als hoekige toepassingen: Gradenboog heeft uitgebreide ondersteuning voor hoekige, maar het ondersteunt ook voor niet-hoekige toepassingen. Dat betekent dat als uw deel van de toepassing is niet-hoekig en een deel van het is hoekig kunt u nog steeds kiezen gradenboog kader en u kunt doen volledige end-to-end automation test automation.

ondersteunt Cross-Browser testen: we kunnen onze scripts draaien in meerdere browsers zoals Chrome, Firefox, Safari, IE11, Edge. Configureren voor cross-browser testen is eenvoudig en kost niet veel tijd. We zullen dit onderwerp in detail behandelen in onze komende tutorials.

ondersteunt parallelle uitvoering: bedenk dat we een groot aantal testcases hebben, als alle testcases sequentieel i moeten draaien.de een na de ander kost veel tijd. Parallelle uitvoering helpt in dit geval. Parallelle uitvoering loopt testcases in meerdere instanties van de browser bijvoorbeeld als u 4 testcases, in een run in twee instanties van de browser voert elk twee-twee testcases op een enkel punt van de tijd, dus in minder tijd, meer testcases zullen worden uitgevoerd.

ondersteunt Headless Browser: een headless browser is een zonder de gebruikersinterface. Gradenboog ondersteunt ook de Headless browser.

ondersteunt uitbreidbaarheid: omdat gradenboog een knoop is.js applicatie, kan gebruik maken van de grote verscheidenheid aan pakketten die beschikbaar zijn in het knooppunt. Zo kan men zijn framework uitbreiden of extra functies toevoegen door node pakketten te installeren. Als u bijvoorbeeld HTML-rapport nodig hebt, kunt u Jasmine HTML Reporter gebruiken, voor de schone code kunt u eslint of tslint installeren . U kunt ook knooppuntpakketten van uw keuze installeren.

ondersteunt Rapportageplug-ins: vergeleken met niet-knooppunt.js based open source automation framework het is eenvoudig om het rapport in gradenboog te configureren. Jasmine HTML Reporter is een van de rapport generatie frameworks. Die HTML rapporten produceert voor uw specificaties. Hieronder is het voorbeeld rapport

ondersteunt Cloud Testing platforms: Cloud-based testing platforms kunnen we onze specs draaien op meerdere browsers (Chrome, Firefox, Safari, enz.), meerdere platforms (Windows, Mac, Linux, mobiel, enz.). Gradenboog wordt ondersteund door grote cloud-testplatforms zoals SauceLabs en CrossBrowserTesting.com.

ondersteunt meerdere Assertiebibliotheken: Gradenboog ondersteunt meerdere assertiebibliotheken zoals Jasmine, Mocha of u kunt zelfs uw eigen bibliotheken gebruiken. Standaard gebruikt gradenboog Jasmine framework voor beweringen.

ondersteunt Control Flow: API is gebaseerd op beloften, die worden beheerd door een control flow en aangepast voor Jasmine. Gradenboog API ‘ s zijn volledig asynchroon. Alle functies retourneren Beloften. Het onderhoudt een wachtrij van hangende Beloften, genaamd de control flow, om de uitvoering georganiseerd te houden. (We zullen meer over Beloften in de komende tutorial secties).

ondersteunt verschillende IDEs & Editors: er zijn tonnen IDEs in de markt waaruit u kunt kiezen. Meest populaire editors zijn Visual Studio Code, WebStorm, Visual Studio Professional, Atom en sublime. (We zullen in detail ingaan op onze aankomende tutorials)

ondersteunt CI/CD: zodra automatiseringsscripts zijn geïnstalleerd, hoeven we niet handmatig uit te voeren en te monitoren. Elke keer dat nieuwe code naar de repository gaat, moeten de gradenboog tests automatisch worden uitgevoerd en krijg je het rapport. Dat betekent dat we het proces moeten automatiseren, we kunnen dit bereiken door de gradenboog test te integreren om tools zoals Jenkins, TFS of Azure DevOps te bouwen. Gradenboog ondersteunt build tool integratie. (We zullen stap voor stap configuratiedetails behandelen in onze komende tutorials).

Hoe werkt Gradenboog?

framework

gradenboog is een end-to-end Testkader, gradenboog is gebouwd op de top van WebdriverJS, WebdriverJS is Selenium webdriver API javascript bindingen. Dat betekent dat WebdriverJS API biedt API ‘ s voor tests die zijn geschreven in javascript. De gradenboog is een Selenium-gebaseerde test framework wat betekent gradenboog interactie met selenium server en WebDrivers zoals ChromeDriver, GeckoDriver, SafariDriver, enz. om de acties van de gebruiker te simuleren.

wanneer uw testscripts opdrachten sturen naar Selenium server die op zijn beurt communiceert met het browserstuurprogramma en de opdrachten uitvoert (acties uitvoeren). Vervolgens is de assertion framework, Gradenboog ondersteunt verschillende asserties frameworks zoals Jasmine, Mocha, enz. Dit assertion framework helpt ons om de waarden te valideren of te verifiëren, op zijn beurt wordt uw test gemarkeerd als geslaagd of mislukt. In het kort Gradenboog, WebdriverJS, Selenium Server, Browser Driver, en Assertion Framework biedt de infrastructuur voor het schrijven en uitvoeren van onze end-to-end tests.