TestMace - IDE awood leh oo lagula shaqeynayo API-yada

Salaamu caleykum Maanta waxaan rabnaa inaan u bandhigno dadweynaha IT-ga alaabtayada - IDE-ga la shaqeynta API-yada TestMace. Waxaa laga yaabaa in qaarkiin aad nooga yiqiineen articles hore. Si kastaba ha ahaatee, ma jirin dib u eegis dhamaystiran oo lagu sameeyay qalabka, sidaas darteed waxaan wax ka qabaneynaa cilladdan nasiib darrada ah.

TestMace - IDE awood leh oo lagula shaqeynayo API-yada

Motivation

Waxaan jeclaan lahaa inaan ku bilaabo sida, dhab ahaantii, aan u nimid noloshan oo aan go'aansanay inaan abuurno qalab noo gaar ah oo shaqo horumarsan leh API-ga. Aan ku bilowno liis shaqo oo ay tahay in alaabtu lahaato, taas oo ku saabsan, ra'yigeena, waxaan dhihi karnaa waa "IDE ee la shaqeynta APIs":

  • Abuuritaanka iyo fulinta weydiimaha iyo qoraallada (isku xigxiga weydiimaha)
  • Qorista noocyo kala duwan oo imtixaanno ah
  • Jiilka tijaabada
  • La shaqaynta sharraxaadaha API, oo ay ku jiraan ka soo dejinta qaababka sida Swagger, OpenAPI, WADL, iwm.
  • Codsiyada jeesjeeska ah
  • Taageero wanaagsan oo loogu talagalay hal ama dhowr luqadood oo loogu talagalay qorista qoraallada, oo ay ku jiraan la-qabsiga maktabadaha caanka ah
  • iyo wixii la mid ah.

Liiska waa la ballaarin karaa si dhadhankaaga ku habboon. Waxaa intaa dheer, waxaa muhiim ah in la abuuro ma aha oo kaliya IDE laftiisa, laakiin sidoo kale kaabayaal gaar ah, sida isku-darka daruuraha, qalabka khadka taliska, adeegga kormeerka internetka, iwm. Dhamaadka, isbeddellada sanadihii ugu dambeeyay waxay nagu tilmaamayaan ma aha oo kaliya shaqeynta xoogga leh ee codsiga, laakiin sidoo kale interface wacan.

Yaa u baahan qalabkan oo kale? Sida iska cad, dhammaan kuwa ugu yaraan si uun ugu xidhan horumarinta iyo tijaabinta API-yada waa horumariyayaal iyo tijaabiyeyaal =). Waxaa intaa dheer, haddii kuwii hore ay inta badan ku filan tahay in la fuliyo hal su'aalo iyo qoraallo fudud, ka dibna tijaabiyaasha tani waa mid ka mid ah qalabka ugu muhiimsan, taas oo, iyo waxyaabo kale, waa in lagu daraa hab awood leh oo loogu talagalay imtixaannada qorista oo awood u leh inay ku socodsiiyaan. CI.

Markaa, raacitaanka tilmaamahan, waxaan bilownay inaan abuurno badeecadeena. Aan aragno waxa aan ku guuleysanay marxaladan.

Bilow degdeg ah

Aan ku bilowno isbarashada koowaad ee codsiga. Waad soo dejisan kartaa boggayaga internetka. Hadda, dhammaan 3da goobood ee waaweyn waa la taageeray - Windows, Linux, MacOS. Soo deji, rakib, bilow Markaad bilowdo markii ugu horeysay, waxaad arki kartaa daaqada soo socota:

TestMace - IDE awood leh oo lagula shaqeynayo API-yada

Guji calaamadda lagu daray ee sare ee aagga nuxurka si aad u abuurto codsigaaga koowaad. Tabka waydiinta ayaa u eeg sidan:

TestMace - IDE awood leh oo lagula shaqeynayo API-yada

Aynu si faahfaahsan u eegno. Codsiga codsiga wuxuu aad ugu eg yahay isdhexgalka macaamiisha nasashada ee caanka ah, taas oo ka dhigaysa socdaalka ka imanaya qalabka la midka ah. Aan u gudbino codsiga ugu horeeya url https://next.json-generator.com/api/json/get/NJv-NT-U8

TestMace - IDE awood leh oo lagula shaqeynayo API-yada

Guud ahaan, jaleecada hore, guddiga jawaabtu sidoo kale ma tuurayaan wax la yaab leh. Si kastaba ha ahaatee, waxaan jeclaan lahaa inaan dareenkaaga ku soo jeediyo qodobbada qaarkood:

  1. Jidhka jawaabta wuxuu u taagan yahay qaabka geedka, kaas oo marka hore ku daraya nuxurka macluumaadka marka labaadna wuxuu kuu ogolaanayaa inaad ku darto waxyaabo xiiso leh oo ku saabsan hoos.
  2. Waxaa jira tab sheegasho, kaas oo soo bandhigaya liiska imtixaanada codsiga la bixiyay

Sida aad arki karto, qalabkayaga waxaa loo isticmaali karaa sidii macmiil nasasho ku habboon. Si kastaba ha ahaatee, halkan ma joogno haddii awoodeeda ay ku koobnaan lahayd oo keliya dirida codsiyada. Marka xigta, waxaan qeexi doonaa fikradaha aasaasiga ah iyo shaqeynta TestMace.

Fikradaha aasaasiga ah iyo sifooyinka

Knot

Shaqada TestMace waxay u qaybsantaa noocyo kala duwan oo noode ah. Tusaalaha kore, waxaan ku soo bandhignay hawlgalka noodhka RequestStep. Si kastaba ha ahaatee, noocyada soo socda ee qanjidhada ayaa sidoo kale laga heli karaa codsiga:

  • Codsiga Tallaabada Kani waa noodhka aad ku abuuri karto codsi. Waxa kaliya oo ay yeelan kartaa hal noode caddayn ah oo ah cunsur ilmo.
  • Sheegid. Noodka waxa loo isticmaalaa in lagu qoro imtixaanada. Waxa kaliya oo ay noqon kartaa noodka ubadka ee Request Step node.
  • Folder Kuu ogolanaya in aad kooxaysiiso Folder iyo Request Step nodes dhexdooda.
  • Mashruuca. Tani waa noode xididka, oo si toos ah loo sameeyay marka mashruuca la abuuro. Haddii kale, waxay ku celisaa shaqeynta noodhka Folderka.
  • Xiriirinta Ku xidh Folderka ama noodhka Codsiga. Waxay kuu ogolaataa inaad dib u isticmaasho weydiimaha iyo qoraallada
  • iyo wixii la mid ah.

Noodhyadu waxay ku yaalaan xagashada (guddiga dhinaca bidix ee hoose, oo loo isticmaalo in si degdeg ah loo abuuro weydiimo "hal-mar ah") iyo mashaariicda (guddiga bidixda sare), kaas oo aan si faahfaahsan u dul istaagi doono.

Mashruuca

Markaad bilowdo arjiga, waxa laga yaabaa inaad ku aragto khad mashruuc oo keli ah oo ku yaal geeska bidix ee sare. Tani waa xididka geedka mashruuca. Marka aad bilowdo mashruuc, mashruuc ku meel gaar ah ayaa la abuurayaa, waddada loo maro waxay ku xiran tahay nidaamkaaga hawlgalka. Waqti kasta waxaad u wareejin kartaa mashruuca meel kugu habboon.

Ujeedada ugu weyn ee mashruucu waa awooda lagu badbaadiyo horumarka nidaamka faylka iyo in la sii wadayo iyada oo loo marayo nidaamyada xakamaynta nooca, socodsiinta qoraallada CI, dib u eegista isbeddelada, iwm.

Kala duwanaansho

Doorsoomayaashu waa mid ka mid ah hababka ugu muhiimsan ee codsiga. Kuwa idinka mid ah ee ku shaqeeya aaladaha sida TestMace waxa laga yaabaa inay hore u lahaan jireen fikradda waxa aan ka hadlayno. Markaa doorsoomayaashu waa hab lagu kaydiyo xogta guud oo lagaga wada xidhiidho noodhka dhexdooda. Analooga, tusaale ahaan, waa doorsoomayaasha deegaanka ee Boostada ama hurdo la'aanta. Si kastaba ha ahaatee, waanu sii soconnay oo mawduuca horumarinay. Gudaha TestMace, doorsoomayaasha waxaa lagu dejin karaa heerka noode. Mid kasta Waxa kale oo jira hab lagu dhaxlo doorsoomayaasha awoowayaasha iyo doorsoomayaal is dulsaaran oo faraca. Waxa intaa dheer in ay jiraan doorsoomayaal la dhisay oo doorsoomayaal ah, magacyada doorsoomayaasha la dhisay waxay ku bilowdaan $. Waa kuwan qaar ka mid ah:

  • $prevStep - isku xidhka doorsoomayaasha noodhka hore
  • $nextStep - isku xidhka doorsoomayaasha noodhka xiga
  • $parent - wax la mid ah, laakiin kaliya awoowe
  • $response - jawaabta ka timid serverka
  • $env - doorsoomayaasha deegaanka hadda
  • $dynamicVar - doorsoomayaal firfircoon oo la abuuray inta lagu jiro qoraalka ama fulinta weydiinta

$env - Kuwanu waa kuwa caadiga ah doorsoomayaal heer mashruuc ah, si kastaba ha ahaatee, doorsoomayaasha deegaanka ayaa isbedela iyadoo ku xiran jawiga la doortay.

Doorsoomayaasha waxaa lagu heli karaa iyada oo loo marayo ${variable_name}
Qiimaha doorsoomuhu wuxuu noqon karaa doorsoome kale, ama xitaa hadal dhan. Tusaale ahaan, doorsoomaha url waxa uu noqon karaa odhaah la mid ah
http://${host}:${port}/${endpoint}.

Si gooni ah, waxaa habboon in la xuso suurtagalnimada in lagu meeleeyo doorsoomayaasha inta lagu jiro fulinta qoraalka. Tusaale ahaan, waxaa badanaa loo baahan yahay in la keydiyo xogta oggolaanshaha (calaamad ama dhammaan madaxa) oo ka yimid server-ka ka dib gelitaanka guul leh. TestMace waxay kuu ogolaanaysaa inaad kaydiso xogtan oo kale doorsoomayaal firfircoon ee mid ka mid ah awoowayaasha. Si looga fogaado isku dhaca doorsoomayaasha "static" ee horeba u jiray, doorsoomayaasha firfircoon ayaa la dhigayaa shay gaar ah $dynamicVar.

Muuqaalo

Isticmaalka dhammaan sifooyinka kor ku xusan, waxaad samayn kartaa dhammaan qoraallada weydiinta. Tusaale ahaan, abuurista cid -> weydiinta hay'ad -> tirtirida qayb. Xaaladdan oo kale, tusaale ahaan, waxaad isticmaali kartaa noodhka Folderka si aad u ururisid dhowr nood oo Codsi ah.

Dhammaystir iswada iyo muujinta muujinta

Si loo helo shaqo ku habboon doorsoomayaal (oo aan ahayn oo keliya) dhammaystirka ayaa lagama maarmaan ah. Dabcan, muujinta qiimaha odhaahda si ay u sahlanaato uguna habboonaato in la caddeeyo waxa doorsoome gaar ah la mid yahay. Tani waa dhab ahaan kiiska marka ay ka wanaagsan tahay in la arko hal mar intii la maqli lahaa boqol jeer:

TestMace - IDE awood leh oo lagula shaqeynayo API-yada

Waxaa xusid mudan in autocompletion loo fuliyo ma aha oo kaliya doorsoomayaasha, laakiin sidoo kale, tusaale ahaan, madax, qiyamka qaar ka mid ah madax (tusaale, autocompletion for madax nooca-Content), borotokool iyo wax ka badan. Liiska si joogto ah ayaa loo cusboonaysiiyaa marka codsigu sii kordho.

Ka noqo/dib u samee

Dib u habeynta / dib u habeynta isbeddelada waa shay aad u habboon, laakiin sababo jira meel kasta lagama hirgeliyo (iyo qalabka lagu shaqeeyo API-yada maaha mid ka reeban). Laakiin ma nihin mid ka mid ah kuwan!) Waxaan hirgelinnay dib u habeyn / dib u habeyn dhammaan mashruuca oo dhan, kaas oo kuu ogolaanaya inaad ka noqoto oo kaliya ma aha hagaajinta noode gaar ah, laakiin sidoo kale abuurkiisa, tirtirka, dhaqdhaqaaqa, iwm. Hawlgallada ugu muhiimsan waxay u baahan yihiin xaqiijin.

Samaynta imtixaanada

Noodka caddaynta ayaa mas'uul ka ah abuurista imtixaannada. Mid ka mid ah sifooyinka ugu muhiimsan waa awoodda lagu abuurayo imtixaannada iyada oo aan la samaynin barnaamij, iyada oo la adeegsanayo tifaftirayaasha gudaha ku jira.

Noodka caddayntu wuxuu ka kooban yahay go'aan sheegasho. Sheegasho kastaa waxay leedahay nooc u gaar ah, wakhtigan xaadirka ah waxa jira dhawr nooc oo sheegasho ah

  1. Is barbar dhig qiyamka - si fudud u barbardhig 2 qiyam. Waxaa jira dhowr hawlwadeennada isbarbardhigga: siman, aan sinnayn, ka weyn, ka weyn ama la siman yahay, ka yar, ka yar ama la mid ah.

  2. Waxa ku jira qiimaha - waxay hubisaa dhacdada xadhig-hoosaad ee xadhigga.

  3. XPath - waxay hubisaa in xulashada XML ay ka kooban tahay qiimo gaar ah.

  4. Cadaynta JavaScript waa qoraal javascript ah oo aan sabab lahayn oo runta ku soo noqda guusha iyo been-abuurka guuldarada.

Waxaan ogsoonahay in kaliya kan ugu dambeeya uu u baahan yahay xirfadaha barnaamijka ee isticmaalaha, 3da kale ee caddaynta waxaa la abuuray iyada oo la adeegsanayo interface interface. Halkan, tusaale ahaan, waa waxa wada-hadalka abuurista isbarbardhigga caddaynta qiimaha u eg yahay:

TestMace - IDE awood leh oo lagula shaqeynayo API-yada

Dhadhanka keega ayaa ah abuurista degdega ah ee caddaynta jawaabaha, kaliya eeg!

TestMace - IDE awood leh oo lagula shaqeynayo API-yada

Si kastaba ha ahaatee, sheegashooyinka noocan oo kale ah waxay leeyihiin xaddidaadyo muuqda, kuwaas oo laga yaabo inaad rabto inaad isticmaasho caddaynta Javascript si aad uga gudubto. Iyo halkan TestMace sidoo kale waxay bixisaa jawi raaxo leh oo leh dhamaystir otomaatig ah, muujinta syntax iyo xitaa falanqeeye taagan.

Sharaxaada API

TestMace waxay kuu ogolaanaysaa inaadan isticmaalin API-ga oo kaliya, laakiin sidoo kale inaad dukuminti siiso. Intaa waxaa dheer, sharraxaadda lafteedu waxay sidoo kale leedahay qaab-dhismeed heersare ah waxayna si dabiici ah ugu habboon tahay mashruuca intiisa kale. Intaa waxaa dheer, hadda waa suurtogal in laga soo dejiyo sharraxaadaha API ee qaababka Swagger 2.0 / OpenAPI 3.0. Sharaxaadda lafteedu maaha kaliya beenta miisaanka dhintay, laakiin waxay si dhow ula socotaa mashruuca intiisa kale, gaar ahaan, si toos ah u dhamaystiraya URL-yada, madaxyada HTTP, cabbirrada weydiinta, iwm. si loogu hoggaansamo jawaabta sharraxaadda API.

Nood wadaagga

Kiis: waxaad jeclaan lahayd inaad la wadaagto codsi dhib leh ama xitaa qoraal dhan saaxiibkaa ama si fudud ugu lifaaq bug. TestMace sidoo kale waxay dabooshaa kiiskan: codsigu wuxuu kuu ogolaanayaa inaad taxdo noode kasta iyo xitaa geed hoose oo URL ah. Copy-paste oo si fudud ayaad codsiga ugu wareejin kartaa mishiin ama mashruuc kale.

Qaabka kaydinta mashruuca bani-aadmigu akhriyi karo

Waqtigan xaadirka ah, noode kasta waxaa lagu kaydiyaa fayl gaar ah oo leh kordhinta yml (sida ku cad node Assertion), ama gal ay ku jiraan magaca noode iyo faylka index.yml.
Tusaale ahaan, kani waa waxa faylka codsiga ee aanu ku samaynay dib u eegista sare u eg yahay:

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

Sida aad arki karto, wax walba waa mid aad u cad. Haddi la rabo, qaabkan si fudud gacanta ayaa loo tafatiran karaa.

Kala sareynta faylalka ee nidaamka faylka ayaa si buuxda u soo celisa kala sareynta noodhka mashruuca. Tusaale ahaan, qoraal sida:

TestMace - IDE awood leh oo lagula shaqeynayo API-yada

Ku dheji nidaamka faylka qaabka soo socda (kaliya kala sareynta galka ayaa la muujiyay, laakiin nuxurku waa cad yahay)

TestMace - IDE awood leh oo lagula shaqeynayo API-yada

Tani waxay sahlaysa habka dib u eegista mashruuca.

Ka soo dejinta Boostada

Ka dib markaad akhrido dhammaan kuwa kor ku xusan, qaar ka mid ah dadka isticmaala waxay rabi doonaan inay isku dayaan (sax?) Badeeco cusub ama (waxa aan jahannamo ahayn!) Si buuxda u isticmaal mashruucooda. Si kastaba ha ahaatee, socdaalka waxaa joojin kara tiro badan oo horumar ah oo isla Boostaha. Kiisaskan oo kale, TestMace waxay taageertaa soo dejinta aruurinta Boostada. Waqtigan xaadirka ah, soo dejinta iyada oo aan la tijaabin waa la taageeraa, laakiin kama diidno inaan taageerno mustaqbalka.

Qorshayaasha

Waxaan rajeynayaa in qaar badan oo ka mid ah kuwa akhriyay ilaa heerkan ay jeclaadeen alaabtayada. Si kastaba ha ahaatee, taasi kaliya maaha! Shaqada alaabta ayaa si xawli ah ku socota waxaana halkan ah qaar ka mid ah sifooyinka aan qorsheyneyno inaan ku darno dhawaan.

Isku xidhka daruuraha

Mid ka mid ah sifooyinka aadka loo codsado. Waqtigan xaadirka ah, waxaan soo jeedineynaa isticmaalka hababka xakamaynta nooca si isku mid ah, taas oo aan ka dhigayno qaabka saaxiibtinimo badan ee kaydinta noocan ah. Si kastaba ha ahaatee, socodka shaqadu kuma habboona qof walba, sidaa awgeed waxa aanu qorshaynaynaa in aanu ku darno habka isku xidhka ee ay yaqaaniin qaar badan oo ka mid ah adeegayaashayada.

CLI

Sida kor ku xusan, alaabooyinka heerka IDE ma samayn karaan la'aanteed dhammaan noocyada isdhexgalka ee codsiyada jira ama socodka shaqada. CLI waa dhab ahaan waxa loo baahan yahay si loogu daro imtixaanada ku qoran TestMace habka isdhexgalka joogtada ah. Shaqada CLI ayaa si xawli ah ku socota; noocyadii hore ayaa mashruuca ku bilaabi doona warbixin console oo fudud. Mustaqbalka waxaan qorsheyneynaa inaan ku darno wax soo saarka warbixinta qaabka JUnit.

Nidaamka furaha

Inkasta oo dhammaan awoodda qalabkayaga, set of kiisaska u baahan xal waa aan xad lahayn. Ka dib oo dhan, waxaa jira hawlo u gaar ah mashruuc gaar ah. Taasi waa sababta mustaqbalka aan u qorsheynayno inaan ku darno SDK si loo horumariyo plugins iyo horumariye kastaa wuxuu awoodi doonaa inuu ku daro shaqeynta ay jecel yihiin.

Kordhinta kala duwanaanshaha noocyada qanjirada

Qaybta qanjidhadani ma daboolayso dhammaan kiisaska uu u baahan yahay isticmaaluhu. Nodes la qorsheeyay in lagu daro:

  • Script node - beddela oo meeleeyaa xogta iyadoo la isticmaalayo js iyo API u dhigma. Isticmaalka noodhka noocaan ah, waxaad samayn kartaa waxyaabo ay ka mid yihiin codsi-hore iyo qoraal-codsi kadib gudaha Boostada.
  • GraphQL node - taageerada graphql
  • Noodka caddaynta gaarka ah - wuxuu kuu oggolaanayaa inaad ballaariso caddaymaha jira ee mashruuca
    Dabcan, kani maaha liis u dambeeya; si joogto ah ayaa loo cusboonaysiin doonaa sababtoo ah, waxyaabo kale, jawaab celintaada.

FAQ

Sidee uga duwan tahay Boostada?

  1. Fikradda qanjidhada, taas oo kuu ogolaanaysa inaad si aan dhammaad lahayn u cabbirto shaqeynta mashruuca
  2. Qaab mashruuc oo bini'aadamku akhriyi karo oo lagu badbaadinayo nidaamka faylka, kaas oo fududaynaya shaqada iyadoo la adeegsanayo hababka xakamaynta nooca
  3. Awoodda lagu abuuro imtixaanada iyada oo aan la helin barnaamij iyo taageero ka sii horumarsan js ee tifaftiraha imtixaanka (autocomplete, analyzer static)
  4. Dhammaystir heer sare ah oo otomaatig ah iyo muujinta qiimaha hadda doorsoomayaal

Kani ma alaab il furan baa?

Maya, hadda ilo-wareedyadu waa xiran yihiin, laakiin mustaqbalka waxaan ka fiirsaneynaa suurtagalnimada furitaanka ilaha

maxaad ka nooshahay?)

Iyada oo la socota nooca bilaashka ah, waxaan qorsheyneynaa inaan sii deyno nooca lacagta ah ee alaabta. Waxa ugu horrayn ku jiri doona waxyaabaha u baahan dhinaca server-ka, tusaale ahaan, isku xidhka.

gunaanad

Mashruucayagu waxa uu ku socdaa boodbood iyo xuduud dhinaca sii dayn deggan. Si kastaba ha ahaatee, badeecada mar hore ayaa loo isticmaali karaa, iyo jawaab celinta togan ee isticmaalayaashayada hore ayaa caddayn u ah tan. Waxaan si firfircoon u ururinnaa jawaab-celinta, sababtoo ah iyada oo aan wadashaqeyn dhow lala yeelan bulshada, suurtagal maaha in la dhiso qalab wanaagsan. Waxaad naga heli kartaa halkan:

Website rasmiga ah

telegraam

debcin

Facebook

Arrimaha raadraaca

Waxaan rajaynaynaa rabitaankaaga iyo soo jeedintaada!

Source: www.habr.com

Add a comment