Mhoroi mose! Nhasi tinoda kupa kune veruzhinji chigadzirwa chedu - IDE yekushanda nemaAPI
Chikonzero
Ndinoda kutanga nekuti, isu takauya sei kuhupenyu huno uye takafunga kugadzira yedu chishandiso chepamusoro basa neAPI. Ngatitangei nerondedzero yekushanda kunofanirwa kuve nechigadzirwa, icho, semaonero edu, tinogona kutaura kuti i "IDE yekushanda nemaAPI":
- Kugadzira uye kuita mibvunzo uye zvinyorwa (kutevedzana kwemibvunzo)
- Kunyora mhando dzakasiyana dzebvunzo
- Test generation
- Kushanda ne API tsananguro, kusanganisira kupinza kubva kune mafomati akadai seSwagger, OpenAPI, WADL, nezvimwe.
- Zvikumbiro zvekunyomba
- Tsigiro yakanaka yemutauro mumwe kana kupfuura wekunyora zvinyorwa, kusanganisira kubatanidzwa nemaraibhurari anozivikanwa
- uye zvakadaro.
Rondedzero yacho inogona kuwedzerwa kuti ienderane nekuravira kwako. Zvakare, zvakakosha kuti ugadzire kwete chete IDE pachayo, asiwo imwe gadziriro, yakadai seyakawiriranisa gore, maturusi emutsetse wemirairo, sevhisi yekutarisa yepamhepo, nezvimwe. Mukupedzisira, maitiro emakore achangopfuura anotiraira kwete chete simba rekushanda kwechishandiso, asiwo chimiro chayo chinonakidza.
Ndiani anoda chishandiso chakadaro? Zviripachena, vese avo vangangoita neimwe nzira yakabatana nekusimudzira uye kuyedzwa kweAPIs vagadziri uye vaedzi =). Uyezve, kana kune yekutanga kazhinji inokwana kuita mibvunzo imwe chete uye zvinyorwa zviri nyore, saka kune vanoedza ichi ndicho chimwe chezvishandiso zvikuru, izvo, pakati pezvimwe zvinhu, zvinofanirwa kusanganisira nzira ine simba yekunyora bvunzo nekukwanisa kuimhanyisa mukati. CI.
Saka, tichitevera nhungamiro idzi, takatanga kugadzira chigadzirwa chedu. Ngationei zvatawana panguva ino.
Kurumidza kutanga
Ngatitange nekutanga kuzivana nekushandisa. Unogona kudhaunirodha
Dzvanya pane chiratidzo chekuwedzera chiri pamusoro penzvimbo yemukati kuti ugadzire yako yekutanga chikumbiro. The query tab inoita seizvi:
Ngatizvitarisei zvakadzama. Chikumbiro chekukumbira chakafanana chaizvo nechimiro chevatengi vanozivikanwa kuzorora, izvo zvinoita kuti kutama kubva kune mamwe maturusi kuve nyore. Ngatiite chikumbiro chekutanga kune url
Kazhinji, pakutanga kutarisa, iyo mhinduro yepaneru hainawo kukanda chero zvinoshamisa. Zvisinei, ndinoda kukwevera pfungwa dzako kune dzimwe pfungwa:
- Mutumbi wemhinduro unomiririrwa muchimiro chemuti, uyo unotanga kuwedzera ruzivo rwemukati uye chechipiri unobvumidza iwe kuti uwedzere mamwe anonakidza maficha ari pazasi.
- Kune Assertions tab, iyo inoratidza runyorwa rwebvunzo dzechikumbiro chakapihwa
Sezvauri kuona, chishandiso chedu chinogona kushandiswa seyakanakira kuzorora mutengi. Nekudaro, isu tingadai tisiri pano kana kugona kwayo kwaingogumira pakutumira zvikumbiro. Tevere, ini ndichatsanangura iwo ekutanga pfungwa uye mashandiro eTestMace.
Basic Concepts uye Zvimiro
Knot
TestMace mashandiro akakamurwa kuva marudzi akasiyana emanodhi. Mumuenzaniso uri pamusoro, takaratidza kushanda kweRequestStep node. Nekudaro, marudzi anotevera emanode ave kuwanikwawo mukushandisa:
- RequestStep. Iyi ndiyo node yaunogona kugadzira chikumbiro. Inogona chete kuve neAssertion node imwe sechinhu chemwana.
- Assertion. Iyo node inoshandiswa kunyora bvunzo. Inogona kungova node yemwana yeRequestStep node.
- Folder. Inokutendera kuti uite boka Folder uye ChikumbiroStep node mukati mavo.
- Project. Iyi ndiyo mudzi node, inogadzirwa otomatiki kana purojekiti yagadzirwa. Zvikasadaro, inodzokorora kushanda kweFolder node.
- Link. Batanidza kune Folder kana ChikumbiroStep node. Inokutendera kuti ushandisezve mibvunzo uye zvinyorwa.
- uye zvakadaro.
Manodhi anowanikwa mumakwara (iyo pazasi kuruboshwe, inoshandiswa kukurumidza kugadzira "imwe-kure" mibvunzo) uye mumapurojekiti (iyo pani kumusoro kuruboshwe), iyo yatichagara pairi zvakadzama.
Iyo purojekiti
Paunotangisa application, unogona kuona mutsara weProjekiti mukona yepamusoro kuruboshwe. Uyu ndiwo mudzi wemuti weprojekti. Paunotanga purojekiti, purojekiti yenguva pfupi inogadzirwa, nzira iyo inoenderana nehurongwa hwako hwekushandisa. Chero nguva iwe unogona kuendesa purojekiti kunzvimbo yakakunakira.
Chinangwa chikuru chepurojekiti kugona kuchengetedza zviri kuitika mufaira system uye nekuzviwiriranisa kuburikidza neshanduro yekudzora masisitimu, mhanyisa zvinyorwa muCI, ongororo shanduko, nezvimwe.
Misiyano
Variables ndeimwe yenzira dzakakosha dzekushandisa. Avo venyu vanoshanda nemidziyo yakaita seTestMace vanogona kunge vatova nepfungwa yezvatiri kutaura nezvazvo. Saka, misiyano inzira yekuchengetedza zvakajairika data uye kutaurirana pakati pemanodhi. Analogue, semuenzaniso, nharaunda dzakasiyana muPostman kana Insomnia. Zvisinei, takaenda mberi ndokuvandudza musoro wacho. MuTestMace, zvinosiyana zvinogona kusetwa padanho renode. Chero. Kune zvakare nzira yekugara nhaka misiyano kubva kumadzitateguru uye inopindirana misiyano mudzinza. Mukuwedzera kune nhamba yezvinyorwa zvakavakwa, mazita ezvinyorwa zvakavakwa anotanga $
. Hezvino zvimwe zvacho:
$prevStep
- chinongedzo kune akasiyana eiyo node yapfuura$nextStep
- chinongedzo kune akasiyana einodhi inotevera$parent
- chinhu chimwe chete, asi chete kumadzitateguru$response
- mhinduro kubva kune server$env
- kuchinja kwemamiriro ezvinhu ezvino$dynamicVar
- dynamic variables yakagadzirwa panguva yescript kana query execution
$env
- aya ndiwo akajairwa maProjekti node level akasiyana, zvisinei, iyo seti yemamiriro ekunze inochinja zvichienderana nenharaunda yakasarudzwa.
The variable inowanikwa kuburikidza ${variable_name}
Kukosha kwechinhu chinosiyanisa kunogona kuva kumwe kusiyanisa, kana kunyange kutaura kwese. Semuenzaniso, iyo url inoshanduka inogona kuve chirevo chakadai
http://${host}:${port}/${endpoint}
.
Zvakaparadzana, zvakakosha kucherechedza mukana wekugovera zvinosiyana panguva yekunyora script. Semuenzaniso, panowanzodikanwa kuchengetedza data remvumo (chiratidzo kana musoro wese) wakabva kuseva mushure mekupinda kwakabudirira. TestMace inokutendera iwe kuti uchengetedze data rakadaro mumhando dzakasiyana dzeimwe yemadzitateguru. Kuti udzivise kudhumhana neagara aripo "static" variables, dynamic variables anoiswa muchinhu chakasiyana $dynamicVar
.
Scenarios
Uchishandisa ese ari pamusoro apa, unogona kumhanyisa zvinyorwa zvese zvemubvunzo. Semuenzaniso, kugadzira sangano -> kubvunza chimwe chinhu -> kubvisa sangano. Muchiitiko ichi, semuenzaniso, unogona kushandisa iyo Folder node kuunganidza akati wandei RequestStep node.
Autocompletion uye kuratidza kuratidza
Kuti uite basa riri nyore rine zvinosiyana (uye kwete chete) autocompletion inodiwa. Uye zvechokwadi, kuratidza kukosha kwechirevo kuita kuti zvive nyore uye zviri nyore kujekesa kuti imwe shanduko yakaenzana nei. Izvi ndizvo chaizvo kana zviri nani kuona kamwe pane kunzwa kazana:
Zvinokosha kucherechedza kuti autocompletion haishandiswe chete kune zvinoshanduka, asi zvakare, semuenzaniso, kune misoro, kukosha kwemamwe misoro (semuenzaniso, autocompletion yeiyo Content-Type musoro), mapuroteni uye zvimwe zvakawanda. Rondedzero yacho inogara ichigadziridzwa sezvo application inokura.
Dzokorora/itazve
Kubvisa/kugadzirisazve shanduko chinhu chiri nyore kwazvo, asi nekuda kwechimwe chikonzero hachiitwe kwese kwese (uye maturusi ekushanda nemaAPIs hazvisi izvo). Asi isu hatisi vamwe veavo!) Isu takaita undo/redo mukati mechirongwa chese, izvo zvinokutendera kuti ugadzirise kwete kungogadzirisa imwe node, asiwo kusikwa kwayo, kudzima, kufamba, nezvimwe. Mabasa akanyanya kukosha anoda kusimbiswa.
Kugadzira miedzo
Iyo Assertion node ine basa rekugadzira bvunzo. Chimwe chezvinhu zvikuru kugona kugadzira bvunzo pasina hurongwa, uchishandisa akavakirwa-mukati edhita.
An Assertion node ine seti yezvirevo. Chirevo chega chega chine mhando yacho; parizvino kune akati wandei marudzi ezvirevo
-
Enzanisa kukosha - inongoenzanisa 2 kukosha. Kune akati wandei ekuenzanisa opareta: akaenzana, haana kuenzana, makuru pane, makuru pane kana akaenzana, akaderera pane, akaderera pane kana kuenzana.
-
Ine value - inotarisa kuitika kwe substring mutambo.
-
XPath - inotarisa kuti sarudzo muXML ine imwe kukosha.
-
JavaScript assertion is arbitral javascript script inodzosera chokwadi pakubudirira uye nhema pakukundikana.
Ini ndinocherekedza kuti iyo yekupedzisira chete inoda hunyanzvi hwekugadzira kubva kumushandisi, zvimwe zvirevo zvitatu zvinogadzirwa uchishandisa graphical interface. Heino, semuenzaniso, ndizvo izvo dialog yekugadzira kuenzanisa kukosha kwekusimbisa inoita senge:
Iyo icing pakike ndiko kukurumidza kusikwa kwekusimbisa kubva kumhinduro, ingo tarisa!
Nekudaro, zvirevo zvakadaro zvine zvipimo zviri pachena, izvo zvaungade kushandisa chirevo chejavascript kukunda. Uye pano TestMace inopawo yakasununguka nharaunda ine autocompletion, syntax inosimudzira uye kunyange static analyzer.
Tsanangudzo yeAPI
TestMace inobvumidza iwe kwete chete kushandisa iyo API, asiwo kuinyora. Zvakare, tsananguro yacho pachayo inewo hierarchical chimiro uye inokodzera organic mune yasara purojekiti. Pamusoro pezvo, parizvino zvinogoneka kuunza tsananguro yeAPI kubva kuSwagger 2.0 / OpenAPI 3.0 mafomati. Iyo tsananguro pachayo haingorevi huremu hwakafa, asi yakanyatsobatanidzwa pamwe nechero purojekiti, kunyanya, kupedzisa otomatiki kwe URLs, HTTP misoro, query paramita, nezvimwe zviripo, uye mune ramangwana tinoronga kuwedzera bvunzo. kuitira kutevedzera mhinduro nerondedzero yeAPI.
Kugovana node
Nyaya: iwe unoda kugovera chikumbiro chine dambudziko kana kunyangwe script yese nemumwe waunoshanda naye kana kungoibatanidza kune bug. TestMace inovhara nyaya iyi zvakare: iyo application inokutendera iwe kuti utore chero node uye kunyange subtree muURL. Kopa-namira uye iwe unogona nyore kuendesa chikumbiro kune mumwe muchina kana chirongwa.
Chimiro chekuchengetedza chirongwa chinoverengeka
Parizvino, node imwe neimwe inochengetwa mune imwe faira ine yml yekuwedzera (sezvazvinoita neAssertion node), kana mufolda ine zita renodhi uye index.yml faira mairi.
Semuenzaniso, izvi ndizvo zvakaita faira rekukumbira ratakaita muongororo iri pamusoro rinotaridzika se:
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
Sezvaunogona kuona, zvinhu zvose zvakajeka. Kana uchida, iyi fomati inogona kugadziriswa nyore nemaoko.
Iyo hierarchy yemaforodha mune faira system inodzokorora zvachose hierarchy yemanodhi mupurojekiti. Semuenzaniso, script senge:
Mepu iyo faira system kune inotevera dhizaini (chete dhairekitori dhairekitori inoratidzwa, asi essence iri pachena)
Izvi zvinoita kuti chirongwa chekuongorora chirongwa chive nyore.
Pinza kubva kuPostman
Mushure mokuverenga zvose zviri pamusoro apa, vamwe vashandisi vachada kuedza (kurudyi?) Chigadzirwa chitsva kana (chii icho hero isiri kutamba!) Shandisa zvachose mubasa ravo. Zvisinei, kutama kunogona kumiswa nenhamba huru yezvinoitika muPostman mumwe chete. Panyaya dzakadai, TestMace inotsigira kuunza kuunganidzwa kubva kuPostman. Parizvino, kunze kwenyika pasina bvunzo kunotsigirwa, asi isu hatirambidze kuvatsigira mune ramangwana.
Zvirongwa
Ndinovimba kuti vazhinji veavo vakaverenga kusvika panguva ino vakafarira chigadzirwa chedu. Zvisinei, handizvo zvoga! Kushanda pachigadzirwa kuri kuzara uye heano mamwe maficha atinoronga kuwedzera munguva pfupi.
Cloud sync
Chimwe chezvinhu zvinonyanya kukumbirwa. Parizvino, isu tinokurudzira kushandisa shanduro yekudzora masisitimu ekuyananisa, iyo yatiri kuita kuti fomati iwedzere kuenderana nemhando iyi yekuchengetedza. Nekudaro, kufambiswa kwebasa uku hakuna kukodzera kumunhu wese, saka tinoronga kuwedzera nzira yekuwiriranisa inozivikanwa kune vakawanda kuburikidza nemaseva edu.
CLI
Sezvambotaurwa pamusoro, IDE-level zvigadzirwa hazvigone kuita pasina marudzi ese ekubatanidzwa nearipo maapplication kana workflows. Iyo CLI ndiyo chaiyo inodiwa kubatanidza bvunzo dzakanyorwa muTestMace mune inoenderera mberi yekubatanidza maitiro. Kushanda paCLI kuri mukutenderera kuzere; shanduro dzekutanga dzichatangisa purojekiti ine yakapfava console report. Mune ramangwana tinoronga kuwedzera mushumo unobuda muJUnit fomati.
Plugin system
Pasinei nesimba rose rechombo chedu, iyo seti yemakesi inoda mhinduro haina magumo. Mushure mezvose, kune mabasa akananga kune imwe purojekiti. Ndosaka mune ramangwana isu tichironga kuwedzera SDK yekugadzira plugins uye mugadziri wega wega achakwanisa kuwedzera mashandiro kune zvavanoda.
Kuwedzera huwandu hwemhando dze node
Iyi seti yemanodhi haivharise nyaya dzese dzinodiwa nemushandisi. Node dzakarongwa kuwedzera:
- Script node - inoshandura uye kuisa data uchishandisa js uye inoenderana API. Uchishandisa iyi mhando yenode, unogona kuita zvinhu senge-pre-kukumbira uye post-kukumbira zvinyorwa muPostman.
- GraphQL node - graphql rutsigiro
- Tsika yekusimbisa node - ichakubvumidza iwe kuti uwedzere seti yezvipo zviripo mupurojekiti
Sezvingatarisirwa, iyi haisi rondedzero yekupedzisira; ichagara ichigadziridzwa nekuda, pakati pezvimwe zvinhu, mhinduro yako.
FAQ
Iwe wakasiyana sei naPostman?
- Iyo pfungwa yemanode, iyo inokutendera iwe kuti usvike kusinga peri kuyera kushanda kweprojekiti
- Chimiro chepurojekiti inoverengwa nevanhu nekuichengeta muhurongwa hwefaira, iyo inorerutsa basa uchishandisa shanduro yekudzora masisitimu
- Kugona kugadzira bvunzo pasina chirongwa uye yakawedzera js rutsigiro muyedzo edhita (otomatiki, static analyzer)
- Yepamberi yekupedzisa otomatiki uye kujekesa kukosha kwazvino kwezvakasiyana
Ichi chigadzirwa chemahara?
Aiwa, panguva ino zvitubu zvakavharwa, asi mune ramangwana tiri kufunga nezve mukana wekuvhura masosi
Unorarama nei?)
Pamwe chete neshanduro yemahara, isu tinoronga kuburitsa yakabhadharwa vhezheni yechigadzirwa. Ichanyanya kusanganisira zvinhu zvinoda sevha divi, semuenzaniso, kuwiriranisa.
mhedziso
Chirongwa chedu chiri kufamba nekusvetuka-svetuka kusvika pakusunungurwa kwakagadzikana. Zvisinei, chigadzirwa chacho chinogona kutoshandiswa, uye mhinduro yakanaka kubva kuvashandisi vedu vepakutanga uchapupu hweizvi. Isu tinoshingairira kuunganidza mhinduro, nekuti pasina kubatana kwepedyo nenharaunda hazvibviri kuvaka chishandiso chakanaka. Unogona kutiwana pano:
Tinotarisira kune zvido zvako uye mazano!
Source: www.habr.com