Nyob zoo sawv daws. Peb maj mam tawm ntawm qhov ntxoov ntxoo thiab txuas ntxiv cov kab lus ntawm peb cov khoom. Tom qab yav dhau los tsab xov xwm tshuaj xyuas, peb tau txais ntau cov lus tawm tswv yim (feem ntau yog qhov zoo), cov lus qhia thiab cov lus ceeb toom kab mob. Hnub no peb yuav qhia TestMace nyob rau hauv kev txiav txim thiab koj yuav muaj peev xwm txaus siab rau ib co ntawm cov yam ntxwv ntawm peb daim ntawv thov. Txhawm rau kom nkag siab ntau ntxiv, kuv qhia koj kom xa mus rau peb cov ntaub ntawv ntawm http://docs-ru.testmace.com. Yog li, cia peb mus!
chaw
Cia peb pib nrog banality. Daim ntawv thov no muaj thiab tau sim rau peb lub platform - Linux, Windows, MacOS. Koj tuaj yeem rub tawm lub installer rau OS koj xav tau los ntawm peb lub vev xaib. Rau cov neeg siv Linux nws tuaj yeem nruab snap pob. Peb cia siab tias Microsoft Store thiab App Store yuav nyob ib puag ncig sai sai (Nws puas tsim nyog? Koj xav li cas?).
Kev sim scenario
Peb xaiv cov txheej txheem hauv qab no raws li peb qhov kev xeem:
Nkag mus: user - admin, password - password
ntxiv qhov nkag tshiab
Cia peb xyuas tias cov ntaub ntawv tau ntxiv lawm
Peb yuav sim rau https://testmace-quick-start.herokuapp.com/. Qhov no yog qhov qub json-server, zoo meej rau kev sim xws li kev siv. Peb nyuam qhuav ntxiv kev tso cai los ntawm token rau txhua txoj hauv kev json-server thiab tsim ib txoj hauv kev nkag mus kom tau txais cov token no. Peb yuav txav mus zuj zus, maj mam txhim kho peb qhov project.
Thov lub cev: json nrog tus nqi {"title": "New testmace quick start post"}
Yog tias koj ua txhua yam kom raug, lub interface yuav zoo li no:
Txawm li cas los xij, yog tias peb sim ua kom tiav qhov kev thov, tus neeg rau zaub mov yuav xa rov qab 401 code thiab tsis muaj kev tso cai peb yuav tsis tau txais dab tsi ntawm lub server no. Zoo, feem ntau, raws li xav tau).
Ntxiv ib daim ntawv thov kev tso cai
Raws li twb tau hais lawm, peb muaj POST kawg /login, uas siv json raws li lub cev thov ntawm daim ntawv: {"username": "<username>", "password": "<password>"}qhov twg username ΠΈ password (dua li, los ntawm cov nqe lus qhia saum toj no) muaj lub ntsiab lus admin ΠΈ password raws. Hauv kev teb, qhov kawg no rov qab json zoo li {"token": "<token>"}. Peb yuav siv nws rau kev tso cai. Wb tsim ThovStep node nrog npe ID nkag mus, yuav ua ib tug yawm txiv project node Siv luag-thiab-nco, txav ib qho chaw nyob rau hauv tsob ntoo siab tshaj qhov node tsim-post. Cia peb teeb tsa cov kev txwv hauv qab no rau qhov kev thov tsim tshiab:
Cia peb txhais qhov sib txawv ntawm qhov Project node theem domain nrog lub ntsiab lus https://testmace-quick-start.herokuapp.comCov. Rau qhov no nws yog qhov tsim nyog
Qhib lub tab nrog node thiab nyem rau ntawm lub tshuab xam zauv icon nyob rau sab xis saum toj
Nyem rau + NTAU NTAU NTAU
Sau lub npe sib txawv thiab tus nqi
Hauv peb qhov xwm txheej, kev sib tham nrog qhov sib txawv ntxiv yuav zoo li no:
OK. Tam sim no, vim qhov qub txeeg qub teg, peb tuaj yeem siv qhov sib txawv no hauv cov xeeb leej xeeb ntxwv ntawm txhua qib zes. Hauv peb cov ntaub ntawv no yog cov nodes ID nkag mus ΠΈ tsim-post. Txhawm rau siv qhov sib txawv hauv cov ntawv sau, koj yuav tsum sau ${<variable_name>}. Piv txwv li, tus ID nkag mus url yog hloov dua siab tshiab rau ${domain}/login, feem rau tsim-post node url yuav zoo li ${domain}/posts.
Yog li, coj los ntawm DRY txoj cai, peb tau txhim kho qhov xwm txheej me ntsis.
Txuag lub token mus rau qhov sib txawv
Txij li thaum peb tab tom tham txog kev hloov pauv, cia peb nthuav dav ntawm cov ncauj lus no me ntsis. Tam sim no, nyob rau hauv cov ntaub ntawv ntawm kev ua tiav kev nkag mus, peb tau txais los ntawm tus neeg rau zaub mov ib qho kev tso cai token, uas peb yuav xav tau hauv kev thov tom ntej. Cia peb khaws qhov token no rau hauv qhov sib txawv. Vim tus nqi ntawm qhov sib txawv yuav raug txiav txim thaum lub sijhawm ua tiav tsab ntawv, peb siv lub tshuab tshwj xeeb rau qhov no - dynamic variables.
Ua ntej, cia peb ua daim ntawv thov nkag. Hauv tab Laj xeeb teb, txav tus cursor hla lub token thiab nyob rau hauv cov ntawv qhia zaub mov (uas yog hu ua nrog rau txoj cai nas khawm los yog nyem rau ntawm lub pob ...) xaiv cov khoom Muab rau qhov sib txawv. Ib lub dialog yuav tshwm sim nrog cov nram qab no:
Kab - Ib feem ntawm cov lus teb yog coj li cas (hauv peb rooj plaub nws yog body.token)
Tus nqi tam sim no - Tus nqi dab tsi nyob ntawm Txoj Kev (hauv peb qhov no yog tus nqi token)
Hloov lub npe - lub npe ntawm qhov sib txawv qhov twg Tus nqi tam sim no yuav khaws cia. Hauv peb qhov xwm txheej nws yuav yog token
Siv txoj kev thib ob zoo li pom tseeb, tab sis nyob rau hauv cov ntsiab lus ntawm tsab xov xwm no, txoj hauv kev no yog ... uninteresting. Zoo, tiag tiag: qhov kev tso cai mechanism ntxiv rau qhov rho tawm yog paub rau koj los ntawm lwm yam cuab yeej (txawm tias peb muaj tej yam zoo li kev tso cai qub txeeg qub teg) thiab tsis zoo li yuav tsa cov lus nug.
Lwm yam yog lub neej ntawd headers! Nyob rau hauv ib lub ntsiab lus, default headers yog inherited HTTP headers uas tau ntxiv rau qhov kev thov los ntawm lub neej ntawd tshwj tsis yog tias muaj kev xiam oob qhab. Siv qhov kev ua haujlwm no, koj tuaj yeem, piv txwv li, ua raws li kev cai tso cai lossis tsuas yog tshem tawm cov ntawv luam tawm. Cia peb siv qhov tshwj xeeb no kom dhau lub token hauv cov headers.
Yav dhau los, peb ua tib zoo khaws lub token rau qhov sib txawv dynamic $dynamicVar.token nyob rau theem Project node. Txhua yam uas tseem tshuav yog ua raws li hauv qab no:
Txhais lub npe default Authorization nrog lub ntsiab lus Bearer ${$dynamicVar.token} nyob rau theem Project node. Txhawm rau ua qhov no, nyob rau hauv qhov project interface ntawm node koj yuav tsum qhib lub dialog nrog default headings (khawm. Headers nyob rau sab xis saum toj kawg nkaus) thiab ntxiv cov npe sib xws. Lub dialog nrog cov nqi sau yuav zoo li no:
Disable no header los ntawm tus ID nkag mus thov. Qhov no yog to taub: thaum lub sij hawm nkag mus, peb tseem tsis tau muaj ib tug token thiab peb yuav nruab nws nrog qhov kev thov no. Yog li ntawd, nyob rau hauv tus ID nkag mus interface ntawm qhov kev thov nyob rau hauv lub tab Headers hauv cheeb tsam ntawm Txais nyiaj uncheck qhov Authorization header.
Yog tag nrho. Tam sim no cov ntawv tso cai yuav muab ntxiv rau txhua qhov kev thov uas yog menyuam yaus ntawm Project node, tshwj tsis yog rau tus ID nkag mus. Nws hloov tawm tias nyob rau theem no peb twb muaj tsab ntawv npaj thiab txhua yam peb yuav tsum tau ua yog tso nws. Koj tuaj yeem khiav cov ntawv los ntawm kev xaiv khiav nyob rau hauv qhov Project node lub ntsiab lus teb zaub mov.
Tshawb xyuas qhov tseeb ntawm kev tsim cov ncej
Nyob rau theem no, peb tsab ntawv tuaj yeem nkag mus thiab, siv lub cim tso cai, tsim cov ntawv tshaj tawm. Txawm li cas los xij, peb yuav tsum xyuas kom meej tias qhov kev tshaj tawm tshiab tau tsim muaj lub npe raug. Ntawd yog, hauv qhov tseeb, txhua yam uas tseem tshuav yog ua cov hauv qab no:
Xa ib daim ntawv thov kom tau txais ib daim ntawv los ntawm id,
Xyuas kom meej tias lub npe tau txais los ntawm lub server sib phim lub npe xa thaum tsim cov ncej
Cia peb saib thawj kauj ruam. Txij li thaum tus nqi id yog txiav txim siab thaum ua tiav tsab ntawv, koj yuav tsum tsim kom muaj qhov hloov pauv hloov pauv (cia hu nws postId) los ntawm node tsim-post nyob rau theem Project node. Peb twb paub yuav ua li cas rau qhov no, cia li xa mus rau seem Txuag lub token mus rau qhov sib txawv. Txhua yam uas tseem tshuav yog tsim kom tau txais kev tshaj tawm siv tus ID no. Txhawm rau ua qhov no, cia peb tsim qhov RequestStep tau-post nrog rau cov nram qab no parameter:
Pab kev zoo siab, peb tau tsim peb qhov kev sim thawj zaug! Yooj yim, tsis yog nws? Tam sim no koj tuaj yeem khiav cov ntawv tag nrho thiab txaus siab rau qhov tshwm sim. Txhua yam uas tseem tshuav yog kom rov kho nws me ntsis thiab muab nws tawm title mus rau hauv ib qho kev sib txawv. Tab sis peb yuav tso qhov no rau koj ua homework)
xaus
Nyob rau hauv phau ntawv qhia no, peb tsim ib tug tag nrho-fledged scenario thiab nyob rau tib lub sij hawm tshuaj xyuas ib co ntawm cov yam ntxwv ntawm peb cov khoom. Tau kawg, peb tsis tau siv tag nrho cov kev ua haujlwm thiab hauv cov lus hauv qab no peb yuav muab cov ncauj lus kom ntxaws txog cov peev txheej ntawm TestMace. Nyob twj ywm!
PS Rau cov neeg uas tub nkeeg dhau los ua kom rov ua dua txhua kauj ruam, peb tau ua siab zoo chaw cia khoom nrog qhov project los ntawm kab lus. Koj tuaj yeem qhib nws nrog cov ntaub ntawv -> Qhib qhov project thiab xaiv qhov Project folder.