Emuva esikoleni: indlela yokuqeqesha abahloli bezandla ukuze babhekane nezivivinyo ezizenzakalelayo

Abane kwabahlanu abafake izicelo ze-QA bafuna ukufunda ukusebenza ngezivivinyo ezizenzakalelayo. Akuzona zonke izinkampani ezingafeza izifiso ezinjalo zabahloli bezandla phakathi namahora okusebenza. U-Wrike ubambe isikole se-automation sabasebenzi futhi wasibona lesi sifiso kwabaningi. Ngibambe iqhaza kulesi sikole njengomfundi we-QA.

Ngifunde ukusebenzisana ne-Selenium futhi manje ngisekela ngokuzimela inombolo ethile yokuhlola ngokuzenzakalelayo ngaphandle kosizo lwangaphandle. Futhi, ngokusekelwe emiphumeleni yokuhlangenwe nakho kwethu okuhlanganyelwe kanye neziphetho zami siqu, ngizozama ukuthola yona kanye ifomula yesikole esikahle kakhulu sokuzenzakalela.

Okuhlangenwe nakho kukaWrike ekuhleleni isikole

Lapho isidingo sesikole se-automation sicaca, inhlangano yaso yawela ku-Stas Davydov, umholi wezobuchwepheshe we-automation. Ubani omunye ngaphandle kwakhe ongachaza ukuthi kungani beqhamuke nalolu hlelo, ukuthi bathole imiphumela nokuthi bayazisola yini ngesikhathi abasichithile? Ake simnikeze isisekelo:

- Ngo-2016, sabhala uhlaka olusha lwe-autotests futhi lwenza kube lula ukubhala izivivinyo: izinyathelo ezijwayelekile zavela, isakhiwo saqondakala kakhulu. Siqhamuke nombono: sidinga ukubandakanya wonke umuntu ofuna ukubhala izivivinyo ezintsha, futhi ukwenza kube lula ukukuqonda, sakha uchungechunge lwezinkulumo. Sihlangene siqhamuke nohlelo lwezihloko, ngamunye wabafundisi bakusasa wazithathela eyodwa balungise umbiko ngakho.

β€” Yibuphi ubunzima abafundi ababenabo?

- Ikakhulukazi, yebo, izakhiwo. Bekunemibuzo eminingi mayelana nesakhiwo sezivivinyo zethu. Empendulweni, kuningi okwabhalwa ngalesi sihloko futhi kwadingeka sibambe izinkulumo ezengeziwe ukuze sichaze kabanzi.

β€” Ingabe isikole sakhokha?

- Yebo, nakanjani. Ngenxa yakhe, abantu abaningi babehileleke ekubhaleni izivivinyo, futhi, ngokwesilinganiso, esibhedlela, wonke umuntu waqala ukuqonda kangcono ukuthi ama-autotes ayini, abhalwa kanjani nokuthi aqaliswa kanjani. Umthwalo wonjiniyela abazenzakalelayo nawo wehlile: manje sesithola izicelo ezimbalwa zosizo ngokuhlaziya izivivinyo eziphindwe kaningi, njengoba abahloli nonjiniyela sebeqale ukubhekana nalokhu cishe kuzo zonke izimo. Nokho, kunezinzuzo ezimbalwa zangaphakathi zomnyango: sithole ulwazi lwezethulo nezinkulumo, ngenxa yalokho abanye onjiniyela abazenzakalelayo sebekwazile ukwenza izethulo ezingqungqutheleni, baphinde bathola isethi enamandla yamavidiyo nezethulo zabasanda kungena.

Egameni lami, ngizongeza ngokuthi ukuxhumana phakathi kweminyango yethu kwenziwe kwaba lula kwaba lula ngendlela ehlekisayo. Isibonelo, manje angisadingi ukucabanga ukuthi yimaphi amacala futhi kuliphi izinga le-athomu okufanele ngiziguqulele. Ngenxa yalokho, bonke abathintekayo abathintekayo banakekela ngokugcwele ukufakwa kokuhlolwa, okukhula njalo. Akekho ofuna okungenakwenzeka kwabanye.

Ngokuvamile, umthelela emsebenzini wamaqembu muhle impela. Mhlawumbe ozakwethu abafunda lesi sihloko nabo bacabanga ukwenza into efanayo? Khona-ke iseluleko sizoba lula: kuyafaneleka uma ukuhlolwa okuzenzakalelayo kubaluleke kakhulu kuwe. Okulandelayo, sizokhuluma ngombuzo oyinkimbinkimbi: indlela yokuhlela konke lokhu ngendlela efanele ngangokunokwenzeka, ukuze izindleko zabo bonke abathintekayo zibe zincane futhi okukhiphayo kuphezulu.

Amathiphu Wokuhlela

Isikole sasiwusizo, kodwa, njengoba u-Stas avuma, kwakukhona ubunzima, ngenxa yalokho kwakudingeka ukuhlela izinkulumo ezengeziwe. Futhi kwaba njengomfundi wakamuva ngiqhathanisa mina-ngokungazi kanye nami-manje lapho ngenze izinyathelo ezilandelayo ukuze ngidale, ngokubona kwami, indlela ekahle yokufundisa abahloli ukuqonda izivivinyo ezizenzakalelayo.

Isinyathelo 0. Dala isichazamazwi

Yebo, lesi sinyathelo asidingeki ku-QA kuphela. Kodwa-ke, ngifuna ukukubeka kucace: i-codebase ye-automation kufanele igcinwe ngendlela efundekayo. Izilimi zokuhlela - okungenani izilimi, futhi kusukela kulokhu ungaqala ukutshuza kwakho.

Emuva esikoleni: indlela yokuqeqesha abahloli bezandla ukuze babhekane nezivivinyo ezizenzakalelayo

Nasi isithombe-skrini sokubuka umsebenzi esinamagama wezinto. Ake sicabange ukuthi uhlola i-taskview njengebhokisi elimnyama futhi awukaze uyibone i-Selenium empilweni yakho. Yenzani le khodi?

Emuva esikoleni: indlela yokuqeqesha abahloli bezandla ukuze babhekane nezivivinyo ezizenzakalelayo

(I-Spoiler - umsebenzi ususwa ngokuphumula egameni lomlawuli, bese sibona ukuthi kukhona irekhodi lalokhu ekusakazeni.)

Lesi sinyathelo sisodwa sisondeza izilimi ze-QAA ne-QA ndawonye. Kulula kumaqembu e-automation ukuchaza imiphumela yokugijima; abahloli bezandla kufanele bachithe umzamo omncane ekudaleni amacala: angenziwa anemininingwane encane. Noma kunjalo, wonke umuntu uyezwana. Sithole okuwinile nangaphambi kokuba kuqale ukuqeqeshwa kwangempela.

Isinyathelo 1. Phinda imishwana

Asiqhubeke nokuhambisana nolimi. Uma sifunda ukukhuluma njengezingane, asiqali ku-etymology kanye ne-semantics. Siphinda futhi "umama", "ukuthenga ithoyizi", kodwa ungangeni ngokushesha ezimpandeni ze-Proto-Indo-European zala mazwi. Ngakho-ke lapha: asikho isidingo sokucwilisa ekujuleni kwezici zobuchwepheshe zokuhlola okuzenzakalelayo ngaphandle kokuzama ukubhala okuthile okusebenzayo.
Kuzwakala kuphikisa kancane, kodwa kuyasebenza.

Esifundweni sokuqala, kufanelekile ukunikeza isisekelo sendlela yokubhala ama-autotes ngokuqondile. Sisiza ukusetha indawo yokuthuthuka (okwami, i-Intellij IDEA), sichaze ubuncane bemithetho yolimi edingekayo ukuze kubhalwe enye indlela ekilasini elikhona kusetshenziswa izinyathelo ezikhona. Sibhala ukuhlolwa okukodwa noma okubili kanye nabo futhi sibanikeze umsebenzi wesikole, engingawufometha kanje: igatsha elixhunywe ku-master, kodwa izivivinyo eziningana zisusiwe kulo. Izincazelo zabo kuphela ezisele. Sicela abahloli babuyisele lezi zivivinyo (hhayi nge-show diff, kunjalo).

Ngenxa yalokho, lowo olalele futhi wenza konke uzokwazi:

  1. funda ukusebenza ne-interface yemvelo yokuthuthukiswa: ukudala amagatsha, ama-hotkeys, ukuzibophezela nokuphusha;
  2. kwazi kahle izinto eziyisisekelo zesakhiwo solimi namakilasi: kuphi ukufaka imijovo nokuthi ungayingenisa kuphi, kungani izichasiselo zidingeka, nokuthi hlobo luni lwezimpawu ezitholakala lapho, ngaphandle kwezinyathelo;
  3. baqonde umehluko phakathi kwesenzo, linda futhi uhlole, lapho ukusebenzisa lokho;
  4. qaphela umehluko phakathi kokuhlola okuzenzakalelayo nokuhlola okwenziwa ngesandla: ekuhloleni okuzenzakalelayo ungadonsa isibambi esisodwa noma esinye esikhundleni sokwenza izenzo ngokusebenzisa isixhumi esibonakalayo. Isibonelo, thumela amazwana ngokuqondile ngemuva esikhundleni sokuvula ukubukwa komsebenzi, ukukhetha okokufaka, ukubhala umbhalo nokuchofoza inkinobho ethi Thumela;
  5. bhala imibuzo ezophendulwa esinyathelweni esilandelayo.

Iphuzu lokugcina libaluleke kakhulu. Lezi zimpendulo zinganikezwa kalula kusenesikhathi, kodwa kuyisimiso sokufundisa esibalulekile ukuthi izimpendulo ngaphandle kwemibuzo ehleliwe azikhunjulwa futhi azisetshenziswa lapho kudingekile ekugcineni.

Kungaba kuhle uma ngalesi sikhathi unjiniyela we-automation ovela eqenjini le-QA amnikeze umsebenzi wokubhala izivivinyo ezimbalwa empini futhi amvumele ukuthi azinikele egatsheni lakhe.

Okungafanele ukunike:

  1. ulwazi olujulile mayelana nokusebenza kwendawo yokuthuthukiswa kanye nolimi lokuhlela ngokwalo, oluzodingeka kuphela lapho usebenza namagatsha ngokuzimela. Ngeke kukhunjulwe, kuzodingeka ukuthi ukuchaze kabili noma kathathu, kodwa siyasazisa isikhathi sonjiniyela abazenzakalelayo, akunjalo? Izibonelo: ukuxazulula izingxabano, ukwengeza amafayela ku-git, ukudala amakilasi kusukela ekuqaleni, ukusebenza nabancikile;
  2. konke okuhlobene ne-xpath. Ngokujulile. Udinga ukukhuluma ngakho ngokwehlukana, kanye futhi ugxile kakhulu.

Isinyathelo sesi-2. Ukubhekisisa uhlelo lolimi

Masikhumbule isithombe-skrini sokubuka umsebenzi esinyathelweni #0. Sinesinyathelo esibizwa nge-checkCommentWithTextExists. Umhloli wethu usevele uyaqonda ukuthi lesi sinyathelo senzani futhi singabheka ngaphakathi kwesinyathelo futhi sisibolise kancane.

Futhi ngaphakathi sinalokhu okulandelayo:

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

Lapho i-onCommentBlock ikhona

onCommonStreamPanel().commentBlock(userName);

Manje sifunda ukuthi "ungathengi ithoyizi," kodwa "uthenge ithoyizi esitolo se-Detsky Mir, esisekhabetheni eliluhlaza okwesibhakabhaka eshalofini lesithathu ukusuka phezulu." Kuyadingeka ukuchaza ukuthi sikhomba entweni ngokulandelana, kusuka kuzakhi ezinkulu (ukusakaza -> vimba ngamazwana avela kumuntu othile -> leyo ngxenye yale bhulokhi lapho kuhlala khona umbhalo oshiwo).

Cha, akukabi isikhathi sokukhuluma nge-xpath. Vele usho kafushane ukuthi yonke le miyalelo ichazwa yibona futhi ifa lidlula kuyo. Kepha sidinga ukukhuluma ngabo bonke laba balinganisi nabalindile; bahlobene ngqo nalesi sinyathelo futhi kuyadingeka ukuqonda ukuthi kwenzekani. Kodwa ungagxili kakhulu: umfundi wakho angakwazi ukufunda izisho eziyinkimbinkimbi ngokwakhe kamuva. Ngokunokwenzeka, kufanele, ukulindaKuze, kuboniswe();, kube khona();, hhayi(); kufanele kwanele.

Umsebenzi wasekhaya usobala: igatsha lapho okuqukethwe kwezinyathelo ezimbalwa ezidingekayo kwinani elithile lokuhlolwa kususiwe. Vumela abahloli bawabuyisele futhi wenze ukugijima kube luhlaza futhi.

Ukwengeza, uma ithimba lokuhlola lingenazo izici ezintsha kuphela emsebenzini walo, kodwa futhi nokulungiswa kweziphazamisi, ungamcela ukuthi abhale ngokushesha izivivinyo zalezi ziphazamisi futhi azikhulule. Ngokunokwenzeka, zonke izakhi sezichazwe kakade; izinyathelo ezimbalwa kuphela ezingase zishode. Lokhu kuzoba ukujima okuphelele.

Isinyathelo sesi-3. Ukucwiliswa ngokuphelele

Iphelele ngangokunokwenzeka kumhloli ozoqhubeka nokwenza imisebenzi yakhe eqondile. Ekugcineni, sidinga ukukhuluma nge-xpath.

Okokuqala, masikwenze kucace ukuthi konke lokhu ku-CommentBlock nokuphawula kuchazwa yibo.

Emuva esikoleni: indlela yokuqeqesha abahloli bezandla ukuze babhekane nezivivinyo ezizenzakalelayo

Inani:

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

Ukulandelana kwendaba kubaluleke kakhulu. Okokuqala, sithatha noma iyiphi i-xpath ekhona futhi sibonise ukuthi ithebhu ye-elementi iqukethe into eyodwa futhi eyodwa kuphela. Okulandelayo, sizokhuluma ngesakhiwo: lapho udinga ukusebenzisa i-WebElement, nalapho udinga ukudala ifayela elihlukile lesici esisha. Lokhu kuzokuvumela ukuthi uqonde kangcono ifa.

Kumelwe kubekwe ngokucacile ukuthi isici esisodwa siwukubuka konke komsebenzi, siqukethe isici sengane - ukusakaza konke, okuqukethe ingxenye yengane - amazwana ahlukene, njll. Izakhi zengane zingaphakathi kwezakhi zomzali kokubili ekhasini kanye nesakhiwo sohlaka oluzenzakalelayo lokuhlola.

Kuleli qophelo, izethameli kufanele ngabe ziqonde ngokuqinile ukuthi zizuzwa kanjani nokuthi yini engafakwa ngemva kwechashazi kokuthiCommentBlock. Kuleli qophelo, sichaza bonke abaqhubi: /, //, ., [] njalonjalo. Sengeza ulwazi mayelana nokusetshenziswa emthwalweni @class nezinye izinto ezidingekayo.

Emuva esikoleni: indlela yokuqeqesha abahloli bezandla ukuze babhekane nezivivinyo ezizenzakalelayo

Abafundi kufanele baqonde indlela yokuhumusha i-xpath ngale ndlela. Ukuhlanganisa - kunjalo, umsebenzi wesikole. Sisusa izincazelo zama-elementi, sizivumele zibuyisele umsebenzi wokuhlola.

Kungani le ndlela ethile?

Akufanele sigcwalise umuntu ngolwazi oluyinkimbinkimbi, kodwa kufanele sichaze yonke into ngesikhathi esisodwa, futhi lokhu kuyindida enzima. Le ndlela izosivumela ukuthi siqale senze abalaleli babuze imibuzo futhi bangaqondi okuthile futhi siphendule umzuzu olandelayo. Uma ukhuluma ngayo yonke i-architecture, khona-ke ngesikhathi isihloko sezinyathelo noma i-xpath sihlaziywa, izingxenye ezibaluleke kakhulu zalo zizobe sezikhohliwe ngenxa yokungaqondakali kwazo.

Kodwa-ke, abanye benu bazokwazi ukwabelana ngolwazi lwakho lokuthi inqubo ingathuthukiswa kanjani nakakhulu. Ngizojabula ukufunda iziphakamiso ezifanayo kumazwana!

Source: www.habr.com

Engeza amazwana