
Moni nonse. Tikutuluka pang'onopang'ono pamithunzi ndikupitiriza mndandanda wa nkhani zokhudzana ndi mankhwala athu. Pambuyo ndemanga, talandira ndemanga zambiri (makamaka zabwino), malingaliro ndi malipoti a cholakwika. Lero tiwonetsa mukuchitapo kanthu ndipo mudzatha kuyamika zina mwazogwiritsa ntchito. Kuti mumizidwe kwathunthu, ndikukulangizani kuti muyang'ane zolemba zathu pa . Choncho, tiyeni!
kolowera
Tiyeni tiyambe ndi mfundo zoyambira. Pulogalamuyi ikupezeka ndipo ikuyesedwa pa nsanja zitatu: Linux, Windows, MacOS. Mutha kutsitsa chokhazikitsa cha OS yomwe mukufuna kuchokera . Kwa ogwiritsa ntchito a Linux ndizotheka kukhazikitsa . Tikukhulupirira kuti Microsoft Store ndi App Store posachedwapa zifika kwa izo (Kodi ndizofunika? Mukuganiza bwanji?).
Zoyeserera
Tidasankha izi ngati phunziro lathu loyesa:
- Lowani: wosuta - admin, password - password
- onjezani cholowa chatsopano
- Tiyeni tiwone ngati zolembazo zidawonjezedwa molondola
Tidzayesa . Izi ndi zachilendo , yabwino kuyesa mapulogalamu otere. Tangowonjezera chilolezo ndi chizindikiro kunjira zonse za json-server ndikupanga njira yolowera kuti tilandire chizindikirochi. Tiyenda pang'onopang'ono, pang'onopang'ono kukonza ntchito yathu.
Kupanga pulojekiti ndikuyesera kupanga bungwe popanda chilolezo
Choyamba, tiyeni tipange pulojekiti yatsopano (file->Ntchito yatsopano). Ngati mukuyambitsa pulogalamuyo kwa nthawi yoyamba, polojekiti yatsopano idzatsegulidwa yokha. Choyamba, tiyeni tiyese kupanga pempho kuti tipange mbiri yatsopano (ngati kupanga zolemba zilipo popanda chilolezo). Sankhani zinthu kuchokera pamenyu ya Project node Onjezani mfundo -> Pemphani Gawo. Khazikitsani dzina la node pangani positi. Zotsatira zake, node yatsopano idzapangidwa mumtengo ndipo tabu ya node iyi idzatsegulidwa. Tiyeni tiyike zopempha zotsatirazi:
- Mtundu wofunsira: POST
- Url:
- Funsani thupi: json ndi mtengo
{"title": "New testmace quick start post"}
Ngati mwachita zonse molondola, mawonekedwe adzawoneka motere:

Komabe, ngati tiyesera kukwaniritsa pempholi, seva idzabwezera code 401 ndipo popanda chilolezo sitidzapeza kalikonse pa seva iyi. Chabwino, ambiri, monga momwe amayembekezera).
Kuwonjezera pempho lololeza
Monga tanenera kale, tili ndi POST endpoint /login, zomwe zimatengera json ngati fomu yofunsira: {"username": "<username>", "password": "<password>"}kumene username и password (kachiwirinso, kuchokera mundime yoyambira pamwambapa) ali ndi matanthauzo admin и password motsatana. Poyankha, mapeto awa amabwereranso json ngati {"token": "<token>"}. Tidzagwiritsa ntchito chilolezo. Tiyeni tipange Pemphani Gawo nodi ndi dzina Lowani muakaunti, adzakhala ngati kholo Project mfundo Pogwiritsa ntchito kukokera-ndi-kugwetsa, sunthani mfundo yomwe mwapatsidwa mumtengo pamwamba kuposa mfundo pangani positi. Tiyeni tiyike magawo otsatirawa ku pempho lomwe langopangidwa kumene:
- Mtundu wofunsira: POST
- Url:
- Funsani thupi: json ndi mtengo
{"username": "admin", "password": "password"}
Tiyeni tipereke pempho ndikulandila nambala ya mazana awiri ndi chizindikiro mu yankho. Chinachake chonga ichi:

Refactoring: kuchotsa kubwereza kwa madambwe
Mpaka pano zopemphazo sizinalumikizidwe kukhala script imodzi. Koma izi si zokhazo drawback. Mukayang'anitsitsa, muwona kuti gawolo likubwerezedwa pazopempha zonse ziwiri. Zosakhala bwino. Yakwana nthawi yoti tichitenso mbali iyi ya script yamtsogolo, ndipo zosintha zidzatithandiza pa izi.
Kuyerekeza koyamba, zosinthika zimagwira ntchito yofanana ndi zida zina zofananira ndi zilankhulo zamapulogalamu - kuchotsa kubwereza, kuwerengeka, ndi zina zambiri. Mutha kuwerenga zambiri zamitundu yosiyanasiyana mu . Pankhaniyi, tidzafunika zosintha za ogwiritsa.
Tiyeni tifotokoze zosinthika pamlingo wa Project node domain ndi tanthauzo https://testmace-quick-start.herokuapp.com. Kwa ichi ndikofunikira
- Tsegulani tabu ndi mfundoyi ndikudina chizindikiro cha calculator kumanja kumtunda
- Dinani pa + Wonjezerani KUSINTHA
- Lowetsani dzina losinthika ndi mtengo
Kwa ife, kukambirana ndi kusintha kowonjezera kudzawoneka motere:

CHABWINO. Tsopano, chifukwa cha cholowa, titha kugwiritsa ntchito kusinthaku mu mbadwa za mulingo uliwonse wa zisa. M'malo athu awa ndi ma node Lowani muakaunti и pangani positi. Kuti mugwiritse ntchito chosinthika pagawo lolemba, muyenera kulemba ${<variable_name>}. Mwachitsanzo, ulalo wolowera umasinthidwa kukhala ${domain}/login, motsatana za pangani positi node url idzawoneka ngati ${domain}/posts.
Chifukwa chake, motsogozedwa ndi mfundo ya DRY, tasintha pang'ono zomwe zikuchitika.
Sungani chizindikiro ku chosinthika
Popeza tikukamba za zosintha, tiyeni tiwonjezere pamutuwu pang'ono. Pakalipano, ngati tilowa bwino, timalandira chizindikiro chovomerezeka kuchokera kwa seva, chomwe tidzafunika pazopempha zotsatirazi. Tiyeni tisunge chizindikiro ichi muzosintha. Chifukwa mtengo wa kusinthika udzadziwika panthawi ya script, timagwiritsa ntchito njira yapadera ya izi - .
Choyamba, tiyeni tichite pempho lolowera. Mu tabu Kugawidwa Yankhani, sunthani cholozera pamwamba pa chizindikirocho ndi menyu yankhaniyo (yomwe imatchedwa ndi batani lakumanja la mbewa kapena podina batani ...) sankhani chinthucho. Perekani kusinthasintha. Kukambirana kudzawoneka ndi magawo otsatirawa:
- Njira - ndi gawo liti la yankho lomwe latengedwa (kwa ife ndi
body.token) - Mtengo wapano - ndi mtengo wanji womwe uli m'mphepete mwa Njira (kwa ife ichi ndi chizindikiro cha mtengo)
- Mayina osintha - dzina la kusintha komwe Mtengo wapano zidzasungidwa. Kwa ife zidzakhala
token - Node - m'makolo omwe kusinthaku kudzapangidwa Mayina osintha. Tiyeni tisankhe Project
Nkhani yomaliza ikuwoneka motere:

Tsopano nthawi iliyonse node ikuchitidwa Lowani muakaunti kusintha kosinthika token idzasinthidwa ndi mtengo watsopano kuchokera ku yankho. Ndipo kusintha uku kudzasungidwa mkati Project node ndipo, chifukwa cha cholowa, chidzapezeka kwa mbadwa.
Kuti mupeze ma dynamic variables, muyenera kugwiritsa ntchito $dynamicVar. Mwachitsanzo, kuti mupeze chizindikiro chosungidwa, muyenera kuyimba ${$dynamicVar.token}.
Timatumiza chizindikiro chololeza pazopempha
M'masitepe am'mbuyomu tidalandira chizindikiro chololeza ndipo zomwe tikuyenera kuchita ndikuwonjezera mutu Authorization ndi tanthauzo Bearer <tokenValue> muzopempha zonse zomwe zimafuna chilolezo, kuphatikizapo pangani positi. Pali njira zingapo zochitira izi:
- Koperani chizindikirocho pamanja ndikuwonjezera mutu wololeza pazomwe mukufuna. Njirayi imagwira ntchito, koma kugwiritsidwa ntchito kwake kumangokhala pazopempha za mtundu "wopangidwa ndi kutayidwa". Sikoyenera kubwereza mobwerezabwereza zolemba
- Gwiritsani ntchito .
- Gwiritsani ntchito
Kugwiritsa ntchito njira yachiwiri kumawoneka bwino, koma m'nkhani ino, njira iyi ndi ... yosasangalatsa. Chabwino, kwenikweni: njira yololeza kuphatikiza kuchotsera ndizodziwika kwa inu kuchokera ku zida zina (ngakhale tili ndi zinthu ngati ) ndipo sangafunse mafunso.
Chinthu chinanso ndi mitu yosasinthika! Mwachidule, mitu yokhazikika imatengera mitu ya HTTP yomwe imawonjezedwa ku pempho mwachisawawa pokhapokha ngati itayimitsidwa. Pogwiritsa ntchito izi, mutha, mwachitsanzo, kukhazikitsa zilolezo kapena kungochotsa kubwereza muzolemba. Tiyeni tigwiritse ntchito izi popereka chizindikiro pamitu.
M'mbuyomu, tidasunga mwanzeru chizindikirocho kuti chizisintha $dynamicVar.token pa mlingo wa Project node. Zomwe zatsala ndikuchita izi:
- Tanthauzirani mutu wokhazikika
Authorizationndi tanthauzoBearer ${$dynamicVar.token}pa mlingo wa Project node. Kuti muchite izi, mu mawonekedwe a Project ya node muyenera kutsegula zokambirana ndi mitu yokhazikika (batani Omutu pakona yakumanja) ndikuwonjezera mutu wofananira. Zokambirana zomwe zili ndi zikhalidwe zodzazidwa ziziwoneka motere:

- Letsani mutuwu kuchokera pa pempho lolowera. Izi ndizomveka: panthawi yolowera, tilibe chizindikiro ndipo tidzachiyika ndi pempholi. Chifukwa chake, mu mawonekedwe olowera a pempho mu tabu Omutu mdera la Choloŵa chotsani chizindikiro cha Authorization.
Ndizomwezo. Tsopano mutu wovomerezeka udzawonjezedwa ku zopempha zonse zomwe ndi ana a Project node, kupatula malo olowera. Zikuwonekeratu kuti pakadali pano tili kale ndi script yokonzeka ndipo zomwe tiyenera kuchita ndikuyambitsa. Mutha kuyendetsa script posankha Thamangani mumndandanda wazinthu za Project node.
Kuyang'ana kulondola kwa kupanga positi
Pakadali pano, script yathu imatha kulowa ndipo, pogwiritsa ntchito chizindikiro chololeza, pangani positi. Komabe, tiyenera kuonetsetsa kuti positi yomwe yangopangidwa kumene ili ndi dzina lolondola. Izi ndiye kuti, zomwe zatsala ndikuchita izi:
- Tumizani pempho kuti mulandire positi ndi id,
- Onetsetsani kuti dzina lomwe mwalandira kuchokera ku seva likufanana ndi dzina lomwe linatumizidwa popanga positi
Tiyeni tione sitepe yoyamba. Popeza mtengo wa id umatsimikiziridwa panthawi ya script, muyenera kupanga kusintha kosinthika (tiyeni titchule postId) kuchokera ku node pangani positi pa mlingo wa Project node. Tikudziwa kale momwe tingachitire izi, tangotchulani gawoli Sungani chizindikiro ku chosinthika. Zomwe zatsala ndikupanga pempho loti mulandire positi pogwiritsa ntchito id iyi. Kuti tichite izi, tiyeni tipange RequestStep pezani positi ndi izi:
- Mtundu wofunsira: GET
- URL: ${domain}/posts/${$dynamicVar.postId}
Kuti tikwaniritse sitepe yachiwiri, tiyenera kuidziwa bwino mfundo. Node ya Assertion ndi node yomwe imakulolani kuti mulembe macheke pazofunsira zina. Node iliyonse ya Assertion imatha kukhala ndi zonena zingapo (macheke). Mutha kuwerenga zambiri zamitundu yonse yazidziwitso kuchokera patsamba lathu . Tidzagwiritsa ntchito Compare kuyankhulana ndi opareshoni equal. Pali njira zingapo zopangira malingaliro:
- Wautali. Pangani pamanja mfundo ya Assertion kuchokera pazosankha za RequestStep node. Mu Assertion node yomwe idapangidwa, onjezani zonena za chidwi ndikudzaza minda.
- Mofulumira. Pangani mfundo ya Assertion pamodzi ndi chitsimikiziro kuchokera ku RequestStep node yankho pogwiritsa ntchito menyu
Tiyeni tigwiritse ntchito njira yachiwiri. Izi ndi momwe zidzawonekere pamlandu wathu.

Kwa omwe sakumvetsa, izi ndi zomwe zikuchitika:
- Pangani pempho mu node pezani positi
- Mu tabu Kugawidwa Yankhani, imbani menyu yankhani ndikusankha Pangani zonena -> Yerekezerani -> wofanana
Zabwino zonse, tapanga mayeso athu oyamba! Zosavuta, sichoncho? Tsopano mutha kuyendetsa script kwathunthu ndikusangalala ndi zotsatira zake. Chotsalira ndikuchikonzanso pang'ono ndikuchichotsa title m'malo osiyanasiyana. Koma tikusiyirani izi ngati homuweki)
Pomaliza
Mu bukhuli, tinapanga zochitika zonse ndipo nthawi yomweyo tinawonanso zina mwazogulitsa zathu. Zachidziwikire, sitinagwiritse ntchito magwiridwe antchito onse ndipo m'nkhani zotsatirazi tipereka tsatanetsatane wa kuthekera kwa TestMace. Dzimvetserani!
PS Kwa iwo omwe ali aulesi kwambiri kuti athe kuberekanso masitepe onse, talemba mwachifundo ndi polojekiti kuchokera m'nkhaniyo. Mutha kutsegula ndi file -> Tsegulani polojekiti ndikusankha chikwatu cha Project.
Source: www.habr.com

