TestMace. Te tiimata tere

TestMace. Te tiimata tere

Kia ora katoa. Kei te puhoi mai tatou i nga atarangi me te haere tonu i nga raupapa tuhinga mo a maatau hua. I muri mua tuhinga arotake, he maha nga urupare i tae mai ki a maatau (he pai te nuinga), nga whakaaro me nga purongo bug. I tenei ra ka whakaatu matou TestMace i roto i te mahi ka taea e koe te maioha ki etahi o nga ahuatanga o ta maatau tono. Mo te tino rumaki, ka tohutohu ahau ki a koe me titiro ki a maatau tuhinga kei http://docs-ru.testmace.com. No reira, haere tatou!

tāutanga

Me timata tatou ki te whakatapu. Kei te waatea te tono ka tino whakamatauria i runga i nga papaaho e toru - Linux, Windows, MacOS. Ka taea e koe te tango i te kaiwhakauru mo te OS e hiahia ana koe to tatou paetukutuku. Mo nga kaiwhakamahi Linux ka taea te whakauru pōkai pōkai. Kei te tino tumanako matou ka tere haere te Toa Microsoft me te Toa App (Me tika? He aha to whakaaro?).

Te tauari whakamatautau

I whiriwhiria e matou te ahuatanga paerewa e whai ake nei hei kaupapa whakamatautau:

  • Takiuru: kaiwhakamahi - kaiwhakahaere, kupuhipa - kupuhipa
  • tāpirihia he tāurunga hōu
  • Kia tirohia i tika te taapiri i te rekoata

Ka whakamatautau tatou https://testmace-quick-start.herokuapp.com/. He mea noa tenei json-tūmau, tino pai mo te whakamatautau i aua tono. I tapirihia e matou he whakamanatanga ma te tohu ki nga huarahi json-server katoa ka hangaia he tikanga takiuru hei whiwhi i tenei tohu. Ka neke haere, ka whakapai haere i ta maatau kaupapa.

Te hanga kaupapa me te ngana ki te hanga hinonga me te kore whakamana

Tuatahi, me hanga he kaupapa hou (kōnae->Te kaupapa hou). Mena kei te whakarewa koe i te tono mo te wa tuatahi, ka tuwhera aunoa he kaupapa hou. Tuatahi, me ngana tatou ki te tono ki te hanga rekoata hou (mehemea kei te waatea te hanga rekoata me te kore whakamana). Tīpakohia ngā tūemi mai i te tahua horopaki kōpuku Kaupapa Tāpiri kōpuku -> TonoStep. Tautuhia te ingoa node ki hanga-pou. Ko te mutunga, ka hangaia he node hou ki roto i te rakau ka tuwhera he ripa mo tenei node. Me tautuhi nga tawhā tono e whai ake nei:

TestMace. Te tiimata tere

Heoi, ki te ngana tatou ki te whakatutuki i te tono, ka whakahokia mai e te tūmau he waehere 401 me te kore he whakamanatanga karekau e whiwhi i tetahi mea i runga i tenei tūmau. Ana, i te nuinga o te waa, penei i te tumanako).

Te taapiri tono whakamana

Ka rite ki te korero kua korerohia, kei a matou he tohu mutunga POST /login, e tango ana i a json hei tinana tono o te puka: {"username": "<username>", "password": "<password>"}te wahi username и password (ano, mai i te kowae whakataki i runga ake nei) he tikanga admin и password ia. Hei whakautu, ka hoki mai tenei pito mutunga json rite {"token": "<token>"}. Ka whakamahia e matou mo te whakamana. Kia hanga tatou TonoStep kōpuku me te ingoa takiuru, ka noho hei tupuna kaupapa kōpuku Mā te tō-me-taka, nukuhia tētahi kōpuku i roto i te rākau teitei ake i te kōpuku hanga-pou. Me tautuhi nga tawhā e whai ake nei ki te tono hou i hanga:

Kia mahia te tono ka whiwhi i te rua rau waehere me te tohu i roto i te whakautu. He mea penei:

TestMace. Te tiimata tere

Refactoring: te tango i te taarua rohe

I tenei wa kaore i te hono nga tono ki te tuhinga kotahi. Engari ehara ko tenei anake te raru. Mena ka ata titiro koe, ka kite koe kei te taarua te rohe i roto i nga tono e rua. Ehara i te pai. Kua tae ki te wa ki te whakahoki ano i tenei waahanga o te tuhinga a meake nei, ka awhina nga taurangi ki tenei.

Ki te tata tuatahi, he rite te mahi a nga taurangi ki etahi atu taputapu me nga reo hotaka - te whakakore i te taarua, te whakanui ake i te panui, me era atu. Ka taea e koe te panui atu mo nga taurangi i roto a maatau tuhinga. I tenei keehi, ka hiahia taatau ki nga taurangi kaiwhakamahi.

Me tautuhi he taurangi i te taumata node Project domain me te tikanga https://testmace-quick-start.herokuapp.com. Mo tenei e hiahia ana koe

  • Whakatuwheratia te ripa me tenei node ka paato i te ata tatauranga kei te taha matau o runga
  • Patohia + Tāpiri VARIABLE
  • Whakauruhia te ingoa taurangi me te uara
    I roto i a maatau, ka penei te ahua o te korero me te taurangi taapiri:

TestMace. Te tiimata tere

pai. Inaianei, na te tuku iho, ka taea e tatou te whakamahi i tenei taurangi i roto i nga uri o nga taumata ohanga. I roto i to tatou take he node enei takiuru и hanga-pou. Hei whakamahi i tetahi taurangi i roto i te mara kuputuhi, me tuhi koe ${<variable_name>}. Hei tauira, ka hurihia te url takiuru ki ${domain}/login, mo ia hanga-pou Ka rite te ahua o te url node ${domain}/posts.

No reira, na te maataapono DRY i arataki, kua paku pai ake te ahuatanga.

Tiakina te tohu ki tetahi taurangi

I te mea e korero ana tatou mo nga taurangi, me whakawhänui ake i tenei kaupapa. I tenei wa, mena ka angitu te takiuru, ka whakawhiwhia mai e matou he tohu whakamanatanga mai i te tūmau, ka hiahiatia e matou i nga tono a muri ake nei. Kia tiakina tenei tohu ki tetahi taurangi. No te mea ka whakatauhia te uara o te taurangi i te wa e mahia ana te tuhinga, ka whakamahia he tikanga motuhake mo tenei - taurangi hihiri.

Tuatahi, me mahi he tono takiuru. I roto i te ripa Porohia whakautu, nukuhia te pehu ki runga i te tohu me te tahua horopaki (e kiia ana ma te paatene kiore matau, ma te paatene ranei i te paatene ...) tohua te mea Tautapa ki te taurangi. Ka puta mai he korero me nga mara e whai ake nei:

  • Ara — Ko tehea waahanga o te whakautu ka tangohia (i roto i ta maatau keehi body.token)
  • Uara o naianei — he aha te uara kei te taha o te Ara (i roto i a maatau ko te uara tohu tenei)
  • Ingoa ingoa — ingoa o te taurangi kei hea Uara o naianei ka tiakina. I roto i to tatou take ka waiho token
  • Node — ko wai o nga tupuna ka hanga te taurangi Ingoa ingoa. Me whiriwhiri Kaupapa

Ko te korero kua oti te ahua penei:

TestMace. Te tiimata tere

Inaianei i nga wa katoa ka mahia te node takiuru taurangi hihiri token ka whakahoutia me te uara hou mai i te whakautu. A ka penapena tenei taurangi ki roto kaupapa node, me te mihi ki te tuku iho, ka watea ki nga uri.

Hei uru atu ki nga taurangi hihiri, me whakamahi koe taurangi hanga-i roto $dynamicVar. Hei tauira, ki te uru ki tetahi tohu rongoa, me waea koe ${$dynamicVar.token}.

Ka tukuna e matou te tohu whakamana ki nga tono

I nga hikoinga o mua i whiwhi matou i te tohu whakamanatanga ko te mea noa hei mahi ma matou ko te taapiri pane Authorization me te tikanga Bearer <tokenValue> i roto i nga tono katoa e hiahia ana kia whakamanahia, tae atu ki hanga-pou. He maha nga huarahi hei mahi i tenei:

  1. Tārua ā-ringatia te tohu ka tāpirihia he pane whakamanatanga ki ngā tono pānga. Ka mahi te tikanga, engari he iti noa te whakamahi ki nga tono o te momo "hangaia ka maka atu". Kaore e pai mo te mahi tukurua o nga tuhinga
  2. Whakamahia te mahi whakamanatanga.
  3. Whakamahia pane taunoa

Ko te whakamahi i te tikanga tuarua e ahua kitea ana, engari i roto i te horopaki o tenei tuhinga, ko tenei huarahi ... kaore i te pai. Ae ra: ko te tikanga whakamana me te iti e mohio ana koe mai i etahi atu taputapu (ahakoa kei a maatau nga mea penei tukunga mana) a kare pea e ara ake nga patai.

Ko tetahi atu mea ko nga pane taunoa! I roto i te poto, ko nga pane taunoa he pane HTTP ka taapirihia ki te tono ma te taunoa engari mena kua monokia. Ma te whakamahi i tenei mahi, ka taea e koe, hei tauira, te whakatinana i te whakamanatanga ritenga, te whakakore noa ranei i te taarua i roto i nga tuhinga. Me whakamahi tenei ahuatanga ki te tuku tohu ki nga pane.

I mua, i tiakina marietia e matou te tohu ki tetahi taurangi hihiri $dynamicVar.token i te taumata kōpuku Kaupapa. Ko nga mea e toe ana ko te mahi i nga mea e whai ake nei:

  1. Tautuhia te taitara taunoa Authorization me te tikanga Bearer ${$dynamicVar.token} i te taumata kōpuku Kaupapa. Ki te mahi i tenei, i roto i te atanga Kaupapa o te node ka hiahia koe ki te whakatuwhera i tetahi korero me nga pane taunoa (patene Pane kei te kokonga matau o runga) me te taapiri i tetahi taitara e rite ana. Ko te korero me nga uara kua whakakiia ka penei te ahua:
    TestMace. Te tiimata tere
  2. Monokia tenei pane mai i te tono takiuru. He maamaa tenei: i te wa o te takiuru, kaore ano matou i te tohu ka whakauruhia e matou me tenei tono. Na reira, i roto i te atanga takiuru o te tono i roto i te ripa Pane Tuhinga o mua Whakauruhia wetekina te pane Whakamana.

Heoi ano. Inaianei ka taapirihia te pane whakamana ki nga tono katoa he tamariki no te node Kaupapa, engari mo te node takiuru. Te ahua nei i tenei wa kua rerihia he tuhinga tuhi, heoi ano ta matou mahi he whakarewa. Ka taea e koe te whakahaere i te tuhinga ma te kowhiri Whakahaere i roto i te tahua horopaki o te node Kaupapa.

Te tirotiro i te tika o te hanga pou

I tenei wa, ka taea e ta maatau tuhinga te takiuru me te whakamahi i te tohu whakamanatanga, te hanga panui. Heoi, me tino mohio kei te tika te ingoa o te pou katahi ano ka hanga. Ko te tikanga, ko nga mea e toe ana ko te mahi i enei e whai ake nei:

  • Tukuna he tono kia whiwhi panui ma te id,
  • Tirohia ko te ingoa i riro mai i te tūmau e rite ana ki te ingoa i tukuna i te wa e hanga ana i te pou

Kia titiro tatou ki te taahiraa tuatahi. I te mea kua whakatauhia te uara id i te wa e mahia ana te tuhinga, me hanga e koe he taurangi hihiri (me karangahia postId) mai node hanga-pou i te taumata kōpuku Kaupapa. Kua mohio tatou ki te mahi i tenei, tirohia noa te waahanga Tiakina te tohu ki tetahi taurangi. Ko nga mea e toe ana ko te hanga tono kia whiwhi panui ma te whakamahi i tenei id. Ki te mahi i tenei, me hanga he RequestStep tiki-post me nga tawhā e whai ake nei:

  • Momo tono: GET
  • URL: ${domain}/posts/${$dynamicVar.postId}

Hei whakatinana i te taahiraa tuarua, me mohio tatou Whakapuakanga pona. Ko te node Assertion he node ka taea e koe te tuhi arowhai mo nga tono motuhake. Ka taea e ia node Assertion te maha o nga whakapae (arowhai). Ka taea e koe te panui atu mo nga momo whakapae katoa mai i ta maatau tuhinga. Ka whakamahia e matou Compare te whakapae me te kaiwhakahaere equal. He maha nga huarahi hei hanga korero:

  1. Roa. Waihanga-a-ringatia he kōpuku Assertion mai i te tahua horopaki o te node RequestStep. I roto i te Assertion node i hangaia, taapirihia te whakapae o te paanga ka whakakiia nga mara.
  2. Tere. Waihangatia he node Assertion me tetahi korero mai i te urupare node RequestStep ma te whakamahi i te tahua horopaki

Me whakamahi te tikanga tuarua. Ko te ahua tenei mo to tatou keehi.

TestMace. Te tiimata tere

Mo te hunga kare i te marama, koinei te mahi:

  1. Hanga he tono i roto i te node tiki-post
  2. I roto i te ripa Porohia whakautu, waeahia te tahua horopaki ka kowhiri Waihanga whakapae -> Whakataurite -> rite

Kia ora, kua hanga e matou to maatau whakamatautau tuatahi! He ngawari, ehara? Inaianei ka taea e koe te whakahaere katoa i te tuhinga me te pai ki te hua. Ko nga mea e toe ana ko te whakahoki ano i te mea iti ka tangohia ki waho title ki te taurangi motuhake. Engari ka waiho tenei maau hei mahi kainga)

mutunga

I roto i tenei aratohu, i hangaia e matou he ahuatanga katoa me te wa ano i arotakehia etahi o nga ahuatanga o to maatau hua. Ae ra, kaore matou i whakamahi i nga mahi katoa me nga tuhinga e whai ake nei ka whakaratohia e matou he tirohanga taipitopito mo nga kaha o TestMace. Kia mau tonu!

PS Mo te hunga e mangere ana ki te whakaputa i nga hikoinga katoa, kua tuhia e matou putunga me te kaupapa mai i te tuhinga. Ka taea e koe te whakatuwhera me te kōnae -> Tuwhera kaupapa ka tohua te kōpaki Kaupapa.

Source: will.com

Tāpiri i te kōrero