Toe foʻi i le aʻoga: faʻafefea ona aʻoaʻoina tusi tusi suʻega e faʻatautaia suʻega otometi

E to'afa mai le to'alima tagata talosaga QA e fia a'oa'o pe fa'apefea ona galulue fa'atasi ma su'ega otometi. E le mafai e kamupani uma ona faʻataunuʻuina ia manaʻoga o suʻega tusi lesona i taimi faigaluega. Na faia e Wrike se aʻoga masini mo tagata faigaluega ma iloa ai lenei manaʻoga mo le toʻatele. Na ou auai i lenei aʻoga tonu lava o se tamaititi aʻoga QA.

Na ou aʻoaʻoina pe faʻafefea ona galue ma Seleni ma o lea ua ou lagolagoina tutoatasi se numera o suʻega taʻavale e toetoe lava leai se fesoasoani mai fafo. Ma, faʻavae i luga o faʻaiʻuga o le matou poto masani faʻatasi ma aʻu faʻaiuga patino, o le a ou taumafai e maua le fua faʻatatau mo le aʻoga sili ona lelei o masini.

O le poto masani a Wrike i le faʻatulagaina o se aʻoga

Ina ua manino le manaʻoga mo se aʻoga faʻaautomatika, na pa'ū lona faʻalapotopotoga ia Stas Davydov, le taʻitaʻi faʻapitoa o masini. O ai se isi ae na o ia e mafai ona faamatala pe aisea na latou faia ai lenei fuafuaga, pe na latou ausia taunuuga ma pe latou te faanoanoa i le taimi na faaalu? Tatou tuu atu ia te ia le fola:

- I le 2016, na matou tusia ai se auivi fou mo autotests ma faia ina ia faigofie ona tusia suʻega: faʻaalia laasaga masani, o le fausaga na sili atu ona malamalama. Na matou o mai ma se manatu: matou te manaʻomia le faʻaaofia o tagata uma e manaʻo e tusi ni suʻega fou, ma faʻafaigofie ona malamalama, matou faia se faasologa o lauga. Na matou saunia faʻatasi ma se fuafuaga o autu, o faiaoga uma i le lumanaʻi na ave se tasi mo i latou lava ma saunia se lipoti i ai.

— O ā faigatā na oo i tagata aʻoga?

— Aemaise lava, ioe, tusiata fale. E tele fesili e uiga i le fausaga oa matou suʻega. I faʻamatalaga, e tele mea na tusia i luga o lenei autu ma e tatau ona matou faia ni tautalaga faaopoopo e faʻamatala atili ai.

— Pe na totogi le aʻoga?

- Ioe, mautinoa. Fa'afetai ia te ia, e to'atele tagata na auai i su'ega tusitusi, ma, i le averesi, i le falema'i, na amata ona malamalama lelei tagata uma po'o le a le autotest, pe fa'apefea ona tusia ma pe fa'apefea ona fa'alauiloa. Ua faʻaitiitia foʻi le uta i luga o inisinia masini: matou te mauaina nei le tele o taimi e faʻaitiitia ai talosaga mo se fesoasoani i le suʻeina o suʻega, talu ai ua amata ona faʻafetaui e le au suʻega ma le au atinaʻe i latou lava i le toetoe o tulaga uma. Ia, e tele mea lelei i totonu mo le matagaluega: matou te maua le poto masani i faʻamatalaga ma lauga, faʻafetai i nisi o inisinia masini ua uma ona mafai ona faia faʻamatalaga i konafesi, ma maua ai foi se seti mamana o vitio ma faʻamatalaga mo le ulufale atu i tagata fou.

Mo a'u lava ia, o le a ou faaopoopo atu o fesootaiga i le va o a tatou matagaluega ua faafaigofieina i se tulaga e matua faavalevalea. Mo se faʻataʻitaʻiga, o lea e toetoe lava a le manaʻomia ona ou mafaufau po o fea mataupu ma pe o le a le maualuga o le atomicity e faʻaogaina. O se taunuuga, o vaega uma e fiafia i ai o loʻo tausia atoatoa le suʻega o suʻega, lea e faʻatupulaia pea. E leai se tasi e manaʻomia mea e le mafai mai isi.

I se tulaga lautele, o le aʻafiaga i le galuega a 'au e mautinoa lava lelei. Masalo o loʻo mafaufau foi tagata faigaluega o loʻo faitauina lenei tusiga e uiga i le faia o se mea faapena? Ona faigofie lea o le fautuaga: e aoga pe a fai o suʻega faʻaautomatika o se faʻamuamua mo oe. Le isi, o le a tatou talanoa e uiga i se fesili e sili atu ona faigata: pe faʻapefea ona faʻatulagaina nei mea uma i le mea saʻo e mafai ai, ina ia laʻititi tau o vaega uma ma maualuga le gaosiga.

Fautuaga mo le fa'atulagaina

Sa aoga le aoga, ae, e pei ona taʻua e Stas, sa i ai ni faigata, ona o lea na tatau ai ona faatulaga ni lauga faaopoopo. Ma e pei o se tamaititi aʻoga talu ai nei e faʻatusatusaina aʻu lava-i-le-le iloa ma aʻu lava-o lea na ou faʻatulagaina laasaga nei e fatu ai, i loʻu manatu, le auala sili e aʻoaʻo ai tagata suʻega ia malamalama i suʻega faʻapitoa.

Laasaga 0. Fausia se lomifefiloi

Ioe, o lenei laasaga e manaʻomia e le gata mo QA. Ae ui i lea, ou te manaʻo e faʻamalamalama manino: e tatau ona teuina le codebase otometi i se pepa e mafai ona faitau. Fa'apolokalame gagana - e le itiiti ifo gagana, ma mai lea e mafai ona e amata ai lau maulu.

Toe foʻi i le aʻoga: faʻafefea ona aʻoaʻoina tusi tusi suʻega e faʻatautaia suʻega otometi

O le faʻamalama o se faʻaaliga galuega ma igoa o elemene. Sei o tatou mafaufau o loʻo e suʻeina le taskview o se pusa uliuli ma e te leʻi vaʻai lava i le Seleni i lou olaga. O le a le mea e fai e lenei code?

Toe foʻi i le aʻoga: faʻafefea ona aʻoaʻoina tusi tusi suʻega e faʻatautaia suʻega otometi

(Spoiler - e tape le galuega e ala i le malologa e fai ma sui o le pule, ona matou vaʻai ai lea o loʻo i ai se faʻamaumauga o lenei mea i le vaitafe.)

Ole la'asaga lava lea e fa'alatalata fa'atasi ai gagana QAA ma QA. E sili atu le faigofie mo 'au otometi ona fa'amatalaina i'uga o se ta'aloga tusi lesona e tatau ona fa'aalu le itiiti ifo o taumafaiga i le fatuina o mataupu: e mafai ona fa'aitiitia fa'amatalaga. Ae ui i lea, e malamalama tagata uma le tasi i le isi. Na matou mauaina le manumalo a'o le'i amataina le toleniga moni.

Laasaga 1. Toe fai fuaitau

Sei o tatou faaauau le tulaga tutusa ma le gagana. A tatou aʻoaʻo e tautala o ni tamaiti, tatou te le amata mai i le etymology ma semantics. Matou te toe fai "tina", "faʻatau se meataalo", ae aua le vave alu i le Proto-Indo-European aʻa o nei upu. O lea la o iinei: e leai se aoga o le maulu i totonu o le loloto o foliga faʻapitoa o le auala e galue ai autotests e aunoa ma le taumafai e tusi se mea e aoga.
E foliga fa'afeagai, ae e aoga.

I le lesona muamua, e aoga le tuʻuina atu o se faʻavae i le auala e tusi saʻo ai autotests. Matou te fesoasoani i le faʻatulagaina o le siosiomaga atinaʻe (i loʻu tulaga, Intellij IDEA), faʻamatala tulafono laʻititi gagana e manaʻomia e tusi ai se isi auala i se vasega o loʻo i ai nei e faʻaaoga ai laasaga o loʻo iai. Matou te tusia se tasi pe lua suʻega faʻatasi ma i latou ma tuʻuina atu ia i latou meaaoga, lea ou te faʻapipiʻiina e pei o lenei: o se lala e faʻateʻa ese mai le matai, ae tele suʻega ua aveese mai ai. Na'o latou fa'amatalaga o lo'o totoe. Matou te fai atu i tagata su'esu'e e toe fa'afo'i nei su'ega (ae le o fa'aaliga fa'aaliga, ioe).

O le iʻuga, o lē na faʻalogo ma faia mea uma o le a mafai ona:

  1. a'oa'o e galulue fa'atasi ma le atina'e o le si'osi'omaga atina'e: fatuina lala, hotkeys, commit ma tulei;
  2. fa'ata'ita'i fa'avae o le fausaga o le gagana ma vasega: o fea e fa'aofi ai tui ma le mea e fa'aulufale mai ai, aisea e mana'omia ai fa'amatalaga, ma po'o a ituaiga fa'ailoga o lo'o maua iina, e ese mai i laasaga;
  3. malamalama i le eseesega i le va o le gaioiga, faʻatali ma siaki, o fea e faʻaoga ai;
  4. maitau le eseesega i le va o autotests ma siaki tusi: i autotests e mafai ona e tosoina se tasi poʻo se isi faʻataʻitaʻiga nai lo le faia o gaioiga e ala i le atinaʻe. Mo se faʻataʻitaʻiga, lafo saʻo se faʻamatalaga i le pito i tua nai lo le tatalaina o se galuega, filifili le mea e tuʻuina atu, taina tusitusiga ma kiliki le ki Auina atu;
  5. fai fesili o le a taliina i le isi laasaga.

E taua tele le manatu mulimuli. O nei tali e faigofie lava ona tuuina atu a o lei oo i le taimi, ae o se mataupu faavae taua o le aoao atu e faapea o tali e aunoa ma ni fesili faatulagaina e le manatuaina ma e le faaaogaina pe a manaomia mulimuli ane.

O le a lelei pe a fai i le taimi nei e tuʻuina atu ia te ia e se inisinia masini mai le vaega QA se galuega i le tusiaina o ni suʻega se lua i le taua ma faʻatagaina o ia e tuʻuina atu i lana lala.

Le mea e le tuʻuina atu:

  1. malamalama atili loloto i le faʻatinoga o le siosiomaga atinaʻe ma le gagana polokalame lava ia, lea e naʻo le manaʻomia pe a galulue faʻatasi ma lala. O le a le manatuaina, e tatau ona e faʻamatalaina faalua pe faatolu, ae matou te faʻatauaina le taimi o inisinia masini, saʻo? Fa'ata'ita'iga: fo'ia fete'ena'iga, fa'aopoopo faila i le git, fa'atupu vasega mai le sasa, galue ma fa'alagolago;
  2. mea uma e fesoʻotaʻi ma xpath. Mata'utia. E mana'omia ona e talanoa fa'atasi i ai, fa'atasi ma i se faiga fa'atotonu.

Laasaga 2. Va'ai toto'a i le kalama

Sei o tatou manatua le ata o le taskview mai le laasaga #0. E iai la matou laasaga e taʻua o le checkCommentWithTextExists. Ua uma ona malamalama le matou su'ega i le mea e fai e lenei la'asaga ma e mafai ona matou va'ai i totonu o le la'a ma pala teisi.

Ma i totonu tatou te maua mea nei:

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

O fea o iai leCommentBlock

onCommonStreamPanel().commentBlock(userName);

O lenei ua tatou aoao e fai atu e le "faatau se meataalo," ae "faatau se meataalo mai le faleoloa Detsky Mir, o loʻo i totonu o le kapoti lanumoana i le fata lona tolu mai le pito i luga." E tatau ona faʻamatalaina tatou te faʻasino i se elemene faʻasolosolo, mai elemene tetele (vaitafe -> poloka ma faʻamatalaga mai se tagata patino -> lena vaega o lenei poloka o loʻo nofo ai le tusitusiga faʻamaonia).

Leai, e leʻi oʻo i le taimi e talanoa ai e uiga i le xpath. Tau lava o le taʻu puupuu o nei faatonuga uma o loʻo faʻamatalaina e i latou ma o le tofi e ui atu ia i latou. Ae e tatau ona tatou talanoa e uiga i nei tagata fetaui ma tagata faatalitali latou te faʻatatau tonu i lenei laasaga ma e tatau ona malamalama i le mea o loʻo tupu. Ae aua le soona mamafa: e mafai e lau tamaiti aʻoga ona suʻesuʻeina faʻamatalaga faigata na o ia mulimuli ane. E foliga mai, e tatau, faʻataliSeʻia, faʻaalia ();, iai ();, e le ();

E manino le meaaoga: o se lala o loʻo i totonu o le tele o laasaga e manaʻomia mo se numera o suʻega ua aveese. Tuu atu i le au su'e e toe fa'afo'i mai ma toe fa'ameamata le taufetuli.

E le gata i lea, afai o le au suʻega e le gata o ni foliga fou i lana galuega, ae faʻapea foʻi ma ni faʻaleleia o pusa, e mafai ona e fai atu ia te ia e tusi vave suʻega mo nei bugs ma faʻasaʻo. E foliga mai, o elemene uma ua uma ona faʻamatalaina na o ni laasaga se lua e ono misi. O le a avea lea ma toleniga atoatoa.

Laasaga 3. faatofu atoa

I le atoatoa e mafai ai mo se tagata su'e o le a fa'aauau pea ona fa'atino ona tiute tu'usa'o. Mulimuli ane, e tatau ona tatou talanoa e uiga i le xpath.

Muamua, ia tatou faʻamalamalama manino o nei mea uma ileCommentBlock ma faʻamatalaga o loʻo faʻamatalaina e latou.

Toe foʻi i le aʻoga: faʻafefea ona aʻoaʻoina tusi tusi suʻega e faʻatautaia suʻega otometi

Aofai:

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

E taua tele le faasologa o le tala. Muamua, matou te ave soʻo se xpath o loʻo iai ma faʻaalia pe faʻafefea ona i ai i le elemene elemene le tasi ma na o le tasi le elemene. Le isi, matou te talanoa e uiga i le fausaga: pe a manaʻomia le faʻaogaina o le WebElement, ma pe ae manaʻomia le fatuina o se faila ese mo se elemene fou. O le a mafai ai ona e malamalama atili i le tofi.

E tatau ona taʻu manino mai o se elemene e tasi o le galuega atoa, o loʻo i ai se elemene tamaititi - o le vaitafe atoa, lea e aofia ai se tamaititi elemene - o se faʻamatalaga ese, ma isi. O elemene a tamaiti o loʻo i totonu o matua elemene i luga o le itulau ma totonu o le fausaga o le autotest framework.

I le taimi nei, e tatau ona malamalama lelei le au maimoa pe faʻafefea ona tuʻufaʻatasia ma mea e mafai ona tuʻuina pe a maeʻa le togi i luga oCommentBlock. I le taimi nei, matou te faʻamatalaina uma tagata faʻatautaia: /, //, ., [] ma isi. Matou te faʻaopoopoina le malamalama e uiga i le faʻaaogaina i totonu o le uta @class ma isi mea e tatau ai.

Toe foʻi i le aʻoga: faʻafefea ona aʻoaʻoina tusi tusi suʻega e faʻatautaia suʻega otometi

E tatau i tamaiti aoga ona malamalama i le fa'aliliuina o le xpath i lenei auala. Ina ia faʻamalosia - e saʻo, meaaoga. Matou te tapeina faʻamatalaga o elemene, tuʻu latou toe faʻafoʻisia le galuega o suʻega.

Aisea e lenei ala faapitoa?

E le tatau ona tatou faʻamalosia se tagata e iai le poto faʻalavelave, ae tatau ona tatou faʻamatalaina mea uma i le taimi e tasi, ma o se faʻafitauli faigata lea. O lenei ala o le a mafai ai ona tatou faia muamua le au faʻalogologo e fai fesili ae le malamalama i se mea ma tali i latou i le isi taimi. Afai e te talanoa e uiga i le fausaga atoa, ona oʻo lea i le taimi e suʻesuʻeina ai le autu o laasaga poʻo le xpath, o vaega sili ona taua o le a galo ona o lo latou le malamalama.

Ae ui i lea, o nisi o outou atonu o le a mafai ona faʻasoa atu lou poto masani i le auala e mafai ai ona faʻaleleia atili le faagasologa. O le a ou fiafia e faitau fautuaga tutusa i faʻamatalaga!

puna: www.habr.com

Faaopoopo i ai se faamatalaga