socialgekon.com
  • Hoved
  • Lønnsomhet Og Effektivitet
  • Feilsøking
  • Planlegging Og Prognoser
  • Produktfolk Og Team
Baksiden

REST forsikret vs. JMeter: En sammenligning av REST-testverktøy

Automatisert testing er en kritisk komponent i testprosessen. programvarekvalitetskontroll . Men å teste REST-APIer (Representational State Transfer) kan være vanskelig. Mange av de som bruker manuell REST API-testing overser detaljene og går glipp av måter å spare tid på.

Enhver REST API-tjeneste som er vellykket testet, dekker disse områdene:

  • Testing av om API-tjenesten overholder REST-standardene
  • API Service Response Codes Test
  • Hevder svarinnholdet til API-tjenesten
  • Benchmarking API-tjenestens ytelse

Verktøy for REST-testing



For dette trenger du de riktige verktøyene. Apache JMeter og REST Assured er to populære REST-testverktøy for testing av REST API-tjenester. Du kan lære mer om hvordan du kan bruke dem i praksis fra her Y her .

I denne artikkelen vil du lære fordeler og ulemper med disse to verktøyene og hvor de passer best i dine eksisterende REST API-prosjekter.

Enkel oppsett

Det er en forutsetning: JMeter og REST Assured krever Java, så du må ha Java installert på datamaskinen din for å kunne kjøre JMeter eller REST Assured.

Installere Apache JMeter er veldig enkelt: gå til nedlastingsside , velg ZIP eller TAR, last ned filen, pakk den ut og du er klar til å gå.

Gå til mappen der du har pakket ut filen, til undermappen bin og løp jmeter.bat (eller lignende for operativsystemet ditt, hvis det ikke er Windows). For mer detaljert informasjon om hvordan du konfigurerer Apache JMeter, se dette side .

Installasjon av REST Assured er litt av en annen opplevelse. REST assured er ikke et frittstående verktøy. Det er et Java-bibliotek. For å bruke det, må du sette opp et nytt Java-prosjekt og inkludere det som et bibliotek for prosjektet ditt. Selvfølgelig er det støtte for mange kompileringsverktøy, så du kan bare peke avhengighetsløseren din til et offentlig depot (Maven). Du finner mer detaljert informasjon om hvordan du konfigurerer REST Assured [her] (https://semaphoreci.com/community/tutorials/testing-rest-endpoints-using-rest-assured.

Dokumentasjon

Apache JMeter dokumentasjon den finnes på det offisielle JMeter-nettstedet. Tilbyr ganske omfattende dokumentasjon fra begynnelsen til komplekse funksjoner som lyttere. På det offisielle JMeter-nettstedet kan du også finne lenker til noen veldig rike ressurser, for eksempel opplæringsvideoer. Hvis du liker å lese mindre og se mer, er dette definitivt en bonus for deg.

De dokumentasjon fra REST Assured, som selve verktøyet / biblioteket, finnes i Github-depotet. Den har en stor liste over funksjoner oppført i den elektroniske dokumentasjonen med veldig detaljerte forklaringer på hvordan du kan oppnå noe. Imidlertid er all dokumentasjonen en flott webside, ikke den enkleste måten å utforske et verktøy på.

Automatisk oppretting og vedlikehold av REST-tester

Apache JMeter, som et frittstående program med et grafisk brukergrensesnitt (GUI), lar deg lage tester fra GUI. Dette kan være nyttig, spesielt på grunn av hierarkiet over enheter introdusert fra JMeter - alt du oppretter i testen vil bli vist i en trelignende representasjon i JMeter GUI.

For å lage en test, trenger man ikke ha noen kodingsferdigheter. GUI begrenser imidlertid ikke noen av mulighetene med hensyn til testplanlegging. Hvis du fremdeles vil legge til noen egendefinert tidsplan / flyt, vil BeanShell-komponentene tillate deg å gjøre det.

Skjermbilde av JMeter GUI

Når du lagrer JMeter-prosjektet ditt, lagres alt du har opprettet i en stor XML-fil (med utvidelsen .jmx). Generelt, selv for en liten endring av en av testene, vil du (mest sannsynlig) måtte åpne prosjektet i GUI for å gjøre endringen.

Hvis du trenger å samarbeide med andre om den samme JMeter-prosjektfilen, vil ikke denne store XML-filen være enkel å vedlikeholde ved hjelp av noen av SCM-systemene (som Git, SVN, Perforce, etc.).

REST Assured krever derimot Java-kodingsferdigheter for å lage testene. Det er ingen enkel å bruke GUI for å lage tester. Imidlertid lar REST Assured deg å skrive testene ved hjelp av Gherkin-språket (Gitt-Når-Så-syntaksen), så selv om du trenger noen Java-kodingsferdigheter, er testene ganske lesbare.

given(http://via.placeholder.com/2000x200?text=image+placeholder). config(RestAssured.config(http://via.placeholder.com/2000x200?text=image+placeholder).jsonConfig(jsonConfig(http://via.placeholder.com/2000x200?text=image+placeholder).numberReturnType(BIG_DECIMAL))). when(http://via.placeholder.com/2000x200?text=image+placeholder). get(“/price”). then(http://via.placeholder.com/2000x200?text=image+placeholder). body(“price”, is(new BigDecimal(12.12)));

Siden REST Assured er et bibliotek og testene faktisk er skrevet i Java, kan du organisere testene dine i separate Java-filer, så når du trenger å endre en test, trenger du bare å åpne en fil. Du trenger ikke en GUI, så du kan enkelt redigere testen selv gjennom en SSH-terminal. Samarbeid med andre er ganske enkelt fordi Java-filer er enkle å vedlikeholde ved bruk av hvilken som helst SCM.

REST testtyper

JMeter er kjent som et ytelsesprøveverktøy for testing av nettjenester og applikasjoner. Det har gode alternativer ut av boksen, som rapporter med forskjellige typer diagrammer som du kan bruke til å vise ytelsestestberegninger.

Skjermbilde av JMeter responstid

På den annen side er det heller ikke hovedbruksscenariet for JMeter. Du kan lage funksjonstester for REST API med JMeter, inkludert påstand om respons.

Det primære bruksscenariet for REST Assured er for funksjonell testing av REST API-tjenester. Det kommer til og med med sin egen påstandsmekanisme for respons (Gherkins syntaks). Siden REST Assured er et Java-bibliotek, kan det enkelt integreres med enhetstester.

Når det gjelder referanser, støtter REST Assured ikke standardverdier. Imidlertid, hvis du vil bruke den til ytelsestesting, må du utvikle ditt eget tilpassede rammeverk for ytelsestesting på REST Assured.

Testing av utførelse

JMeter-tester kan påberopes på to måter.

Fra brukergrensesnittet ved å klikke på Run-knappen:

Skjermbilde av JMeters

Fra kommandolinjen:

jmeter -n -t your_script.jmx

JMeters offisielle anbefaling er ikke å kjøre ytelsestestene med GUI, da testene vil gå tregere (når det gjelder antall forespørsler per sekund) sammenlignet med å kjøre dem fra kommandolinjen.

REST Assured krever derimot en egen testløper, for eksempel jUnit eller TestNG (eller på annen måte for å kjøre Java-kode).

Fra Eclipse ved bruk av TestNG:

REST Assured Eclipse-skjermbilde

Fra kommandolinjen ved hjelp av for eksempel Ant build-verktøyet:

ant run-tests

Typer rapporter

Apache JMeter har på grunn av hovedformålet et stort antall typer rapporter som du kan lage fra resultatene av testene. Siden du kan kjøre ytelsestester fra JMeter, vises ytelsesberegninger vanligvis ved hjelp av grafer som dette:

JMeter ytelsesrapport

Du kan lære mer om JMeter-rapporter og hvilke typer rapporter du kan opprette fra her .

REST Assured oppretter ikke noen rapporter, så det er opp til deg og testrammeverket du velger. Men når du er integrert med noen enhetstestingsrammer, kan du få nyttige rapporter i HTML-, tekst- eller XML-format.

Informe REST forsikret HTML

Jenkins integrasjon

Når det gjelder kontinuerlig integrering av produkter som testes, er det veldig viktig å integrere testautomatiseringsrammeverket ditt med CI-verktøy for både kjørende tester og rapporteringsresultater.

JMeters automatiserte tester kan enkelt integreres med Jenkins ved hjelp av plugin Ytelse som lar deg konfigurere Post-build-handlinger og få en fin dashbordside fra en Jenkins-arbeidsside.

Skjermbilde av JMeter Jenkins

REST Assured kan også enkelt integreres med Jenkins fordi Jenkins har plugins for nesten alle testrammer; For eksempel ham plugin TestNG som igjen kan lage et robust trenddiagram for testresultatene.

REST Assured Jenkins skjermbilde

Samfunnsaktivitet

Dette er en kategori som ikke lett kan måles. Samfunnsaktivitet avhenger av flere faktorer, for eksempel verktøyets utløp eller antall bidragsytere.

Apache JMeter har et større samfunn i dag. Dette skyldes hovedsakelig at JMeter ble introdusert på markedet for lenge siden og regnes som en industristandard når det gjelder ytelsestesting av webtjenester og applikasjoner. JMeter publiserer offisielle utgivelser hver 5-6 måned . hans GitHub-depot er veldig aktiv, med nye bekreftelser daglig. JMeter bruker Bugzilla som en tracker og har en liste over åpne utgaver som endres ofte. Det er mer enn 23000 resultater for JMeter i søket StackOverflow . Fra sosiale nettverkssider har JMeter en offisiell konto for Twitter . På Facebook og LinkedIn er det ingen offisiell konto for JMeter, men det er to grupper, hvorav den største er denne facebook-gruppe og dette LinkedIn-gruppe .

REST Assured når den første fasen og har blitt førstevalg, flerkildeanbefaling når det gjelder automatisering av funksjonstesting av REST API-tjenesten. REST Assured har lagt ut innlegg offisielle utgivelser en gang hver sjette måned de siste to årene. De GitHub-depot Den har mange bidragsytere og er litt mindre aktiv enn JMeter, men den er også veldig aktiv. REST Assured sporer problemer i GitHub-depotet, så alt er på ett sted. I StackOverflow , det er over 2000 søkeresultater for REST Assured, så vi kan si at det er betydelig lavere sammenlignet med JMeter-søkeresultatene. Når det gjelder grupper på sosiale medier, er det bare LinkedIn-gruppe kom over betydelig færre medlemmer sammenlignet med JMeter. Det REST-forsikrede samfunnet er kanskje ikke så stort som JMeter-samfunnet, men det er veldig aktivt.

Sammendrag

Både JMeter og REST Assured har sine fordeler fremfor hverandre. Men avhengig av prosjektet du jobber med, vil den ene være bedre enn den andre for din REST API-testautomatisering. Begge er veldig robuste, har nyttige testalternativer, har gode rapporteringsmuligheter og kan enkelt integreres med tilpassede testrammer.

Her er et sammendrag av alle sammenligningskriteriene som er utforsket i denne artikkelen for disse to populære REST-testverktøyene:

Apache JMeter REST forsikret
Krever kodingsferdigheter Nei Ja (Java)
Full dok Ja Ja
Funksjonell testing Ja (men overdreven) Ja
Test av ytelse Ja Nei (ut av esken)
Egnet for SCM (Git, P4 ...) Nei Ja
Testrapporter Ja Nei
Integrasjon med CI-verktøy Ja Ja
Integrasjon med enhetstester Nei Ja
Test parallellisering Ja Ja
Samfunnsaktivitet Ja Ja

10 overraskende iPhone-fotograferingstips for nybegynnere

Skyting

10 overraskende iPhone-fotograferingstips for nybegynnere
JavaScript-prototypkjeder, omfangskjeder og ytelse: Hva du trenger å vite

JavaScript-prototypkjeder, omfangskjeder og ytelse: Hva du trenger å vite

Web Front-End

Populære Innlegg
Hvorfor investorer er irrasjonelle, ifølge Behavioral Finance
Hvorfor investorer er irrasjonelle, ifølge Behavioral Finance
Slik sletter du systemdata på iPhone
Slik sletter du systemdata på iPhone
Kommandolinjeverktøy for utviklere
Kommandolinjeverktøy for utviklere
Hva er det beste makroobjektivet for iPhone, og hvordan fotograferer du med et?
Hva er det beste makroobjektivet for iPhone, og hvordan fotograferer du med et?
Hvordan rekruttere UX forskningsdeltakere
Hvordan rekruttere UX forskningsdeltakere
 
Hvordan mestre infrarød fotografering med iPhone
Hvordan mestre infrarød fotografering med iPhone
En guide til fotografering av soloppgang og solnedgang på iPhone
En guide til fotografering av soloppgang og solnedgang på iPhone
SQL Server 2016 Alltid kryptert: Enkel å implementere, tøff å knekke
SQL Server 2016 Alltid kryptert: Enkel å implementere, tøff å knekke
En trinnvis guide til å bygge en nøyaktig økonomisk modell
En trinnvis guide til å bygge en nøyaktig økonomisk modell
Ser ut som spenningen - inne i den blomstrende skjønnhetsindustrien
Ser ut som spenningen - inne i den blomstrende skjønnhetsindustrien
Kategorier
InnovasjonProduktfolk Og TeamUx DesignInnleggSkytingUi DesignIngeniørledelseLønnsomhet Og EffektivitetBaksidenProduktets Livssyklus

© 2023 | Alle Rettigheter Reservert

socialgekon.com