TestMace - IDE e matla ea ho sebetsa le li-API

Lumelang bohle! Kajeno re batla ho hlahisa ho sechaba sehlahisoa sa rona sa IT - IDE ea ho sebetsa le li-API TestMace. Mohlomong ba bang ba lona ba se ba ntse ba tseba ka rona lihlooho tse fetileng. Leha ho le joalo, ha ho so be le tlhahlobo e felletseng ea sesebelisoa, kahoo re rarolla bothata bona bo malimabe.

TestMace - IDE e matla ea ho sebetsa le li-API

Tšusumetso

Ke kopa ho qala ka hore na, ha e le hantle, re tlile joang bophelong bona mme ra etsa qeto ea ho iketsetsa sesebelisoa sa rona sa mosebetsi o tsoetseng pele le API. Ha re qaleng ka lethathamo la ts'ebetso eo sehlahisoa se lokelang ho ba le eona, eo ka maikutlo a rona re ka reng ke "IDE ea ho sebetsa le li-API":

  • Ho theha le ho etsa lipotso le lingoloa (tatellano ea lipotso)
  • Ho ngola mefuta e fapaneng ea liteko
  • Moloko oa liteko
  • Ho sebetsa ka litlhaloso tsa API, ho kenyelletsa le ho tlisa kantle ho lifomate tse kang Swagger, OpenAPI, WADL, jj.
  • Likopo tse somang
  • Tšehetso e ntle bakeng sa puo e le 'ngoe kapa ho feta bakeng sa ho ngola mangolo, ho kenyelletsa le ho hokahana le lilaebrari tse tsebahalang
  • joalo-joalo.

Lenane le ka atolosoa ho lumellana le tatso ea hau. Ho feta moo, ke habohlokoa hore u se ke ua theha IDE ka boeona feela, empa hape le lisebelisoa tse itseng, tse kang ho lumellana ha leru, lisebelisoa tsa line ea litaelo, tšebeletso ea ho shebella marang-rang, joalo-joalo. Qetellong, mekhoa ea lilemong tsa morao tjena ha e re laele feela ts'ebetso e matla ea ts'ebeliso, empa le sebopeho sa eona se monate.

Ke mang ea hlokang sesebelisoa se joalo? Ho hlakile hore bohle bao bonyane ba amanang le nts'etsopele le tlhahlobo ea li-API ke bahlahisi le bahlahlobi =). Ho feta moo, haeba bakeng sa ea pele hangata ho lekane ho etsa lipotso tse le 'ngoe le mangolo a bonolo, joale bakeng sa bahlahlobi ena ke e' ngoe ea lisebelisoa tse ka sehloohong, tseo, har'a tse ling, li lokelang ho kenyelletsa mokhoa o matla oa ho ngola liteko ka bokhoni ba ho li tsamaisa. CI.

Kahoo, ho latela litataiso tsena, re ile ra qala ho theha sehlahisoa sa rona. A re boneng hore na re fihletse eng mothating ona.

Ho qala kapele

Ha re qaleng ka motho oa pele eo re mo tsebang ka kopo. U ka e khoasolla webosaeteng ea rona. Hajoale, li-platform tsohle tse 3 tse kholo li tšehetsoa - Windows, Linux, MacOS. Khoasolla, kenya, qala. Ha u e qala ka lekhetlo la pele, u ka bona fensetere e latelang:

TestMace - IDE e matla ea ho sebetsa le li-API

Tobetsa lets'oao la ho kopanya kaholimo ho sebaka sa litaba ho theha kopo ea hau ea pele. Taba ea lipotso e shebahala tjena:

TestMace - IDE e matla ea ho sebetsa le li-API

A re e shebeng ka botlalo. Sebopeho sa kopo se ts'oana haholo le sebopeho sa bareki ba tummeng ba phomolo, e leng se etsang hore ho falla ho tsoa ho lisebelisoa tse tšoanang ho be bonolo. Ha re etseng kopo ea pele ho url https://next.json-generator.com/api/json/get/NJv-NT-U8

TestMace - IDE e matla ea ho sebetsa le li-API

Ka kakaretso, ha u sheba ka lekhetlo la pele, sehlopha sa likarabo le sona ha se lahlele lintho tse makatsang. Leha ho le joalo, ke rata ho lebisa tlhokomelo ea hau lintlheng tse ling:

  1. 'Mele oa karabelo o emeloa ka sebōpeho sa sefate, seo pele se eketsang litaba tsa tlhahisoleseding mme ka bobeli se u lumella hore u kenye likarolo tse ling tse thahasellisang tse ka tlase.
  2. Ho na le tab ea Assertions, e bonts'ang lethathamo la liteko bakeng sa kopo e fanoeng

Joalokaha u bona, sesebelisoa sa rona se ka sebelisoa e le moreki ea loketseng oa ho phomola. Leha ho le joalo, re ka be re se mona haeba bokhoni ba eona bo ne bo lekanyelitsoe feela ho romela likopo. Ka mor'a moo, ke tla hlalosa lintlha tsa motheo le ts'ebetso ea TestMace.

Maikutlo a Motheo le Likarolo

Tsebo

Ts'ebetso ea TestMace e arotsoe ka mefuta e fapaneng ea li-node. Mohlala o ka holimo, re bonts'itse ts'ebetso ea node ea RequestStep. Leha ho le joalo, mefuta e latelang ea li-node e se e fumaneha ts'ebelisong:

  • KopaMohato. Ena ke node eo ka eona u ka etsang kopo. E ka ba le node e le 'ngoe feela ea Assertion joalo ka ntho ea ngoana.
  • Tiiso. Node e sebelisetsoa ho ngola liteko. E ka ba feela node ea ngoana ea node ea RequestStep.
  • Sephutheli. E u lumella ho hlophisa li-Folder le RequestStep node ka hare ho tsona.
  • Morero. Ena ke node ea motso, e entsoeng ka bo eona ha morero o etsoa. Ho seng joalo, e pheta ts'ebetso ea "Folder node".
  • Sehokelo. Hokela ho Folder kapa RequestStep node. E u lumella ho sebelisa lipotso le lingoloa hape.
  • joalo-joalo.

Li-node li fumaneha ka li-scratches (phanele e ka tlase ka letsohong le letšehali, e sebelisetsoang ho theha lipotso tsa "e le 'ngoe" ka potlako) le mererong (phanele e ka holimo ka ho le letšehali), eo re tla lula ho eona ka ho qaqileng haholoanyane.

Morero

Ha o qala ts'ebeliso, o kanna oa hlokomela mohala o le mong oa Morero hukung e kaholimo ho le letšehali. Ena ke motso oa sefate sa morero. Ha o qala morero, morero oa nakoana o bōptjoa, tsela e itšetlehileng ka mokhoa oa hau oa ho sebetsa. Ka nako efe kapa efe o ka isa projeke sebakeng se u loketseng.

Morero o ka sehloohong oa projeke ke bokhoni ba ho boloka nts'etsopele ea sistimi ea faele le ho e hokahanya le ho feta ka litsamaiso tsa taolo ea mofuta, ho tsamaisa lingoloa ho CI, liphetoho tsa tlhahlobo, jj.

Mefuta e fapaneng

Liphetoho ke e 'ngoe ea mekhoa ea bohlokoa ea ts'ebeliso. Lona ba sebetsang ka lisebelisoa tse kang TestMace e kanna eaba le se le ntse le na le mohopolo oa seo re buang ka sona. Kahoo, mefuta-futa ke mokhoa oa ho boloka data e tloaelehileng le ho buisana pakeng tsa li-node. Analogue, mohlala, ke maemo a fapaneng a tikoloho ho Postman kapa Insomnia. Leha ho le joalo, re ile ra tsoela pele ho ntlafatsa sehlooho. Ho TestMace, mefuta e fapaneng e ka behoa boemong ba node. Leha e le efe. Ho boetse ho na le mokhoa oa ho rua liphapang ho tsoa ho baholo-holo le mefuta e fapa-fapaneng ea litloholo. Ho phaella moo ho na le mefuta e mengata e hahelletsoeng, mabitso a mefuta-futa e hahiloeng a qala ka $. Tse ling tsa tsona ke tsena:

  • $prevStep — sehokelo ho mefuta e fapaneng ya node e fetileng
  • $nextStep - sehokelo ho mefuta-futa ea node e latelang
  • $parent - ntho e tšoanang, empa feela bakeng sa moholo-holo
  • $response - karabo e tsoang ho seva
  • $env - mefuta e fapaneng ya tikoloho
  • $dynamicVar - Liphetoho tse matla tse entsoeng nakong ea tlhahiso ea script kapa potso

$env - tsena ke mefuta e tloaelehileng ea boemo ba "Project node", leha ho le joalo, mefuta e fapaneng ea tikoloho e fetoha ho latela tikoloho e khethiloeng.

Phapang e fumaneha ka ${variable_name}
Boleng ba phapano e ka ba mofuta o mong, kapa polelo e felletseng. Ka mohlala, phapang ea url e ka ba polelo e kang
http://${host}:${port}/${endpoint}.

Ka thoko, ho bohlokoa ho ela hloko monyetla oa ho fana ka mefuta e fapaneng nakong ea ts'ebetso ea script. Ka mohlala, hangata ho na le tlhokahalo ea ho boloka boitsebiso ba tumello (letšoao kapa hlooho eohle) e tsoang ho seva ka mor'a ho kena ka katleho. TestMace e u lumella ho boloka data e joalo ka mefuta e matla ea e mong oa baholo-holo. E le ho qoba ho thulana le mefuta e seng e ntse e le teng "static", mefuta e matla e behoa nthong e fapaneng $dynamicVar.

Scenarios

U sebelisa likarolo tsohle tse ka holimo, u ka tsamaisa lipotso kaofela. Mohlala, ho theha setheo -> ho botsa setheo -> ho hlakola setheo. Tabeng ena, ho etsa mohlala, o ka sebelisa node ea Folder ho hlophisa li-node tse 'maloa tsa RequestStep.

Ho phethela ka boits'oaro le ho totobatsa maikutlo

Bakeng sa mosebetsi o bonolo o nang le mefuta e fapaneng (eseng feela) ho phetheloa ka boiketsetso hoa hlokahala. Ehlile, ho totobatsa boleng ba polelo ho etsa hore ho be bonolo le ho feta ho hlakisa hore na mofuta o itseng o lekana le eng. Sena ke 'nete ha ho le molemo ho bona hang ho feta ho utloa ka makhetlo a lekholo:

TestMace - IDE e matla ea ho sebetsa le li-API

Ke habohlokoa ho hlokomela hore ho phethela ka boeona ha e sebelisoe feela bakeng sa mefuta-futa, empa hape, ka mohlala, bakeng sa lihlooho, litekanyetso tsa lihlooho tse itseng (mohlala, ho tlatsa lihlooho tsa Content-Type), li-protocol le tse ling tse ngata. Lenane le lula le ntlafatsoa ha ts'ebeliso e ntse e hola.

Etsolla/etsa hape

Ho etsolla / ho etsa liphetoho ke ntho e bonolo haholo, empa ka mabaka a itseng ha e kenngoe tšebetsong hohle (le lisebelisoa tsa ho sebetsa le li-API ha li joalo). Empa ha re e 'ngoe ea tsona!) Re kentse ts'ebetsong ho etsolla / ho e etsa hape ho pholletsa le morero, e leng se u lumellang hore u etsolle eseng feela ho hlophisa node e itseng, empa hape le pōpo ea eona, ho tlosoa, ho sisinyeha, joalo-joalo. Ts'ebetso ea bohlokoa ka ho fetisisa e hloka netefatso.

Ho theha liteko

Node ea Assertion e ikarabella ho theha liteko. E 'ngoe ea likarolo tse ka sehloohong ke bokhoni ba ho etsa liteko ntle le lenaneo, ho sebelisa bahlophisi ba hahiloeng.

Node ea Assertion e na le sehlopha sa lipolelo. Tlhaloso e 'ngoe le e' ngoe e na le mofuta oa eona; hajoale ho na le mefuta e mengata ea lipolelo

  1. Bapisa boleng - e bapisa litekanyetso tse 2 feela. Ho na le basebelisi ba 'maloa ba papiso: e lekanang, ha e lekane, e kholo ho feta, e kholo ho feta kapa e lekanang le, ka tlase ho, ka tlase ho kapa ho lekana le.

  2. E na le boleng - e lekola ho hlaha ha khoele e nyane thapong.

  3. XPath - e hlahloba hore na mokhethoa ho XML o na le boleng bo itseng.

  4. Tlhahiso ea JavaScript ke mongolo oa javascript o sa reroang o khutlisetsang katleho katlehong le leshano ha o hlolehile.

Kea hlokomela hore ke ea ho qetela feela e hlokang tsebo ea lenaneo ho tsoa ho mosebedisi, lipolelo tse ling tse 3 li bōptjoa ho sebelisoa sebopeho sa litšoantšo. Mona, mohlala, ke seo puisano ea ho theha papiso ea boleng e shebahalang joaloka:

TestMace - IDE e matla ea ho sebetsa le li-API

The icing on the cake ke popo e potlakileng ea lipolelo tse tsoang ho likarabo, sheba feela!

TestMace - IDE e matla ea ho sebetsa le li-API

Leha ho le joalo, lipolelo tse joalo li na le mefokolo e totobetseng, eo u ka ratang ho sebelisa polelo ea javascript ho e hlōla. 'Me mona TestMace e boetse e fana ka tikoloho e phutholohileng e nang le ho phethela ka bo eona, ho totobatsa li-syntax esita le analyzer e tsitsitseng.

Tlhaloso ea API

TestMace e u lumella hore u se ke ua sebelisa API feela, empa hape le ho e ngola. Ho feta moo, tlhaloso ka boeona e boetse e na le sebopeho sa maemo a phahameng 'me e lumellana hantle le morero oohle. Ntle le moo, hajoale hoa khoneha ho kenya litlhaloso tsa API ho tsoa ho lifomate tsa Swagger 2.0 / OpenAPI 3.0. Tlhaloso ka boeona ha e bue feela ka boima ba 'mele, empa e kopantsoe haufi-ufi le morero oohle, haholo-holo, ho phethela ka boits'oaro ha li-URL, lihlooho tsa HTTP, li-parameter tsa lipotso, joalo-joalo li fumaneha,' me nakong e tlang re rera ho eketsa liteko. bakeng sa ho latela karabo le tlhaloso ea API.

Node ea ho arolelana

Taba: o ka thabela ho arolelana kopo e nang le bothata kapa mongolo o felletseng le mosebetsi-'moho le uena kapa ho o hokela feela phosong. TestMace e boetse e akaretsa nyeoe ena: ts'ebeliso e u lumella ho hlophisa node efe kapa efe esita le subtree ho URL. Kopitsa-peista 'me u ka fetisetsa kopo habonolo mochine o mong kapa morero.

Foromo ea polokelo ea morero e baloang ke motho

Hajoale, node e 'ngoe le e' ngoe e bolokiloe faeleng e arohaneng e nang le katoloso ea yml (joalo ka ha ho le joalo ka node ea Assertion), kapa foldareng e nang le lebitso la node le faele ea index.yml ho eona.
Mohlala, sena ke kamoo faele ea kopo eo re e entseng tlhahlobisong e kaholimo e shebahalang joang:

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

Joalokaha u ka bona, ntho e 'ngoe le e' ngoe e hlakile haholo. Haeba o lakatsa, sebopeho sena se ka hlophisoa habonolo ka letsoho.

Tsamaiso ea li-folders tsamaisong ea lifaele e pheta ka ho feletseng bolaoli ba li-node morerong. Ka mohlala, script e kang:

TestMace - IDE e matla ea ho sebetsa le li-API

E bapisa sistimi ea faele ho sebopeho se latelang (ho bonts'itsoe feela maemo a lifoldara, empa moelelo o hlakile)

TestMace - IDE e matla ea ho sebetsa le li-API

Sena se etsa hore mokhoa oa ho hlahloba morero o be bonolo.

Fumana ho tsoa ho Postman

Ka mor'a ho bala tsohle tse ka holimo, basebelisi ba bang ba tla batla ho leka (ho nepahetse?) Sehlahisoa se secha kapa (seo lihele ha li sotle!) li sebelise ka ho feletseng morerong oa bona. Leha ho le joalo, ho falla ho ka emisoa ke palo e kholo ea tsoelo-pele ho Postman e tšoanang. Bakeng sa maemo a joalo, TestMace e ts'ehetsa ho tlisa likoleke ho tsoa ho Postman. Hajoale, thepa e tsoang kantle ho naha ntle le liteko e tšehetsoa, ​​​​empa ha re thibele ho e tšehetsa nakong e tlang.

Merero

Ke tšepa hore ba bangata ba ba balileng ho fihlela mona ba ratile sehlahisoa sa rona. Leha ho le joalo, ha se eona feela! Mosebetsi oa sehlahisoa o ntse o tsoela pele 'me mona ke likarolo tse ling tseo re rerileng ho li eketsa haufinyane.

Khokahano ea leru

E 'ngoe ea likarolo tse batloang haholo. Hajoale, re sisinya ho sebelisa litsamaiso tsa taolo ea mofuta bakeng sa khokahano, eo re e etsang hore sebopeho se be bonolo ho mofuta ona oa polokelo. Leha ho le joalo, ts'ebetso ena ha ea tšoanela motho e mong le e mong, kahoo re rera ho eketsa mochine oa ho hokahanya o tloaelehileng ho ba bangata ka li-server tsa rona.

CLI

Joalokaha ho boletsoe ka holimo, lihlahisoa tsa boemo ba IDE li ke ke tsa etsa ntle le mefuta eohle ea ho kopanya le likopo tse teng kapa mosebetsi oa ho sebetsa. CLI ke eona e hlokahalang ho kopanya liteko tse ngotsoeng ho TestMace ts'ebetsong e tsoelang pele ea ho kopanya. Mosebetsi ho CLI o ntse o tsoela pele; mefuta ea pele e tla qala morero ka tlaleho e bonolo ea console. Nakong e tlang re rera ho eketsa tlhahiso ea tlaleho ka mokhoa oa JUnit.

Sistimi ea plugin

Ho sa tsotellehe matla ohle a sesebelisoa sa rona, sehlopha sa linyeoe tse hlokang tharollo ha se na moeli. Etsoe, ho na le mesebetsi e tobileng morero o itseng. Ke kahoo nakong e tlang re rerileng ho kenya SDK bakeng sa ho hlahisa li-plugins 'me moqapi e mong le e mong o tla khona ho eketsa ts'ebetso ho seo a se ratang.

Ho eketsa mefuta ea li-node

Sehlopha sena sa li-node ha se koahele linyeoe tsohle tse hlokoang ke mosebedisi. Li-node tse reretsoeng ho eketsoa:

  • Script node - e fetolela le ho beha data ho sebelisa js le API e tsamaisanang. U sebelisa mofuta ona oa node, u ka etsa lintho tse kang likopi tsa pele le mangolo a kopo ea poso ho Postman.
  • Node ea GraphQL - tšehetso ea graphql
  • Node e tloahelehileng - e tla u lumella ho holisa sete sa lipolelo tse teng morerong
    Ka tlhaho, lena ha se lethathamo la ho qetela; e tla lula e ntlafatsoa ka lebaka la, har'a lintho tse ling, maikutlo a hau.

LBH

U fapane joang le Postman?

  1. Khopolo ea li-node, e u lumellang hore u ntlafatse ts'ebetso ea morero ka ho sa feleng
  2. Foromo ea projeke e baloang ke batho ka ho e boloka ka har'a sistimi ea faele, e nolofatsang mosebetsi ka ho sebelisa litsamaiso tsa taolo ea mofuta
  3. Bokhoni ba ho etsa liteko ntle le mananeo le tšehetso e tsoetseng pele ea js ho mohlophisi oa liteko (autocompletion, static analyzer)
  4. Ho phethela ka boits'oaro e tsoetseng pele le ho totobatsa boleng ba hajoale ba mefuta-futa

Na ke sehlahisoa se bulehileng?

Che, hajoale mehloli e koetsoe, empa nakong e tlang re ntse re nahana ka monyetla oa ho bula mehloli

U phela ka eng?)

Hammoho le mofuta oa mahala, re rera ho lokolla mofuta o lefelloang oa sehlahisoa. E tla kenyelletsa haholo lintho tse hlokang lehlakore la seva, mohlala, ho hokahanya.

fihlela qeto e

Morero oa rona o tsamaea ka sekhahla le meeli ho ea tokollong e tsitsitseng. Leha ho le joalo, sehlahisoa se se se ka sebelisoa, 'me maikutlo a matle a tsoang ho basebelisi ba rona ba pele ke bopaki ba sena. Re bokella maikutlo ka mafolofolo, hobane ntle le tšebelisano e haufi le sechaba ho ke ke ha khoneha ho haha ​​sesebelisoa se setle. U ka re fumana mona:

Websaete ea molao

thelekramo

monyebe

Facebook

Tracker ea litaba

Re lebeletse ka thabo litakatso le litlhahiso tsa hau!

Source: www.habr.com

Eketsa ka tlhaloso