TestMace. Qala ka Potlako

TestMace. Qala ka Potlako

Lumelang bohle. Re ntse re tsoa moriting butle-butle 'me re tsoela pele letoto la lihlooho tse buang ka 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 botlalo, ke khothaletsa hore u shebe litokomane tsa rona ho http://docs-ru.testmace.com. Kahoo, ha re eeng!

bophirima

Начнем с банальщины. Приложение доступно и реально тестируется на трех платформах — Linux, Windows, MacOS. Вы можете скачать установщик для интересующей ОС с webosaete ea rona. Bakeng sa basebelisi ba Linux ho na le khetho ea ho kenya snap sephutheloana. Re tšepa hore haufinyane re tla fihla Lebenkeleng la Microsoft le App Store (Empa na hoa hlokahala? U nahana'ng?).

Boemo ba teko

Re khethile maemo a latelang a tloaelehileng joalo ka taba ea tlhahlobo:

  • kena: user - admin, password - password
  • ha re kenyeng ntho 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 loketseng ho leka lits'ebetso tse joalo. Re kentse tumello ea matšoao litseleng tsohle tsa json-server mme ra etsa mokhoa oa ho kena ho fumana letšoao lena. Re tla tsoela pele 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 sebelisa sesebelisoa lekhetlo la pele, projeke e ncha e tla bula ka bo eona. Ntlha ea pele, a re leke ho etsa kopo ea ho etsa rekoto e ncha (ka tšohanyetso, ho theha litlaleho ho fumaneha ntle le tumello). Khetha lintho tse ho menu ea moelelo oa node ea Project Kenya node -> KopaMohato. Re tla beha lebitso la node ho theha-poso. Ka lebaka leo, ho tla etsoa node e ncha sefateng 'me ho tla buloa tab ea node ena. Ha re behe li-parameter tse latelang tsa potso:

TestMace. Qala ka Potlako

Leha ho le joalo, haeba re leka ho etsa kopo, seva se tla khutlisa khoutu ea 401 mme ntle le tumello re ke ke ra ba le monyetla ho seva sena. Ho lokile, ho ka lebelloa).

E eketsa kopo ea tumello

Joalokaha ho se ho boletsoe, re na le POST endpoint /login, e amohelang e le mokhatlo oa kopo json ea mofuta o latelang: {"username": "<username>", "password": "<password>"}kae username и password (hape, ho tsoa selelekeleng se kaholimo) e na le meelelo admin и password ka ho latellana. Ka ho arabela, ntlha ena e khutlisetsa json ea foromo {"token": "<token>"}. Ha re e sebelisetseng tumello. Ha re bopeng KopaMohato node e nang le lebitso kena, o tla sebetsa joaloka moholo-holo Morero node. Sebelisa ho hula le ho theola ho tsamaisa node ena holimo sefateng ho feta node theha-poso. Ha re behe liparamente tse latelang bakeng sa potso e ncha:

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

TestMace. Qala ka Potlako

Refactoring: Ho tlosa Phetiso ea Domain

Lipotso ha li so hokahane le boemo bo le bong. Empa sena ha se eona feela tšitiso. Haeba u sheba ka hloko, u ka bona hore bonyane domain name e kopitsoa lipotsong ka bobeli. Ha e ntle. Ke nako ea ho fetola karolo ena ea boemo ba nako e tlang, 'me mefuta e fapaneng e tla re thusa ka sena.

Khakanyong ea pele, mefuta-futa e phetha karolo e tšoanang le ea lisebelisoa tse ling tse tšoanang le lipuo tsa lenaneo - ho felisa ho pheta-pheta, ho eketsa ho baloa, joalo-joalo. litokomane tsa ronaTabeng 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. Bakeng sa sena hoa hlokahala

  • Bula tab ka node ena ebe o tobetsa letšoao la calculator k'honeng e kaholimo ho le letona
  • Tobetsa ho + EKETSANG PHETOHO
  • Kenya lebitso la phetoho le boleng
    Tabeng ea rona, puisano e nang le phapang e ekelitsoeng e tla shebahala tjena:

TestMace. Qala ka Potlako

HO LOKILE. Joale, ka lebaka la lefa, re ka sebelisa phetoho ena ho litloholo tsa boemo bofe kapa bofe ba ho haha. 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, ho latela molao-motheo oa DRY, re ile ra ntlafatsa sengoloa hanyane.

Boloka letšoao ho feto-fetoha

Kaha re bua ka lintho tse feto-fetohang, ha re atoloseng taba ena hanyane. Hajoale, tabeng ea ho kena ka katleho, re fumana tokene ea tumello ho tswa ho seva, eo re tla e hloka likōpong tse latelang. Ha re bolokeng letšoao lena ka ho feto-fetoha. Kaha boleng ba phapang bo tla khethoa nakong ea ho etsoa ha script, re tla sebelisa mochine o khethehileng bakeng sa sena - mefuta e fapaneng.

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

  • Tsela - ke karolo efe ea karabo e nkiloeng (ho rona ke body.token)
  • Boleng ba hona joale - ke boleng bofe bo haufi le Tsela (ho rona, ena ke boleng ba letšoao)
  • Lebitso le fetolehang — lebitso la phapano moo Boleng ba hona joale o 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. Qala ka Potlako

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 e tla fumaneha ho litloholo ka lefa.

Ho fihlella mefuta e fapaneng, o tlameha ho e sebelisa feto-fetoha e hahiloeng $dynamicVar. Ho etsa mohlala, ho fihlella letshwao le bolokilweng, o hloka ho letsetsa ${$dynamicVar.token}.

Re fetisetsa token ea tumello ho likopo

Mehatong e fetileng re fumane 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-posoHo na le mekhoa e mengata ea ho etsa sena:

  1. Kopitsa lets'oao ka bowena 'me u kenye sehlooho sa tumello ho lipotso tseo u li batlang. Mokhoa ona oa sebetsa, empa ts'ebeliso ea ona e lekanyelitsoe ho lipotso tsa mofuta oa "etsa le ho lahla". Ha e lokele ho phethahatsoa ka makhetlo a mangata.
  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 ... ha o thahaselle. Ha e le hantle, mokhoa oa tumello ea ho eketsa ho tlosa o tloaelehile ho tsoa ho lisebelisoa tse ling (le haeba re na le lintho tse kang lefa la tumello) mme ha ho na monyetla oa ho botsa lipotso.

Lihlooho tsa kamehla ke taba e 'ngoe! Ka bokhutšoanyane, lihlooho tsa kamehla ke lihlooho tsa HTTP tse futsitsoeng ho balimo 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 maemong a itseng. Ha re sebeliseng tšobotsi ena ho lahlela letšoao ka lihlooho.

Pejana re ne re e-na le ponelo-pele ea ho boloka lets'oao ka phetoho e matla $dynamicVar.token boemong ba Project node. Se latelang se tlameha ho etsoa:

  1. Hlalosa sehlooho sa kamehla Authorization e nang le moelelo Bearer ${$dynamicVar.token} boemong ba Project node. Ho etsa sena, bula puisano e nang le lihlooho tsa kamehla ho sebopeho sa node ea Project (konopo Headers hukung e kaholimo ho le letona) ebe u eketsa sehlooho se loketseng. Puisano e nang le litekanyetso tse tlatsitsoeng e tla shebahala tjena:
    TestMace. Qala ka Potlako
  2. Tlosa hlooho ena ho tsoa kopong ea ho kena. Sena sea utloahala: nakong ea ho kena ha re na letšoao leha ho le joalo 'me re tla e kenya ka kopo ena. Ka hona, ho sebopeho sa kopo ea ho kena ho tab Headers sebakeng Lefa Ha re hlahlobeng sehlooho sa Authorization.

Ke phetho. Joale sehlooho sa tumello se tla kenyelletsoa ho likopo tsohle tseo e leng litloholo tsa node ea Morero, 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 tsamaisa. U ka tsamaisa script ka ho khetha Matha ho menu ea moelelo oa node ea Project.

Ho hlahloba ho nepahala ha tlhahiso ea poso

Ka nako ena, script ea rona e ka kena 'me ea etsa poso e sebelisa token ea tumello. Leha ho le joalo, re hloka ho etsa bonnete ba hore poso e ncha e na le lebitso le nepahetseng. Kahoo, ha e le hantle, sohle 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 fetisitsoeng ha u theha poso

A re shebeng mohato oa pele. Kaha boleng ba id bo khethoa nakong ea ts'ebetso ea script, hoa hlokahala ho theha phetoho e matla (ha re e bitse 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 ka id ena. Ho etsa sena, theha 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 node. Node ea Assertion ke node e u lumellang hore u ngole licheke bakeng sa lipotso 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 rona litokomane. Re tla sebelisa Compare qoso le motho ya sebetsang equalHo 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 sheba nyeoe ea rona kateng.

TestMace. Qala ka Potlako

Bakeng sa ba sa utloisiseng, se etsahalang ke sena:

  1. Etsa potso ka node fumana-poso
  2. Ka har'a tab E hlakisitsoe araba letsetsa menu ya moelelo ebe o kgetha Etsa boitlamo -> bapisa -> lekanang

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

fihlela qeto e

Tataisong ena, re thehile boemo bo felletseng mme 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 etsa tlhahlobo e qaqileng ea bokhoni ba TestMace. Lula u mametse!

P.S. Bakeng sa ba botsoa haholo ho hlahisa mehato eohle, ka mosa re entse video 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

Reka sebaka se tšepahalang sa libaka tse nang le ts'ireletso ea DDoS, li-server tsa VPS VDS 🔥 Reka sebaka se tšepahalang sa ho amohela webosaete ka tšireletso ea DDoS, li-server tsa VPS VDS | ProHoster