TestMace - öflug IDE til að vinna með API

Hæ allir! Í dag viljum við kynna fyrir upplýsingatækni almenningi vöruna okkar - IDE til að vinna með API TestMace. Kannski vita einhver ykkar nú þegar um okkur frá fyrri greinar. Hins vegar hefur engin alhliða endurskoðun farið fram á tólinu, þannig að við tökum á þessum óheppilega annmarka.

TestMace - öflug IDE til að vinna með API

Hvatning

Mig langar að byrja á því hvernig við komumst í þetta líf í raun og veru og ákváðum að búa til okkar eigið tól fyrir háþróaða vinnu með API. Við skulum byrja á lista yfir virkni sem vara ætti að hafa, sem að okkar mati getum við sagt að sé „IDE til að vinna með API“:

  • Búa til og framkvæma fyrirspurnir og forskriftir (raðir fyrirspurna)
  • Að skrifa ýmiss konar próf
  • Próf kynslóð
  • Vinna með API lýsingar, þar á meðal innflutning frá sniðum eins og Swagger, OpenAPI, WADL o.s.frv.
  • Háðlegar beiðnir
  • Góður stuðningur við eitt eða fleiri tungumál til að skrifa handrit, þar á meðal samþættingu við vinsæl bókasöfn
  • o.fl.

Hægt er að stækka listann eftir smekk þínum. Þar að auki er mikilvægt að búa ekki aðeins til IDE sjálfan, heldur einnig ákveðna innviði, svo sem skýjasamstillingu, skipanalínuverkfæri, eftirlitsþjónustu á netinu osfrv. Að lokum segir þróun síðustu ára okkur ekki aðeins öfluga virkni forritsins heldur einnig skemmtilega viðmótið.

Hver þarf svona tól? Augljóslega eru allir þeir sem eru að minnsta kosti einhvern veginn tengdir þróun og prófun API forritarar og prófunaraðilar =). Þar að auki, ef fyrir fyrrnefnda það er oft nóg að framkvæma stakar fyrirspurnir og einföld forskrift, þá er þetta fyrir prófara eitt af aðalverkfærunum, sem meðal annars ætti að innihalda öflugt kerfi til að skrifa próf með getu til að keyra þau í CI.

Svo, eftir þessum leiðbeiningum, byrjuðum við að búa til vöruna okkar. Við skulum sjá hverju við höfum náð á þessu stigi.

Hröð byrjun

Byrjum á fyrstu kynnum af umsókninni. Þú getur halað því niður á heimasíðu okkar. Í augnablikinu eru allir 3 helstu pallarnir studdir - Windows, Linux, MacOS. Sækja, setja upp, ræsa. Þegar þú ræsir það í fyrsta skipti gætirðu séð eftirfarandi glugga:

TestMace - öflug IDE til að vinna með API

Smelltu á plús táknið efst á efnissvæðinu til að búa til fyrstu beiðni þína. Fyrirspurnarflipi lítur svona út:

TestMace - öflug IDE til að vinna með API

Við skulum skoða það nánar. Beiðnaviðmótið er mjög svipað viðmót vinsælra hvíldarviðskiptavina, sem gerir flutning frá svipuðum verkfærum auðveldari. Við skulum senda fyrstu beiðnina á slóðina https://next.json-generator.com/api/json/get/NJv-NT-U8

TestMace - öflug IDE til að vinna með API

Almennt, við fyrstu sýn, kemur svarspjaldið heldur ekki á óvart. Hins vegar vil ég vekja athygli á nokkrum atriðum:

  1. Meginmál svarsins er sett fram í formi trés, sem í fyrsta lagi bætir við upplýsingaefni og í öðru lagi gerir þér kleift að bæta við nokkrum áhugaverðum eiginleikum sem hér að neðan
  2. Það er fullyrðingarflipi sem sýnir lista yfir próf fyrir tiltekna beiðni

Eins og þú sérð er hægt að nota tólið okkar sem þægilegan hvíldarviðskiptavin. Hins vegar værum við ekki hér ef möguleiki þess væri takmarkaður við að senda beiðnir. Næst mun ég útlista grunnhugtök og virkni TestMace.

Grunnhugtök og eiginleikar

Hnútur

TestMace virkni er skipt í mismunandi gerðir af hnútum. Í dæminu hér að ofan sýndum við virkni RequestStep hnútsins. Hins vegar eru eftirfarandi tegundir hnúta nú einnig fáanlegar í forritinu:

  • RequestStep. Þetta er hnúturinn þar sem þú getur búið til beiðni. Það getur aðeins haft einn staðhæfingarhnút sem undirþátt.
  • Staðhæfing. Hnúturinn er notaður til að skrifa próf. Getur aðeins verið undirhnútur RequestStep hnútsins.
  • Mappa. Leyfir þér að flokka möppu og RequestStep hnúta í sjálfum sér.
  • Verkefni. Þetta er rótarhnúturinn, búinn til sjálfkrafa þegar verkefnið er búið til. Annars endurtekur það virkni möppuhnútsins.
  • Tengill. Tengill á möppuna eða RequestStep hnútinn. Gerir þér kleift að endurnýta fyrirspurnir og forskriftir.
  • o.fl.

Hnútarnir eru staðsettir í rispum (spjaldið neðst til vinstri, notað til að búa til „einskipti“ fyrirspurnir fljótt) og í verkefnum (spjaldið efst til vinstri), sem við munum dvelja nánar við.

Project

Þegar þú ræsir forritið gætirðu tekið eftir eina verkefnalínu efst í vinstra horninu. Þetta er rót verkefnatrésins. Þegar þú byrjar verkefni er tímabundið verkefni búið til, leiðin að því fer eftir stýrikerfinu þínu. Hvenær sem er geturðu flutt verkefnið á stað sem hentar þér.

Megintilgangur verkefnisins er möguleikinn á að vista þróun í skráarkerfinu og samstilla hana frekar í gegnum útgáfustýringarkerfi, keyra forskriftir í CI, fara yfir breytingar o.fl.

Variables

Breytur eru einn af lykilaðferðum forrits. Þeir ykkar sem vinna með verkfæri eins og TestMace hafa kannski þegar hugmynd um hvað við erum að tala um. Svo, breytur eru leið til að geyma algeng gögn og hafa samskipti á milli hnúta. Hliðstæða, til dæmis, eru umhverfisbreytur í Postman eða Insomnia. Hins vegar gengum við lengra og þróuðum efnið. Í TestMace er hægt að stilla breytur á hnútastigi. Einhver. Það er líka kerfi til að erfa breytur frá forfeðrum og skarast breytur í afkomendum. Að auki eru nokkrar innbyggðar breytur, nöfn innbyggðu breytanna byrja á $. Hér eru nokkrar af þeim:

  • $prevStep — tengill við breytur fyrri hnúts
  • $nextStep — tengill við breytur næsta hnút
  • $parent - það sama, en aðeins fyrir forföður
  • $response - svar frá þjóninum
  • $env - núverandi umhverfisbreytur
  • $dynamicVar - kvikar breytur búnar til við framkvæmd handrits eða fyrirspurnar

$env - þetta eru í rauninni venjulegar breytur á verkefnishnútstigi, hins vegar breytist mengið af umhverfisbreytum eftir því hvaða umhverfi er valið.

Hægt er að nálgast breytuna í gegnum ${variable_name}
Gildi breytu getur verið önnur breyta, eða jafnvel heil tjáning. Til dæmis getur vefslóð breytan verið tjáning eins og
http://${host}:${port}/${endpoint}.

Sérstaklega er vert að hafa í huga möguleikann á að úthluta breytum við framkvæmd handrits. Til dæmis er oft þörf á að vista heimildargögn (tákn eða allan hausinn) sem komu frá þjóninum eftir árangursríka innskráningu. TestMace gerir þér kleift að vista slík gögn í kraftmiklum breytum eins af forfeðrunum. Til að koma í veg fyrir árekstra við „statískar“ breytur sem þegar eru til eru kvikar breytur settar í sérstakan hlut $dynamicVar.

Sviðsmyndir

Með því að nota alla ofangreinda eiginleika geturðu keyrt heilar fyrirspurnarforskriftir. Til dæmis að búa til einingu -> spyrja um einingu -> eyða einingu. Í þessu tilviki geturðu til dæmis notað möppuhnútinn til að flokka nokkra RequestStep hnúta.

Sjálfvirk útfylling og auðkenning á tjáningu

Fyrir þægilega vinnu með breytum (og ekki aðeins) er sjálfvirk útfylling nauðsynleg. Og auðvitað að leggja áherslu á gildi tjáningar til að gera það auðveldara og þægilegra að skýra hvað tiltekin breyta er jöfn. Þetta er einmitt raunin þegar betra er að sjá einu sinni en að heyra hundrað sinnum:

TestMace - öflug IDE til að vinna með API

Það er athyglisvert að sjálfvirk útfylling er ekki aðeins útfærð fyrir breytur, heldur einnig, til dæmis, fyrir hausa, gildi ákveðinna hausa (til dæmis sjálfvirk útfylling fyrir Content-Type hausinn), samskiptareglur og margt fleira. Listinn er stöðugt uppfærður eftir því sem forritið stækkar.

Afturkalla/afturkalla

Það er mjög þægilegt að afturkalla/gera breytingar aftur, en af ​​einhverjum ástæðum er það ekki útfært alls staðar (og verkfæri til að vinna með API eru engin undantekning). En við erum ekki ein af þeim!) Við höfum innleitt afturkalla/endurgera í öllu verkefninu, sem gerir þér kleift að afturkalla ekki aðeins breytingar á tilteknum hnút, heldur einnig stofnun hans, eyðingu, hreyfingu osfrv. Mikilvægustu aðgerðir krefjast staðfestingar.

Að búa til próf

Fullyrðingarhnúturinn er ábyrgur fyrir því að búa til próf. Einn helsti eiginleikinn er hæfileikinn til að búa til próf án forritunar með því að nota innbyggða ritstjóra.

Fullyrðingarhnútur samanstendur af mengi fullyrðinga. Hver fullyrðing hefur sína tegund; eins og er eru til nokkrar gerðir af fullyrðingum

  1. Berðu saman gildi - ber einfaldlega saman 2 gildi. Það eru nokkrir samanburðaraðgerðir: jafn, ekki jafn, stærra en, stærra en eða jafnt, minna en, minna en eða jafnt og.

  2. Inniheldur gildi - athugar tilvist undirstrengs í streng.

  3. XPath - athugar að veljarinn í XML innihaldi ákveðið gildi.

  4. JavaScript fullyrðing er handahófskennd javascript handrit sem skilar satt þegar árangur hefur náðst og rangt þegar það mistekst.

Ég tek fram að aðeins sú síðasta krefst forritunarkunnáttu frá notandanum, hinar 3 fullyrðingarnar eru búnar til með grafísku viðmóti. Hér er til dæmis hvernig glugginn til að búa til samanburðargildisyfirlýsingu lítur út:

TestMace - öflug IDE til að vinna með API

Rúsínan í pylsuendanum er fljótur að búa til fullyrðingar úr svörum, sjáðu það bara!

TestMace - öflug IDE til að vinna með API

Hins vegar hafa slíkar fullyrðingar augljósar takmarkanir, sem þú gætir viljað nota javascript fullyrðingu til að yfirstíga. Og hér veitir TestMace einnig þægilegt umhverfi með sjálfvirkri útfyllingu, setningafræði auðkenningu og jafnvel kyrrstöðugreiningartæki.

API lýsing

TestMace gerir þér kleift að nota ekki aðeins API heldur einnig að skjalfesta það. Þar að auki hefur lýsingin sjálf einnig stigveldisskipulag og passar lífrænt inn í restina af verkefninu. Að auki er sem stendur hægt að flytja inn API lýsingar frá Swagger 2.0 / OpenAPI 3.0 sniðum. Lýsingin sjálf liggur ekki bara í dauðaþunga, heldur er hún nátengd því sem eftir er af verkefninu, sérstaklega er sjálfvirk útfylling á vefslóðum, HTTP hausum, fyrirspurnarbreytum o.s.frv. í boði og í framtíðinni ætlum við að bæta við prófunum fyrir samræmi við svarið við API lýsinguna.

Deilingarhnútur

Tilfelli: þú vilt deila erfiðri beiðni eða jafnvel heilu handriti með samstarfsmanni eða einfaldlega hengja það við villu. TestMace nær líka yfir þetta mál: forritið gerir þér kleift að raðgreina hvaða hnút sem er og jafnvel undirtré í vefslóð. Copy-paste og þú getur auðveldlega flutt beiðnina yfir á aðra vél eða verkefni.

Mannlæsilegt verkgeymslusnið

Í augnablikinu er hver hnút geymdur í sérstakri skrá með yml endingunni (eins og raunin er með Assertion hnútinn), eða í möppu með nafni hnútsins og index.yml skrána í.
Til dæmis lítur beiðnin sem við gerðum í umfjölluninni hér að ofan svona út:

index.yml

children: []
variables: {}
type: RequestStep
assignVariables: []
requestData:
  request:
    method: GET
    url: 'https://next.json-generator.com/api/json/get/NJv-NT-U8'
  headers: []
  disabledInheritedHeaders: []
  params: []
  body:
    type: Json
    jsonBody: ''
    xmlBody: ''
    textBody: ''
    formData: []
    file: ''
    formURLEncoded: []
  strictSSL: Inherit
authData:
  type: inherit
name: Scratch 1

Eins og þú sérð er allt mjög skýrt. Ef þess er óskað er auðvelt að breyta þessu sniði handvirkt.

Stigveldi möppu í skráarkerfinu endurtekur algjörlega stigveldi hnúta í verkefninu. Til dæmis, handrit eins og:

TestMace - öflug IDE til að vinna með API

Kortleggur skráarkerfið í eftirfarandi uppbyggingu (aðeins möppustigveldið er sýnt, en kjarninn er skýr)

TestMace - öflug IDE til að vinna með API

Þetta gerir endurskoðunarferlið auðveldara.

Innflutningur frá Postman

Eftir að hafa lesið allt ofangreint munu sumir notendur vilja prófa (ekki satt?) nýja vöru eða (hvað í fjandanum er ekki að grínast!) alveg nota hana í verkefninu sínu. Hins vegar er hægt að stöðva fólksflutninga með miklum fjölda þróunar í sama Postman. Í slíkum tilvikum styður TestMace innflutning á söfnum frá Postman. Í augnablikinu er innflutningur án prófa studdur en við útilokum ekki að hann styðji hann í framtíðinni.

Áætlun

Ég vona að margir þeirra sem hafa lesið hingað til hafi líkað við vöruna okkar. Hins vegar er það ekki allt! Vinna við vöruna er í fullum gangi og hér eru nokkrir eiginleikar sem við ætlum að bæta við fljótlega.

Skýjasamstilling

Einn af eftirsóttustu eiginleikum. Í augnablikinu leggjum við til að nota útgáfustýringarkerfi fyrir samstillingu, þar sem við erum að gera sniðið vingjarnlegra fyrir þessa tegund geymslu. Hins vegar hentar þetta verkflæði ekki öllum, svo við ætlum að bæta við samstillingarkerfi sem margir þekkja í gegnum netþjóna okkar.

CLI

Eins og getið er hér að ofan geta vörur á IDE-stigi ekki verið án alls kyns samþættingar við núverandi forrit eða verkflæði. CLI er nákvæmlega það sem þarf til að samþætta próf skrifuð í TestMace í samfellda samþættingarferlinu. Vinna við CLI er í fullum gangi; fyrstu útgáfur munu hefja verkefnið með einfaldri stjórnborðsskýrslu. Í framtíðinni ætlum við að bæta við skýrsluúttak á JUnit sniði.

Viðbót kerfi

Þrátt fyrir allan kraft tólsins okkar er hópurinn af málum sem krefjast lausna takmarkalaus. Þegar öllu er á botninn hvolft eru verkefni sem eru sérstök fyrir tiltekið verkefni. Þess vegna ætlum við í framtíðinni að bæta við SDK til að þróa viðbætur og hver þróunaraðili mun geta bætt við virkni við sitt hæfi.

Stækka úrval hnútategunda

Þetta sett af hnútum nær ekki yfir öll tilvik sem notandinn krefst. Hnútar sem fyrirhugað er að bæta við:

  • Forskriftarhnútur - breytir og setur gögn með js og samsvarandi API. Með því að nota þessa tegund af hnút geturðu gert hluti eins og forskriftir fyrir og eftir beiðni í Postman.
  • GraphQL hnútur - graphql stuðningur
  • Sérsniðinn staðhæfingarhnútur - gerir þér kleift að stækka mengi núverandi fullyrðinga í verkefninu
    Auðvitað er þetta ekki endanlegur listi, hann verður stöðugt uppfærður meðal annars vegna athugasemda þinna.

FAQ

Hvernig ertu öðruvísi en Postman?

  1. Hugmyndin um hnúta, sem gerir þér kleift að stækka nánast endalaust virkni verkefnisins
  2. Mannlæsilegt verkefnasnið með vistun í skráarkerfi, sem einfaldar vinnu með útgáfustýringarkerfi
  3. Geta til að búa til próf án forritunar og fullkomnari js stuðning í prófunarritlinum (sjálfvirk útfylling, kyrrstöðugreiningartæki)
  4. Ítarleg sjálfvirk útfylling og auðkenning á núverandi gildi breyta

Er þetta opinn vara?

Nei, eins og er er heimildum lokað, en í framtíðinni erum við að skoða möguleikann á að opna heimildirnar

Á hverju lifir þú?)

Ásamt ókeypis útgáfunni ætlum við að gefa út gjaldskylda útgáfu af vörunni. Það mun fyrst og fremst innihalda hluti sem krefjast netþjónshliðar, til dæmis samstillingu.

Ályktun

Verkefnið okkar stefnir hröðum skrefum í átt að stöðugri útgáfu. Hins vegar er nú þegar hægt að nota vöruna og jákvæð viðbrögð frá fyrstu notendum okkar eru sönnun þess. Við söfnum virkum endurgjöfum, því án náins samstarfs við samfélagið er ómögulegt að byggja upp gott verkfæri. Þú getur fundið okkur hér:

Opinber vefsíða

Telegram

Slaki

Facebook

Mál rekja spor einhvers

Við hlökkum til óska ​​þinna og tillagna!

Heimild: www.habr.com

Bæta við athugasemd