karate framework tutorial
Tento kurz je úvodem do testování API pomocí Karate Framework. Seznamte se se strukturou testovacího skriptu Karate a kroky k vytvoření prvního testovacího skriptu:
API je zkratka, která znamená Application Programming Interface. Jednoduše to můžeme definovat jako softwarového prostředníka, který umožňuje komunikaci mezi aplikacemi.
Testování API potřebujeme, protože:
- Výsledky se publikují rychleji, a proto už nemusíte čekat, až bude API fungovat dobře.
- Díky rychlejší odezvě se nasazení těchto API také zrychlí, a proto umožňuje rychlý čas obratu.
- Včasná detekce selhání, ještě před vytvořením uživatelského rozhraní aplikace, nám umožňuje zmírnit rizika a opravit chyby.
- Velké dodání možné za kratší dobu.
Abychom mohli pracovat na testování API, máme na trhu k dispozici různé nástroje, jako jsou Postman, Mocha a Chai. Tyto ukázaly dobré výsledky a efektivní využití pro testování API, nicméně jsou silně ovlivněny kódem. Abyste je mohli používat, musíte být technicky zdatní a obeznámeni s programovacími jazyky.
Karate Framework krásně řeší tento problém svých předchozích softwarových nástrojů.
Co se naučíte:
Co je to rámec karate
Karate? Pojďme si promluvit Karate. Je to ten z Japonska? Co myslíš? Je možné, že to ve svém volném čase vyvinul velký Bruce Lee.
Ačkoli bychom se rádi ponořili do zajímavých kořenů Karate, prozatím si promluvme o Karate nástroj který vyvinul Peter Thomas , jeden ze skvělých nástrojů, které přicházejí na záchranu testerů API.
Rámec karate sleduje styl psaní programu Cucumber, který se řídí přístupem BDD. Syntaxi snadno pochopí neprogramátoři. A tento rámec je jediným nástrojem pro testování API, který kombinoval automatizaci API a testování výkonu do jediného samostatného nástroje.
Poskytuje uživatelům možnost provádět testovací případy v Parallel a provádět kontroly JSON a XML.
S těmito informacemi lze odvodit určité klíčové body, abychom mohli podrobněji porozumět nástroji Karate:
- Karate je testovací rámec BDD místo TDD.
- Je navržen tak, aby to bylo snadné pro neprogramátory. Tato funkce mění hru, protože umožňuje větší využití a přístup mnoha lidí bez ohledu na jejich technické zázemí nebo kapacitu.
- Využívá soubor funkcí Okurka a jazyk Gherkins k napsání testu, který je velmi snadno pochopitelný.
Všechny tyto funkce z něj činí jeden z nejpříznivějších automatizačních nástrojů, které jsou dnes k dispozici.
History of Karate Framework
Vytvořil ' Peter Thomas v roce 2017 si tento software klade za cíl zpřístupnit funkce testování všem pro každého. Byl napsán v Javě a většina lidí očekávala, že jeho soubory budou také ve stejném jazyce, ale naštěstí tomu tak není.
Spíše používá soubory Gherkins, což je výsledkem jeho vztahu s rámcem Cucumber. Automatizační software je příponou Cucumber, proto zdědí použití souboru Gherkins při jeho provozu. Velký rozdíl mezi nimi spočívá v tom, že Karate při testování nepoužívá Javu, ale Cucumber ano.
To je ten pravý důvod, proč se stará o neprogramátory, protože Gherkinsova syntaxe je super čitelná a komplexní. To je důvod, proč je Karate nejvhodnější a doporučeno pro vstup do světa automatizovaného testování API.
Následuje několik funkcí karate testovacího rámce:
- Využívá snadno srozumitelný jazyk Gherkins.
- Nevyžaduje žádné technické znalosti programování, jako je Java.
- Je založen na populárních okurkových standardech.
- Snadné vytvoření rámce.
- Paralelní testování je základní funkcí, kterou poskytuje samotné Karate, a proto na něj nemusíme záviset Maven, Gradle , atd.
- Uživatelské rozhraní pro ladění testu.
- Volání souboru funkcí z jiného souboru.
- Poskytuje podporu pro testování ovladačů dat, které je zabudováno interně, a proto není třeba záviset na externích architekturách.
- Integrované nativní zprávy o odpočinku. Navíc jej lze integrovat s okurkou pro lepší přehledy uživatelského rozhraní a větší přehlednost.
- Poskytuje interní podporu pro přepínání konfigurace v různých testovacích prostředích (QA, Stage, Prod, Pre-Prod).
- Hladká podpora pro integraci CI / CD, která může být užitečná.
- Schopné zpracovávat různé hovory HTTP:
- Podpora Web Socket
- SOAP požadavek
- HTTP
- Zpracování souborů cookie prohlížeče
- HTTPS
- Data ve formátu HTML
- Požadavek XML
Srovnání Karate Vs Rest-Assured
Buďte si jisti : Jedná se o knihovnu založenou na prostředí Java pro testování služeb REST. Pro psaní řádků kódu používá jazyk Java. Pomáhá při testování mnoha kategorií požadavků, což dále vede k ověření různých kombinací obchodní logiky.
Karate Framework : Nástroj založený na okurce / okurce, který se používá k testování služeb SOAP & REST.
Následující tabulka uvádí několik výraznějších rozdílů mezi Rest-Assured a Karate Framework:
S.No | Základ | Karate Framework | REST-zajištěno |
---|---|---|---|
7 | Hlášení | Poskytuje interní hlášení, a proto nemusí být závislé na externích pluginech. Můžeme jej dokonce integrovat s pluginem pro hlášení okurek pro lepší uživatelské rozhraní. | Musíte být závislí na externích pluginech, jako je Junit, TestNG |
1 | Jazyk | Využívá kombinaci okurky a okurky | Využívá jazyk Java |
dva | Velikost kódu | Řádek kódu je obvykle menší, protože sleduje strukturu podobnou okurce | Řádek kódu je více, protože zahrnuje použití jazyka Java |
3 | Vyžadovány technické znalosti | Neprogramátoři mohou snadno napsat kód Gherkins | Při psaní kódu Java jsou vyžadovány technické znalosti |
4 | Testování na základě dat | Je třeba použít TestNG nebo ekvivalent k jeho podpoře | K podpoře testování dat lze použít vlastní značky |
5 | Poskytuje podporu volání SOAP | Ano, poskytuje | Souvisí to pouze s požadavkem REST |
6 | Paralelní testování | Ano, paralelní testování je také snadno podporováno generováním paralelních zpráv | Ne ve velké míře. Ačkoli se to lidé pokusili udělat, míra selhání je více než míra úspěšnosti |
8 | Podpora CSV pro externí data | Ano, od Karate 0.9.0 | Ne, musíte použít kód Java nebo knihovnu |
9 | Automatizace webového uživatelského rozhraní | Ano, od Karate 0.9.5 je možná automatizace webového uživatelského rozhraní | Ne, není podporováno |
10 | Ukázka ZÍSKEJTE | Given param val1 = ‘name1’ | given(). |
Proto, jak ukazují výše uvedené rozdíly, lze s jistotou říci, že karate je jednou z nejjednodušších věcí, které může každý udělat.
Nástroje potřebné pro práci s Karate Framework
Nyní, protože jsme získali základní znalosti o Karate Framework na místě, pojďme se podívat na procesy a nástroje potřebné při nastavování prostředí Karate.
# 1) Zatmění
Eclipse je integrované vývojové prostředí používané v oblasti počítačového programování. Většinou se používá pro programování v Javě. Jak již bylo zmíněno dříve, Karate je napsán v Javě, takže dává větší smysl, proč je Eclipse IDE pro testovací software API. Dalším důvodem je, že se jedná o nástroj s otevřeným zdrojovým kódem, a to je docela pádný důvod pro volbu tohoto nástroje.
Poznámka: Mohli bychom dokonce použít IntelliJ, Visual Studio a další různé editory dostupné na trhu.
# 2) Maven
Jedná se o nástroj pro automatizaci sestavení, který se používá především k vytváření projektů Java. Je to jeden ze způsobů nastavení prostředí Karate a psaní kódu. Chcete-li nastavit Eclipse s požadavky Maven, můžete kliknout tady pro instalaci Maven.
Při práci v Maven použijte závislosti Maven, které vám pomohou podporovat Karate Framework.
Následující závislosti se použijí s Mavenem v pom.xml.
com.intuit.karate karate-apache 0.9.5 test com.intuit.karate karate-junit4 0.9.5 test
Poznámka: Nejnovější verze mohou být k dispozici v úložišti Maven.
nejlepší software pro klonování pevných disků Windows 10
# 3) Gradle
Gradle je alternativou k Maven a může být použit ve stejné kapacitě. Mají své podobnosti a rozdíly, ale mohou být stejně použity při nastavování prostředí pro naše kódy karate.
Je to jednodušší, flexibilní a doporučujeme jej použít, když má naše aplikace nějaké požadavky na modularizaci a správu s hromadou modulů plug-in. Nastavovací kód Gradle by vypadal nějak takto,
testCompile 'com.intuit.karate:karate-junit4:0.6.0' testCompile 'com.intuit.karate:karate-apache:0.6.0'
Poznámka: Můžete buď použít MAVEN nebo GRADLE.
# 4) Nastavení prostředí Java ve vašem systému
Abyste mohli začít se skripty Karate Framework, musíte nastavit prostředí JDK a JRE.
Struktura testovacího skriptu karate
Testovací skript karate je známý tím, že má příponu „.feature“. Tato vlastnost se dědí z okurky. Rovněž je povolena organizace souborů v konvenci Java. Můžete si uspořádat soubory podle konvencí balíčků Java.
Pokyny Maven však nařizují, aby se ukládání souborů jiných než Java provádělo samostatně. Jsou prováděny v src / test / zdroje struktura. A soubory Java jsou uchovávány pod src / main / java .
Ale podle tvůrců Karate Framework pevně věří, že si necháme soubory Java i jiné než Java vedle sebe. Podle nich je mnohem snazší dávat pozor na soubory * .java a * .feature, když jsou drženy pohromadě, místo aby se řídily standardní strukturou Maven.
To lze snadno provést vyladěním pom.xml následujícím způsobem (For Maven):
src/test/java **/*.java ...
Následuje přehled obecné struktury Karate Framework:
Vzhledem k tomu, že tento rámec Karate používá soubor Runner, který je také potřebný v Cucumber ke spuštění souborů funkcí, většina psaní se bude řídit standardy Cucumber.
Ale na rozdíl od Okurky kroky nevyžadují jasnou definici v Karate a které zase zvyšují flexibilitu a snadnost operací. Nemusíme přidávat další lepidlo, které obvykle musíme přidat, když se řídíme rámcem Okurky.
Většinou se jmenuje třída „Runner“ TestRunner.java.
Soubor TestRunner.java pak bude mít podobu:
import com.intuit.karate.junit4.Karate; import org.junit.runner.RunWith; @RunWith(Karate.class) public class TestRunner { }
A když už mluvíme o .Vlastnosti Soubor obsahuje všechny scénáře testování, které je třeba otestovat, abyste se ujistili, že API funguje podle očekávaných požadavků.
Obecný soubor * .feature vypadá asi takto:
Feature: fetching User Details Scenario: testing the get call for User Details Given url 'https://reqres.in/api/users/2' When method GET Then status 200
Vytvoření prvního základního testovacího skriptu karate
Tato část vám pomůže začít s tvorbou vašeho úplně prvního Testovacího skriptu, který vám pomůže převést API ve formě rámce Karate.
Než napíšeme základní testovací skripty Karate, nainstalujte si prosím na svůj počítač následující náležitosti:
- Zatmění IDE
- Maven. Nastavte příslušnou cestu Maven.
- JDK & JRE. Nastavte příslušnou cestu.
Pojďme se podívat na postup krok za krokem:
# 1) Vytvoř nový MAVEN Promítněte do editoru Eclipse
- Otevřete Eclipse
- Klikněte na Soubor. Vyberte Nový projekt.
- Vyberte Maven Project
- Vyberte umístění pracovního prostoru.
- Vyberte archetyp (obvykle zvolíme „ Maven-archetyp-rychlý start 1.1 „Pro jednoduché projekty Maven).
- Zadejte ID skupiny a ID artefaktu (v našem příkladu jsme použili následující hodnoty).
- ID skupiny : Karate
- ID artefaktu: KarateTestScriptsSample
- Nastavení dokončíte kliknutím na Dokončit.
#dva) Po vytvoření nyní budete moci zobrazit následující strukturu v okně Průzkumník projektu.
# 3) Zahrňte všechny své závislosti.
Náš úplně první krok, po nastavení budeme zahrnout všechny závislosti to bude vyžadováno pro provedení. Veškerou značku ponecháme pod POM.xml (za předpokladu, že již víte o použití POM.xml).
- Otevřete soubor POM.xml a zkopírujte níže uvedený kód pod značku závislosti a uložte soubor.
com.intuit.karate karate-apache 0.9.5 test com.intuit.karate karate-junit4 0.9.5 test
Klepněte na tady pro zdroj.
# 4) Podívejme se na scénář, co budeme testovat v tomto základním testovacím skriptu Karate.
Scénář:
S tím budeme testovat API URL.
Cesta: api / uživatelé / 2
Metoda: DOSTAT
A musíme potvrdit , zda žádost vrací a Kód úspěchu (200) nebo ne.
Jednoduše řečeno, právě otestujeme ukázkové API, abychom zjistili, zda se úspěšně spouští.
Poznámka: Bereme ukázkové API, které je k dispozici pro testování. Můžete si vybrat libovolnou PATH nebo můžete odkazovat na své API.
Klepněte na tady pro zdroj.
# 5) Nyní by naším dalším krokem bylo vytvoření .Vlastnosti soubor.
Jak je uvedeno v úvodní části, soubor funkcí je vlastnost, která byla zděděna z okurky. V tomto souboru vypíšeme testovací scénáře, které je třeba provést pro provedení testování API.
- Přejděte do složky src / test / java ve vašem projektu.
- Klikněte na něj pravým tlačítkem a vytvořte nový soubor - userDetails.feature. Poté klikněte na tlačítko Dokončit.
Nyní ve složce uvidíte následující soubor src / test / java
The Zelená barevná ikona připomíná .firma fi le v Okurce, kterou jsme právě vytvořili.
- Jakmile byl soubor vytvořen, nyní napíšeme naše testovací scénáře, které budou popsány v následující části.
# 6) Protože máme scénář a mezeru. Vlastnosti soubor připraven, pojďme začít s naším prvním skriptem. Začněme programovat
Napište následující řádek kódu do souboru userDetails.feature, který jsme vytvořili v kroku č. 5:
Feature: fetching User Details Scenario: testing the get call for User Details Given url 'https://reqres.in/api/users/2' When method GET Then status 200
Pokusme se pochopit komponenty, které jsou zapsány ve výše uvedeném souboru:
- Vlastnosti: Klíčové slovo vysvětluje název funkce, kterou testujeme.
- Pozadí: Toto je volitelná část, která je považována za předpokladovou část. To lze použít k definování všeho, co je potřeba k testování API. Obsahuje Záhlaví, URL a PARAM možnosti.
- Scénář: Každý soubor funkcí, který uvidíte, bude mít alespoň jednu funkci (i když to může dát násobek scénáře). Jedná se o popis testovacího případu.
- Dané: Je to krok, který je třeba provést před provedením jakéhokoli dalšího kroku testu. Je nutné provést povinnou akci.
- Když: Určuje podmínku, která by měla být splněna k provedení dalšího kroku testu.
- Pak: Říká nám, že co by se mělo stát v případě stavu uvedeného v Když je spokojen.
Poznámka: Všechna výše uvedená klíčová slova pocházejí z jazyka Gherkins. Jedná se o standardní způsob psaní testovacích skriptů pomocí Cucumber.
A některá další slova použitá v souboru funkcí jsou:
- 200: Jedná se o kód stavu / odpovědi, který očekáváme (Click tady pro seznam stavových kódů)
- DOSTAT: Jedná se o metodu API, jako je POST, PUT atd.
Doufáme, že toto vysvětlení bylo pro vás snadné pochopit. Nyní budete moci souviset s tím, co přesně je napsáno ve výše uvedeném souboru.
Nyní musíme vytvořit soubor TestRunner.java
Jak je vysvětleno v předchozí části, Cucumber potřebuje soubor Runner, který by byl vyžadován k provedení .Vlastnosti soubor, který obsahuje scénáře testování.
- Přejděte do složky src / test / java ve vašem projektu
- Klikněte na něj pravým tlačítkem a vytvořte nový soubor Java: TestRunner.java
- Jakmile byl soubor vytvořen, umístěte pod něj následující řádky kódu:
import org.junit.runner.RunWith; import com.intuit.karate.junit4.Karate; @RunWith(Karate.class) public class TestRunner { }
- Test Runner je soubor, který bude nyní spuštěn k provedení požadovaného scénáře, který byl napsán v kroku č. 5.
# 7) Nyní jsme připraveni na oba soubory TestRunner.Java a userDeatils.feature. Jediným úkolem, který nám zbývá, je Běh scénář.
- Přejděte do souboru TestRunner.java a klepněte pravým tlačítkem myši na soubor, jak je znázorněno na následujícím obrázku.
- Zvolte Spustit jako -> Test Junit
- Po výběru začnete nyní pozorovat, že testovací případ nyní začal.
- Počkejte na spuštění testovacího skriptu. Jakmile budete hotovi, budete pozorovat něco, co je znázorněno na následujícím obrázku ve vašem okně.
- Nakonec můžeme říci, že jsme úspěšně vytvořili náš úplně první základ Testovací skript za použití Karate Framework.
# 8) Nakonec rámec Karate také poskytuje prezentaci zprávy HTML o provedeném provedení.
- Přejít na Cílová složka -> surefire-reports-> Zde uvidíte svou zprávu HTML, kterou můžete otevřít.
** Navrhujeme také, abyste je otevřeli pomocí prohlížeče Chrome, abyste měli lepší vzhled a dojem.
- Zobrazí se vám následující zpráva HTML Scénáře a test který byl proveden pro uvedený scénář:
Závěr
V tomto kurzu jsme diskutovali o testování API, různých testovacích nástrojích dostupných na trhu a o tom, jak je Karate Framework ve srovnání s jeho protějšky lepší volbou.
Při vytváření prvního základního testovacího skriptu jsme postupovali krok za krokem. Začali jsme vytvořením základny Projekt Maven v Eclipse IDE k vytvoření souboru .feature, který obsahuje všechny scénáře testování a soubor Runner k provedení testovacího případu uvedeného v souboru .feature.
flvto mě nenechá konvertovat
Na konci několika kroků jsme mohli vidět zprávu o provedení výsledků testu.
Doufáme, že tento výukový program byl užitečný pro začátečníky při učení se, jak sestavit svůj první testovací skript pomocí Karate Framework a provádět testování API. Tento podrobný postup je skvělým způsobem, jak spustit a provést různé testy rozhraní API.
Doporučené čtení
- Jak nastavit rámec testování Node.js: Výukový program Node.js
- Výukový program Parasoft SOAtest: Nástroj pro testování API bez skriptů
- Výukový program Mockito: Rámec Mockito pro zesměšňování při testování jednotek
- Výukový program pro testování API: Kompletní průvodce pro začátečníky
- Výukový program TestNG: Úvod do TestNG Framework
- Výukový program Jest - Testování jednotky JavaScriptu pomocí Jest Framework
- Výukový program pro destruktivní testování a nedestruktivní testování
- Jak používat Postman pro testování různých formátů API?