Hi uile! An-diugh tha sinn airson ar toradh a thaisbeanadh don phoball IT - IDE airson a bhith ag obair le APIan
Мотивация
Bu mhath leam tòiseachadh le mar, gu dearbh, thàinig sinn chun na beatha seo agus chuir sinn romhainn an inneal againn fhèin a chruthachadh airson obair adhartach leis an API. Feuch an tòisich sinn le liosta de ghnìomhachd a bu chòir a bhith aig toradh, agus faodaidh sinn a ràdh, nar beachd, gur e “IDE airson a bhith ag obair le APIan” a th’ ann:
- A’ cruthachadh agus a’ cur an gnìomh cheistean agus sgriobtaichean (sreathan cheistean)
- A 'sgrìobhadh diofar sheòrsaichean de dheuchainnean
- Ginealach deuchainn
- Ag obair le tuairisgeulan API, a’ toirt a-steach toirt a-steach bho chruthan leithid Swagger, OpenAPI, WADL, msaa.
- A’ magadh air iarrtasan
- Taic mhath airson aon chànan no barrachd airson sgriobtaichean a sgrìobhadh, a’ gabhail a-steach amalachadh le leabharlannan mòr-chòrdte
- agus mar sin air adhart.
Faodar an liosta a leudachadh gus freagairt air do bhlas. A bharrachd air an sin, tha e cudromach chan e a-mhàin an IDE fhèin a chruthachadh, ach cuideachd bun-structar sònraichte, leithid sioncronadh sgòthan, innealan loidhne-àithne, seirbheis sgrùdaidh air-loidhne, msaa. Aig a ’cheann thall, tha gluasadan nam bliadhnachan mu dheireadh ag òrdachadh dhuinn chan ann a-mhàin gnìomhachd cumhachdach an tagraidh, ach cuideachd an eadar-aghaidh tlachdmhor aige.
Cò a tha feumach air inneal mar seo? Gu dearbh, tha a h-uile duine aig a bheil co-dhiù dòigh air choireigin co-cheangailte ri leasachadh agus deuchainn APIn nan luchd-leasachaidh agus nan luchd-dearbhaidh =). A bharrachd air an sin, ma tha e gu tric gu leòr airson a ’chiad fhear ceistean singilte agus sgriobtaichean sìmplidh a chuir an gnìomh, an uairsin airson luchd-dearbhaidh is e seo aon de na prìomh innealan, a bu chòir, am measg rudan eile, inneal cumhachdach a ghabhail a-steach airson deuchainnean a sgrìobhadh leis a’ chomas an ruith a-steach. CI.
Mar sin, a’ leantainn an stiùiridh seo, thòisich sinn air ar toradh a chruthachadh. Chì sinn na tha sinn air a choileanadh aig an ìre seo.
Tòiseachadh luath
Feuch an tòisich sinn leis a’ chiad eòlas air an tagradh. Faodaidh tu a luchdachadh sìos
Cliog air an soidhne plus aig mullach an raon susbaint gus a’ chiad iarrtas agad a chruthachadh. Tha an taba ceist a’ coimhead mar seo:
Bheir sinn sùil nas mionaidiche air. Tha an eadar-aghaidh iarrtas glè choltach ris an eadar-aghaidh de luchd-dèiligidh fois mòr-chòrdte, a tha ga dhèanamh nas fhasa imrich bho innealan coltach ris. Nì sinn a’ chiad iarrtas chun url
San fharsaingeachd, aig a 'chiad sealladh, chan eil am pannal freagairt cuideachd a' tilgeil iongnadh sam bith. Ach, bu mhath leam d’ aire a tharraing gu cuid de phuingean:
- Tha corp an fhreagairt air a riochdachadh ann an cruth craoibhe, a tha an-toiseach a 'cur susbaint fiosrachaidh ris agus san dàrna àite a' toirt cothrom dhut cuid de fheartan inntinneach a chur ris gu h-ìosal.
- Tha tab Assertions ann, a sheallas liosta de dheuchainnean airson iarrtas sònraichte
Mar a chì thu, faodar an inneal againn a chleachdadh mar neach-dèiligidh fois goireasach. Ach, cha bhiodh sinn an seo nam biodh na comasan aige cuingealaichte ri bhith a’ cur iarrtasan a-mhàin. An uairsin, bheir mi cunntas air na bun-bheachdan bunaiteach agus gnìomhachd TestMace.
Bun-bheachdan agus Feartan
Snaidhm
Tha gnìomhachd TestMace air a roinn ann an diofar sheòrsaichean nodan. Anns an eisimpleir gu h-àrd, sheall sinn obrachadh an nód RequestStep. Ach, tha na seòrsaichean nodan a leanas a-nis rim faighinn san tagradh:
- Ceum Iarr. Is e seo an nód tron urrainn dhut iarrtas a chruthachadh. Chan fhaod ach aon nòta Dearbhaidh a bhith aige mar eileamaid cloinne.
- Dearbhadh. Tha an nód air a chleachdadh airson deuchainnean a sgrìobhadh. Chan urrainn dha a bhith ach na nód cloinne den nód RequestStep.
- Fillte. A’ leigeil leat nodan Folder agus RequestStep a chuir còmhla annta fhèin.
- Pròiseact. Is e seo an nód freumh, a chaidh a chruthachadh gu fèin-ghluasadach nuair a thèid am pròiseact a chruthachadh. Rud eile, bidh e ag ath-aithris gnìomhachd an nód Folder.
- Ceangal. Ceangal ris an fhaidhle Folder no RequestStep. A’ leigeil leat ceistean agus sgriobtaichean ath-chleachdadh.
- agus mar sin air adhart.
Tha na nodan suidhichte ann an sgrìoban (am pannal aig a’ bhonn air an taobh chlì, air a chleachdadh airson ceistean “aon-uair” a chruthachadh gu sgiobalta) agus ann am pròiseactan (am pannal gu h-àrd air an taobh chlì), air am bi sinn a’ fuireach nas mionaidiche.
Am pròiseact
Nuair a chuireas tu an tagradh air bhog, is dòcha gum mothaich thu loidhne Pròiseact singilte san oisean gu h-àrd air an taobh chlì. Is e seo bunait craobh a’ phròiseict. Nuair a thòisicheas tu air pròiseact, thèid pròiseact sealach a chruthachadh, air am bi an t-slighe an urra ris an t-siostam obrachaidh agad. Aig àm sam bith faodaidh tu am pròiseact a ghluasad gu àite a tha iomchaidh dhut.
Is e prìomh adhbhar a’ phròiseict an comas leasachaidhean a shàbhaladh san t-siostam faidhle agus an sioncronachadh tuilleadh tro shiostaman smachd dreach, ruith sgriobtaichean ann an CI, ath-sgrùdadh atharrachaidhean, msaa.
Caochlaidhean
Is e caochladairean aon de na prìomh dhòighean ann an tagradh. Is dòcha gu bheil beachd aig an fheadhainn agaibhse a tha ag obair le innealan mar TestMace air na tha sinn a’ bruidhinn. Mar sin, tha caochladairean mar dhòigh air dàta cumanta a stòradh agus conaltradh eadar nodan. Tha analog, mar eisimpleir, nan caochladairean àrainneachd ann am Postman no Insomnia. Ach, chaidh sinn nas fhaide agus leasaich sinn a’ chuspair. Ann an TestMace, faodar caochladairean a shuidheachadh aig ìre an nód. Sam bith. Tha dòigh ann cuideachd airson caochladairean fhaighinn bho shinnsirean agus caochladairean a tha a’ dol thairis air sliochd. A bharrachd air an sin tha grunn chaochladairean togte ann, tha ainmean nan caochladairean togte a’ tòiseachadh le $
. Seo cuid dhiubh:
$prevStep
- ceangal ri caochladairean an nód roimhe$nextStep
- ceangal ri caochladairean an ath nód$parent
- an aon rud, ach a-mhàin airson an sinnsear$response
- freagairt bhon fhrithealaiche$env
- caochladairean àrainneachd gnàthach$dynamicVar
- caochladairean fiùghantach a chaidh a chruthachadh aig àm cur an gnìomh sgriobt no ceist
$env
- tha iad sin gu ìre mhòr nan caochladairean ìre nodan pròiseict àbhaisteach, ge-tà, bidh an seata de chaochladairean àrainneachd ag atharrachadh a rèir na h-àrainneachd taghte.
Gheibhear a-steach don chaochladair tro ${variable_name}
Faodaidh luach caochladair a bhith caochlaideach eile, no eadhon abairt slàn. Mar eisimpleir, faodaidh an caochladair url a bhith mar abairt mar
http://${host}:${port}/${endpoint}
.
Air leth, is fhiach a bhith mothachail gu bheil e comasach caochladairean a shònrachadh rè coileanadh sgriobt. Mar eisimpleir, gu tric feumar dàta ceadachaidh a shàbhaladh (token no an bann-cinn slàn) a thàinig bhon t-seirbheisiche às deidh logadh a-steach soirbheachail. Leigidh TestMace leat an dàta sin a shàbhaladh gu caochladairean fiùghantach aon de na sinnsearan. Gus tubaistean a sheachnadh le caochladairean “statach” a th’ ann mar-thà, tha caochladairean fiùghantach air an cur ann an nì air leth $dynamicVar
.
Seallaidhean
A’ cleachdadh na feartan gu h-àrd, faodaidh tu sgriobtaichean ceiste slàn a ruith. Mar eisimpleir, cruthachadh eintiteas -> a’ ceasnachadh eintiteas -> a’ cuir às do eintiteas. Anns a ’chùis seo, mar eisimpleir, faodaidh tu an nód Folder a chleachdadh gus grunn nodan RequestStep a chuir còmhla.
Auto-chrìochnachadh agus soilleireachadh faireachdainn
Airson obair goireasach le caochladairean (agus chan ann a-mhàin) tha feum air fèin-chrìochnachadh. Agus gu dearbh, a’ soilleireachadh luach abairt gus a dhèanamh nas fhasa agus nas goireasaiche soilleireachadh cò ris a tha caochladair sònraichte co-ionann. Tha seo fìor nuair a tha e nas fheàrr aon uair fhaicinn na bhith a’ cluinntinn ceud uair:
Is fhiach a bhith mothachail gu bheil fèin-choileanadh air a chuir an gnìomh chan ann a-mhàin airson caochladairean, ach cuideachd, mar eisimpleir, airson bannan-cinn, luachan cinn sònraichte (mar eisimpleir, fèin-chrìochnachadh airson bann-cinn susbaint-seòrsa), protocolaidhean agus mòran a bharrachd. Tha an liosta air ùrachadh gu cunbhalach mar a bhios an tagradh a’ fàs.
Dèan às/ath-dhèanamh
Is e rud gu math goireasach a th’ ann a bhith a’ cuir às / ag ath-dhèanamh atharrachaidhean, ach airson adhbhar air choireigin chan eil e air a chuir an gnìomh anns a h-uile àite (agus chan eil innealan airson obrachadh le APIan mar eisgeachd). Ach chan e sinne aon dhiubh sin!) Tha sinn air undo/ath-dhèanamh a chuir an gnìomh air feadh a’ phròiseict gu lèir, a leigeas leat chan ann a-mhàin deasachadh nòta sònraichte a thoirt air falbh, ach cuideachd a chruthachadh, a dhubhadh às, a ghluasad, msaa. Feumaidh na gnìomhan as cudromaiche dearbhadh.
A 'cruthachadh deuchainnean
Tha uallach air an nód Assertion airson deuchainnean a chruthachadh. Is e aon de na prìomh fheartan an comas deuchainnean a chruthachadh gun phrògramadh, a’ cleachdadh luchd-deasachaidh togte.
Tha nód Dearbhaidh air a dhèanamh suas de sheata de dhearbhaidhean. Tha a sheòrsa fhèin aig gach tagradh; aig an àm seo tha grunn sheòrsaichean dearbhaidhean ann
-
Dèan coimeas eadar luachan - dìreach dèan coimeas eadar 2 luachan. Tha grunn ghnìomhaichean coimeas ann: co-ionann, gun a bhith co-ionann, nas motha na, nas motha na no co-ionann ri, nas lugha na, nas lugha na no co-ionann.
-
A’ toirt a-steach luach - a’ sgrùdadh tachartas fo-thalamh ann an sreang.
-
XPath - a’ dèanamh cinnteach gu bheil luach sònraichte aig an roghnaichear ann an XML.
-
Is e sgriobt javascript neo-riaghailteach a th’ ann an dearbhadh JavaScript a thilleas fìor mu shoirbheachas agus meallta air fàiligeadh.
Tha mi a’ toirt fa-near nach fheum ach an tè mu dheireadh sgilean prògramaidh bhon neach-cleachdaidh, tha na 3 dearbhaidhean eile air an cruthachadh a’ cleachdadh eadar-aghaidh grafaigeach. Seo, mar eisimpleir, cò ris a tha an còmhradh airson dearbhadh luachan coimeas a chruthachadh coltach:
Is e an icing air a’ chèic cruthachadh luath de dhearbhaidhean bho fhreagairtean, dìreach thoir sùil air!
Ach, tha crìochan follaiseach aig dearbhaidhean mar seo, agus dh’ fhaodadh gum biodh tu airson tagradh javascript a chleachdadh airson faighinn seachad air. Agus an seo tha TestMace cuideachd a’ toirt seachad àrainneachd chofhurtail le fèin-chrìochnachadh, soilleireachadh co-chòrdadh agus eadhon anailisiche statach.
Tuairisgeul API
Leigidh TestMace leat chan ann a-mhàin an API a chleachdadh, ach cuideachd airson a chlàradh. A bharrachd air an sin, tha structar rangachd aig an tuairisgeul fhèin agus tha e a’ freagairt gu h-organach ris a’ chòrr den phròiseact. A bharrachd air an sin, tha e comasach an-dràsta tuairisgeulan API a thoirt a-steach bho chruthan Swagger 2.0 / OpenAPI 3.0. Chan e a-mhàin gu bheil an tuairisgeul fhèin a ’laighe cuideam marbh, ach tha e ceangailte gu dlùth ris a’ chòrr den phròiseact, gu sònraichte, tha fèin-chrìochnachadh URLan, cinn HTTP, paramadairean ceist, msaa ri fhaighinn, agus san àm ri teachd tha sinn an dùil deuchainnean a chuir ris. airson gèilleadh don fhreagairt leis an tuairisgeul API.
A 'roinneadh nod
Cùis: bu mhath leat iarrtas trioblaideach no eadhon sgriobt slàn a cho-roinn le co-obraiche no dìreach a cheangal ri biast. Tha TestMace a’ còmhdach na cùise seo cuideachd: leigidh an aplacaid leat nód sam bith agus eadhon fo-chraobh ann an URL a sheòladh. Dèan lethbhreac-paste agus is urrainn dhut an t-iarrtas a ghluasad gu inneal no pròiseact eile gu furasta.
Cruth stòraidh pròiseict a ghabhas leughadh le daoine
Aig an àm seo, tha gach nód air a stòradh ann am faidhle air leth leis an leudachadh yml (mar a tha fìor leis an nód Assertion), no ann am pasgan le ainm an nód agus am faidhle index.yml ann.
Mar eisimpleir, seo mar a tha am faidhle iarrtais a rinn sinn san ath-sgrùdadh gu h-àrd coltach:
clàr-amais.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
Mar a chì thu, tha a h-uile dad gu math soilleir. Ma thogras tu, faodar an cruth seo a dheasachadh le làimh gu furasta.
Bidh rangachd phasganan san t-siostam faidhle gu tur ag ath-aithris rangachd nodan sa phròiseact. Mar eisimpleir, sgriobt mar:
A’ mapadh an t-siostam faidhle chun structar a leanas (chan eil ach rangachd nam pasgan air a shealltainn, ach tha brìgh soilleir)
Nì seo am pròiseas ath-bhreithneachaidh pròiseict nas fhasa.
In-mhalairt bho Postman
Às deidh dhaibh na tha gu h-àrd a leughadh, bidh cuid de luchd-cleachdaidh airson feuchainn (ceart?) toradh ùr no (rud nach eil an ifrinn a’ magadh!) A chleachdadh gu tur sa phròiseact aca. Ach, faodar stad a chuir air imrich le àireamh mhòr de leasachaidhean anns an aon Postman. Airson leithid de chùisean, tha TestMace a’ toirt taic do bhith a’ toirt a-steach cruinneachaidhean bho Postman. Aig an àm seo, thathas a’ toirt taic do in-mhalairt às aonais deuchainnean, ach chan eil sinn a’ diùltadh taic a thoirt dhaibh san àm ri teachd.
Planaichean
Tha mi an dòchas gun do chòrd an toradh againn ri mòran den fheadhainn a leugh suas chun na h-ìre seo. Ach, chan e sin uile! Tha obair air an toradh fo làn ghluasad agus seo cuid de fheartan a tha sinn an dùil a chuir ris a dh’ aithghearr.
Geama sinchronizacy
Aon de na feartan as mòr-chòrdte. Aig an àm seo, tha sinn a 'moladh a bhith a' cleachdadh siostaman smachd dreach airson sioncronadh, airson a bheil sinn a 'dèanamh an cruth nas càirdeile airson an seòrsa stòraidh seo. Ach, chan eil an sruth-obrach seo freagarrach don h-uile duine, agus mar sin tha sinn an dùil inneal sioncronaidh a chuir ris air a bheil mòran eòlach tro na frithealaichean againn.
CLI
Mar a chaidh ainmeachadh gu h-àrd, chan urrainn dha toraidhean ìre IDE a dhèanamh às aonais a h-uile seòrsa de aonachadh le tagraidhean no sruthan-obrach a tha ann mar-thà. Is e an CLI dìreach a tha a dhìth gus deuchainnean sgrìobhte ann an TestMace fhilleadh a-steach don phròiseas amalachaidh leantainneach. Tha obair air an CLI aig ìre làn; cuiridh dreachan tràth am pròiseact air bhog le aithisg tòcan sìmplidh. San àm ri teachd tha sinn an dùil toradh aithisg a chur ris ann an cruth JUnit.
Plugin siostam
A dh’ aindeoin cumhachd an inneil againn, tha an t-seata de chùisean a dh’ fheumas fuasglaidhean gun chrìoch. Às deidh na h-uile, tha gnìomhan ann a tha sònraichte do phròiseact sònraichte. Sin as coireach gu bheil sinn an dùil SDK a chuir ris san àm ri teachd airson plugins a leasachadh agus bidh e comasach dha gach leasaiche comas-gnìomh a chuir ris a ’còrdadh riutha.
Leudachadh air an raon de sheòrsan nodan
Chan eil an seata nodan seo a’ còmhdach a h-uile cùis a dh’ fheumas an neach-cleachdaidh. Nòtaichean a thathar an dùil a chur ris:
- Nod sgriobt - ag atharrachadh agus a 'cur dàta a' cleachdadh js agus an API co-fhreagarrach. A’ cleachdadh an seòrsa nòta seo, faodaidh tu rudan a dhèanamh mar sgriobtaichean ro-iarrtas agus iar-iarrtas ann am Postman.
- nód GraphQL - taic graphql
- Nód dearbhaidh gnàthaichte - leigidh sin leat an seata de dhearbhaidhean a tha sa phròiseact a leudachadh
Gu nàdarra, chan e liosta dheireannach a tha seo; thèid ùrachadh gu cunbhalach air sgàth, am measg rudan eile, do bheachdan air ais.
CÀBHA
Ciamar a tha thu eadar-dhealaichte bho Postman?
- Bun-bheachd nodan, a leigeas leat gnìomhachd a ’phròiseict a mheudachadh cha mhòr gun chrìoch
- Cruth pròiseict a ghabhas leughadh le daoine le bhith ga shàbhaladh ann an siostam faidhle, a bhios a’ sìmpleachadh obair le bhith a’ cleachdadh siostaman smachd dreach
- Comas deuchainnean a chruthachadh gun phrògramadh agus taic js nas adhartaiche anns an deasaiche deuchainn (fèin-chrìochnachadh, anailisiche statach)
- Auto-chrìochnachadh adhartach agus soilleireachadh air luach làithreach chaochladairean
An e toradh stòr fosgailte a tha seo?
Chan e, an-dràsta tha na stòran dùinte, ach san àm ri teachd tha sinn a 'beachdachadh air comasachd na stòran fhosgladh
Dè tha thu a' fuireach dheth?)
Còmhla ris an dreach an-asgaidh, tha sinn an dùil dreach pàighte den toradh a leigeil ma sgaoil. Bidh e gu sònraichte a’ toirt a-steach rudan a dh’ fheumas taobh frithealaiche, mar eisimpleir, sioncronadh.
co-dhùnadh
Tha am pròiseact againn a’ gluasad le leuman is chrìochan a dh’ionnsaigh foillseachadh seasmhach. Ach, faodar an toradh a chleachdadh mar-thà, agus tha fios air ais adhartach ar luchd-cleachdaidh tràth na dhearbhadh air seo. Bidh sinn gu gnìomhach a’ cruinneachadh fios air ais, oir às aonais co-obrachadh dlùth leis a’ choimhearsnachd tha e do-dhèanta inneal math a thogail. Gheibh thu sinn an seo:
Tha sinn a’ coimhead air adhart ri ur miannan agus molaidhean!
Source: www.habr.com