TestMace. wiwitan cepet

TestMace. wiwitan cepet

Halo kabeh. Kita alon-alon metu saka bayangan lan nerusake seri artikel babagan produk kita. Sawise sadurunge review artikel, kita nampa akèh saran (biasane positif), saran lan laporan bug. Dina iki kita bakal nuduhake TestMace ing tumindak lan sampeyan bakal bisa kanggo appreciate sawetara fitur saka aplikasi kita. Kanggo kecemplung sing luwih lengkap, aku menehi saran supaya maca dokumentasi kita ing http://docs-ru.testmace.com. Dadi, ayo padha lunga!

Instalasi

Ayo dadi miwiti karo banality. Aplikasi kasedhiya lan bener dites ing telung platform - Linux, Windows, MacOS. Sampeyan bisa ndownload installer kanggo OS sing sampeyan minati situs kita. Kanggo pangguna Linux bisa diinstal paket snap. Kita pancene ngarep-arep sing Microsoft Store lan App Store enggal njaluk watara iku (Apa perlu? Apa sampeyan mikir?).

Skenario eksperimental

Kita milih skenario standar ing ngisor iki minangka subyek tes:

  • Login: pangguna - admin, sandi - sandi
  • nambah entri anyar
  • Ayo priksa manawa rekaman kasebut ditambahake kanthi bener

Kita bakal nyoba https://testmace-quick-start.herokuapp.com/. Iki normal json-server, sampurna kanggo nguji aplikasi kasebut. Kita mung nambah wewenang kanthi token menyang kabeh rute json-server lan nggawe cara mlebu kanggo nampa token iki. Kita bakal mindhah progresif, mboko sithik nambah proyek kita.

Nggawe proyek lan nyoba nggawe entitas tanpa wewenang

Pisanan, ayo nggawe proyek anyar (file->Proyek anyar). Yen sampeyan miwiti aplikasi kanggo pisanan, proyek anyar bakal mbukak kanthi otomatis. Kaping pisanan, ayo nyoba nggawe panjaluk nggawe rekaman anyar (yen nggawe rekaman kasedhiya tanpa ijin). Pilih item saka menu konteks simpul Project Tambah simpul -> RequestStep. Setel jeneng simpul menyang nggawe-posting. Akibaté, simpul anyar bakal digawe ing wit lan tab kanggo simpul iki bakal mbukak. Ayo nyetel paramèter panyuwunan ing ngisor iki:

TestMace. wiwitan cepet

Nanging, yen kita nyoba ngrampungake panjaluk kasebut, server bakal ngasilake kode 401 lan tanpa wewenang, kita ora bakal entuk apa-apa ing server iki. Inggih, umume, kaya sing dikarepake).

Nambahake panjalukan wewenang

Kaya sing wis dingerteni, kita duwe titik pungkasan POST /login, sing njupuk json minangka badan panyuwunan formulir: {"username": "<username>", "password": "<password>"}ngendi username и password (maneh, saka paragraf pambuka ing ndhuwur) nduweni teges admin и password mungguh. Nanggepi, endpoint iki ngasilake json kaya {"token": "<token>"}. Kita bakal nggunakake kanggo wewenang. Ayo nggawe RequestStep simpul kanthi jeneng mlebu, bakal tumindak minangka leluhur project simpul Nggunakake seret lan selehake, mindhah simpul tartamtu ing wit sing luwih dhuwur tinimbang simpul nggawe-posting. Ayo nyetel paramèter ing ngisor iki menyang panyuwunan sing mentas digawe:

Ayo nglakokaké panyuwunan lan tampa kode rong atus kanthi token ing respon. Kaya iki:

TestMace. wiwitan cepet

Refactoring: mbusak duplikasi domain

Nganti saiki, panjaluk kasebut ora disambung menyang siji skrip. Nanging iki ora mung drawback. Yen sampeyan ndeleng kanthi teliti, sampeyan bakal weruh yen paling ora domain diduplikasi ing loro panjalukan. Ora apik. Iku wektu kanggo refactor iki bagéan saka script mangsa, lan variabel bakal bantuan kita karo iki.

Kanggo perkiraan pisanan, variabel duwe peran sing padha karo alat lan basa pamrograman liyane sing padha - ngilangi duplikasi, nambah keterbacaan, lsp. Sampeyan bisa maca liyane babagan variabel ing dokumentasi kita. Ing kasus iki, kita butuh variabel pangguna.

Ayo nemtokake variabel ing tingkat simpul Project domain kanthi teges https://testmace-quick-start.herokuapp.com. Kanggo iki perlu

  • Bukak tab nganggo simpul iki lan klik lambang kalkulator ing sisih tengen ndhuwur
  • Klik ing + TAMBAH VARIABEL
  • Ketik jeneng lan nilai variabel
    Ing kasus kita, dialog karo variabel sing ditambahake bakal katon kaya iki:

TestMace. wiwitan cepet

OK. Saiki, amarga warisan, kita bisa nggunakake variabel iki ing turunan saka sembarang tingkat nesting. Ing kasus kita iki node mlebu и nggawe-posting. Kanggo nggunakake variabel ing kolom teks, sampeyan kudu nulis ${<variable_name>}. Contone, url login diowahi dadi ${domain}/login, mungguh kanggo nggawe-posting url simpul bakal katon kaya ${domain}/posts.

Mangkono, dipandu dening prinsip DRY, kita wis rada apik skenario.

Simpen token menyang variabel

Awit kita ngomong babagan variabel, ayo nggedhekake topik iki sethithik. Ing wayahe, ing kasus login sukses, kita nampa saka server token wewenang, kang bakal perlu ing panjalukan sakteruse. Ayo simpen token iki dadi variabel. Amarga Nilai variabel bakal ditemtokake sajrone eksekusi skrip, kita nggunakake mekanisme khusus kanggo iki - variabel dinamis.

Pisanan, ayo nglakoni panjalukan login. Ing tab Parsed njawab, mindhah kursor liwat token lan ing menu konteks (sing diarani salah siji karo tombol mouse tengen utawa kanthi ngeklik tombol ...) pilih item Nemtokake kanggo variabel. Dialog bakal katon kanthi kolom ing ngisor iki:

  • Path - bagean saka jawaban sing dijupuk (ing kasus kita body.token)
  • Nilai saiki - nilai apa sing ana ing dalan (ing kasus iki, iki minangka nilai token)
  • Jeneng variabel - jeneng variabel ngendi Nilai saiki bakal dilestarekake. Ing kasus kita bakal dadi token
  • Node - ing endi leluhur variabel bakal digawe Jeneng variabel. Ayo pilih Project

Dialog sing wis rampung katon kaya iki:

TestMace. wiwitan cepet

Saiki saben-saben simpul dieksekusi mlebu variabel dinamis token bakal dianyari karo nilai anyar saka respon. Lan variabel iki bakal disimpen ing project simpul lan, thanks kanggo warisan, bakal kasedhiya kanggo turunane.

Kanggo ngakses variabel dinamis, sampeyan kudu nggunakake dibangun ing variabel $dynamicVar. Contone, kanggo ngakses token sing disimpen, sampeyan kudu nelpon ${$dynamicVar.token}.

We pass token wewenang menyang panjalukan

Ing langkah-langkah sadurunge, kita nampa token wewenang lan mung kudu nambah header Authorization kanthi teges Bearer <tokenValue> ing kabeh panjalukan sing mbutuhake wewenang, kalebu nggawe-posting. Ana sawetara cara kanggo nindakake iki:

  1. Salin token kanthi manual lan tambahake header wewenang kanggo panjaluk kapentingan. Cara kasebut bisa digunakake, nanging panggunaane diwatesi mung kanggo panjaluk saka jinis "digawe lan dibuwang". Ora cocog kanggo eksekusi skrip sing bola-bali
  2. Gunakake fungsi wewenang.
  3. Gunakake header standar

Nggunakake cara liya katon jelas, nanging ing konteks artikel iki, pendekatan iki ... ora menarik. Inggih, saestu: mekanisme wewenang plus minus sampeyan kenal karo alat liyane (sanajan kita duwe barang kaya warisan wewenang) lan ora bisa nuwuhake pitakon.

Bab liyane yaiku header standar! Cekakipun, header standar diwarisake header HTTP sing ditambahake menyang panyuwunan kanthi gawan kajaba dipateni sacara eksplisit. Nggunakake fungsi iki, sampeyan bisa, contone, ngleksanakake wewenang khusus utawa mung mbusak duplikasi ing skrip. Ayo nggunakake fitur iki kanggo pass token ing header.

Sadurunge, kita kanthi ati-ati nyimpen token menyang variabel dinamis $dynamicVar.token ing tingkat simpul Project. Kabeh sing isih ana yaiku nindakake ing ngisor iki:

  1. Nemtokake judhul standar Authorization kanthi teges Bearer ${$dynamicVar.token} ing tingkat simpul Project. Kanggo nindakake iki, ing antarmuka Project saka simpul sampeyan kudu mbukak dialog kanthi judhul standar (tombol header ing pojok tengen ndhuwur) lan tambahake judhul sing cocog. Dialog kanthi nilai sing diisi bakal katon kaya iki:
    TestMace. wiwitan cepet
  2. Pateni header iki saka panjalukan login. Iki bisa dingerteni: nalika mlebu, kita durung duwe token lan kita bakal nginstal kanthi panyuwunan iki. Mulane, ing antarmuka login saka panjalukan ing tab header ing wilayah kasebut Warisan busak centhang ing header Wewenang.

Mekaten. Saiki header wewenang bakal ditambahake menyang kabeh panjalukan sing minangka anak saka simpul Project, kajaba kanggo simpul login. Pranyata ing tahap iki kita wis siyap skrip lan sing kudu ditindakake yaiku miwiti. Sampeyan bisa mbukak skrip kanthi milih Run ing menu konteks simpul Project.

Priksa bener saka nggawe kiriman

Ing tahap iki, skrip kita bisa mlebu lan, nggunakake token wewenang, nggawe kiriman. Nanging, kita kudu nggawe manawa kiriman sing mentas digawe duwe jeneng sing bener. Tegese, kabeh sing isih ana yaiku nindakake perkara ing ngisor iki:

  • Kirimi panjalukan kanggo nampa kiriman kanthi id,
  • Priksa manawa jeneng sing ditampa saka server cocog karo jeneng sing dikirim nalika nggawe kiriman

Ayo katon ing langkah pisanan. Amarga nilai id ditemtokake sajrone eksekusi skrip, sampeyan kudu nggawe variabel dinamis (ayo sebut wae postId) saka simpul nggawe-posting ing tingkat simpul Project. Kita wis ngerti carane nindakake iki, mung deleng bagean kasebut Simpen token menyang variabel. Sing isih ana yaiku nggawe panjalukan kanggo nampa kiriman nggunakake id iki. Kanggo nindakake iki, ayo nggawe RequestStep njaluk-posting kanthi paramèter ing ngisor iki:

  • Tipe Panjaluk: GET
  • URL: ${domain}/posts/${$dynamicVar.postId}

Kanggo ngetrapake langkah kapindho, kita kudu kenal Penegasan simpul. Node Assertion minangka simpul sing ngidini sampeyan nulis mriksa kanggo panjaluk tartamtu. Saben simpul Assertion bisa ngemot sawetara pernyataan (mriksa). Sampeyan bisa maca liyane babagan kabeh jinis pratelan saka kita dokumentasi. Kita bakal nggunakake Compare pratelan karo operator equal. Ana sawetara cara kanggo nggawe pratelan:

  1. dawa. Nggawe simpul Assertion kanthi manual saka menu konteks simpul RequestStep. Ing simpul Assertion digawe, tambahake pratelan kapentingan lan isi kolom.
  2. Cepet. Gawe simpul Assertion bebarengan karo pernyataan saka respon simpul RequestStep nggunakake menu konteks

Ayo nggunakake cara liya. Iki bakal katon kaya kanggo kasus kita.

TestMace. wiwitan cepet

Kanggo sing ora ngerti, iki kedadeyan:

  1. Nggawe panjalukan ing simpul njaluk-posting
  2. Ing tab Parsed njawab, nelpon menu konteks banjur pilih Nggawe pratelan -> mbandhingaké -> witjaksono

Sugeng, kita wis nggawe test pisanan kita! Prasaja, ta? Saiki sampeyan bisa mbukak script rampung lan seneng asil. Kabeh sing isih ana yaiku refactor sethithik lan copot title menyang variabel kapisah. Nanging kita bakal ninggalake iki kanggo sampeyan minangka PR)

kesimpulan

Ing pandhuan iki, kita nggawe skenario lengkap lan ing wektu sing padha mriksa sawetara fitur produk kita. Mesthi wae, kita ora nggunakake kabeh fungsi lan ing artikel ing ngisor iki kita bakal menehi katrangan rinci babagan kemampuan TestMace. Tetep dirungokake!

PS Kanggo wong-wong sing kesed kanggo ngasilake kabeh langkah, kita wis nyathet kanthi apik gudang karo proyek saka artikel. Sampeyan bisa mbukak karo file -> Bukak proyek lan pilih folder Project.

Source: www.habr.com

Add a comment