TestMace - IDE yamphamvu yogwira ntchito ndi ma API

Moni nonse! Lero tikufuna kuwonetsa kwa anthu za IT malonda athu - IDE yogwira ntchito ndi ma API Zithunzi za TestMace. Mwina ena a inu mukudziwa kale za ife kuchokera nkhani zam'mbuyo. Komabe, sipanakhalepo kuwunikira kwathunthu kwa chidachi, chifukwa chake timathana ndi vuto loyipali.

TestMace - IDE yamphamvu yogwira ntchito ndi ma API

Chilimbikitso

Ndikufuna kuyamba ndi momwe, kwenikweni, tinakhalira moyo uno ndipo tinaganiza zopanga chida chathu cha ntchito zapamwamba ndi API. Tiyeni tiyambe ndi mndandanda wa magwiridwe antchito omwe chinthu chimayenera kukhala nacho, chomwe, m'malingaliro athu, tinganene kuti ndi "IDE yogwira ntchito ndi ma API":

  • Kupanga ndi kuchita mafunso ndi zolemba (kutsatizana kwa mafunso)
  • Kulemba mitundu yosiyanasiyana ya mayeso
  • Kupanga mayeso
  • Kugwira ntchito ndi mafotokozedwe a API, kuphatikiza kuitanitsa kuchokera kumitundu monga Swagger, OpenAPI, WADL, ndi zina.
  • Zopempha zonyoza
  • Thandizo labwino la chilankhulo chimodzi kapena zingapo polemba zolembedwa, kuphatikiza kuphatikiza ndi malaibulale otchuka
  • ndi zina zotero.

Mndandandawu ukhoza kukulitsidwa kuti ugwirizane ndi kukoma kwanu. Kuphatikiza apo, ndikofunikira kupanga osati IDE yokhayokha, komanso zida zina, monga kulumikizana kwamtambo, zida zama mzere wamalamulo, ntchito yowunikira pa intaneti, ndi zina zambiri. Pamapeto pake, zomwe zachitika m'zaka zaposachedwa zimatiuza osati zamphamvu zokha za pulogalamuyi, komanso mawonekedwe ake osangalatsa.

Ndani amafunikira chida choterocho? Mwachiwonekere, onse omwe ali okhudzana ndi chitukuko ndi kuyesa kwa APIs ndi omanga ndi oyesa =). Komanso, ngati m'mbuyomu nthawi zambiri zimakhala zokwanira kuyankha mafunso amodzi ndi zolemba zosavuta, ndiye kwa oyesa ichi ndi chimodzi mwa zida zazikulu, zomwe, mwa zina, ziyenera kukhala ndi njira yamphamvu yolembera mayeso ndi kuthekera koyendetsa. CI.

Chifukwa chake, kutsatira malangizowa, tinayamba kupanga malonda athu. Tiyeni tiwone zomwe tapindula pa nthawi ino.

Kuyamba mwachangu

Tiyeni tiyambe ndi kudziwana koyamba ndi ntchito. Mukhoza kukopera izo patsamba lathu. Pakadali pano, nsanja zonse zitatu zimathandizidwa - Windows, Linux, MacOS. Koperani, kukhazikitsa, kukhazikitsa. Mukayiyambitsa koyamba, mutha kuwona zenera ili:

TestMace - IDE yamphamvu yogwira ntchito ndi ma API

Dinani pachizindikiro chowonjezera pamwamba pa zomwe zili patsamba kuti mupange pempho lanu loyamba. Tabu yafunso ikuwoneka motere:

TestMace - IDE yamphamvu yogwira ntchito ndi ma API

Tiyeni tione mwatsatanetsatane. Mawonekedwe a pempho ndi ofanana kwambiri ndi mawonekedwe a makasitomala otchuka opumula, zomwe zimapangitsa kusamuka kuchokera ku zida zofanana kukhala zosavuta. Tiyeni tipange pempho loyamba ku ulalo https://next.json-generator.com/api/json/get/NJv-NT-U8

TestMace - IDE yamphamvu yogwira ntchito ndi ma API

Kawirikawiri, poyang'ana koyamba, gulu loyankha silimataya zodabwitsa. Komabe, ndikufuna ndikuwonetseni mfundo zina:

  1. Thupi la yankho limayimiridwa ngati mtengo, womwe poyamba umawonjezera zomwe zili muzambiri ndipo kachiwiri kumakupatsani mwayi wowonjezera zina zosangalatsa zomwe zili pansipa.
  2. Pali tabu ya Assertions, yomwe imasonyeza mndandanda wa mayesero a pempho loperekedwa

Monga mukuwonera, chida chathu chingagwiritsidwe ntchito ngati kasitomala wopumula. Komabe, sitikadakhala pano ngati kuthekera kwake kukanakhala kokha pakutumiza zopempha. Kenako, ndifotokoza mfundo zoyambira ndi magwiridwe antchito a TestMace.

Malingaliro Oyambira ndi Mawonekedwe

Zidziwitso

Ntchito ya TestMace imagawidwa m'mitundu yosiyanasiyana ya node. Muchitsanzo pamwambapa, tidawonetsa magwiridwe antchito a RequestStep node. Komabe, mitundu yotsatirayi ya node tsopano ikupezeka mukugwiritsa ntchito:

  • Pemphani Gawo. Iyi ndiye mfundo yomwe mungathe kupanga pempho. Itha kukhala ndi mfundo imodzi yokha ya Assertion ngati chinthu chamwana.
  • Kunena zoona. Node imagwiritsidwa ntchito polemba mayeso. Itha kukhala gawo la mwana wa RequestStep node.
  • Foda. Amakulolani kuti mupange gulu la Foda ndi RequestStep nodes mkati mwawo.
  • Ntchito. Uwu ndiye muzu, wopangidwa zokha popanga projekiti. Kupanda kutero, imabwereza magwiridwe antchito a Folder node.
  • Lumikizani. Lumikizani ku Foda kapena RequestStep node. Limakupatsani mwayi wogwiritsanso ntchito mafunso ndi zolemba.
  • ndi zina zotero.

Ma nodewo ali m'mikwingwirima (gawo kumanzere kumanzere, lomwe limagwiritsidwa ntchito popanga mafunso "amodzi" mwachangu) ndi ma projekiti (gawo lomwe lili kumanzere kumanzere), lomwe tikhalapo mwatsatanetsatane.

Ntchitoyi

Mukakhazikitsa pulogalamuyi, mutha kuwona mzere wokha wa Project pakona yakumanzere kumanzere. Uwu ndiye muzu wa mtengo wa polojekiti. Mukayamba pulojekiti, ntchito yosakhalitsa imapangidwa, njira yomwe imadalira makina anu ogwiritsira ntchito. Nthawi iliyonse mutha kusuntha pulojekitiyi kupita kumalo omwe angakuthandizireni.

Cholinga chachikulu cha pulojekitiyi ndikutha kupulumutsa zomwe zikuchitika mu fayilo ya fayilo ndikuzigwirizanitsa kudzera mu machitidwe olamulira, kuyendetsa zolemba mu CI, kusintha kusintha, ndi zina zotero.

Zosintha

Zosintha ndi imodzi mwamakina ofunikira pakugwiritsa ntchito. Inu omwe mumagwira ntchito ndi zida ngati TestMace mutha kukhala ndi lingaliro la zomwe tikukamba. Chifukwa chake, zosinthika ndi njira yosungira deta wamba ndikulumikizana pakati pa node. Analogue, mwachitsanzo, ndi zosintha zachilengedwe mu Postman kapena Insomnia. Komabe, tinapita patsogolo ndikukulitsa mutuwo. Mu TestMace, zosinthika zitha kukhazikitsidwa pamlingo wa node. Aliyense. Palinso njira yotengera kutengera kosiyana kuchokera kwa makolo ndi mitundu yosiyanasiyana ya mbadwa. Kuphatikiza apo pali mitundu ingapo yomangidwa, mayina amitundu yomangidwa amayamba $. Nazi zina mwa izo:

  • $prevStep - kulumikizana ndi zosintha zamanodi am'mbuyomu
  • $nextStep - kulumikizana ndi zosinthika za node yotsatira
  • $parent - chinthu chomwecho, koma kokha kwa kholo
  • $response - yankho lochokera ku seva
  • $env - zosintha zachilengedwe zapano
  • $dynamicVar - zosinthika zosinthika zomwe zidapangidwa panthawi ya script kapena kufunsa mafunso

$env - izi ndizosiyana zamtundu wamba za Project node, komabe, kusintha kwa chilengedwe kumasintha kutengera malo omwe asankhidwa.

Kusintha kumafikiridwa kudzera ${variable_name}
Mtengo wa kusinthika ukhoza kukhala kusintha kwina, kapena ngakhale mawu onse. Mwachitsanzo, kusintha kwa url kumatha kukhala mawu ngati
http://${host}:${port}/${endpoint}.

Payokha, ndikofunikira kuzindikira kuthekera kopereka zosinthika panthawi yolemba script. Mwachitsanzo, nthawi zambiri pamafunika kusunga deta yovomerezeka (chizindikiro kapena mutu wonse) womwe unachokera ku seva pambuyo polowera bwino. TestMace imakulolani kuti musunge deta yotereyi mumitundu yosiyanasiyana ya imodzi mwa makolo. Pofuna kupewa kugundana ndi zinthu zomwe zilipo kale "static", zosinthika zosinthika zimayikidwa mu chinthu china $dynamicVar.

Zochitika

Pogwiritsa ntchito zonse zomwe zili pamwambapa, mutha kugwiritsa ntchito zolemba zonse zamafunso. Mwachitsanzo, kupanga bungwe -> kufunsa gulu -> kuchotsa bungwe. Pankhaniyi, mwachitsanzo, mutha kugwiritsa ntchito Folder node kuti mupange magulu angapo a RequestStep.

Kumaliza ndi kuwunikira mawu

Kuti mugwire ntchito yabwino yokhala ndi zosintha (osati zokha) kumalizitsa zokha ndikofunikira. Ndipo zowonadi, kuwunikira kufunikira kwa mawu kuti zikhale zosavuta komanso zosavuta kumveketsa zomwe kusinthaku kumafanana. Umu ndi momwe zilili ngati kuli bwino kuwona kamodzi kuposa kumva kambirimbiri:

TestMace - IDE yamphamvu yogwira ntchito ndi ma API

Ndikoyenera kudziwa kuti kumaliza kumayendetsedwa osati pazosintha zokha, komanso, mwachitsanzo, pamitu, mfundo zamutu wina (mwachitsanzo, kumalizitsa kwa mutu wa Content-Type), ma protocol ndi zina zambiri. Mndandandawu umasinthidwa nthawi zonse pamene ntchito ikukula.

Bwezerani/kuchitanso

Kusintha / kukonzanso kusintha ndi chinthu chosavuta kwambiri, koma pazifukwa zina sichimayendetsedwa paliponse (ndipo zida zogwirira ntchito ndi API ndizosiyana). Koma sitili m'modzi mwa iwo!) Takhazikitsanso / sinthaninso ntchito yonseyi, zomwe zimakulolani kuti musinthe osati kungosintha mfundo, komanso kupanga kwake, kufufutidwa, kusuntha, ndi zina zambiri. Zochita zovuta kwambiri zimafuna kutsimikiziridwa.

Kupanga mayeso

The Assertion node ndi udindo wopanga mayeso. Chimodzi mwazinthu zazikulu ndikutha kupanga mayeso popanda kupanga mapulogalamu, pogwiritsa ntchito okonza omangidwa.

Node ya Assertion imakhala ndi zonena zingapo. Chitsimikizo chilichonse chili ndi mtundu wake; pakadali pano pali mitundu ingapo ya zonena

  1. Fananizani zikhalidwe - zimangofanizira zikhalidwe ziwiri. Pali ofananitsa angapo: ofanana, osafanana, akulu kuposa, akulu kuposa kapena ofanana, ocheperako, ochepera kapena ofanana ndi.

  2. Lili ndi mtengo - imayang'ana kupezeka kwa chingwe chaching'ono mu chingwe.

  3. XPath - imayang'ana kuti chosankha mu XML chili ndi mtengo wina.

  4. Kutsimikiza kwa JavaScript ndi javascript script yokhazikika yomwe imabweza zoona pakuchita bwino komanso zabodza pakalephera.

Ndikuzindikira kuti chomaliza chokhacho chimafuna luso la mapulogalamu kuchokera kwa wogwiritsa ntchito, zonena zina za 3 zimapangidwa pogwiritsa ntchito mawonekedwe owonetsera. Apa, mwachitsanzo, ndi momwe zokambirana zopangira zofananira zimawonekera:

TestMace - IDE yamphamvu yogwira ntchito ndi ma API

The icing pa keke ndi kulenga mwamsanga zonena kuchokera mayankho, tangoyang'anani izo!

TestMace - IDE yamphamvu yogwira ntchito ndi ma API

Komabe, zonena zotere zili ndi malire odziwikiratu, omwe mungafune kugwiritsa ntchito mawu a javascript kuti muwagonjetse. Ndipo apa TestMace imaperekanso malo abwino okhala ndi kumalizitsa, kuwunikira mawu komanso ngakhale chowunikira chokhazikika.

Kufotokozera kwa API

TestMace imakulolani kuti musagwiritse ntchito API yokha, komanso kuilemba. Kuphatikiza apo, kufotokozerako kulinso ndi kalembedwe kake ndipo kumagwirizana ndi ntchito yonseyi. Kuphatikiza apo, ndizotheka kuyitanitsa mafotokozedwe a API kuchokera kumitundu ya Swagger 2.0 / OpenAPI 3.0. Kufotokozera komweko sikumangokhalira kulemera kwakufa, koma kumagwirizanitsidwa kwambiri ndi ntchito yonseyi, makamaka, kutsirizitsa ma URL, mitu ya HTTP, magawo amafunso, ndi zina zotero zilipo, ndipo m'tsogolomu tikukonzekera kuwonjezera mayesero. kuti zigwirizane ndi yankho ndi kufotokozera kwa API.

Kugawana mfundo

Mlandu: mukufuna kugawana pempho lomwe lili ndi vuto kapena zolemba zonse ndi mnzanu kapena kungoyiphatikiza ndi cholakwika. TestMace imakhudzanso nkhaniyi: kugwiritsa ntchito kumakupatsani mwayi wosinthira node iliyonse komanso kamtengo kakang'ono mu URL. Copy-paste ndipo mutha kusamutsa pempholi kumakina ena kapena polojekiti.

Momwe mungasungire polojekiti yowerengeka ndi anthu

Pakalipano, node iliyonse imasungidwa mu fayilo yosiyana ndi yowonjezera yml (monga momwe zilili ndi Assertion node), kapena mufoda yomwe ili ndi dzina la node ndi index.yml file mmenemo.
Mwachitsanzo, izi ndi momwe fayilo yopempha yomwe tapanga pakuwunikiridwa pamwambapa imawonekera:

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

Monga mukuonera, zonse ndi zomveka bwino. Ngati mukufuna, mtundu uwu ukhoza kusinthidwa mosavuta pamanja.

Ulamuliro wa zikwatu mu fayilo yamafayilo umabwerezanso kuchuluka kwa ma node mu projekiti. Mwachitsanzo, script ngati:

TestMace - IDE yamphamvu yogwira ntchito ndi ma API

Imatsitsa mafayilo kumapangidwe otsatirawa (mafoda okha ndi omwe akuwonetsedwa, koma tanthauzo lake ndi lomveka)

TestMace - IDE yamphamvu yogwira ntchito ndi ma API

Izi zimapangitsa kuti ntchito yowunikira polojekiti ikhale yosavuta.

Lowetsani kuchokera ku Postman

Pambuyo powerenga zonse zomwe zili pamwambazi, ogwiritsa ntchito ena adzafuna kuyesa (kulondola?) chinthu chatsopano kapena (chomwe gehena sichikusewera!) chigwiritseni ntchito kwathunthu mu ntchito yawo. Komabe, kusamuka kungaimitsidwe ndi kuchuluka kwa zochitika mu Postman yemweyo. Pazifukwa zotere, TestMace imathandizira kuitanitsa zosonkhanitsidwa kuchokera ku Postman. Pakadali pano, kutulutsa kunja popanda mayeso kumathandizidwa, koma sitikuletsa kuwathandiza mtsogolo.

Mapulani

Ndikukhulupirira kuti ambiri mwa omwe adawerengapo mpaka pano adakonda mankhwala athu. Komabe, si zokhazo! Ntchito pa malonda ali pachimake ndipo apa pali zina zomwe tikukonzekera kuwonjezera posachedwa.

Kulunzanitsa kwamtambo

Chimodzi mwazofunikira kwambiri. Pakadali pano, tikupangira kugwiritsa ntchito makina owongolera mtundu kuti agwirizane, zomwe tikupanga mawonekedwe kukhala ochezeka kwambiri pakusungirako kwamtunduwu. Komabe, mayendedwe awa siwoyenera aliyense, kotero tikukonzekera kuwonjezera njira yolumikizira yomwe imadziwika kwa ambiri kudzera pa maseva athu.

CLI

Monga tafotokozera pamwambapa, zinthu zamtundu wa IDE sizingachite popanda kuphatikiza kwamitundu yonse ndi mapulogalamu omwe alipo kapena mayendedwe. CLI ndizomwe zimafunikira kuti muphatikize mayeso olembedwa mu TestMace munjira yophatikizira yopitilira. Ntchito pa CLI ili pachimake; mitundu yoyambirira idzayambitsa ntchitoyi ndi lipoti losavuta la console. M'tsogolomu tikukonzekera kuwonjezera lipoti mu mtundu wa JUnit.

Pulogalamu yowonjezera

Ngakhale mphamvu zonse za chida chathu, seti yamilandu yomwe imafuna mayankho ndi yopanda malire. Kupatula apo, pali ntchito zomwe zimagwirizana ndi ntchito inayake. Ichi ndichifukwa chake mtsogolomo tikukonzekera kuwonjezera SDK yopanga mapulagini ndipo wopanga aliyense azitha kuwonjezera magwiridwe antchito pazomwe amakonda.

Kuwonjezera mitundu yosiyanasiyana ya node

Seti ya node iyi siyimakhudza milandu yonse yomwe wogwiritsa ntchito amafunikira. Ma Node omwe akukonzekera kuwonjezeredwa:

  • Script node - imatembenuza ndikuyika deta pogwiritsa ntchito js ndi API yofananira. Pogwiritsa ntchito mtundu uwu wa node, mutha kuchita zinthu monga kufunsiratu ndi zolembera zopempha pambuyo pa Postman.
  • GraphQL node - thandizo la graphql
  • Node yotsimikizira - ikulolani kuti muwonjezere zonena zomwe zilipo mu polojekitiyi
    Mwachilengedwe, uwu si mndandanda womaliza; udzasinthidwa pafupipafupi chifukwa, mwa zina, mayankho anu.

FAQ

Kodi ndinu osiyana bwanji ndi Postman?

  1. Lingaliro la node, lomwe limakupatsani mwayi woti muzitha kukulitsa magwiridwe antchito a polojekitiyo
  2. Ma projekiti owerengeka ndi anthu ndikusunga mu fayilo yamafayilo, yomwe imathandizira ntchito pogwiritsa ntchito makina owongolera
  3. Kutha kupanga mayeso osapanga mapulogalamu komanso chithandizo chapamwamba cha js mumkonzi woyeserera (kumaliza, static analyzer)
  4. Kumaliza motsogola komanso kuwunikira mtengo wapano wa zosintha

Kodi ichi ndi chinthu chotsegula?

Ayi, pakali pano magwero atsekedwa, koma mtsogolomu tikuganizira mwayi wotsegula magwero

Mukukhala ndi chiyani?)

Pamodzi ndi mtundu waulere, tikukonzekera kumasula mtundu wolipidwa wazinthuzo. Idzaphatikizanso zinthu zomwe zimafuna mbali ya seva, mwachitsanzo, kulunzanitsa.

Pomaliza

Pulojekiti yathu ikuyenda modumphadumpha kupita ku kumasulidwa kokhazikika. Komabe, mankhwalawa amatha kugwiritsidwa ntchito kale, ndipo mayankho abwino ochokera kwa ogwiritsa ntchito athu oyambirira ndi umboni wa izi. Timasonkhanitsa ndemanga mwachangu, chifukwa popanda mgwirizano wapamtima ndi anthu ammudzi sizingatheke kupanga chida chabwino. Mutha kutipeza pano:

Webusaiti yathuyi

uthengawo

lochedwa

Facebook

Tracker zovuta

Tikuyembekezera zofuna zanu ndi malingaliro!

Source: www.habr.com

Kuwonjezera ndemanga