TestMace - IDE cumhachdach airson a bhith ag obair le APIan

Hi uile! An-diugh tha sinn airson ar toradh a thaisbeanadh don phoball IT - IDE airson a bhith ag obair le APIan Deuchainn Mace. Is dòcha gu bheil cuid agaibh eòlach mu ar deidhinn mar-thà bho artaigilean roimhe. Ach, cha deach ath-sgrùdadh farsaing a dhèanamh air an inneal, agus mar sin bheir sinn aghaidh air a’ ghainnead mhì-fhortanach seo.

TestMace - IDE cumhachdach 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 air an làrach-lìn againn. Aig an àm seo, tha na 3 prìomh àrd-ùrlaran a’ faighinn taic - Windows, Linux, MacOS. Luchdaich sìos, stàlaich, cuir air bhog. Nuair a chuireas tu air bhog e airson a’ chiad uair, is dòcha gum faic thu an uinneag a leanas:

TestMace - IDE cumhachdach airson a bhith ag obair le APIan

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:

TestMace - IDE cumhachdach airson a bhith ag obair le APIan

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 https://next.json-generator.com/api/json/get/NJv-NT-U8

TestMace - IDE cumhachdach airson a bhith ag obair le APIan

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:

  1. 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.
  2. 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:

TestMace - IDE cumhachdach airson a bhith ag obair le APIan

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

  1. 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.

  2. A’ toirt a-steach luach - a’ sgrùdadh tachartas fo-thalamh ann an sreang.

  3. XPath - a’ dèanamh cinnteach gu bheil luach sònraichte aig an roghnaichear ann an XML.

  4. 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:

TestMace - IDE cumhachdach airson a bhith ag obair le APIan

Is e an icing air a’ chèic cruthachadh luath de dhearbhaidhean bho fhreagairtean, dìreach thoir sùil air!

TestMace - IDE cumhachdach airson a bhith ag obair le APIan

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:

TestMace - IDE cumhachdach airson a bhith ag obair le APIan

A’ mapadh an t-siostam faidhle chun structar a leanas (chan eil ach rangachd nam pasgan air a shealltainn, ach tha brìgh soilleir)

TestMace - IDE cumhachdach airson a bhith ag obair le APIan

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?

  1. Bun-bheachd nodan, a leigeas leat gnìomhachd a ’phròiseict a mheudachadh cha mhòr gun chrìoch
  2. 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
  3. Comas deuchainnean a chruthachadh gun phrògramadh agus taic js nas adhartaiche anns an deasaiche deuchainn (fèin-chrìochnachadh, anailisiche statach)
  4. 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:

Làrach-lìn oifigeil

teileagram

Slack

Facebook

Lorgaire chùisean

Tha sinn a’ coimhead air adhart ri ur miannan agus molaidhean!

Source: www.habr.com

Cuir beachd ann