TestMace. Ho qala kapele

TestMace. Ho qala kapele

Lumelang bohle. Re ntse re hlaha butle-butle ho tloha moriting mme re tsoela pele letoto la lihlooho tse mabapi le sehlahisoa sa rona. Kamora pejana sengoloa sa tlhahlobo, re fumane maikutlo a mangata (haholo-holo a khothatsang), litlhahiso le litlaleho tsa liphoso. Kajeno re tla bontša TestMace ts'ebetsong mme o tla khona ho ananela likarolo tse ling tsa ts'ebeliso ea rona. Bakeng sa ho qoelisoa ka ho feletseng, ke u eletsa hore u shebe litokomane tsa rona ho http://docs-ru.testmace.com. Kahoo, ha re eeng!

bophirima

Ha re qaleng ka banality. Sesebelisoa se fumaneha ebile se lekoa ka li-platform tse tharo - Linux, Windows, MacOS. U ka khoasolla sesebelisoa bakeng sa OS eo u e ratang ho tsoa ho eona webosaete ea rona. Bakeng sa basebelisi ba Linux hoa khoneha ho kenya snap sephutheloana. Ka sebele re tšepa hore Lebenkele la Microsoft le App Store li tla tloha li fihla ho eona (Na hoa hlokahala? U nahana'ng?).

Boemo ba teko

Re khethile maemo a latelang a tloaelehileng joalo ka thuto ea rona ea tlhahlobo:

  • Kena: mosebelisi - admin, password - password
  • eketsa kenyo e ncha
  • A re hlahlobeng hore na rekoto e kentsoe ka nepo

Re tla leka ho tsoela pele https://testmace-quick-start.herokuapp.com/. Sena se tloaelehile json-server, e phethahetseng bakeng sa ho leka lits'ebetso tse joalo. Re sa tsoa eketsa tumello ka tokens ho litsela tsohle tsa json-server mme re thehile mokhoa oa ho kena ho amohela letšoao lena. Re tla tsamaea butle-butle, butle-butle re ntlafatsa morero oa rona.

Ho theha morero le ho leka ho theha setheo ntle le tumello

Pele, ha re theheng projeke e ncha (faele->Morero o mocha). Haeba u qala kopo ka lekhetlo la pele, morero o mocha o tla bula ka bohona. Taba ea pele, a re lekeng ho etsa kopo ea ho etsa rekoto e ncha (haeba ho ka etsoa litlaleho ntle le tumello). Khetha lintho ho tsoa ho "menu" ea "Project node". Kenya node -> KopaMohato. Beha lebitso la node ho theha-poso. Ka lebaka leo, ho tla etsoa node e ncha sefateng 'me tab ea node ena e tla buleha. Ha re behe liparamente tse latelang tsa kopo:

TestMace. Ho qala kapele

Leha ho le joalo, haeba re leka ho phethahatsa kopo, seva se tla khutlisa khoutu ea 401 mme ntle le tumello re ke ke ra fumana letho ho seva sena. Hantle, ka kakaretso, joalo ka ha ho lebelletsoe).

E eketsa kopo ea tumello

Joalokaha ho se ho boletsoe, re na le POST endpoint /login, e nkang json e le sehlopha sa kopo ea foromo: {"username": "<username>", "password": "<password>"}kae username и password (hape, ho tsoa serapeng sa selelekela se ka holimo) e na le meelelo admin и password ka ho latellana. Ka ho arabela, ntlha ena e khutlisa json joalo ka {"token": "<token>"}. Re tla e sebelisa bakeng sa tumello. Ha re bopeng KopaMohato node e nang le lebitso kena, o tla sebetsa joaloka moholo-holo Morero node U sebelisa ho hula-le-ho theola, tsamaisa node e fanoeng sefateng ho feta node theha-poso. Ha re behe liparamente tse latelang ho kopo e sa tsoa etsoa:

Ha re phethiseng kopo mme re amohele khoutu ea makholo a mabeli ka letšoao karabong. Ntho e kang ena:

TestMace. Ho qala kapele

Refactoring: ho tlosa phetiso ea domain

Ho fihlela hajoale likopo ha lia hokahana le mongolo o le mong. Empa sena ha se eona feela tšitiso. Ha u sheba ka hloko, u tla hlokomela hore bonyane domain name e kopitsoa likopong tseo ka bobeli. Ha e ntle. Ke nako ea ho fetola karolo ena ea mongolo oa nako e tlang, 'me mefuta e fapaneng e tla re thusa ka sena.

Khakanyong ea pele, mefuta e fapaneng e sebetsa karolo e ts'oanang le ea lisebelisoa tse ling tse tšoanang le lipuong tsa lenaneo - ho felisa ho pheta-pheta, ho bala ho eketsehileng, joalo-joalo. U ka bala ho eketsehileng ka mefuta-futa ho litokomane tsa rona. Tabeng ena, re tla hloka mefuta e fapaneng ea basebelisi.

Ha re hlalose phetoho maemong a node ea Morero domain e nang le moelelo https://testmace-quick-start.herokuapp.com... Sena se hloka

  • Bula tab ka node ena 'me u tobetse lets'oao la sebali se kaholimo ho le letona
  • Tobetsa ho + EKETSANG PHETOHO
  • Kenya lebitso le boleng bo fapaneng
    Tabeng ea rona, puisano e nang le phapang e ekelitsoeng e tla shebahala tjena:

TestMace. Ho qala kapele

HO LOKILE. Hona joale, ka lebaka la lefa, re ka sebelisa phetoho ena ho litloholo tsa boemo leha e le bofe ba sehlaha. Tabeng ea rona, tsena ke li-node kena и theha-poso. E le hore u sebelise phetoho sebakeng sa mongolo, u lokela ho ngola ${<variable_name>}. Ka mohlala, url ea ho kena e fetoleloa ho ${domain}/login, ka ho latellana bakeng sa theha-poso node url e tla shebahala joalo ${domain}/posts.

Kahoo, re tataisoa ke molao-motheo oa DRY, re ntlafalitse boemo bona hanyane.

Boloka letšoao ho feto-fetoha

Kaha re bua ka lintho tse feto-fetohang, ha re atoloseng taba ena hanyane. Hajoale, ha ho ka ba le katleho ea ho kena, re fumana ho tsoa ho seva lets'oao la tumello, leo re tla le hloka likopong tse latelang. Ha re bolokeng letšoao lena ho feto-fetoha. Hobane boleng ba phapang bo tla khethoa nakong ea ts'ebetso ea script, re sebelisa mochine o khethehileng bakeng sa sena - mefuta e fapaneng.

Pele, ha re etseng kopo ea ho kena. Ka har'a tab E arotsoe araba, tsamaisa sesupa holim'a lets'oao le ho menu ea moelelo (e bitsoang ka konopo e nepahetseng ea toeba kapa ka ho tobetsa konopo ...) khetha ntho eo. Abela ho feto-fetoha. Puisano e tla hlaha ka likarolo tse latelang:

  • Tsela - karolo efe ea karabo e nkiloe (tabeng ea rona ke body.token)
  • Boleng ba hona joale - ke boleng bofe bo haufi le Tsela (ho rona sena ke boleng ba letšoao)
  • Lebitso le fetolehang - lebitso la phapano moo Boleng ba hona joale tla bolokeha. Tabeng ea rona ho tla ba joalo token
  • noute - ho badimo ho tla boptjwa diphapano Lebitso le fetolehang. Ha re khethe Morero

Puisano e phethiloeng e shebahala tjena:

TestMace. Ho qala kapele

Hona joale nako le nako ha node e etsoa kena phetoho e matla token e tla nchafatsoa ka boleng bo bocha ho tsoa karabong. 'Me phetoho ena e tla bolokoa ka hare Morero node mme, ka lebaka la lefa, e tla fumaneha ho litloholo.

Ho fihlella mefuta e fapaneng, o tlameha ho e sebelisa feto-fetoha e hahiloeng $dynamicVar. Ka mohlala, ho fihlella token e bolokiloeng, o hloka ho letsetsa ${$dynamicVar.token}.

Re fetisetsa token ea tumello ho likopo

Mehatong e fetileng re amohetse tokene ea tumello mme sohle seo re hlokang ho se etsa ke ho eketsa hlooho Authorization ka moelelo Bearer <tokenValue> likopong tsohle tse hlokang tumello, ho kenyeletsoa theha-poso. Ho na le mekhoa e mengata ea ho etsa sena:

  1. Kopitsa lets'oao ka letsoho 'me u kenye sehlooho sa tumello ho likopo tsa thahasello. Mokhoa ona oa sebetsa, empa tšebeliso ea oona e lekanyelitsoe feela ho likōpo tsa mofuta o "entsoeng le o lahliloeng". Ha e lokele ho phethwa hangata ha mengolo
  2. Sebelisa tshebetso tumello.
  3. Sebelisa lihlooho tsa kamehla

Ho sebelisa mokhoa oa bobeli ho bonahala ho hlakile, empa moelelong oa sehlooho sena, mokhoa ona o ... o sa thahaselle. Ha e le hantle, mochine oa tumello le ho tlosa o tloaelehile ho lisebelisoa tse ling (le haeba re na le lintho tse joalo tumello lefa) mme ha ho na monyetla oa ho botsa lipotso.

Ntho e 'ngoe ke lihlooho tsa kamehla! Ka bokhutšoane, lihlooho tsa kamehla ke lihlooho tsa HTTP tse futsitsoeng tse kenyelletsoang kopo ka mokhoa o ikhethileng ntle le haeba li holofalitsoe ka ho hlaka. U sebelisa ts'ebetso ena, ka mohlala, u ka sebelisa tumello ea tloaelo kapa ua tlosa phetisetso ea mangolo. Ha re sebeliseng tšobotsi ena ho fetisa letšoao ho lihlooho.

Nakong e fetileng, re ile ra boloka letšoao ka bohlale ho feto-fetoha e matla $dynamicVar.token boemong ba Project node. Sohle se setseng ke ho etsa tse latelang:

  1. Hlalosa sehlooho sa kamehla Authorization e nang le moelelo Bearer ${$dynamicVar.token} boemong ba Project node. Ho etsa sena, ho sebopeho sa Morero oa node o hloka ho bula puisano e nang le lihlooho tsa kamehla (konopo Headers hukung e ka hodimo ka ho le letona) ebe o eketsa sehlooho se tsamaisanang le sona. Puisano e nang le litekanyetso tse tlatsitsoeng e tla shebahala tjena:
    TestMace. Ho qala kapele
  2. Tlosa hlooho ena ho tsoa kopong ea ho kena. Sena sea utloahala: nakong ea ho kena, ha re e-s'o be le letšoao 'me re tla le kenya ka kopo ena. Ka hona, ka sebopeho sa ho kena sa kopo ho tab Headers sebakeng Lefa hlakola hlooho ea Authorization.

Ke phetho. Hona joale sehlooho sa tumello se tla kenyelletsoa ho likopo tsohle tseo e leng bana ba node ea Project, ntle le sebaka sa ho kena. Hoa bonahala hore mothating ona re se re ntse re e-na le script e lokisitsoeng mme sohle seo re lokelang ho se etsa ke ho e qala. U ka tsamaisa script ka ho khetha Matha ho "menu" ea "Project node" ea moelelo oa taba.

Ho hlahloba ho nepahala ha tlhahiso ea poso

Nakong ena, script ea rona e ka kena 'me, ka ho sebelisa tokenyo ea tumello, ea etsa poso. Leha ho le joalo, re hloka ho etsa bonnete ba hore poso e ncha e na le lebitso le nepahetseng. Ke hore, ha e le hantle, se setseng ke ho etsa tse latelang:

  • Romela kopo ea ho fumana poso ka id,
  • Sheba hore na lebitso le amohetsoeng ho tsoa ho seva le lumellana le lebitso le rometsoeng ha u theha poso

A re shebeng mohato oa pele. Kaha boleng ba id bo khethoa nakong ea ts'ebetso ea script, o hloka ho theha phetoho e matla (ha re e bitseng postId) ho tloha node theha-poso boemong ba Project node. Re se re tseba ho etsa sena, sheba feela karolo Boloka letšoao ho feto-fetoha. Ho setseng ke ho etsa kopo ea ho fumana poso ho sebelisa id ena. Ho etsa sena, ha re theheng RequestStep fumana-poso ka li-parameter tse latelang:

  • Mofuta oa kopo: GET
  • URL: ${domain}/posts/${$dynamicVar.postId}

Ho phethahatsa mohato oa bobeli, ho hlokahala hore re itloaetse Tiiso lefito. Node ea Assertion ke node e u lumellang hore u ngole licheke bakeng sa likopo tse itseng. Node e 'ngoe le e' ngoe ea Assertion e ka ba le lipolelo tse 'maloa (licheke). U ka bala ho eketsehileng ka mefuta eohle ea lipolelo ho tsoa ho rona litokomane. Re tla sebelisa Compare qoso le motho ya sebetsang equal. Ho na le litsela tse 'maloa tsa ho etsa lipolelo:

  1. Nako e telele. Iketsetse node ea Assertion ka bouena ho tsoa ho menyu ea litaba ea node ea RequestStep. Ho node ea Assertion e entsoeng, eketsa polelo ea thahasello 'me u tlatse masimo.
  2. Ka potlako. Theha node ea Assertion hammoho le polelo e tsoang ho RequestStep node karabo u sebelisa menu ea moelelo

Ha re sebeliseng mokhoa oa bobeli. Ke kamoo e tla shebahala kateng bakeng sa rona.

TestMace. Ho qala kapele

Bakeng sa ba sa utloisiseng, se etsahalang ke sena:

  1. Etsa kopo ka node fumana-poso
  2. Ka har'a tab E arotsoe araba, letsetsa menyu ea litaba ebe o khetha Etsa boitlamo -> bapisa -> lekanang

Kea u lebohela, re thehile teko ea rona ea pele! E bonolo, na ha ho joalo? Hona joale u ka tsamaisa script ka ho feletseng 'me u thabela sephetho. Ho setseng ke ho e fetola hanyane le ho e ntša title ho fetoha phetoho e fapaneng. Empa re tla u siela sena e le mosebetsi oa sekolo)

fihlela qeto e

Tataisong ena, re thehile boemo bo felletseng mme ka nako e ts'oanang ra hlahloba tse ling tsa likarolo tsa sehlahisoa sa rona. Ha e le hantle, ha rea ​​ka ra sebelisa ts'ebetso eohle 'me lihloohong tse latelang re tla fana ka tlhaloso e qaqileng ea bokhoni ba TestMace. Lula u mametse!

PS Bakeng sa ba botsoa haholo ho hlahisa mehato eohle, re tlalehile ka mosa polokelo ka morero o tsoang ho sengoloa. U ka e bula ka faele -> Open projeke ebe u khetha foldara ea Morero.

Source: www.habr.com

Eketsa ka tlhaloso