protractor testing tool
Čo je uhlomer?
Protractor je nástroj na testovanie automatizácie pre testovanie webových aplikácií; kombináciou výkonných technológií ako Jasmine, Selenium Webdriver, Node.js atď.
Nástroj na testovanie uhlomeru je komplexný testovací rámec založený na správaní, ktorý pamätá na aplikácie Angular JS. Aj keď to môže znieť tak, že Protractor nebude fungovať s nehranatívnymi aplikáciami JS, je to tak.
Funguje rovnako dobre ako s uhlovými, tak aj s uhlovými JS aplikáciami.
Nebojte sa preskúmať celú sériu tutoriálov AngularJS . V našom predchádzajúcom návode rozdiel medzi uhlovými verziami bolo podrobne vysvetlené.
Čo sa dozviete:
- Protractor vs Selenium WebDriver
- Vlastnosti
- Ako mi môže Uhlomer pomôcť?
- Aký rámec použiť?
- Ako sťahovať a nastavovať uhlomer
- Ste pripravení vytvoriť svoj prvý testovací prípad?
- Ako spustiť testovacie prípady?
- Niektoré ďalšie vynikajúce funkcie uhlomera
- Záver
- Odporúčané čítanie
Protractor vs Selenium WebDriver
Čím sa Uhlomer líši od tradičného Selén WebDriver ?
Venujte chvíľu odpovedi na tieto otázky:
- Je ťažké určiť, kedy sa webová stránka konečne načíta (všetky asynchrónne prvky sú pripravené a spracované)?
- Už vás unavuje pridávanie čakania a spánku do kódu?
- Chcete sa zbaviť ťažkopádneho úsilia o lokalizáciu uhlových prvkov?
- Frustrovaní z lokalizácie prvkov s meniacimi sa ID?
- Chcete si vytvoriť vlastný lokátor?
- Píšete zdĺhavý kód aj pre najjednoduchšie tvrdenia?
- Ste nadšencom / fanúšikom JavaScriptu?
Ak ste na tieto otázky odpovedali Áno, Uhlomer môžem pomôcť.
Je to obal postavený na vrchu Selenium Webdriver, a tak poskytuje všetky možnosti selénu spolu s mnohými užitočnými doplnkami. Ponúka:
Vlastnosti
Ponúka:
1) WaitForAngular
c ++ char * na int
Z dokumentácie:
„ Pred pokračovaním dajte príkazu WebDriver, aby počkal, kým Angular dokončí vykresľovanie a nebude mať žiadne nevybavené hovory $ http alebo $ timeout. Pamätajte, že uhlomer automaticky použije tento príkaz pred každou akciou WebDriver. „
To znamená, že nie je potrebné manuálne pridávať čakania do skriptu a Protractor automaticky počká na načítanie webových prvkov a až potom vykoná ďalšie kroky.
2) Má schopnosť exportovať globálnu funkciu prvok , ktorá vezme lokátor a vráti ElementFinder. Tento ElementFinder má súbor akčných metód, ako sú click (), getText (), sendKeys () atď. Toto je jadro toho, ako interagovať s elementom a získavať z neho informácie.
Táto globálna funkcia pomáha znížiť syntax lokalizácie prvkov. Pozrite sa na nasledujúce vyhlásenie a vyhľadajte prvok v selenickom webovom ovládači aj v uhlomeri:
Selénový webdriver :
driver.findElement(By.cssSelector('css selector'));
Uhlomer :
element(by.css('some-css'));
Syntax vyzerá kompaktne, však?
3) Niektoré nové stratégie a funkcie lokátora poskytované na uľahčenie lokalizácie uhlových prvkov sú: By.binding, By.repeater, By.textarea, By.model, WebElement.all, WebElement.evaluate , atď.
Ako mi môže Uhlomer pomôcť?
Prezrite si nasledujúce hlavné funkcie:
- Jednoduchá syntax na písanie testovacích prípadov
- Schopnosť spúšťať viac prehliadačov naraz pomocou Selenium Grid
- Uhlovo špecifické lokátory
- Podpora pre vývoj založený na chovaní, ako napríklad Jasmine / Mocha
- Nie je potrebné pridávať spánok / čakanie
- Podporovaná integrácia s Jenkins / Browser Stack / Grunt atď.
- Zbavte sa problému synchronizácie na webových stránkach Angular JS
- Podpora viacerých prehliadačov (Firefox, Chrome, Safari, Internet Explorer)
- Schopnosť spúšťať rovnaké skripty v mobilných prehliadačoch aj bez potreby zmeny kódu
Aký rámec použiť?
Podporuje hneď po vybalení dva testovacie rámce založené na vývoji správania (BDD):
- Jazmín: Jazmín je predvolený testovací rámec, keď je nainštalovaný Protractor. V tomto článku použijeme jazmín.
- Mocha: Mocha je testovací rámec JavaScriptu, ktorý beží na Node.js. Ak chcete použiť testovací rámec Mocha, budete ho musieť nastaviť pomocou svojho uhlomera a tiež budete musieť používať vývojové rozhranie Behavior Driven Development a Chai Assertions s Chai as Promised (pozri tento odkaz pre viac detailov ).
Ako sťahovať a nastavovať uhlomer
Keďže ide o program node.js, na jeho spustenie je potrebné nainštalovať node.js. Node.js je možné stiahnuť z tejto adresy URL výberom operačného systému: Stiahnutie súboru Node.js
S node.js tiež získate Uhlomer nad hladinou mora balík, ktorý je teraz možné použiť na inštaláciu Protractora.
Teraz, keď je node.js nainštalovaný na vašom počítači, otvorte príkazový riadok (cmd) a stlačením nasledujúceho príkazu ho nainštalujte globálne:
npm install -g protractor
„-G“ sa používa na globálnu inštaláciu tohto nástroja. Ak ho nechcete inštalovať globálne, odstráňte ho. Tento príkaz tiež nainštaluje Protractor API spolu s predvoleným selénovým serverom, čo znamená, že nemusíte nevyhnutne spúšťať samostatný server.
Teraz musíme nainštalovať selénový server a ChromeDriver. Použite nasledujúci príkaz (dodáva sa tiež s uhlomerom) v cmd:
webdriver-manager update
To je všetko, čo musíme začať s prvým písaním testovacích prípadov pomocou tohto rámca. Ak chcete, môžete si nainštalovať akýkoľvek IDE / editor na napísanie kódu. Eclipse IDE je populárne, ale treba zvážiť aj ďalších skvelých editorov. Osobne uprednostňujem pri písaní kódu Protractor editor „Atom“.
Ste pripravení vytvoriť svoj prvý testovací prípad?
Na spustenie potrebuje 2 súbory:
- Konfiguračný súbor
- Spec súbor.
The Konfiguračný súbor je ten, ktorý povie Protractoru, kde nájde testovacie súbory (špecifikácie) / ktorý prehliadač zvoliť / aký rámec použiť (Jasmine / Mocha) / kde má hovoriť s vaším prehliadačom selénu a ďalšími konfiguráciami. Ak v konfiguračných súboroch nie je definovaná žiadna konfigurácia, použije sa predvolené nastavenie.
Špeciálny súbor je ten, do ktorého napíšeme náš skutočný testovací kód. Všetky naše testovacie funkčné toky / tvrdenia budú v tomto konkrétnom súbore. Podľa počtu testovacích prípadov môže existovať niekoľko súborov špec., Ale iba jeden súbor so špecifikáciami bude schopný spustiť celú testovaciu sadu niekoľkých špecifikácií.
Príklad TESTOVACIEHO PRÍPADU:
Teraz napíšeme jednoduchý testovací prípad, kde prejdeme na adresu URL a skontrolujeme názov stránky.
Tu sú kroky:
- Vytvorte nový priečinok pre svoju testovaciu sadu.
- Vytvorte nový súbor s názvom ako „ js „. (Akýkoľvek názov bude stačiť) Všetky súbory so špecifikáciami / konfiguráciou budú mať príponu„ .js “.
- Vytvorte nový súbor s názvom uvedeným ako „ 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'); }); }); });
Teraz sme všetci pripravení začať s našim kódovaním. Prečítajte si nižšie uvedený kód súboru „testCaseNameSpec.js“.
Konfiguračný súbor vyzerá takto:
// conf.js exports.config = { framework: 'jasmine', capabilities: { browserName: 'chrome', }, specs: ('simpleTestSpec.js') };
Teraz nechajte tieto 2 súbory rozbiť a uvidíte, ako to funguje.
# 1) Spec.js
- Všetky príkazy na úrovni prehliadača spracuje ‘ prehliadač ‘, Globál vytvorený spoločnosťou Protractor.
- Keď sledujeme rámec Jasmine, ‘ opísať ' a ‘ to ‘Sú syntaxe jazmínu. Popísať bude obsahovať celý koniec procesu testovania, zatiaľ čo „to“ môže obsahovať niektoré z testovacích krokov / scenárov atď. Môžete mať viac „ to Blokuje program, ak si to želáte.
- browser.get je jednoduchá selénová syntax, ktorá hovorí uhlomeru, aby narazil na konkrétnu adresu URL v prehliadači.
- Pretože web, ktorý sa snažíme zasiahnuť, je neprofesionálny web, nastavili sme ignoreSynchronization označiť značkou „ pravda ‘Ako je zobrazené na riadku č. 4. Ak túto značku neurčíte ako správnu, váš test zlyhá s chybou„ Na stránke sa nenašiel uhlový údaj “. Dôvodom je to, že Protractor očakáva, že predvolene bude pracovať s hranatými webovými stránkami, a ak používame Protractor na validáciu nepohranných webových stránok, musíme to Protractoru povedať výslovne. Ak však pracujete na hranatých webových stránkach, nie je potrebné toto tvrdenie používať, pretože Protractor bude predvolene považovať webovú stránku za hranatú.
- „Očakávať“ nie je nič iné ako tvrdenie, podľa ktorého porovnávame názov webovej stránky s niektorými preddefinovanými údajmi. Podrobnejšie si prediskutujeme ďalšie tvrdenia.
#dva) conf.js
- Ako už bolo spomenuté vyššie, konfiguračný súbor je ten, ktorý informuje Protractor o základných podrobnostiach. Ako je zobrazené v kóde, rámec je „Jasmine“.
- V časti Možnosti sú konfigurácie prehľadávača. Môžete definovať názov prehľadávača, napríklad Firefox / Chrome atď. Môžete tiež nastaviť maximálny počet inštancií prehľadávačov, aby ste mohli naraz spustiť viac testovacích prípadov v rôznych dostupných oknách prehľadávača.
- V „ špecifikácie ‘Dáme cestu k súboru spec, t. J. Presne tam, kde je súbor spec umiestnený vzhľadom na konfiguračný súbor.
- Existuje tiež veľa ďalších skvelých funkcií, ktoré môžete pripojiť k svojmu konfiguračnému súboru, ako napríklad hlásenie / funkcia onPrepare / časový limit prahovej hodnoty atď. V tomto tutoriále sa budeme venovať niektorým z nich.
Ako spustiť testovacie prípady?
Napísali sme kód a teraz potrebujeme len trochu stlačiť, aby sme spustili náš kód. Stlačením nasledujúceho príkazu v cmd spustíte program:
protractor conf.js
Tento príkaz spustí server selénu nasledovaný spustením testovacieho skriptu. Môžete si prezerať protokoly v samotnom cmd alebo môžete protokoly zachytiť aj do súboru .txt (stačí pridať >> textFileName.txt po vyššie uvedenom príkaze sa protokoly uložia do textového súboru umiestneného v rovnakom adresári ako konfiguračný súbor).
Otvorí sa chrómové okno, kde SoftwareTestingHelp.com mala by sa otvoriť webová stránka. Pri spustení kódu bude mať výstup hodnotu „1 špecifikácia, 0 zlyhanie“. To znamená, že sme mali 1 blok „it“, ktorý sa vykonal s 0 zlyhaniami.
Teraz zvážte nasledujúci súbor so špecifikáciami, kde vykonávame niektoré akcie na webovej stránke zostavenej na AngularJS, aby ste pri testovaní webovej stránky Angular videli, ako uhlomer zaberá selén:
ako otvoris xml subor
// 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 }); });
Rovnaký súbor conf.js môžete použiť aj na spustenie tejto špecifikácie. Nezabudnite aktualizovať názov súboru so špecifikáciami.
Teraz v tomto súbore spec hráme s hranatou webovou stránkou JS, aby ste videli, čoho presne je Protractor schopný.
Ak tento súbor spustíte rovnako ako predtým, otvorí sa webová stránka s 2 textovými poľami, rozbaľovacou ponukou, tlačidlom a niekoľkými ďalšími webovými prvkami. Ako ste už mohli uhádnuť, jedná sa o stránku kalkulačky. Ako vstup dávame 2 celé čísla a vykonávame operáciu násobenia.
Ako sme už diskutovali, jednou z najväčších výhod použitia tohto nástroja sú jeho jedinečné techniky na lokalizáciu uhlových prvkov. ‘By.model’ je jeden taký spôsob, ako lokalizovať prvky. „.SendKeys ()“ je obvyklá selénová syntax na odosielanie hodnôt do textových polí a „.Click ()“ sa používa na klikanie na tlačidlá.
Ako už bolo uvedené, „Očakávať“ je tvrdenie, ktoré žiada uhlomer, aby zachytil výsledok násobenia čísel a postupne ho porovnal s „10“ a „25“. Jednoduchá matematika nám hovorí, že výstup by mal byť ‘25’, a preto prvé tvrdenie zlyhá a druhé prejde.
Vďaka tomu získate ‘ 1 špecifikácia, 1 zlyhanie ‘V protokoloch, keď spustíte kód, čo sa očakáva.
Niektoré ďalšie vynikajúce funkcie uhlomera
# 1) Tvrdenia a poznámky
Tvrdenia sú dôležitou súčasťou automatizačných skriptov. Anotácie sú tiež veľmi užitočné pri efektívnom označovaní určitých metód v triede, ktoré majú osobitný význam.
Poskytuje rôzne tvrdenia a anotácie a okrem toho poskytuje aj možnosť vytvárať si vlastné tvrdenia.
Zvážte nasledujúci príklad:
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); }); });
Vo vyššie uvedenom príklade používame 2 anotácie, „Pred každým“ a „AfterEach“ . Tieto anotácie sú k dispozícii aj v TestNG (tradičné selén). Tieto anotácie zaisťujú, že konkrétna časť kódu bude vykonaná pred / po vykonaní zostávajúceho kódu.
Takto teda bude prebiehať vykonávanie kódu,
- Uhlomer sa dostane dovnútra „ predKaždým ‘Najskôr blokovať a zasiahne‘ http://juliemr.github.io/protractor-demo/ „URL v prehliadači.
- Teraz sa tok presunie do bloku „it“ a bude fungovať „ znásobiť čísla “ zavolá sa, čo v ňom následne vykoná zadané akcie a pošle ovládací prvok späť na miesto, kde bola funkcia volaná.
- Tvrdenie nakoniec urobí svoju prácu. Ak teraz chceme pracovať s viacerými prvkami súčasne, môžete použiť funkciu tohto prvku „element.all“. Identifikuje všetky dostupné prvky so zadaným lokátorom (v tomto prípade by.repeater). Je len na vás, čo chcete s identifikovanými prvkami urobiť. V takom prípade porovnávame históriu výpočtu s daným číslom.
- Pretože v prvom tvrdení porovnávame počet histórie výpočtu s číslom „2“, aj keď sme výpočet vykonali iba raz, tvrdenie zlyhá. Druhé tvrdenie však prejde, pretože po druhom výpočte by bol historický počet „2“.
Existuje oveľa viac dostupných typov tvrdení. Niektoré z nich sú uvedené nižšie:
a) Získajte text z webového prvku a porovnajte ho s určitou hodnotou:
element(by.locator('someLocator')).getText(text) .then(function() { expect(text).toEqual('someData'); expect(text).not.toEqual('someData'); expect(text).toContain('someOtherData'); });
b) Overte, či sa webový prvok zobrazuje na stránke alebo nie:
expect(browser.driver.findElement(by.locator(someLocator)) .isDisplayed()).toBe(true);
# 2) Zaobchádzanie s viacerými prehliadačmi / oknami / kartami
Pri manipulácii s prehliadačom môže byť niekoľko prípadov. Niektoré z týchto prípadov sú zvýraznené nižšie:
a) Kliknutím na ľubovoľný odkaz sa otvorí nová karta
Po kliknutí na akýkoľvek odkaz sa niekedy otvorí nová karta a v novootvorenom okne je potrebné vykonať ďalšie kroky. V takom prípade, keď napíšete kód do bodu, kde je otvorená nová karta, musíte implementovať obslužný program Window Handler nasledujúcim spôsobom:
//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 }); });
Najprv získajte počet všetkých dostupných okien a potom pomocou indexovania prepnite ovládanie medzi oknami. Pôvodné okno, ktoré iniciovalo nové okno, bude mať index 0, zatiaľ čo nasledujúce okná budú mať rastúce indexy.
b) Otvorenie úplne nového prehliadača s novou reláciou
Ak potrebujete vykonať niektoré akcie v prehliadači a potrebujete vykonať ďalšie akcie v inej relácii prehliadača, musíme použiť forkNewDriverInstance . V takom prípade vytvoríme novú inštanciu prehľadávača s novým názvom prehľadávača nasledujúcim spôsobom:
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) Spustenie testovacieho prípadu vo viacerých prehliadačoch:
Spustenie testovacieho prípadu v 2 prehliadačoch naraz je niečo, čo za vás môže urobiť konfiguračný súbor. Stačí do konfiguračného súboru pridať nasledujúci kód:
Hneď ako spustíte tento konfiguračný súbor, uvidíte súčasne spustené testy v prehliadači Firefox aj Chrome a protokoly o spustení sa v príkazovom riadku zobrazia osobitne.
// conf.js exports.config = { framework: 'jasmine', specs: ('SomeSpec.js'), multiCapabilities: ({ browserName: 'firefox' }, { browserName: 'chrome' }) }
# 3) Pomocou Objekty stránky vylepšite svoj rámec
Tento nástroj je dobrý sám o sebe, ale stáva sa neporaziteľným v kombinácii s Page Object Model (POM). Väčšina jeho nedostatkov (ak nejaké sú) je prekonaná objektovým modelom stránky. POM navyše pomáha udržiavať váš projekt štruktúrovanejším spôsobom.
Ak neviete, čo je POM, nemusíte mať obavy. POM je spôsob, ako oddeliť testovací prípad na základe stránok.
Vezmite si tento príklad:
Nachádza sa tu webová stránka na nakupovanie. Testovacím prípadom je výber produktu, jeho vloženie do košíka a jeho zakúpenie.
Teraz existujú dva spôsoby, ako spravovať kód testovacieho skriptu:
- Napíšte jednoduchý testovací prípad so všetkými lokátormi na tej istej stránke, do ktorej je napísaná vaša logika,
- Zapíšte celý svoj tok testovacieho prípadu, svoju logiku do súboru spec a oddeľte svoje lokátory a testovacie údaje do rôznych súborov. Každá webová stránka bude mať ekvivalentný súbor stránky .js. Týmto spôsobom bude váš kód štruktúrovaný a ak existuje akýkoľvek iný testovací prípad, ktorý vyžaduje rovnaký lokátor, nemusíte tieto lokátory znova zapisovať, stačí importovať tento súbor lokátora a použiť ho podľa vašich potrieb.
Údržba testovacích prípadov môže byť skutočnou bolesťou. Ak používate POM, váš kód bude oveľa štruktúrovanejší.
vytvorte makefile c ++
Tu je príklad použitia objektového modelu stránky:
Toto je tok vo vyššie uvedenej snímke:
- Existuje testovací prípad, pri ktorom sa kupuje notebook. Kód toku a logika bude v purchaseLaptopSpec.js.
- Všetky stránky, ktoré sa vyskytnú pri zakúpení notebooku, budú mať súbor 1 „.js“ s príslušným názvom. Všetky prvky, ktoré sa musia použiť na zakúpenie prenosného počítača, budú mať ich lokátory v príslušnom súbore stránky.
- Údaje požadované pre tento testovací prípad je možné uložiť do priečinka TestData vo formáte „.json“ alebo vo formáte programu Excel.
- Po dokončení práce so stránkami a lokátormi stačí tieto súbory importovať do súboru spec, aby ste mohli použiť údaje lokátora / testu. Všetko je pripravené pre váš testovací prípad.
# 4) Podávanie správ
NPM (Správca balíkov uzlov) poskytuje rôzne balíky správ, pomocou ktorých je možné zachytiť snímku obrazovky každého kroku testu a tiež po dokončení skúšobnej prevádzky pre vás vygeneruje správu HTML. Všetko, čo musíte urobiť, je nainštalovať tieto balíčky otvorením príkazového riadku a stlačením nasledujúcich príkazov:
npm install -g protractor-jasmine2-html-reporter
npm install protractor-jasmine2-screenshot-reporter --save-dev
Po nainštalovaní týchto balíkov sa zakaždým, keď spustíte konfiguračný súbor, uložia všetky snímky obrazovky z vašich testovacích prípadov a tiež sa vygeneruje správa vo formáte HTML, ktorá zobrazuje výsledok testu vyhovieť / zlyhať.
# 5) Integrácia s ďalšími výkonnými nástrojmi, ako sú Git / Jenkins / Browserstack / Grunt
Na trhu je k dispozícii niekoľko nástrojov, ktoré vám pomôžu testovacie prípady ešte vylepšiť. Git / Jenkins / BrowserStack / Grunt sú niektoré z týchto nástrojov, ktoré zvyšujú významnú hodnotu vašich bežných testovacích skriptov uhlomera. A najlepšie na tom je, že sa nemusíte dotknúť svojho súboru špecifikácií, aby ste mohli integrovať Protractor s niektorým z týchto nástrojov. Je to váš konfiguračný súbor, ktorý za vás vezme všetky tieto veci.
Choď je veľmi výkonný nástroj na správu verzií. Ak je zapojených viac vývojárov, je vždy najlepším postupom uchovávať váš kód v Gite.
Jenkins je nástroj na nepretržitú integráciu, pomocou ktorého môžete naplánovať svoje testovacie prípady a spustiť ich podľa svojich potrieb. Skripty uhlomeru je možné nakonfigurovať aj pomocou Jenkinsa. Spustenie testovacích prípadov na serveri Jenkins najlepšie využijete v tom, že je veľmi rýchle a tiež môžete spustiť naraz viac testovacích prípadov.
BrowserStack je nástroj na testovanie viacerých prehľadávačov, ktorý sa dá použiť aj na testovanie vašich aplikácií v rôznych prehľadávačoch. Môže byť tiež integrovaný s Protractorom pridaním poverení browserStack do konfiguračného súboru.
Uzemnenie je JavaScript task runner. Poskytuje vám možnosť vykonávať za vás niekoľko úloh. Úžasné je, že existuje viac ako 4 000 úloh a podľa svojej požiadavky môžete vytvoriť ešte viac úloh. Nasleduje niekoľko dôležitých úloh denného používania, na ktoré môžeme Grunt použiť:
- Uveďte zoznam všetkých najlepších postupov pri kódovaní a okamžite informujte, kedykoľvek ktorékoľvek z nich porušíte.
- Ak chcete vytvoriť viac súborov spec za behu. Napríklad , ak existuje testovací prípad, ktorý chcete spustiť niekoľkokrát (od 1 do ľubovoľného počtu). To sa v tejto chvíli môže javiť ako zbytočné, ale myslite na to, aby bol spustený akýkoľvek platobný tok pre nákupné webové stránky, ktorý bude spustený vo všetkých dostupných krajinách. Bolo by namáhavé vytvárať viac špecifikácií manuálne. Nechajte to teda Grunt urobiť za vás.
- Funkcia hodiniek. Napíšete testovací prípad a zakaždým, keď svoj kód po vykonaní akejkoľvek zmeny v ňom uložíte, chcete, aby sa váš testovací prípad spustil, Grunt ho má.
- Zreťazenie viacerých súborov.
Vyskúšajte to a budete to milovať.
Záver
Môžete spôsobiť, že selén bude fungovať ako uhlomer, ale prečo znovu vymyslieť koleso? Ak spoločnosť Google vyvinula toľko úsilia, aby Protractor fungoval ako kúzlo, využite ho naplno. Minimálne pre webové stránky AngularJS vám to výrazne uľahčí život.
Tento článok tiež nie je len o uhlomere. Existuje veľký svet uhlomeru a na trhu sú k dispozícii stovky balíkov ponúkaných spoločnosťou NPM, ktoré vám okrem jednoduchých testovacích scenárov pridajú k vášmu testu ďalšie funkcie. Pokojne použite tieto balíčky a vylepšite ich.
O autorovi: Toto je príspevok od Deshansha pre hostí. Pracuje ako inžinier pre vývoj softvéru v spoločnosti Test s jedným z popredných MNC. Má bohaté skúsenosti s prácou na testovaní automatizácie selénu a uhlomeru.
Náš nadchádzajúci tutoriál vám pomôže úspešne dokončiť rozhovor s AngularJS.
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Stiahnutie e-knihy Testing Primer
- Automatizačné testovanie pomocou nástroja Cucumber Tool a selénu - selén - návod č. 30
- Inštalácia aplikácií a príprava na testovanie Appium
- Testovanie záťaže pomocou LoadUI - bezplatný a otvorený nástroj na testovanie záťaže
- Integrácia selénu s JMeter
- Testovanie záťaže s výukovými programami HP LoadRunner
- Výukový program pre testovanie prístupnosti WAVE