Mhoroi mose. Isu tiri kubuda zvishoma nezvishoma kubva mumimvuri uye tichienderera mberi nenhevedzano yezvinyorwa nezve chigadzirwa chedu. Mushure
Kuiswa
Ngatitange nekurambidza. Iko kushandiswa kunowanikwa uye kwakaedzwa chaizvo pamapuratifomu matatu - Linux, Windows, MacOS. Unogona kudhawunirodha iyo yekuisa yeiyo OS yauri kufarira kubva
Mamiriro ekuedza
Isu takasarudza inotevera yakajairwa mamiriro sechidzidzo chedu chebvunzo:
- Login: mushandisi - admin, password - password
- wedzera chinyorwa chitsva
- Ngatitarisei kuti rekodhi yakawedzerwa nemazvo
We will test on
Kugadzira chirongwa uye kuyedza kugadzira mubatanidzwa pasina mvumo
Kutanga, ngatigadzire chirongwa chitsva (faira->Basa idzva) Kana iwe uri kuvhura application kekutanga, purojekiti nyowani inovhura yega. Kutanga, ngatiedzei kuita chikumbiro chekugadzira rekodhi nyowani (kana kugadzira zvinyorwa zviripo pasina mvumo). Sarudza zvinhu kubva kuProjekti node yemukati menyu Wedzera node -> RequestStep. Isa zita renodhi ku kugadzira-post. Nekuda kweizvozvo, node nyowani ichagadzirwa mumuti uye tebhu yeiyi node ichavhurwa. Ngatiisei zvinotevera zvikumbiro parameters:
- Rudzi rwekukumbira: POST
- url:
https://testmace-quick-start.herokuapp.com/posts - Kumbira muviri: json ine kukosha
{"title": "New testmace quick start post"}
Kana iwe wakaita zvese nemazvo, iyo interface ichaita seizvi:
Zvisinei, kana tikaedza kuzadzisa chikumbiro, sevha inodzorera kodhi ye401 uye pasina mvumo isu hatizowana chero chinhu pane iyi server. Zvakanaka, kazhinji, sezvaitarisirwa).
Kuwedzera chikumbiro chemvumo
Sezvambotaurwa, isu tine POST yekupedzisira /login
, iyo inotora json senhengo yekukumbira yefomu: {"username": "<username>", "password": "<password>"}
kupi username
ΠΈ password
(zvakare, kubva mundima yekusuma pamusoro) zvine zvazvinoreva admin
ΠΈ password
zvichiteerana. Mukupindura, iyi yekupedzisira inodzoka json senge {"token": "<token>"}
. Tichaishandisa kupihwa mvumo. Ngatigadzirei RequestStep node ine zita Login, achaita samadzitateguru purojekiti node Uchishandisa kudhonza-uye-kudonha, fambisa yakapihwa node mumuti kumusoro kupfuura node kugadzira-post. Ngatiisei maparameter anotevera kuchikumbiro chichangobva kugadzirwa:
- Rudzi rwekukumbira: POST
- url:
https://testmace-quick-start.herokuapp.com/login - Kumbira muviri: json ine kukosha
{"username": "admin", "password": "password"}
Ngatiite chikumbiro uye tigamuchire mazana maviri kodhi ine chiratidzo mumhinduro. Chinhu chakadai:
Refactoring: kubvisa domain duplication
Parizvino zvikumbiro hazvina kubatanidzwa mune imwe script. Asi iyi haisiriyo yega drawback. Kana iwe ukanyatsotarisisa, iwe uchaona kuti kanenge domain inodzokororwa mune zvese zvikumbiro. Hazvina kunaka. Yave nguva yekudzokorodza ichi chikamu cheramangwana script, uye zvinosiyana zvichatibatsira neizvi.
Kukufungidzira kwekutanga, zvinosiyana zvinoshanda zvakafanana mune mamwe maturusi akafanana uye mitauro yekuronga - kubvisa kudzokorora, kuwedzera kuverenga, nezvimwe. Iwe unogona kuverenga zvakawanda nezve variables mu
Ngatitsanangurei shanduko paProjekti node level domain
zvine zvazvinoreva https://testmace-quick-start.herokuapp.com
. Nokuda kweizvi zvakafanira
- Vhura iyo tebhu neiyi node uye tinya pane calculator icon kumusoro kumusoro kurudyi
- Dzvanya pa + wedzera VARIABLE
- Isa zita rakasiyana uye kukosha
Kwatiri isu, iyo dialog ine yakawedzera chinja inotaridzika seizvi:
OK. Zvino, nekuda kwenhaka, isu tinogona kushandisa shanduko iyi muzvizvarwa zvechero nhanho yekugara. Muchiitiko chedu aya mafundo Login ΠΈ kugadzira-post. Kuti ushandise shanduko mundima yemavara, unofanirwa kunyora ${<variable_name>}
. Semuenzaniso, iyo login url inoshandurwa kuita ${domain}/login
, zvichiteerana kugadzira-post node url ichaita senge ${domain}/posts
.
Nekudaro, tichitungamirwa neiyo DRY musimboti, isu takavandudza zvishoma mamiriro acho.
Chengetedza chiratidzo kune chinoshanduka
Sezvo tiri kutaura pamusoro pezvakasiyana, ngatiwedzerei pane iyi nyaya zvishoma. Parizvino, kana ikabudirira kupinda, tinogashira kubva kuseva chiratidzo chemvumo, chatinozoda mune zvinotevera zvikumbiro. Ngatichengetedzei chiratidzo ichi mune shanduko. Nokuti kukosha kwekusiyana kuchatemerwa panguva yekunyora script, isu tinoshandisa yakakosha nzira yeizvi -
Kutanga, ngatiite chikumbiro chekupinda. Mune tab Parsed mhinduro, fambisa chitubu pamusoro pechiratidzo uye mumenu yemukati (inodanwa nebhatani rekurudyi rembeva kana nekudzvanya pabhatani ...) sarudza chinhu Ipa kuchinjika. Nhaurirano ichaonekwa ine minda inotevera:
- Nzira - ndeipi chikamu chemhinduro inotorwa (munyaya yedu ndeye
body.token
) - Ikozvino kukosha - kukosha kwei kuri paNzira (munyaya yedu iyi ndiyo kukosha kwechiratidzo)
- Anochinja zita - zita rekuchinja uko Ikozvino kukosha ichachengetedzwa. Kwatiri zvichave zvakadaro
token
- Node - mune ipi yemadzitateguru shanduko ichagadzirwa Anochinja zita. Ngatisarudzei Chirongwa
Iyo dialog yapera inoita seizvi:
Iye zvino nguva dzose iyo node inoitwa Login dynamic variable token
ichagadziridzwa nehuwandu hutsva kubva mumhinduro. Uye shanduko iyi ichachengetwa mukati purojekiti node uye, nekuda kwenhaka, ichavepo kune vazukuru.
Kuti uwane dynamic variables, unofanira kushandisa $dynamicVar
. Semuenzaniso, kuti uwane chiratidzo chakachengetwa, unofanirwa kufona ${$dynamicVar.token}
.
Isu tinopfuudza chiratidzo chemvumo muzvikumbiro
Mumatanho apfuura takagamuchira chiratidzo chemvumo uye zvese zvatinoda kuita kuwedzera musoro Authorization
zvine zvazvinoreva Bearer <tokenValue>
muzvikumbiro zvese zvinoda mvumo, kusanganisira kugadzira-post. Pane nzira dzakawanda dzekuita izvi:
- Kopa nemaoko chiratidzo uye wedzera musoro wemvumo kune zvikumbiro zvekufarira. Iyo nzira inoshanda, asi kushandiswa kwayo kunongogumira kune zvikumbiro zve "yakaitwa uye yakaraswa" mhando. Haikodzeri kudzokororwa kunyorwa kwezvinyorwa
- Shandisa kushanda
mvumo . - Kushandisa
default headers
Kushandisa nzira yechipiri inoratidzika pachena, asi mumamiriro ezvinhu echinyorwa ichi, nzira iyi ... isingafadzi. Zvakanaka, chaizvo: iyo mvumo yekubvisa uye minus yakajairika kwauri kubva kune mamwe maturusi (kunyangwe isu tiine zvinhu zvakadai
Chimwe chinhu ndeye default misoro! Muchidimbu, misoro yakasarudzika inogarwa nhaka yeHTTP misoro iyo inowedzerwa kuchikumbiro nekukasira kunze kwekunge yakadzimwa zvakajeka. Uchishandisa mashandiro aya, unogona, semuenzaniso, kuita mvumo yetsika kana kungobvisa kudzokorora mumanyoro. Ngatishandisei chinhu ichi kupfuudza chiratidzo mumusoro.
Kare, isu takachengeta zvine hungwaru chiratidzo mune inoshanduka $dynamicVar.token
paProject node level. Chasara kuita zvinotevera:
- Define default title
Authorization
zvine zvazvinorevaBearer ${$dynamicVar.token}
paProject node level. Kuti uite izvi, muProjekiti interface yenode iwe unofanirwa kuvhura dialog ine default misoro (bhatani Misoro mukona yekurudyi) uye wedzera zita rinoenderana. Iyo dialog ine akazadzwa kukosha ichaita seizvi:
- Dzima musoro uyu kubva pachikumbiro chekupinda. Izvi zvinonzwisisika: panguva yekupinda, isu hatisati tine chiratidzo uye tichaiisa nechikumbiro ichi. Naizvozvo, mune yekupinda interface yekukumbira mune iyo tab Misoro munzvimbo ye Inhaka usatarise musoro weMvumo.
Ndizvo zvose. Iye zvino musoro wemvumo uchawedzerwa kune zvese zvikumbiro zviri vana veProjekti node, kunze kweiyo login node. Zvinoitika kuti panguva ino isu tatova ne script yakagadzirira uye zvese zvatinofanira kuita kurivhura. Iwe unogona kumhanya script nekusarudza manya muProjekti node yemamiriro ezvinhu.
Kuongorora chokwadi chekugadzirwa kwepositi
Panguva ino, script yedu inogona kupinda uye, uchishandisa chiratidzo chemvumo, gadzira positi. Nekudaro, isu tinofanirwa kuve nechokwadi chekuti iyo ichangobva kugadzirwa post ine zita chairo. Ndiko kuti, muchidimbu, chasara kuita zvinotevera:
- Tumira chikumbiro chekugamuchira posvo neid,
- Tarisa kuti zita rakagamuchirwa kubva kuseva rinoenderana nezita rakatumirwa paunenge uchigadzira positi
Ngatitarisei padanho rekutanga. Sezvo kukosha kweid kuchitemwa panguva yekunyora script, iwe unofanirwa kugadzira shanduko ine simba (ngatiidaidze. postId
) kubva node kugadzira-post paProject node level. Isu tatoziva kuita izvi, ingo tarisa kune chikamu Chengetedza chiratidzo kune chinoshanduka. Chasara kugadzira chikumbiro chekugamuchira posvo uchishandisa iyi id. Kuti uite izvi, ngatigadzire YekukumbiraStep get-post ine zvinotevera parameters:
- Chikumbiro chemhando: GET
- URL: ${domain}/posts/${$dynamicVar.postId}
Kuti tiite danho rechipiri, tinofanira kujairana naro Compare
kutaura nemushandisi equal
. Pane nzira dzakawanda dzekugadzira zvirevo:
- Kureba. Nemaoko gadzira iyo Assertion node kubva pane yemukati menyu yeChikumbiroStep node. MuAssertion node yakagadzirwa, wedzera chirevo chekufarira uye zadza minda.
- Fast. Gadzira iyo Assertion node pamwe nechirevo kubva kuChikumbiroStep node mhinduro uchishandisa menyu yemukati
Ngatishandise nzira yechipiri. Izvi ndizvo zvazvichaita kunyaya yedu.
Kune avo vasinganzwisise, hezvino zviri kuitika:
- Ita chikumbiro mune node get-post
- Mune tab Parsed pindura, fonera menyu yemukati uye sarudza Ita chirevo -> enzanisa -> enzana
Makorokoto, isu takagadzira bvunzo yedu yekutanga! Nyore, handizvo here? Iye zvino unogona kumhanya script zvachose uye unakirwe nemugumisiro. Chasara kuita refactor zvishoma woibvisa title
mune imwe yakasiyana siyana. Asi isu tichakusiira izvi sebasa repamba)
mhedziso
Mugwaro iri, takagadzira yakazara-yakazara mamiriro uye panguva imwechete yakaongorora zvimwe zvezvinhu zvechigadzirwa chedu. Ehe, isu hatina kushandisa ese mashandiro uye mune zvinotevera zvinyorwa isu tinopa yakadzama mhedziso yekugona kweTestMace. Ramba wakatarisa!
PS Kune avo vane usimbe zvakanyanya kubereka matanho ese, isu takanyora nemutsa
Source: www.habr.com