Laghachi n'ụlọ akwụkwọ: otu esi azụ ndị na-anwale akwụkwọ ntuziaka ka ha na-emeso ule akpaaka

Anọ n'ime ise ndị na-achọ QA chọrọ ịmụta ka esi arụ ọrụ na ule akpaghị aka. Ọ bụghị ụlọ ọrụ niile nwere ike imezu ọchịchọ ndị nyocha akwụkwọ ntuziaka n'oge awa ọrụ. Wrike nwere ụlọ akwụkwọ akpaaka maka ndị ọrụ wee ghọta ọchịchọ a maka ọtụtụ. M so na ụlọ akwụkwọ a kpọmkwem dị ka nwa akwụkwọ QA.

Amụtara m otu esi arụ ọrụ na Selenium ma ugbu a na-akwado ọnụ ọgụgụ ụfọdụ nke autotests na-enweghị enyemaka ọ bụla. Na, dabere na nsonaazụ nke ahụmịhe nkwonkwo anyị na nkwubi okwu nke m, m ga-anwa iwepụta usoro maka ụlọ akwụkwọ akpaaka kacha mma.

Ahụmahụ Wrike n'ịhazi ụlọ akwụkwọ

Mgbe mkpa ụlọ akwụkwọ akpaaka bịara doo anya, nzukọ ya dabara Stas Davydov, onye na-eduzi teknụzụ nke akpaaka. Ònye ọzọ ma ọ́ bụghị ya pụrụ ịkọwa ihe mere ha ji malite atụmatụ a, ma hà rụpụtara ihe na ma hà na-akwa ụta maka oge ha ji mee ihe? Ka anyị nye ya ala:

- Na 2016, anyị dere usoro ọhụrụ maka autotests ma mee ka ọ dị mfe iji dee ule: nzọụkwụ nkịtị pụtara, usoro ahụ ghọrọ ihe a na-aghọta nke ọma. Anyị chepụtara echiche: anyị kwesịrị itinye aka na onye ọ bụla chọrọ ide ule ọhụrụ, na iji mee ka ọ dịkwuo mfe nghọta, anyị mepụtara usoro nkuzi. Anyị jikọtara ọnụ na atụmatụ nke isiokwu, onye ọ bụla n'ime ndị nkuzi ga-eme n'ọdịnihu were otu ma kwadebe akụkọ banyere ya.

— Olee ihe isi ike ụmụ akwụkwọ ahụ nwere?

- tumadi, n'ezie, ije. Enwere ọtụtụ ajụjụ gbasara nhazi nke ule anyị. Na nzaghachi, e dere ọtụtụ ihe na isiokwu a ma anyị ga-ejidekwu nkuzi iji kọwaa n'ụzọ zuru ezu.

— Ụlọ akwụkwọ ahụ ọ kwụrụ ụgwọ?

- Ee, n'ezie. Ekele ya, ọtụtụ ndị na-etinye aka na nyocha ederede, na, na nkezi, n'ụlọ ọgwụ, onye ọ bụla malitere ịghọta nke ọma ihe autotests bụ, otú e si dee ha na otú e si malite. Ibu dị na ndị injinia akpaaka ebelatala: ugbu a anyị na-enweta arịrịọ ole na ole ugboro ole maka enyemaka na nyocha ule, ebe ọ bụ na ndị nyocha na ndị mmepe amalitela ịnagide nke a n'onwe ha n'ihe fọrọ nke nta ka ọ bụrụ ọnọdụ niile. Ọfọn, enwere ọtụtụ uru dị n'ime maka ngalaba ahụ: anyị nwetara ahụmahụ na ihe ngosi na nkuzi, ekele nke ụfọdụ ndị injinia akpaaka ejirilarị mee ihe ngosi na nnọkọ, ma nwetakwa vidiyo na ihe ngosi dị ike maka ndị bịara ọhụrụ.

N'aha nke m, a ga m agbakwunye na nzikọrịta ozi n'etiti ngalaba anyị emeela ka ọ dị mfe n'ọkwa dị mfe na-akwa emo. Dịka ọmụmaatụ, ugbu a ọ dịghị m mkpa iche echiche banyere ikpe ndị ahụ yana ọkwa nke atomity iji megharịa. N'ihi ya, ndị niile nwere mmasị na-ahụ maka mkpuchi ule, nke na-eto eto mgbe niile. Ọ dịghị onye na-achọ ihe agaghị ekwe omume n'aka ndị ọzọ.

N'ozuzu, mmetụta na ọrụ nke otu dị mma. Ikekwe ndị ọrụ ibe na-agụ akụkọ a na-echekwa ime ihe yiri ya? Mgbe ahụ ndụmọdụ ahụ ga-adị mfe: ọ bara uru ma ọ bụrụ na ule akpaghị aka bụ ihe kacha mkpa maka gị. Ọzọ, anyị ga-ekwu maka ajụjụ dị mgbagwoju anya: otu esi ahazi ihe a niile dịka o kwere mee, nke mere na ọnụ ahịa nke ndị ọzọ niile dị ntakịrị na mmepụta kachasị.

Ndụmọdụ maka ịhazi

Ụlọ akwụkwọ ahụ bara uru, ma, dị ka Stas kwetara, e nwere ụfọdụ ihe isi ike, n'ihi ya, ọ dị mkpa iji dozie okwu ihu ọha ndị ọzọ. Ma ọ bụ dị ka nwa akwụkwọ na-adịbeghị anya na-atụnyere onwe m-na-amaghị ihe na onwe m-ugbu a ka m chepụtara usoro ndị a iji mepụta, n'uche nke m, ụzọ kachasị mma isi kụziere ndị na-anwale ịghọta ule akpaghị aka.

Nzọụkwụ 0. Mepụta akwụkwọ ọkọwa okwu

N'ezie, a chọrọ nzọụkwụ a ọ bụghị naanị maka QA. Agbanyeghị, achọrọ m ime ka ọ pụta ìhè: a ga-edobe codebase akpaaka n'ụdị enwere ike ịgụ. Asụsụ mmemme - ọ dịghị ihe ọzọ asụsụ, na site na nke a ị nwere ike ịmalite ịwụ mmiri gị.

Laghachi n'ụlọ akwụkwọ: otu esi azụ ndị na-anwale akwụkwọ ntuziaka ka ha na-emeso ule akpaaka

Nke a bụ nseta ihuenyo nke taskview nwere aha ihe ndị ahụ. Ka anyị were ya na ị na-anwale taskview dị ka igbe ojii na ahụbeghị Selenium na ndụ gị. Kedu ihe koodu a na-eme?

Laghachi n'ụlọ akwụkwọ: otu esi azụ ndị na-anwale akwụkwọ ntuziaka ka ha na-emeso ule akpaaka

(Spoiler - a na-ehichapụ ọrụ ahụ site na izu ike n'aha onye nchịkwa, mgbe ahụ anyị na-ahụ na e nwere ndekọ nke a na iyi.)

Naanị nzọụkwụ a na-eweta asụsụ QAA na QA nso. Ọ dịịrị ndị otu akpaaka mfe ịkọwa nsonaazụ nke ịgba ọsọ; ndị na-anwale akwụkwọ ntuziaka ga-etinye obere mgbalị n'ịmepụta ikpe: enwere ike ịme ha obere nkọwa. N'agbanyeghị nke ahụ, onye ọ bụla na-aghọta ibe ya. Anyị nwetara mmeri ọbụna tupu ezigbo ọzụzụ amalite.

Nzọụkwụ 1. Tinyegharịa nkebiokwu

Ka anyị gaa n'ihu n'usoro ya na asụsụ. Mgbe anyị mụtara ikwu okwu dịka ụmụaka, anyị anaghị ebido site na etymology na semantics. Anyị na-ekwughachi "mama", "zụta ihe egwuregwu ụmụaka", mana etinyela ozugbo na mgbọrọgwụ Proto-Indo-European nke okwu ndị a. Ya mere, ọ bụ ebe a: ọ dịghị uru na-emikpu n'ime omimi nke teknuzu atụmatụ nke autotests na-agbalịghị dee ihe na-arụ ọrụ.
Ọ na-ada ntakịrị counterintuitive, ma ọ na-arụ ọrụ.

Na nkuzi nke mbụ, ọ bara uru inye ndabere maka otu esi ede autotest ozugbo. Anyị na-enyere aka melite gburugburu mmepe (n'ọnọdụ m, Intellij IDEA), kọwaa iwu asụsụ kacha nta dị mkpa iji dee usoro ọzọ na klas dị ugbu a site na iji usoro ndị dị ugbu a. Anyị na ha na-ede otu ule ma ọ bụ abụọ ma nye ha ihe omume ụlọ, nke m ga-eme ka nke a dị ka nke a: alaka alaka si na nna ukwu, ma e wepụwo ọtụtụ ule na ya. Naanị nkọwa ha ka dị. Anyị na-arịọ ndị na-anwale ka ha weghachi ule ndị a (ọ bụghị site na ngosi dị iche, n'ezie).

N'ihi ya, onye gere ntị ma mee ihe niile ga-enwe ike:

  1. mụta ịrụ ọrụ na interface mmepe gburugburu ebe obibi: ịmepụta alaka, hotkeys, ime na ịkwanye;
  2. mara isi ihe n'usoro nke asụsụ na klaasị: ebe ịtinye injections na ebe ị ga-ebubata, ihe kpatara eji achọ nkọwa, na ụdị akara dị n'ebe ahụ, ewezuga nzọụkwụ;
  3. ghọta ọdịiche dị n'etiti ime ihe, chere na lelee, ebe ị ga-eji ihe;
  4. chọpụta ọdịiche dị n'etiti autotests na akwụkwọ ntuziaka: na autotest ị nwere ike ịdọrọ otu ma ọ bụ onye ọzọ njikwa kama ime omume site na interface. Dịka ọmụmaatụ, zipu nkọwa ozugbo na azụ azụ kama imepe ihe nlele, họrọ ntinye, dee ederede na ịpị bọtịnụ Zipụ;
  5. chepụta ajụjụ ndị a ga-aza na nzọụkwụ ọzọ.

Isi ihe ikpeazụ dị ezigbo mkpa. Enwere ike ịza azịza ndị a n'ụzọ dị mfe tupu oge eruo, ma ọ bụ ụkpụrụ nkuzi nke na-aza na-enweghị ajụjụ ndị a na-echepụtaghị ma ghara iji ya mee ihe mgbe ọ dị mkpa.

Ọ ga-adị mma ma ọ bụrụ na n'oge a onye injinia akpaaka sitere na ndị otu QA kenyere ya ọrụ na ide ule ole na ole n'agha ma kwe ka ọ nyefee alaka ụlọ ọrụ ya.

Ihe agaghị enye:

  1. ihe omuma miri emi nke oru nke gburugburu mmepe mmepe na asusu mmemme n'onwe ya, nke a ga-achota mgbe ya na alaka na-aru oru n'onwe ya. Agaghị echeta ya, ị ga-akọwa ya ugboro abụọ ma ọ bụ ugboro atọ, mana anyị ji oge ndị injinia akpaaka kpọrọ ihe, nri? Ọmụmaatụ: idozi esemokwu, ịgbakwunye faịlụ na git, imepụta klas site na ọkọ, na-arụ ọrụ na ndabere;
  2. ihe niile metụtara xpath. Kwuonụ okwu. Ịkwesịrị ikwu maka ya iche iche, otu ugboro na n'ụzọ gbadoro anya.

Nzọụkwụ 2. Na-elebakwu anya na ụtọ asụsụ

Ka anyị cheta nseta ihuenyo taskview site na nzọụkwụ #0. Anyị nwere nzọụkwụ a na-akpọ checkCommentWithTextExists. Onye na-anwale anyị aghọtalarị ihe nzọụkwụ a na-eme ma anyị nwere ike ileba anya n'ime nzọụkwụ ahụ wee chefuo ya ntakịrị.

Na n'ime anyị nwere ihe ndị a:

onCommentBlock(userName).comment(expectedText).should(displayed());

Ebe onCommentBlock dị

onCommonStreamPanel().commentBlock(userName);

Ugbu a, anyị na-amụta ịsị "zụta ihe egwuregwu ụmụaka," kama "zụta ihe egwuregwu ụmụaka na ụlọ ahịa Detsky Mir, nke dị na kọbọd na-acha anụnụ anụnụ na shelf nke atọ site n'elu." Ọ dị mkpa ịkọwapụta na anyị na-atụ aka na mmewere n'usoro, site na nnukwu ihe (iyi -> ngọngọ na nkwupụta sitere n'aka otu onye -> akụkụ nke ngọngọ a ebe ederede akọwapụtara na-anọdụ ala).

Mba, ọ ka bụ oge ikwu maka xpath. Naanị kwupụta nkenke na ntuziaka ndị a niile ka ha kọwara na ihe nketa na-aga site na ha. Ma anyị kwesịrị ikwu banyere ndị a niile matchers na waiters; ha metụtara kpọmkwem na nke a nzọụkwụ na dị mkpa ịghọta ihe na-eme. Ma ebula ibu: nwa akwụkwọ gị nwere ike mụọ nkwupụta siri ike n'onwe ya ma emechaa. O yikarịrị, kwesịrị, chere ruo mgbe, gosipụtara();, adị();, ọ bụghị(); kwesịrị ezuru.

Ihe omume ụlọ akwụkwọ doro anya: alaka ụlọ ọrụ nke wepụrụ ọdịnaya nke usoro dị iche iche dị mkpa maka ọnụ ọgụgụ ụfọdụ nke ule. Ka ndị na-anwale weghachi ha ma mee ka ọsọ ahụ bụrụ akwụkwọ ndụ akwụkwọ ndụ ọzọ.

Ọzọkwa, ọ bụrụ na ndị otu ule nwere ọ bụghị naanị atụmatụ ọhụrụ na ọrụ ya, kamakwa ụfọdụ ndozi ahụhụ, ị ​​nwere ike ịrịọ ya ka o dee ule ozugbo maka ahụhụ ndị a wee hapụ ha. O yikarịrị ka akọwaworị ihe ndị ahụ niile; naanị usoro ole na ole nwere ike na-efu. Nke a ga-abụ mgbatị ahụ zuru oke.

Nzọụkwụ 3. Nmikpu zuru oke

Dị ka o kwere mee maka onye nyocha nke ga-aga n'ihu na-arụ ọrụ ya kpọmkwem. N'ikpeazụ, anyị kwesịrị ikwu maka xpath.

Nke mbụ, ka anyị mee ka o doo anya na ndị a niile onCommentBlock na nkọwa ha kọwara ya.

Laghachi n'ụlọ akwụkwọ: otu esi azụ ndị na-anwale akwụkwọ ntuziaka ka ha na-emeso ule akpaaka

Ọnụ:

"//div[contains(@class, ‘stream-panel’)]//a[contains(@class,'author') and text()='{{ userName }}’]//div[contains(@class,'change-wrapper') and contains(.,'{{ text }}’)]"

Usoro nke akụkọ a dị ezigbo mkpa. Nke mbụ, anyị na-ewere xpath ọ bụla dịnụ wee gosi ka ihe taabụ ahụ nwere otu na naanị otu ihe. Ọzọ, anyị ga-ekwu maka nhazi ahụ: mgbe ịchọrọ iji WebElement, na mgbe ịchọrọ ịmepụta faịlụ dị iche maka ihe ọhụrụ. Nke a ga-enye gị ohere ịghọta ihe nketa nke ọma.

A ghaghị ikwu n'ụzọ doro anya na otu ihe bụ ọrụ dum, ọ nwere ihe ụmụaka - iyi dum, nke nwere ihe ụmụaka - nkọwa dị iche, wdg. Ihe ụmụaka dị n'ime ihe nne na nna ma na ibe yana n'usoro nke ihe nrụpụta akpaaka.

N'oge a, ndị na-ege ntị kwesịrị ịghọta nke ọma ka esi eketa ha yana ihe enwere ike ịbanye ma akara akara na onCommentBlock. N'ebe a, anyị na-akọwa ndị ọrụ niile: /, //, ., [] na ndị ọzọ. Anyị na-agbakwụnye ihe ọmụma banyere iji n'ime ibu @class na ihe ndị ọzọ dị mkpa.

Laghachi n'ụlọ akwụkwọ: otu esi azụ ndị na-anwale akwụkwọ ntuziaka ka ha na-emeso ule akpaaka

Ụmụ akwụkwọ kwesịrị ịghọta ka esi asụgharị xpath otu a. Ijikwa - nke ahụ ziri ezi, ọrụ ụlọ. Anyị na-ehichapụ nkọwa nke ihe ndị ahụ, ka ha weghachi ọrụ nke ule.

Gịnị kpatara ụzọ a pụrụ iche?

Anyị ekwesịghị ibufe onye nwere ihe ọmụma dị mgbagwoju anya, ma anyị aghaghị ịkọwa ihe niile ozugbo, nke a bụkwa nsogbu siri ike. Ụzọ a ga-eme ka anyị buru ụzọ mee ka ndị na-ege ntị jụọ ajụjụ ma ghara ịghọta ihe ma zaa ha oge ọzọ. Ọ bụrụ na ị na-ekwu banyere ihe owuwu ahụ dum, mgbe ahụ site na mgbe a na-enyocha isiokwu nke nzọụkwụ ma ọ bụ xpath, a ga-echefu akụkụ kachasị mkpa nke ya n'ihi enweghị nghọta ha.

Otú ọ dị, ụfọdụ n'ime unu ga-enwe ike ịkekọrịta ahụmahụ gị na otu esi eme ka usoro ahụ dịkwuo mma. M ga-enwe obi ụtọ ịgụ aro ndị yiri ya na nkọwa!

isi: www.habr.com

Tinye a comment