Uru:
- Ikike iji mepụta koodu nnwale UI siri ike yana ọgụgụ isi, gụnyere data-testid, echere mepere emepe, wee kwupụta nke na-enyocha nsonaazụ onye ọrụ n'ezie.
- Ikike ịzere ule na-adịghị emebi emebi (onye na-ahọrọ ihe ọjọọ, ichere kpuru ìsì) ma mee ka ule dị mfe idowe n'ụdị ihe nleba anya Page Object Model.
- Ikike ịnwale ule UI ọ bụla emepụtara site na imebi koodu ahụ wee chọpụta ma dozie ule adịgboroja gafere
Pịa ọ bụla, ụdị ọ bụla jupụtara, mgbanwe ibe ọ bụla onye ọrụ na-eme na ihe nchọgharị enweghị ike iji aka nwalee ugboro ugboro - ya mere UI ule automation (nrụọrụ ọrụ; ule ndị a na-eṅomi omume onye ọrụ site na iji mmemme na-ebu ezigbo ihe nchọgharị) dị. Selenium, Playwright na Cypress bụ ngwa ọrụ a na-ahụkarị maka ọrụ a. Ọgụgụ isi (AI) nwere oke nka n'ịde koodu maka ngwaọrụ ndị a: ị na-akọwa ikpe nnwale, AI na-enye gị mpempe akwụkwọ edemede akpaaka nwere ike ịrụ ọrụ. Ma ebe a ịdọ aka ná ntị etiti nke modul a na-abata ọzọ: UI ule koodu nke AI na-emepụta nwere ike na-abụkarị ule na-adịghị ike nke "na-amụba akwụkwọ ndụ akwụkwọ ndụ ma chọpụta ihe na-ezighị ezi" ma ọ bụ na-agbanye na ifufe. Ọrụ gị abụghị ịme koodu a, mana ijide n'aka na ọ na-enyocha ihe ziri ezi n'ezie.
N'ime nkeji a, anyị bu n'obi iwepụta ule UI siri ike, na-edozi ma na-akwado AI; Ị ga-amụta izere ule ndị na-esighị ike.
Ogidi atọ nke nnwale UI siri ike
1. Ezi mmewere chọta. Nnwale na-eji onye nhọpụta chọta ihe dị na ibe ahụ. AI na-emepụtakarị ndị na-ahọpụta ndị na-agbaji agbaji: ogologo ụzọ XPath (adreesị dabere na nhazi ibe), ndị na-ahọrọ dabere na aha klaasị CSS (na-agbaji mgbe mgbanwe nhazi). Ụzọ siri ike bụ njirimara kwụsiri ike dị ka data-testid nke onye nrụpụta gbakwunyere maka nnwale. Tinye nke a n'ụzọ doro anya na AI.
2. Nchere doro anya. Isi mmalite nke adịghị ike na nnwale UI bụ oge. Ụra na-adịgide adịgide (3) (ichere ìsì) bụ omume ọjọọ: mgbe ụfọdụ ọ naghị ezuru, mgbe ụfọdụ ọ na-egbu oge. Ụzọ ziri ezi bụ iji echere doro anya, nke na-ekwu "chere ruo mgbe ihe a pụtara". Onye na-ede egwuregwu na-eme nke a na-akpaghị aka; Na Selenium ị ga-arịọrịrị ya n'ụzọ doro anya.
3. Nkwuwa okwu bara uru. Nnwale ahụ kwesịrị ịchọpụta nsonaazụ onye ọrụ ga-ahụ n'ezie - dịka “nọmba iwu pụtara na ihuenyo,” ọ bụghị naanị “bugoro ibe.” Ọ bụrụ na ule nke AI mepụtara enweghị nkwuputa ma ọ bụ na ọ dịghị mkpa, ule ahụ na-emepụta pseudo-pass (1st unit).
Akpachara anya: Mgbe mbụ ị hụrụ ule UI nke AI mepụtara, lelee ihe atọ kachasị: ndị a na-ahọpụtara (data-testid), na-echere (enweghị ụra kpuru ìsì), na nkwupụta ahụ na-enyocha nsonaazụ onye ọrụ n'ezie? Ọ bụrụ na atọ ndị a dị mma, ule ahụ nwere ike sie ike.
Ihe Nlereanya Ibe
Ka ule na-eto eto, ndị na-ahọrọ ide n'ime ule ọ bụla na-aghọ ihe nro na-edozi. Ihe Nlereanya Page (POM - ụkpụrụ imewe nke na-anakọta ndị na-ahọpụta na omume maka ibe / ihuenyo ọ bụla n'ime otu klas) na-edobe onye na-ahọrọ n'otu ebe; Mgbe interface gbanwere, ị na-emelite ya n'otu faịlụ. Mee ka AI mepụta ule ndị ahụ na usoro POM, kama ịbụ ozugbo; Nke a na-eme ka mmezi dị mfe karị.
Ngwa ngwa adịghị ike / Ike siri ike
Adịghị ike: "Dee ule Selenium maka ibe nbanye."
siri ike: "Dee ule nbanye na Playwright (TypeScript). Ndị na-ahọrọ na-eji data-testid naanị; ejila njikwa ihe onye ọrụ na-ahụ, ọ bụghị aha ibe."
Ike ngwa ngwa; Ngwá ọrụ ahụ na-enye asụsụ, amụma ahọpụtara, atụmatụ nchere, ihe owuwu (POM) na atụmanya nkwuputa.
Nwalee data na nnwere onwe gburugburu ebe obibi
Ọ bụghị nanị na e dere ule UI siri ike nke ọma, kamakwa ọ na-ewuli ma na-ehichapụ data ule nke ya. Nnwale sitere AI na-ejikọkarị ya na onye ọrụ ma ọ bụ ndekọ nke chere na ọ dịlarị na gburugburu ("banye dị ka onye ọrụ nchịkwa"). Echiche a na-agbaji mgbe ule na-agba ọsọ na gburugburu ebe ọzọ ma ọ bụ mgbe ule ọzọ gasịrị (nsogbu ịdabere n'usoro na nkeji 9). Eziokwu bụ na ule ọ bụla na-emepụta data ọ chọrọ na mmalite nke ule (ma ọ bụ na-akwadebe ya na oku API) ma sachaa ya na njedebe. Gwa ndị AI nke ọma ka ha "tọọ data ọ bụla ule a dabere n'ime ule ahụ; echela data emebere site na mpụga."
Isi ihe ọzọ dị mkpa abụghị iji ezigbo data onye ọrụ mee nnwale UI. Ọ bụrụ na a na-eji akwụkwọ nchekwa data mmepụta ihe na gburugburu ule, ihe ndekọ ndị a bụ data nke ndị mmadụ n'ezie; nseta ihuenyo na ndekọ ule nwere ike ikpughe data a. Jiri akaụntụ nyocha sịntetik (akụkọ ifo) mee ihe; ọ na-echekwa nzuzo ma na-eme ka ule pụtaghachi. Iji ezigbo akaụntụ ndị ahịa na-eme ule "ịkagbu iwu" bụ ma njehie ziri ezi na arụ ọrụ.
Ndụmọdụ: Debe ule UI ole na ole ka enwere ike; Hapụ nkwenye n'ezie na API na ule otu, nke dị ngwa ma kwụsie ike. Nnwale UI dị ọnụ ma na-emebi emebi - jiri naanị ya mee ka usoro ndị ọrụ na-aga n'ihu na njedebe (nnwale pyramid nyocha).
Ntụnyere ụgbọala
atụmatụ
selenium
odee egwu
cypress
asụsụ
Java, C#, Python, JS
JS/TS, Python, .NET, Java
Javascript/Ụdị Script
njikere akpaaka
Mba (ji aka)
Ee ( siri ike)
Ee
Ọtụtụ ihe nchọgharị
obosara
Chromium/Firefox/WebKit
Chromium na-achị
ọchịchọ nke brittleness
Akwa (njikere ejiri aka)
ala
ala
Mfe nke mmụta
ọkara
mfe
mfe
arụ ọrụ yiri ya
Grid chọrọ
arụnyere n'ime
Onye bi/akwụ ụgwọ
Mgbe ị na-arịọ koodu sitere na AI, kwupụta nke ọma nke ụgbọ ala ọ bụ; Ma ọ bụghị ya, ọ nwere ike ịmepụta koodu mgbagwoju anya, na-adịghị arụ ọrụ.
Ndebiri anọ enwere ike iṅomi
1) Ọgbọ nnwale UI siri ike:
Ọrụ gị: senior test automation engineer.Dee ule na [ngwaọrụ + asụsụ] maka ndị na-esonụ eruba: [flow] .Iwu: - Selectors data-testid naanị; Iji XPath/CSS-klas. - Enweghị ụra kpuru ìsì; Jiri nchere doro anya/akpaghị aka. - Tinye ihe nlereanya ibe. - Ka onye ọ bụla kwupụta nyochaa n'ezie nsonaazụ onye ọrụ. Kwuo okwu na mbido ule ọ bụla nke njirisi nnabata ị na-akwado.
2) njikwa fragility:
Nyochaa ule UI na-esonụ maka nrụrụ aka: - Enwere onye na-ahọpụta onye anaghị akwụsi ike (ogologo
3) Ntughari gaa na ihe ibe:
Tụgharịa koodu ule dị larịị na-esote n'ime nhazi ihe nlere ihu peeji. Bugharịa ndị nhọpụta na omume gaa na klaasị ibe; Mee ka faịlụ ule gụọ naanị ihe dị n'ọnọdụ. [Ngwaọrụ/asụsụ]. Koodu: [koodu mado]
4) Ihe akaebe ngbanwe nke ụgha:
Gosipụta na ule UI a kwadoro n'ezie: Kedu otu mgbanwe m na-eme na koodu ngwa nke ga-atụgharị ule a na-acha uhie uhie? Ọ bụrụ na ịnweghị ike ịhụ mgbanwe nke ga-emebi ule ahụ, ule ahụ ezughị oke; tinye nkwuwa okwu na-efu efu.Nnwale: [nnwale mado]
Obere ikpe atọ
Ikpe 1 - Ntọhapụ si na-emebi emebi selector. N'ime ule 40 nke otu ìgwè mepụtara na AI, 70% agbajiri mgbe emelitere interface; Ọ dịghị nke ọ bụla n'ime ha bụ ahụhụ n'ezie, ha niile bụ ndị nhọrọ XPath na-esighị ike. Ndị otu ahụ tụgharịrị ule ndị ahụ ka ọ bụrụ ntọala data-testid nwere ndebiri “ego adịghị ike”. N'ime mmelite interface atọ na-esote, ọnụ ọgụgụ nke nkwụsịtụ ụgha gbadara na efu; Oge nlekọta na-ebelata site na awa 6 ruo nkeji 30 kwa izu.
Ikpe 2 - Nnwale UI na-agafe adịgboroja. AI mepụtara ule "gbakwunye na ụgbọ ibu"; ule ahụ bụ akwụkwọ ndụ akwụkwọ ndụ. Mgbe agbanyere ndebiri “nke adịgboroja-nke ngafe”, nnwale ahụ pụtara na ọ bụ naanị pịa bọtịnụ na aha ibe, na-achọpụtaghị ma counter cart abawanyela ma ọ bụ na ọ gbasaghị. Ọbụlagodi na mgbagha ụgbọ ala agbajiri kpamkpam, ule ahụ gafere. Ezi nkwupụta agbakwunyere (baajị ụgbọ ibu bụ "1").
Ikpe 3 - Ọnyà echere kpuru ìsì. N'ime ule Selenium nke AI mepụtara, enwere ụra (2) mgbe nzọụkwụ ọ bụla gasịrị; Nlele 60 were nkeji iri na anọ ma na-agbaji oge ụfọdụ. Mgbe ịgbanwee ka imeghe ichere (chere maka mmewere ka a ga-pịa ya) oge ahụ gbadara na nkeji 5 na brittleness na-apụ n'anya. Nchere kpuru ìsì ji nwayọọ nwayọọ na enweghị ntụkwasị obi.
Mmejọ ndị nkịtị
- Na-ekwenye na ndị na-ahọpụta ndị na-emebi emebi. Iji ogologo XPaths nke AI mepụtara dị ka ọ bụ; Nnwale dara na mgbanwe interface mbụ.
- Ịhapụ 'ụra' kpuru ìsì. "Na-edozi" oge na-echere ogologo oge; ma ndị na-adị nwayọọ na ndị na-adịghị enwe mkpebi.
- Nkwuwa okwu efu. Naanị nyochaa na ibe ahụ eburula; Anaghị elele nsonaazụ onye ọrụ (fake-pass) n'ezie.
- Too na-enweghị POM. Kesaa ndị na-ahọrọ na ule ọ bụla; Iji aka na-emelite ọtụtụ faịlụ mgbe interface gbanwere.
- Na-akọwapụtaghị ngwá ọrụ ahụ. Ọ bụghị ịgwa AI ihe ngwaọrụ / asụsụ ịchọrọ; koodu na-adịghị mma, nke na-adịghị arụ ọrụ.
- Na-atụkwasị obi mgbe ị na-agba ọsọ koodu emepụtara wee gafere. Anaghị anwale site na imebi koodu.
Na nchịkọta
UI ule akpaaka na-enyocha omume onye ọrụ site na iji mmemme kwọọ ihe nchọgharị ahụ n'ezie. AI na-ewepụta koodu a ngwa ngwa, mana enwere nnukwu ọnyà abụọ: ule na-agbaji agbaji (onye na-ahọrọ ihe ọjọọ, kpuru ìsì na-echere) na ule ngafe adịgboroja (nkwupụta na-ezughị ezu / obere okwu). Ogidi atọ nke nnwale UI siri ike bụ onye na-ahọrọ (data-testid), chere nke ọma, wee kwupụta na-enyocha nsonaazụ onye ọrụ n'ezie. Inwe ule ewepụtara na ihe nlere ihu ihu na-eme ka mmezi dị mfe. Nwalee ule emepụtara ọ bụla na ajụjụ "kedu mgbanwe ga-emebi nke a?"
Ọrụ ngwa
Họrọ onye ọrụ na-asọ site na oru ngo nke gị (dịka nbanye ma ọ bụ chọọ). Mee ka AI jiri “ọgbọ nnwale UI siri ike” dee ule. Mgbe ahụ: (1) lelee ma dozie ndị na-ahọrọ wee chere na "ego adịghị ike", (2) gosi na ule ọ bụla na-akwado n'ezie na "pseudo-pass proof", (3) mebie koodu ahụ wee hụ na ule ahụ na-acha uhie uhie. Kpesa ọnụ ọgụgụ nke ule emepụtara na mezie, yana ọnụọgụ adịghị ike na ngafe pseudo ị chọtara.
ndetu
- [] Enyere m AI ngwá ọrụ, asụsụ, amụma nhọrọ na ụkpụrụ ụlọ (POM) nke ọma.
- [ ] Achọpụtara m na ndị ahọpụtara bụ data-testid.
- [ ] Eji m n'aka na m ga-eji nchere doro anya/akpaghị aka kama ịra ụra kpuru ìsì.
- Achọpụtara m na nkwupụta ọ bụla na-enyocha nsonaazụ onye ọrụ n'ezie.
- [] M nwalere ule ọ bụla site na imebi koodu; Ahụrụ m ka ọ na-acha uhie uhie.
- [] Anakọtara m ule ndị ahụ na nhazi ihe nlere nke Page Object.