Ku noqoshada dugsiga: sida loo tababaro imtixaan-qaadayaasha gacanta si ay ula tacaalaan imtixaannada tooska ah

Afar ka mid ah shantii codsade QA waxay rabaan inay bartaan sida loogu shaqeeyo imtixaanada tooska ah. Dhammaan shirkadaha ma fulin karaan rabitaanka tijaabiyaasha gacanta inta lagu jiro saacadaha shaqada. Wrike wuxuu u qabtay shaqaalaha dugsi toos ah wuxuuna xaqiiqsaday rabitaankan dad badan. Waxaan dugsigan uga qaybqaatay si sax ah anigoo arday QA ah.

Waxaan bartay sida loola shaqeeyo Selenium oo hadda si madax-bannaan u taageera tiro cayiman oo autotests ah iyada oo aan haba yaraatee lahayn caawimo dibadda ah. Iyo, iyada oo ku saleysan natiijooyinka khibradeena wadajirka ah iyo gabagabadayda shaqsiyeed, waxaan isku dayi doonaa inaan soo saaro qaacidada ugu habboon dugsiga otomaatiga ah.

Waayo-aragnimada Wrike ee abaabulka dugsi

Markii baahida loo qabo dugsi otomaatig ah ay caddaatay, ururkeedu wuxuu ku dhacay Stas Davydov, hogaamiyaha farsamada ee otomatiga. Yaase kale oo sheegi kara sababta ay hindisahan u keeneen, in ay natiijo ka gaareen iyo in ay ka qoomameeyeen waqtigii lagu bixiyay? Aan siino hadalka:

- 2016, waxaan u qornay qaab cusub oo loogu talagalay autotests waxaanan ka dhignay si ay u fududaato in la qoro imtixaanada: tillaabooyinka caadiga ah ayaa soo muuqday, qaabdhismeedku wuxuu noqday mid aad u badan oo la fahmi karo. Waxaan la nimid fikrad ah: waxaan u baahannahay inaan ka qaybgelino qof kasta oo raba inuu qoro imtixaan cusub, si loo fududeeyo fahamka, waxaan abuurnay muxaadaro taxane ah. Waxaan si wada jir ah u dejinay qorshe mowduucyo ah, mid kasta oo ka mid ah macallimiinta mustaqbalka ayaa mid ka mid ah qaatay oo ka diyaariyay warbixin.

- Dhibaato noocee ah ayaa ardaydu soo martay?

- Inta badan, dabcan, naqshadaha. Waxaa jiray su'aalo badan oo ku saabsan qaabka imtixaannadayada. Jawaab-celinta, wax badan ayaa laga qoray mawduucan waxaanan ku qasbanahay inaan qabanno casharro dheeraad ah si aan u sharaxno si faahfaahsan.

- Dugsigu miyuu faa'iido u yeeshay?

- Haa, xaqiiqdii. Thanks to iyada, dad badan ayaa ku lug lahaa imtixaannada qorista, celcelis ahaan, isbitaalka, qof kastaa wuxuu bilaabay inuu si fiican u fahmo waxa autotests ay yihiin, sida loo qoro iyo sida loo bilaabay. Culayska ku jira injineerada otomaatiga ayaa sidoo kale hoos u dhacay: hadda waxaan helnaa marar badan oo ka yar codsiyada caawinta falanqaynta imtixaannada, maadaama tijaabiyaasha iyo horumariyayaashu ay bilaabeen inay la qabsadaan naftooda tan ku dhawaad ​​dhammaan xaaladaha. Hagaag, waxaa jira dhowr faa'iidooyin gudaha ah oo loogu talagalay waaxda: waxaan ka helnay khibrad bandhigyo iyo muxaadaro, taas oo ay ugu mahadcelinayaan qaar ka mid ah injineerada otomaatiga ah ayaa horay u suurtageliyay inay soo bandhigaan shirarka, waxayna sidoo kale heleen fiidiyooyo iyo bandhigyo awood leh oo loogu talagalay soogalayaasha cusub.

Anigoo ku hadlaya magacayga, waxaan ku dari doonaa in xidhiidhka ka dhexeeya waaxyadeena la fududeeyay ilaa heer aad u fudud oo qosol leh. Tusaale ahaan, hadda dhab ahaantii uma baahnid inaan ka fikiro kiisaska iyo heerka atomicity ee si otomaatig ah loo sameeyo. Natiijo ahaan, dhammaan dhinacyada xiiseynaya waxay si buuxda u daryeelayaan caymiska imtixaanka, kaas oo si joogto ah u koraya. Qofna wax aan macquul ahayn kama dalbado dadka kale.

Guud ahaan, saameynta shaqada kooxuhu waa hubaal. Waxaa laga yaabaa in asxaabta akhrinaya maqaalkan ay sidoo kale ka fekerayaan inay sameeyaan wax la mid ah? Markaa taladu waxay noqon doontaa mid fudud: way u qalantaa haddii imtixaannada otomaatiga ah ay kuu yihiin mudnaantaada. Marka xigta, waxaan ka hadli doonaa su'aal aad u adag: sida loo habeeyo waxaas oo dhan sida ugu saxsan ee suurtogalka ah, si kharashyada dhammaan dhinacyada ay u yar yihiin wax soo saarkuna waa ugu badnaan.

Talooyinka abaabulka

Dugsigu wuxuu ahaa mid faa'iido leh, laakiin, sida Stas qirtay, waxaa jiray qaar ka mid ah dhibaatooyinka, sababtoo ah waxaa lagama maarmaan ah in la diyaariyo casharro dheeraad ah. Waxayna ahayd ardaygii dhowaa isbarbardhigga naftayda-jaahilnimada iyo naftayda-hadda waxaan sameeyay tillaabooyinka soo socda si aan u abuuro, ra'yigeyga, habka ugu habboon ee lagu baro imtixaannada si ay u fahmaan imtixaannada tooska ah.

Tallaabada 0. Samee qaamuus

Dabcan, tallaabadan looma baahna oo keliya QA. Si kastaba ha ahaatee, waxaan rabaa inaan si cad u sheego: codebase-ka otomaatiga ah waa in lagu hayaa qaab la akhriyi karo. Luuqadaha barnaamijka - ugu yaraan luqadaha, oo tan waxaad ka bilaabi kartaa quusintaada.

Ku noqoshada dugsiga: sida loo tababaro imtixaan-qaadayaasha gacanta si ay ula tacaalaan imtixaannada tooska ah

Halkan waxa ah sawir-qaade hawleed leh magacyada canaasirta. Aan qiyaaso inaad tijaabinayso hawl-aragti sida sanduuq madow oo aadan weligaa arag Selenium noloshaada. Muxuu xeerkani qabtaa?

Ku noqoshada dugsiga: sida loo tababaro imtixaan-qaadayaasha gacanta si ay ula tacaalaan imtixaannada tooska ah

(Spoiler - hawsha waxaa lagu tirtiraa nasasho iyada oo loo marayo magaca maamulka, ka dibna waxaan aragnaa in uu jiro diiwaan tan ku jira qulqulka.)

Tallaabadan oo keliya ayaa isu soo dhawaynaysa luqadaha QAA iyo QA. Way u fududahay kooxaha otomaatiga ah inay sharaxaan natiijooyinka orodka; tijaabiyeyaasha gacanta waa inay ku bixiyaan dadaal yar abuurista kiisaska: waxaa laga dhigi karaa tafaasiil yar. Weli, qof kastaa wuu isfahmaa. Waxaan helnay guulaha xitaa ka hor inta uusan bilaaban tababarka dhabta ah.

Tallaabada 1. Ku celi weedhaha

Aynu sii wadno barbar-dhigga luqadda. Marka aan baranno hadalka caruurnimada, kama soo bilowno etymology iyo semantics. Waxaan ku celinaa "hooyo", "iibso toy", laakiin isla markiiba ha gelin xididada Proto-Indo-European ee erayadan. Sidaas awgeed waa halkan: ma jirto wax macno ah oo lagu quusto qoto dheer ee sifooyinka farsamada ee autotests iyada oo aan la isku dayin in la qoro wax shaqeynaya.
Waxay u egtahay wax yar oo liddi ku ah, laakiin way shaqeysaa.

Casharka koowaad, waxaa habboon in la bixiyo saldhig ku saabsan sida tooska ah ee loo qoro autotests. Waxaan gacan ka geysaneynaa dejinta jawiga horumarinta (xaaladkeyga, Intellij IDEA), sharax shuruucda luqadda ugu yar ee lagama maarmaanka u ah in lagu qoro hab kale fasalka jira iyadoo la adeegsanayo tillaabooyinka jira. Waxaan la qornaa hal ama laba imtixaan oo aan siino shaqada guriga, taas oo aan u qaabayn lahaa sidatan: laan ka soo baxday sayidkii, laakiin dhowr imtixaan ayaa laga saaray. Sharaxadooda kaliya ayaa hadhay. Waxaan ka codsaneynaa tijaabiyaasha inay soo celiyaan imtixaanadaan (ma ahan muujinta kala duwanaanta, dabcan).

Taasi waxay keentay in kii dhegaystay oo wax walba sameeyay uu awood u yeesho:

  1. baro inaad la shaqeyso jawiga horumarinta: abuurista laamo, furayaal kulul, go'aan iyo riixid;
  2. si fiican u yaqaan aasaaska qaab dhismeedka luqadda iyo fasallada: meesha la geliyo irbado iyo meesha laga keeno, sababta qoraallada loogu baahan yahay, iyo nooca calaamadaha halkaas laga helo, ka sakow tillaabooyinka;
  3. Faham farqiga u dhexeeya ficilka, sug oo hubi, meesha aad ka isticmaali karto;
  4. u fiirso farqiga u dhexeeya autotests iyo jeegaga gacanta: autotests waxaad jiidi kartaa hal ama mid kale oo gacanta ku haya halkii aad ka samayn lahayd ficil iyada oo loo marayo interface. Tusaale ahaan, si toos ah faallo ugu soo dir dhabarka dambe halkii aad ka furi lahayd muuqaal hawleed, xulashada gelinta, qorista qoraalka iyo gujinta badhanka dir;
  5. samee su'aalo laga jawaabi doono tallaabada xigta.

Qodobka ugu dambeeya waa mid aad muhiim u ah. Jawaabahaas si fudud ayaa loo bixin karaa wakhti ka hor, laakiin waa mabda'a waxbarid muhiim ah oo ka jawaaba su'aalaha la qaabeeyey aan la xasuusan oo aan la isticmaalin marka ugu dambeyntii loo baahdo.

Way fiicnaan lahayd haddii wakhtigan injineer otomaatig ah oo ka socda kooxda QA uu u xilsaaray hawl uu ku qorayo dhawr tijaabo oo dagaal ah una oggolaaday inuu u hoggaansamo laantiisa.

Maxaan la siin:

  1. Aqoon qoto dheer oo dheeraad ah oo ku saabsan shaqeynta deegaanka horumarinta iyo luqadda barnaamijyada lafteeda, taas oo loo baahan doono oo kaliya marka si madax-bannaan loola shaqeeyo laamaha. Lama xasuusan doono, waa inaad sharaxdaa laba jeer ama saddex jeer, laakiin waxaanu qiimaynaa wakhtiga injineerada otomaatiga ah, sax? Tusaalooyinka: xallinta isku dhacyada, ku darista faylalka git, abuurista xiisado xoq ah, la shaqeynta dadka ku tiirsanaanta;
  2. wax kasta oo la xiriira xpath. Dhab ahaantii. Waxaad u baahan tahay inaad si gaar ah uga hadasho, hal mar oo aad u xoog badan.

Tallaabada 2. Inaad si dhow u eegto naxwaha

Aynu xasuusanno sawirka shaashadda ee hawsha #0. Waxaan haynaa tilaabo la yiraahdo checkCommentWithTextExists. Tijaabiyahayagu waa uu fahmay waxa ay tallabadani samaynayso waxaanu eegi karnaa gudaha tallabada oo aanu wax yar ka dumin karnaa.

Gudahana waxaan ku haynaa kuwa soo socda:

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

Halka ay ku taalCommentBlock

onCommonStreamPanel().commentBlock(userName);

Hadda waxaan baraneynaa inaan dhahno "iibso alaabta lagu ciyaaro," laakiin "iibso alaabta lagu ciyaaro dukaanka Detsky Mir, oo ku yaala golaha buluuga ah ee shelf saddexaad ee sare." Waxaa lagama maarmaan ah in la sharaxo in aan farta ku fiiqno shay si isdaba joog ah, laga soo bilaabo curiyeyaasha waaweyn (stream -> block with comments from qof gaar ah -> qayb ka mid ah block this halkaas oo qoraalka la cayimay fadhiyaan).

Maya, weli lama joogo waqtigii laga hadli lahaa xpath. Si kooban u sheeg in dhammaan tilmaamahan ay ku sifeeyeen iyaga iyo dhaxalka iyagaa dhex mara. Laakiin waxaan u baahanahay inaan ka hadalno dhammaan kuwa ku habboon iyo mudalabyada; waxay si gaar ah ula xiriiraan tallaabadan waana lagama maarmaan in la fahmo waxa dhacaya. Laakin ha xad-dhaafin: ardaygaagu waxa uu iskii u baran karaa sheegashooyin kakan. Waxay u badan tahay, waa in, la sugo Ilaa, la soo bandhigay ();, jira();, maya(); waa in ku filan

Shaqada-gurigu waa iska caddahay: waa laan kaas oo waxa ku jira dhawr tillaabo oo lagama maarmaan u ah tiro cayiman oo tijaabo ah laga saaray. Tijaabayaashu ha soo celiyaan oo ha ka dhigaan orodku mar kale cagaar.

Intaa waxaa dheer, haddii kooxda imtixaanku aysan ku lahayn oo kaliya astaamo cusub shaqadooda, laakiin sidoo kale qaar ka mid ah hagaajinta cayayaanka, waxaad waydiisan kartaa inuu isla markiiba u qoro imtixaannada cayayaankan oo uu sii daayo. Waxay u badan tahay, dhammaan canaasiirta hore ayaa loo sifeeyay; kaliya dhowr tillaabo ayaa laga yaabaa inay maqan yihiin. Tani waxay noqon doontaa jimicsiga ugu fiican.

Talaabada 3. Gelitaanka buuxa

Sida ugu macquulsan ee tijaabiyaha sii wadi doona gudashada waajibaadkiisa tooska ah. Ugu dambeyntii, waxaan u baahanahay inaan ka hadalno xpath.

Marka hore, aan caddayno in dhammaan kuwanCommentBlock iyo faallooyinka ay ku sifeeyeen iyaga.

Ku noqoshada dugsiga: sida loo tababaro imtixaan-qaadayaasha gacanta si ay ula tacaalaan imtixaannada tooska ah

Wadarta:

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

Sida ay sheekadu u kala horreyso aad bay muhiim u tahay. Marka hore, waxaan qaadanaa xpath kasta oo jira oo aan tusno sida walxaha tabka uu uga kooban yahay hal iyo hal shay. Marka xigta, waxaan ka hadli doonaa qaab dhismeedka: marka aad u baahan tahay inaad isticmaasho WebElement, iyo markaad u baahan tahay inaad abuurto fayl gaar ah oo cusub. Tani waxay kuu ogolaaneysaa inaad si fiican u fahamto dhaxalka.

Waa in si cad loo sheegaa in hal shay uu yahay aragtida hawleed oo dhan, waxa uu ka kooban yahay curiye ubad - durdur dhan, oo ka kooban curiye caruur - faallo gooni ah, iwm. Cunsurka caruurtu waxay ku dhex jiraan xubno waalidka labadaba bogga iyo qaab dhismeedka qaabka tijaabinta.

Halkaa marka ay marayso, dhagaystayaashu waa in ay si adag u fahmaan sida loo dhaxlo iyo waxa la geli karo ka dib dhibicda onCommentBlock. Halkaa marka ay marayso, waxaanu sharaxaynaa dhammaan hawlwadeenada: /, //, ., [] iyo wixii la mid ah. Waxaan ku darnaa aqoonta ku saabsan isticmaalka culeyska @class iyo waxyaabo kale oo lagama maarmaan ah.

Ku noqoshada dugsiga: sida loo tababaro imtixaan-qaadayaasha gacanta si ay ula tacaalaan imtixaannada tooska ah

Ardaydu waa inay fahmaan sida loo turjumo xpath. Si loo xoojiyo - taasi waa sax, shaqada guriga. Waxaan tirtirnaa sharraxaadaha walxaha, ha soo celiyaan shaqada imtixaannada.

Waa maxay sababta waddadan gaarka ah?

Ma aha in aynaan ku xad-gudbin qofka aqoonta adag leh, balse waa in aan wax walba hal mar sharaxno, taasina waa laba daran mid dooro. Jidkani waxa uu inoo sahlayaa in aanu marka hore ka dhigno dhagaystayaasha in ay su'aalo waydiiyaan oo aynaan wax fahmin oo ay ka jawaabaan daqiiqadaha soo socda. Haddii aad ka hadasho dhismaha oo dhan, ka dibna marka mawduuca tallaabooyinka ama xpath la falanqeeyo, qaybaha ugu muhiimsan ee horeba waa la iloobi doonaa sababtoo ah faham la'aantooda.

Si kastaba ha ahaatee, qaarkiin waxay u badan tahay inay awoodaan inaad wadaagtaan khibradaada ku saabsan sida habka loo wanaajin karo xitaa in ka badan. Waan ku farxi doonaa inaan akhriyo talooyinka la midka ah faallooyinka!

Source: www.habr.com

Add a comment