Miverena any an-tsekoly: ny fomba hanofanana ireo mpanandrana amin'ny tanana hiatrehana ny fitsapana mandeha ho azy

Ny efatra amin'ireo mpangataka QA dimy dia te hianatra ny fomba fiasa amin'ny fitsapana mandeha ho azy. Tsy ny orinasa rehetra no afaka manatanteraka ny fanirian'ny mpanandrana manual mandritra ny ora fiasana. Nanao sekoly automatique ho an'ny mpiasa i Wrike ary nahatsapa izany faniriana izany ho an'ny maro. Nandray anjara tamin'ity sekoly ity aho tamin'ny maha-mpianatra QA ahy.

Nianatra niara-niasa tamin'i Selenium aho ary manohana tsy miankina maromaro amin'ny autotest saika tsy misy fanampiana avy any ivelany. Ary, mifototra amin'ny vokatry ny traikefa iarahanay sy ny fehin-kevitro manokana, dia hiezaka ny haka ny raikipohy ho an'ny sekoly automatique tena tsara indrindra aho.

Ny traikefan'i Wrike tamin'ny fikarakarana sekoly

Rehefa nazava ny filana sekoly automatique, dia nianjera tamin'i Stas Davydov, mpitarika ara-teknika ny automatique ny fandaminana azy. Iza koa, afa-tsy izy, no afaka manazava ny antony nahatonga azy ireo hanao io hetsika io, na nahavita vokatra ary nanenina tamin’ny fotoana lany? Andeha homentsika azy ny fitenenana:

- Tamin'ny 2016, nanoratra rafitra vaovao ho an'ny autotest izahay ary nanao izany mba ho mora ny fanoratana fitsapana: niseho ny dingana mahazatra, nanjary takatry ny saina kokoa ny rafitra. Nahita hevitra izahay: mila mandray anjara amin'izay rehetra te hanoratra fitsapana vaovao izahay, ary mba hahamora ny fahazoana azy dia namorona andiana lahateny izahay. Niara-nanao drafitra momba ny lohahevitra izahay, samy naka iray ho azy ireo ny mpampianatra ho avy ary nanomana tatitra momba izany.

— Inona no zava-tsarotra natrehin’ny mpianatra?

— Indrindra indrindra, mazava ho azy, ny maritrano. Nisy fanontaniana maro momba ny firafitry ny fitsapana nataonay. Amin'ny fanehoan-kevitra dia betsaka no nosoratana momba ity lohahevitra ity ary tsy maintsy nanao lahateny fanampiny izahay mba hanazavana amin'ny antsipiriany bebe kokoa.

- Nandoa vola ve ny sekoly?

- Eny, azo antoka. Misaotra azy, betsaka ny olona nandray anjara tamin'ny fanadinana an-tsoratra, ary, amin'ny ankapobeny, tany amin'ny hopitaly, ny rehetra dia nanomboka nahatakatra tsara kokoa ny atao hoe autotest, ny fomba fanoratana azy ary ny fomba nanombohana azy. Nihena ihany koa ny enta-mavesatry ny injeniera automatique: im-betsaka izahay izao no mahazo fangatahana fanampiana amin'ny famakafakana fitsapana, satria ny mpanandrana sy ny mpamorona dia nanomboka niatrika izany tamin'ny toe-javatra rehetra. Eny, misy tombony anatiny maromaro ho an'ny departemanta: nahazo traikefa tamin'ny famelabelarana sy lahateny izahay, noho ny injeniera automatique sasany efa nahavita nanao famelabelarana tamin'ny fihaonambe, ary nahazo andian-dahatsary sy famelabelarana mahery vaika ho an'ireo vao tonga vao tonga.

Amin'ny anaran'ny tenako manokana dia ampiako fa ny fifandraisana misy eo amin'ny sampan-draharahanay dia nohamafisina ho amin'ny ambaratonga tena mora mampihomehy. Ohatra, amin'izao fotoana izao dia tsy mila mieritreritra momba izay tranga sy amin'ny haavon'ny atomika ho mandeha ho azy aho. Vokany, mikarakara tanteraka ny fandrakofam-panadinana izay tsy mitsaha-mitombo ny antoko liana rehetra. Tsy misy mitaky ny tsy azo atao amin'ny hafa.

Amin'ny ankapobeny, ny fiantraikan'ny asan'ny ekipa dia tena tsara. Angamba ireo mpiara-miasa mamaky ity lahatsoratra ity dia mieritreritra ny hanao zavatra mitovy? Dia ho tsotra ny torohevitra: mendrika izany raha laharam-pahamehana ho anao ny fitsapana mandeha ho azy. Manaraka izany dia hiresaka momba ny fanontaniana sarotra kokoa isika: ny fomba handaminana izany rehetra izany araka izay azo atao, mba ho faran'izay kely ny vidin'ny antoko rehetra ary ambony indrindra ny vokatra.

Torohevitra momba ny fandaminana

Ny sekoly dia nahasoa, fa, araka ny Stas niaiky, dia nisy zava-tsarotra sasany, noho izany dia ilaina ny mandamina lahateny fanampiny. Ary amin'ny maha-mpianatra vao haingana mampitaha ny tenako-amin'ny tsy fahalalana sy ny tenako-ankehitriny aho dia namolavola ireto dingana manaraka ireto mba hamoronana, araka ny hevitro, ny fomba tsara indrindra hampianarana ireo mpanandrana hahatakatra ny fitsapana mandeha ho azy.

Dingana 0. Mamorona rakibolana

Mazava ho azy fa ilaina ity dingana ity tsy ho an'ny QA ihany. Na izany aza, tiako hazavaina izany: ny codebase automatique dia tsy maintsy tazonina amin'ny endrika azo vakiana. Fiteny fandaharana - tsy ny kely indrindra fiteny, ary manomboka amin'izany ianao dia afaka manomboka mitsoraka.

Miverena any an-tsekoly: ny fomba hanofanana ireo mpanandrana amin'ny tanana hiatrehana ny fitsapana mandeha ho azy

Ity misy pikantsarin'ny taskview misy ny anaran'ireo singa. Alao sary an-tsaina fa manandrana ny taskview ho toy ny boaty mainty ianao ary tsy mbola nahita Selenium teo amin'ny fiainanao. Inona no ataon'ity kaody ity?

Miverena any an-tsekoly: ny fomba hanofanana ireo mpanandrana amin'ny tanana hiatrehana ny fitsapana mandeha ho azy

(Spoiler - ny asa dia voafafa amin'ny alàlan'ny fialan-tsasatra amin'ny anaran'ny admin, ary avy eo dia hitantsika fa misy firaketana an'io ao amin'ny stream.)

Ity dingana ity ihany no mampifanakaiky ny fiteny QAA sy QA. Mora kokoa ho an'ny ekipan'ny automatique ny manazava ny valin'ny hazakazaka; tsy maintsy mandany ezaka kely kokoa amin'ny famoronana tranga ny mpanandrana manual: azo atao tsy dia misy antsipiriany loatra. Na izany aza dia mifankahazo ny tsirairay. Nahazo ny fandresena izahay na dia talohan'ny nanombohan'ny fiofanana aza.

Dingana 1. Avereno ireo andian-teny

Andeha isika hanohy ny mirazotra amin'ny fiteny. Rehefa mianatra miteny isika amin'ny maha-ankizy antsika dia tsy manomboka amin'ny etimolojia sy ny semantika. Averinay ny "neny", "mividy kilalao", fa aza miditra avy hatrany amin'ny fototeny Proto-Indo-Eoropeana amin'ireo teny ireo. Dia izao: tsy misy dikany ny mitsoraka any amin'ny halalin'ny endri-javatra ara-teknika amin'ny autotest raha tsy manandrana manoratra zavatra mahomby.
Toa mifanohitra amin'ny intuitive kely ilay izy, saingy miasa.

Ao amin'ny lesona voalohany dia ilaina ny manome fototra ny fomba hanoratana autotest mivantana. Manampy amin'ny fametrahana ny tontolon'ny fampandrosoana izahay (raha ny ahy, Intellij IDEA), manazava ny fitsipi-pitenenana kely indrindra ilaina amin'ny fanoratana fomba hafa amin'ny kilasy efa misy amin'ny fampiasana ireo dingana efa misy. Manoratra fitsapana iray na roa miaraka amin'izy ireo izahay ary manome azy ireo entimody, izay hataoko toy izao: sampana iray nipoitra avy amin'ny tompony, fa fitsapana maromaro no nesorina tamin'izany. Ny filazalazana azy ireo ihany no tavela. Mangataka amin'ny mpanandrana izahay hamerina ireo fitsapana ireo (tsy amin'ny alalan'ny show diff, mazava ho azy).

Vokatr'izany, izay nihaino sy nanao ny zava-drehetra dia afaka:

  1. mianatra miasa miaraka amin'ny tontolon'ny fampandrosoana: mamorona sampana, hotkeys, commits ary manosika;
  2. mahafehy ny fototry ny firafitry ny fiteny sy ny kilasy: aiza no hampidirana tsindrona ary aiza no hanafatra, nahoana no ilaina ny fanamarihana, ary karazana marika inona no hita ao, ankoatra ny dingana;
  3. mahatakatra ny fahasamihafana misy eo amin'ny hetsika, miandry ary manamarina, aiza no hampiasana inona;
  4. jereo ny fahasamihafana misy eo amin'ny autotest sy ny fanaraha-maso manual: amin'ny autotests dia afaka misintona mpitantana iray na hafa ianao fa tsy manao hetsika amin'ny alàlan'ny interface. Ohatra, mandefa fanehoan-kevitra mivantana any amin'ny backend fa tsy manokatra taskview, mifidy ny fampidirana, manoratra lahatsoratra ary tsindrio ny bokotra Alefaso;
  5. mamolavola fanontaniana hovaliana amin’ny dingana manaraka.

Tena zava-dehibe ny teboka farany. Ireo valiny ireo dia azo omena mora foana mialoha ny fotoana, saingy fitsipika iray manan-danja amin’ny fampianarana ny hoe ny valiny tsy misy fanontaniana voavolavola dia tsy tadidy ary tsy ampiasaina rehefa ilaina amin’ny farany.

Tena mety raha toa ka nanome azy asa amin'ny fanoratana fitsapana roa amin'ny ady ny injeniera automatique avy amin'ny ekipan'ny QA amin'izao fotoana izao ary namela azy hanolo-tena ho an'ny sampana misy azy.

Inona no tsy omena:

  1. fahalalana lalindalina kokoa momba ny fiasan'ny tontolon'ny fampandrosoana sy ny fiteny fandaharana, izay ilaina ihany rehefa miasa amin'ny sampana tsy miankina. Tsy hotsaroana izany, tsy maintsy hanazava azy indroa na intelo ianao, fa ny fotoanan'ny injeniera automatique dia omenay lanja, sa tsy izany? Ohatra: famahana fifandirana, fampidirana rakitra amin'ny git, famoronana kilasy manomboka amin'ny scratch, miasa miaraka amin'ny fiankinan-doha;
  2. rehetra mifandraika amin'ny xpath. tena matotra. Mila miresaka momba izany ianao, indray mandeha ary tena mifantoka.

Dingana 2. Ny fijerena akaiky ny fitsipi-pitenenana

Ndeha hotadidintsika ny pikantsarin'ny taskview avy amin'ny dingana #0. Manana dingana antsoina hoe checkCommentWithTextExists izahay. Efa takatr'ilay mpanandrana anay ny ataon'ity dingana ity ary afaka mijery ny ao anatin'ilay dingana isika ary simbaina kely.

Ary ao anatiny dia manana ireto manaraka ireto isika:

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

Aiza ny onCommentBlock

onCommonStreamPanel().commentBlock(userName);

Ankehitriny isika dia mianatra miteny hoe tsy "mividy kilalao", fa "mividy kilalao avy amin'ny fivarotana Detsky Mir, hita ao amin'ny kabinetra manga eo amin'ny talantalana fahatelo avy any ambony." Ilaina ny manazava fa manondro singa iray misesy isika, avy amin'ny singa lehibe kokoa (stream -> sakana miaraka amin'ny fanehoan-kevitra avy amin'ny olona iray -> ny ampahany amin'ity sakana ity izay misy ny lahatsoratra voatondro).

Tsia, mbola tsy fotoana hiresahana momba ny xpath izao. Lazao fohifohy fa ireo toromarika rehetra ireo dia faritan'izy ireo ary mandalo amin'izy ireo ny lova. Saingy mila miresaka momba ireo mpifaninana sy mpandroso sakafo rehetra ireo isika; mifandray manokana amin'ity dingana ity izy ireo ary ilaina ny mahatakatra ny zava-mitranga. Fa aza manavesatra loatra: ny mpianatrao dia afaka mianatra samirery ireo fanambarana sarotra kokoa any aoriana. Azo inoana fa, tokony, miandry, aseho ();, misy ();, tsy (); tokony ho ampy.

Miharihary ny entimody: sampana iray izay nesorina ny votoatin'ny dingana maromaro ilaina amin'ny fitsapana maromaro. Avelao ny mpanandrana hamerina azy ireo ary ataovy maitso indray ny hazakazaka.

Fanampin'izany, raha tsy manana endri-javatra vaovao amin'ny asany ny ekipan'ny fitiliana, fa misy ihany koa ny fanamboarana bug sasany, azonao atao ny mangataka azy hanoratra fitsapana avy hatrany momba ireo bibikely ireo ary hamotsotra azy ireo. Azo inoana fa efa nofaritana avokoa ny singa rehetra, dingana roa ihany no tsy ampy. Izany no ho fanazaran-tena tonga lafatra.

Dingana 3. Fandrobohana feno

Feno araka izay azo atao ho an'ny mpanandrana izay hanohy ny asany mivantana. Farany, mila miresaka momba ny xpath isika.

Voalohany, andeha hazavaintsika fa ireo rehetra ireo ao amin'nyCommentBlock sy ny fanehoan-kevitra dia nofaritan'izy ireo.

Miverena any an-tsekoly: ny fomba hanofanana ireo mpanandrana amin'ny tanana hiatrehana ny fitsapana mandeha ho azy

Total:

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

Tena zava-dehibe ny filaharan'ny tantara. Voalohany, maka xpath efa misy isika ary asehoy ny fomba ahitana singa iray sy iray ihany ny takelaka singa. Manaraka, hiresaka momba ny rafitra isika: rehefa mila mampiasa WebElement ianao, ary rehefa mila mamorona rakitra misaraka ho an'ny singa vaovao ianao. Izany dia ahafahanao mahazo tsara kokoa ny lova.

Tsy maintsy ambara mazava tsara fa ny singa tokana dia ny taskview manontolo, misy singa ankizy - ny stream manontolo, izay misy singa ankizy - fanehoan-kevitra misaraka, sns. Ny singa ankizy dia ao anatin'ny singa ray aman-dreny na eo amin'ny pejy na ao amin'ny rafitry ny rafitra autotest.

Amin'izao fotoana izao, tokony ho azon'ny mpihaino tsara ny fomba nandova azy ireo ary inona no azo ampidirina aorian'ny teboka ao amin'ny onCommentBlock. Amin'izao fotoana izao dia manazava ny mpandraharaha rehetra izahay: /, //, ., [] sy ny sisa. Manampy fahalalana momba ny fampiasana amin'ny entana izahay @class ary zavatra hafa ilaina.

Miverena any an-tsekoly: ny fomba hanofanana ireo mpanandrana amin'ny tanana hiatrehana ny fitsapana mandeha ho azy

Tokony ho takatry ny mpianatra ny fomba handikana ny xpath amin'ity fomba ity. Mba hanamafisana - marina izany, entimody. Fafantsika ny famaritana ny singa, avelao izy ireo hamerina ny asan'ny fitsapana.

Nahoana io lalana manokana io?

Tsy tokony ho be loatra ny olona manana fahalalana sarotra, fa tsy maintsy manazava ny zava-drehetra indray mandeha, ary olana sarotra izany. Ity lalana ity dia ahafahantsika mampametra-panontaniana aloha ny mpihaino ary tsy mahazo zavatra ary mamaly azy ireo amin'ny fotoana manaraka. Raha miresaka momba ny maritrano manontolo ianao, dia amin'ny fotoana anadihadiana ny lohahevitra momba ny dingana na ny xpath, ny ampahany manan-danja indrindra amin'izany dia efa hadino noho ny tsy fahatakarany.

Na izany aza, ny sasany aminareo dia mety ho afaka hizara ny traikefanao amin'ny fomba hanatsarana kokoa ny dingana. Ho faly aho hamaky soso-kevitra mitovy amin'izany ao amin'ny fanehoan-kevitra!

Source: www.habr.com

Add a comment