Ho khutlela sekolong: mokhoa oa ho koetlisa bahlahlobi ba matsoho ho sebetsana le liteko tse ikemetseng

Bakopi ba bane ho ba bahlano ba QA ba batla ho ithuta ho sebetsa ka liteko tse ikemetseng. Ha se lik'hamphani tsohle tse ka phethahatsang litakatso tse joalo tsa bahlahlobi ba matsoho nakong ea lihora tsa mosebetsi. Wrike o ile a tšoara sekolo sa boiketsetso sa basebetsi mme a hlokomela takatso ena ho ba bangata. Ke nkile karolo sekolong sena hantle joalo ka moithuti oa QA.

Ke ithutile ho sebetsa le Selenium mme joale ke ts'ehetsa ka boikemelo palo e itseng ea li-autotest ntle le thuso ea kantle. 'Me, ho ipapisitse le liphetho tsa boiphihlelo ba rona bo kopaneng le liqeto tsa ka, ke tla leka ho fumana mokhoa oa sekolo o nepahetseng ka ho fetesisa oa boiketsetso.

Phihlelo ea Wrike ea ho hlophisa sekolo

Ha tlhoko ea sekolo sa li-automation e hlaka, mokhatlo oa eona o ile oa oela ho Stas Davydov, moetapele oa botekgeniki oa automation. Ke mang hape ntle le eena ea ka hlalosang hore na ke hobane'ng ha ba ile ba tla ka morero ona, hore na ba fihletse liphello le hore na ba ikoahlaela nako eo ba e sebelisitseng? A re bueng ka eena:

- Ka 2016, re ile ra ngola moralo o mocha oa li-autotest mme ra o etsa hore ho be bonolo ho ngola liteko: mehato e tloaelehileng e ile ea hlaha, mohaho o ile oa utloahala haholoanyane. Re ile ra hlahisa maikutlo: re hloka ho kenyelletsa bohle ba batlang ho ngola liteko tse ncha, le ho etsa hore ho be bonolo ho utloisisa, re thehile letoto la lipuo. Ka kopanelo re ile ra tla ka moralo oa lihlooho, e mong le e mong oa barupeli ba kamoso ba ile ba inkela e ’ngoe ’me ba lokisetsa tlaleho ka eona.

— Liithuti li ile tsa ba le mathata afe?

- Haholo-holo, ho hlakile, meralo. Ho ne ho e-na le lipotso tse ngata mabapi le sebōpeho sa liteko tsa rona. Ho fana ka maikutlo, ho ile ha ngoloa ho hongata tabeng ena 'me re ile ra tlameha ho tšoara lipuo tse eketsehileng ho hlalosa ka ho qaqileng haholoanyane.

— Na sekolo se ile sa lefa?

- E, ka sebele. Ka lebaka la hae, batho ba bangata ba ile ba kenya letsoho litekong tsa ho ngola, 'me, ka karolelano, sepetlele, motho e mong le e mong o ile a qala ho utloisisa hantle hore na li-autotest ke life, hore na li ngotsoe joang le hore na li qalisoa joang. Mojaro oa lienjineri tsa li-automation le ona o fokotsehile: joale re fumana likopo tse fokolang hangata tsa ho fumana thuso mabapi le tlhahlobo ea liteko, kaha bahlahlobi le bahlahisi ba se ba qalile ho sebetsana le sena hoo e ka bang maemong ohle. Leha ho le joalo, ho na le melemo e mengata ea ka hare bakeng sa lefapha: re fumane phihlelo ea lipuo le lipuo, ka lebaka leo baenjiniere ba bang ba li-automation ba seng ba khonne ho fana ka lipuo likopanong, hape ba fumane li-video le lipuo tse matla bakeng sa ba sa tsoa fihla.

Lebitsong la ka, ke tla eketsa ka hore puisano lipakeng tsa mafapha a rona e nolofalitsoe ho fihla boemong bo bonolo ka mokhoa o nyatsehang. Ka mohlala, hona joale ha ho hlokahale hore ke nahane ka hore na ke linyeoe life le hore na ke boemong bofe ba atomic ho iketsetsa. Ka lebaka leo, bohle ba nang le thahasello ba hlokomela ka botlalo tlhahlobo ea teko, e ntseng e hōla kamehla. Ha ho motho ea batlang se ke keng sa khoneha ho ba bang.

Ka kakaretso, phello ea mosebetsi oa lihlopha ka sebele e ntle. Mohlomong basebetsi-'moho ba balang sengoloa see le bona ba nahana ho etsa se tšoanang? Joale keletso e tla ba bonolo: hoa bohlokoa haeba liteko tse ikemetseng li le bohlokoa ho uena. Ka mor'a moo, re tla bua ka potso e thata haholoanyane: mokhoa oa ho hlophisa sena sohle ka nepo ka hohle kamoo ho ka khonehang, e le hore litšenyehelo tsa lihlopha tsohle li fokotsehe 'me lihlahisoa li be ngata.

Litlhahiso tsa ho hlophisa

Sekolo se ne se le molemo, empa, joalo ka ha Stas a lumela, ho ne ho e-na le mathata, ka lebaka leo ho neng ho hlokahala ho hlophisa lipuo tse eketsehileng. 'Me e ne e le seithuti sa morao-rao se ipapisa le 'na-ka ho hloka tsebo le' na-joale ke thehile mehato e latelang ho theha, ka maikutlo a ka, mokhoa o nepahetseng oa ho ruta bahlahlobi ho utloisisa liteko tse ikemetseng.

Mohato 0. Etsa bukantswe

Ehlile, mohato ona ha o hlokehe bakeng sa QA feela. Leha ho le joalo, ke batla ho e hlakisa: codebase ea automation e tlameha ho bolokoa ka mokhoa o ka baloang. Lipuo tsa mananeo - bonyane dipuo, 'me ho tloha mona u ka qala ho qoela.

Ho khutlela sekolong: mokhoa oa ho koetlisa bahlahlobi ba matsoho ho sebetsana le liteko tse ikemetseng

Mona ke skrini ea pono ea mosebetsi e nang le mabitso a likarolo. Ha re nahane hore u ntse u leka pono ea mosebetsi e le lebokose le letšo 'me ha u e-so bone Selenium bophelong ba hau. Khoutu ee e etsa eng?

Ho khutlela sekolong: mokhoa oa ho koetlisa bahlahlobi ba matsoho ho sebetsana le liteko tse ikemetseng

(Spoiler - mosebetsi o hlakotsoe ka phomolo molemong oa admin, ebe rea bona hore ho na le rekoto ea sena molapong.)

Mohato ona o le mong o tlisa lipuo tsa QAA le QA haufi. Ho bonolo ho lihlopha tsa othomathike ho hlalosa liphetho tsa ho matha; bahlahlobi ba matsoho ba tlameha ho sebelisa matla a fokolang ho theha linyeoe: li ka etsoa ka botlalo. Leha ho le joalo, bohle ba utloisisa e mong. Re ile ra fumana meputso le pele koetliso ea sebele e qala.

Mohato oa 1. Pheta lipolelo

Ha re tsoeleng pele ho tsamaisana le puo. Ha re ithuta ho bua re le bana, ha re qale ho etymology le semantics. Re pheta "'m'e", "reka ntho ea ho bapala", empa u se ke ua kena hang-hang ho metso ea Proto-Indo-European ea mantsoe ana. Kahoo ho teng mona: ha ho na thuso ea ho itahlela botebong ba likarolo tsa tekheniki tsa li-autotes ntle le ho leka ho ngola ntho e sebetsang.
E utloahala e le ntho e hanyetsanang, empa ea sebetsa.

Thutong ea pele, ho bohlokoa ho fana ka motheo oa mokhoa oa ho ngola li-autotes ka kotloloho. Re thusa ho theha tikoloho ea nts'etsopele (tabeng ea ka, Intellij IDEA), hlalosa melao e fokolang ea puo e hlokahalang ho ngola mokhoa o mong sehlopheng se seng se ntse se sebelisoa ho sebelisa mehato e teng. Re ngola tlhahlobo e le 'ngoe kapa tse peli le bona' me re ba fe mosebetsi oa sekolo, oo ke neng ke tla o etsa ka mokhoa ona: lekala le arohaneng le monghali, empa liteko tse 'maloa li tlositsoe ho lona. Ho setse litlhaloso tsa bona feela. Re kopa bahlahlobi ho khutlisetsa liteko tsena (eseng ka show diff, ehlile).

Ka lebaka leo, ea mametseng 'me a etsa tsohle o tla khona ho:

  1. ithute ho sebetsa le sebopeho sa tikoloho ea nts'etsopele: ho theha makala, li-hotkeys, boitlamo le ho sutumetsa;
  2. tseba lintho tsa motheo tsa sebopeho sa puo le lihlopha: moo u ka kenyang liente le moo u ka kenyang teng, ke hobane'ng ha litlhaloso li hlokahala, le hore na ke matšoao a mofuta ofe a fumanoang moo, ntle le mehato;
  3. utloisisa phapang pakeng tsa ketso, ema le hlahloba, moo ho sebelisa eng;
  4. hlokomela phapang lipakeng tsa li-autotests le licheke tsa matsoho: ho li-autotests u ka hula sebatli se le seng ho fapana le ho etsa liketso ka sebopeho. Ka mohlala, romela maikutlo ka ho toba karolong e ka morao ho e-na le ho bula ponelo-pele ea mosebetsi, ho khetha ho kenya, ho ngola mongolo le ho tobetsa konopo ea Romela;
  5. theha lipotso tse tla arajoa mohatong o latelang.

Ntlha ea ho qetela e bohlokoa haholo. Likarabo tsena li ka fanoa habonolo pele ho nako, empa ke molao-motheo oa bohlokoa oa ho ruta hore likarabo ntle le lipotso tse lokiselitsoeng ha li hopolehe ebile ha li sebelisoe ha ho hlokahala.

E ka ba ntho e ntle haeba ka nako ena moenjiniere oa boiketsetso oa sehlopha sa QA a mo abela mosebetsi oa ho ngola liteko tse 'maloa ntoeng' me a mo lumella ho inehela lekaleng la hae.

Seo u sa lokelang ho fana ka sona:

  1. tsebo e tebileng haholoanyane ea ts'ebetso ea tikoloho ea ntlafatso le puo ea lenaneo ka boeona, e tla hlokahala feela ha ho sebetsa le makala ka boikemelo. E ke ke ea hopoloa, u tla tlameha ho e hlalosa habeli kapa hararo, empa re nka nako ea lienjiniere tsa boiketsetso e le tsa bohlokoa, na ha ho joalo? Mehlala: ho rarolla likhohlano, ho eketsa lifaele ho git, ho theha lihlopha ho tloha qalong, ho sebetsa le batho ba itšetlehileng ka bona;
  2. tsohle tse amanang le xpath. Ka botebo. U hloka ho bua ka eona ka thoko, hang le ka ho tsepamisa maikutlo haholo.

Mohato oa 2. Ho shebisisa sebōpeho-puo

Ha re hopoleng skrini sa pono ea mosebetsi ho tloha mohatong oa #0. Re na le mohato o bitsoang checkCommentWithTextExists. Mohlahlobi oa rona o se a ntse a utloisisa hore na mohato ona o etsa eng mme re ka sheba ka hare ho mohato le ho o senya hanyenyane.

'Me ka hare re na le tse latelang:

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

Moo hoCommentBlock e leng teng

onCommonStreamPanel().commentBlock(userName);

Hona joale re ithuta ho re u se ke ua "reka toy," empa "reka toy ho tloha lebenkeleng la Detsky Mir, le ka har'a khabinete e putsoa holim'a shelofo ea boraro ho tloha holimo." Hoa hlokahala ho hlalosa hore re supa ntho ka tatellano, ho tloha linthong tse kholoanyane (molapo -> thibela ka maikutlo a tsoang ho motho ea itseng -> karolo eo ea block ena moo mongolo o boletsoeng o lutseng).

Che, ha se nako ea ho bua ka xpath. Bolela feela ka bokhuts'oane hore litaelo tsena kaofela li hlalosoa ke bona mme lefa le feta ho tsona. Empa re hloka ho bua ka libapali tsena tsohle le li-waiter; li amana ka kotloloho le mohato ona mme ho hlokahala ho utloisisa se etsahalang. Empa u se ke oa imetsa: seithuti sa hau se ka ithuta lithuto tse thata ka botsona hamorao. Ho ka etsahala hore ebe, ho lokela, ho emaHo fihlela, ho bontshitswe();, ho ba teng();, e seng(); e tla lekana.

Mosebetsi oa sekolo o totobetse: lekala leo ho lona ho tlosoang likahare tsa mehato e 'maloa e hlokahalang bakeng sa palo e itseng ea liteko. E-re bahlahlobi ba li khutlisetse 'me ba etse hore ho matha ho be tala hape.

Ho feta moo, haeba sehlopha sa liteko se na le likarolo tse ncha feela mosebetsing oa sona, empa hape le litokiso tse ling, u ka mo kopa hore a ngole liteko hang-hang bakeng sa likokoana-hloko tsena le ho li lokolla. Mohlomong, likarolo tsohle li se li hlalositsoe; ke mehato e 'maloa feela e ka bang sieo. Ena e tla ba boikoetliso bo phethahetseng.

Mohato oa 3. Ho qoelisoa ka ho feletseng

E phethehile ka hohle kamoo ho ka khonehang bakeng sa mohlahlobi ea tlang ho tsoela pele ho etsa mesebetsi ea hae e tobileng. Qetellong, re hloka ho bua ka xpath.

Taba ea pele, a re hlakiseng hore tsena tsohle hoCommentBlock le maikutlo li hlalosoa ke bona.

Ho khutlela sekolong: mokhoa oa ho koetlisa bahlahlobi ba matsoho ho sebetsana le liteko tse ikemetseng

Kakaretso:

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

Tatelano ya pale e bohlokwa haholo. Taba ea pele, re nka xpath efe kapa efe e teng mme re bonts'a hore na tabo ea likarolo e na le ntho e le 'ngoe feela. E latelang, re tla bua ka sebopeho: ha o hloka ho sebelisa WebElement, le ha o hloka ho etsa faele e arohaneng bakeng sa ntho e ncha. Sena se tla u lumella ho utloisisa lefa hantle.

E tlameha ho boleloa ka ho hlaka hore ntho e le 'ngoe ke pono eohle ea mosebetsi, e na le karolo ea ngoana - molapo oohle, o nang le karolo ea ngoana - maikutlo a arohaneng, joalo-joalo. Lintho tsa bana li ka hare ho likarolo tsa motsoali leqepheng le ka sebopeho sa autotest framework.

Mothating ona, bamameli ba ne ba lokela ho utloisisa ka tieo hore na ba futsitsoe joang le hore na ho ka kenngoa eng ka mor'a letheba hoCommentBlock. Mothating ona, re hlalosa bohle ba sebetsang: /, //, ., [] joalo-joalo. Re eketsa tsebo mabapi le tšebeliso ea mojaro @class le lintho tse ling tse hlokahalang.

Ho khutlela sekolong: mokhoa oa ho koetlisa bahlahlobi ba matsoho ho sebetsana le liteko tse ikemetseng

Baithuti ba lokela ho utloisisa mokhoa oa ho fetolela xpath ka tsela ena. Ho kopanya - ho joalo, mosebetsi oa sekolo. Re hlakola litlhaloso tsa likarolo, re li lumelle hore li tsosolose mosebetsi oa liteko.

Ke hobane'ng ha tsela ee e khethehileng?

Ha rea ​​lokela ho imetsa motho ka tsebo e rarahaneng, empa re tlameha ho hlalosa ntho e ’ngoe le e ’ngoe hang-hang, ’me ena ke qaka e thata. Tsela ena e tla re lumella ho qala ka ho etsa hore bamameli ba botse lipotso mme ba se ke ba utloisisa ho hong le ho li araba motsotsong o latelang. Haeba u bua ka mohaho oohle oa meralo, joale nakong eo sehlooho sa mehato kapa xpath se hlahlojoang, likarolo tsa bohlokoa ka ho fetisisa tsa eona li tla be li se li lebetsoe ka lebaka la ho se utloisisehe ha tsona.

Leha ho le joalo, ba bang ba hau mohlomong ba tla khona ho arolelana boiphihlelo ba hau mabapi le hore na ts'ebetso e ka ntlafatsoa le ho feta. Ke tla thabela ho bala litlhahiso tse tšoanang ho litlhaloso!

Source: www.habr.com

Eketsa ka tlhaloso