Naúrar 4 / 11

UI Gwajin Automation: Samar da Selenium, Mawallafin wasan kwaikwayo da lambar Cypress tare da AI

Riba:

  • Ikon samar da lambar gwajin UI mai ƙarfi tare da hankali na wucin gadi, gami da data-testid, buɗe jira, da tabbatar da tabbatar da ainihin sakamakon mai amfani.
  • Ikon guje wa gwaje-gwaje masu rauni (mai zaɓi mara kyau, jira makaho) da sanya gwaje-gwaje cikin sauƙi don kiyayewa a cikin Tsarin Samfurin Abubuwan Shafi
  • Ikon gwada kowane gwajin UI da aka samar ta hanyar karya lambar da ganowa da gyara gwaje-gwajen da aka yi na karya

Kowane danna, kowane nau'i na cika, kowane shafi na canzawa mai amfani a cikin mai bincike ba za a iya gwada shi akai-akai da hannu ba - shi ya sa UI gwajin sarrafa kansa (mai amfani da ke dubawa; waɗannan gwaje-gwajen suna kwaikwayon halayen mai amfani ta hanyar tuƙi na ainihi browser) ya wanzu. Selenium, Playwright da Cypress sune kayan aikin gama gari don wannan aikin. Hankali na wucin gadi (AI) ya ƙware sosai wajen rubuta lambar don waɗannan kayan aikin: kun bayyana shari'ar gwaji, AI yana ba ku daftarin rubutun sarrafa kansa mai iya aiki. Amma a nan babban gargaɗin wannan rukunin ya sake shiga wasa: lambar gwajin UI da AI ke samarwa na iya zama gwaje-gwaje marasa ƙarfi waɗanda “haske kore amma tabbatar da abin da ba daidai ba” ko kunna iska. Aikin ku ba shine gudanar da wannan lambar ba, amma don tabbatar da cewa a zahiri ta tabbatar da abin da ya dace.

A cikin wannan naúrar, muna nufin samar da ƙarfi, dawwama da ingantaccen gwajin UI tare da AI; Za ku koyi guje wa gwaje-gwaje masu rauni.

ginshiƙai uku na ingantaccen gwajin UI

1. Madaidaicin wurin gano abubuwa. Gwaji yana amfani da mai zaɓe don nemo kashi a shafin. AI sau da yawa yana samar da masu zaɓe masu ɓarna: dogayen hanyoyin XPath (adireshin dogaro da yawa akan tsarin shafi), masu zaɓe bisa sunayen ajin CSS ( karya lokacin da ƙira ta canza). Hanya mai ƙarfi ita ce tabbatacciyar halaye kamar data-testid wanda mai haɓakawa ya ƙara don gwaji. Sanya wannan a sarari akan AI.

2. Tsayayyen jira. Tushen rashin lafiya mai lamba ɗaya a gwajin UI shine lokaci. Kwanciyar barci (3) (makafin jira) mummunan aiki ne: wani lokacin ba ya isa, wani lokacin yana bata lokaci. Hanyar da ta dace ita ce a yi amfani da jira a bayyane, wanda ke cewa "jira har sai wannan abin ya bayyana". Marubucin wasan kwaikwayo yana yin hakan ta atomatik; A cikin Selenium dole ne ka nemi shi a sarari.

3. Magana mai ma'ana. Ya kamata gwajin ya tabbatar da sakamakon da mai amfani zai gani a zahiri - kamar "lambar oda ta bayyana akan allon," ba kawai "shafi da aka ɗora ba." Idan gwajin da AI ta samar ba shi da tabbaci ko kuma ba shi da mahimmanci, wannan gwajin yana samar da fasfo-pass (raka'a ta farko).

Tsanaki: Lokacin da kuka fara ganin gwajin UI na AI-ƙirƙira, bincika abubuwa uku mafi yawa: shin masu zaɓin sun aikata (data-testid), ana jira (ba makaho barci), kuma tambayar ta tabbatar da ainihin sakamakon mai amfani? Idan waɗannan ukun sun yi kyau, ƙila gwajin ya yi ƙarfi.

Samfurin Abun Shafi

Yayin da gwaje-gwaje ke girma, rubuta zaɓaɓɓu a cikin kowane gwaji ya zama abin tsoro mai ban tsoro. Samfurin Abun Shafi (POM - ƙirar ƙira wanda ke tattara zaɓaɓɓu da ayyuka don kowane shafi / allo a cikin aji ɗaya) yana kiyaye mai zaɓi a wuri ɗaya; Lokacin da mu'amala ta canza, kuna sabunta shi a cikin fayil ɗaya. Shin AI ta samar da gwaje-gwaje a cikin tsarin POM, maimakon kai tsaye; Wannan yana sa kulawa da sauƙi.

Rauni mai ƙarfi / Ƙarfi mai ƙarfi

Rauni: "Rubuta gwajin Selenium don shafin shiga."
Mai ƙarfi: "Rubuta gwajin kwararar shiga tare da Playwright (TypeScript). Masu zaɓe suna amfani da data-testid kawai; kar a yi amfani da sarrafa abin da mai amfani ke gani, ba taken shafin ba."

Ƙarfi mai ƙarfi; Kayan aikin yana ba da harshe, manufofin zaɓi, dabarun jira, gine-gine (POM) da kuma fayyace tsammanin tsammanin.

Gwajin bayanai da 'yancin kai na muhalli

Gwajin UI mai ƙarfi ba kawai a rubuta shi daidai ba, amma kuma yana ginawa da tsaftace bayanan gwajinsa. Gwaje-gwajen AI da aka ƙirƙira galibi suna haɗi zuwa mai amfani ko rikodin da ake tsammanin ya riga ya wanzu a cikin mahalli ("shiga azaman mai amfani"). Wannan zato yana karya lokacin da gwajin ya gudana a wani yanayi ko bayan wani gwaji (matsalar dogaro da oda a cikin naúrar 9). Gaskiyar ita ce, kowane gwaji yana ƙirƙirar bayanan da yake buƙata a farkon gwajin (ko shirya shi tare da kiran API) kuma yana tsaftace shi a ƙarshe. A bayyane yake umurci AI don "saba duk wani bayanan da wannan gwajin ya dogara da shi a cikin gwajin; kar a ɗauka bayanan da aka shirya daga waje."

Wani muhimmin batu shine kada a yi gwajin UI tare da ainihin bayanan mai amfani. Idan ana amfani da kwafin bayanan samarwa a cikin yanayin gwaji, waɗannan bayanan bayanan mutane ne na gaske; hotunan kariyar kwamfuta da rikodin gwaji na iya bayyana wannan bayanan. Yi amfani da lissafin gwaji na roba (na almara); yana kare sirrin duka kuma yana sanya gwaje-gwajen da za'a iya maimaita su. Gudanar da gwajin "warkewar oda" tare da ainihin asusun abokin ciniki duka kuskure ne na ɗa'a da aiki.

Tukwici: Rike gwajin UI kaɗan ne sosai; Bar ainihin tabbaci ga API da gwaje-gwajen naúrar, waɗanda suke da sauri da kwanciyar hankali. Gwajin UI yana da tsada kuma yana da rauni - yi amfani da shi kawai don tabbatar da kwararar mai amfani daga ƙarshe zuwa ƙarshen (gwajin dala).

Kwatancen abin hawa

fasali

selenium

marubucin wasan kwaikwayo

cypress

harsuna

Java, C#, Python, JS

JS/TS, Python, .NET, Java

JavaScript/TypeScript

auto jiran aiki

A'a (da hannu)

Ee (karfi)

Ee

Multi browser

fadi

Chromium/Firefox/WebKit

Chromium-mafi rinjaye

hali ga brittleness

Babban (jiran aikin hannu)

ƙananan

ƙananan

Sauƙin koyo

matsakaici

mai sauki

mai sauki

a layi daya aiki

Ana buƙatar Grid

ginannen ciki

Mazaunin/biya

Lokacin neman lamba daga AI, bayyana a sarari wacce abin hawa take; In ba haka ba, zai iya haifar da ruɗani, lambar mara aiki.

Samfura huɗu masu kwafi

1) Ƙarfin gwajin UI mai ƙarfi:

Matsayinku: babban injiniyan injiniyan gwaji. Rubuta gwaje-gwaje tare da [kayan aiki + harshe] don gudana mai zuwa: [gudanarwa].Dokokin: - Masu zaɓin bayanai-gwaji kawai; Amfani da XPath/CSS-class. - Ba makaho barci; Yi amfani da jira bayyane/atomatik. - Aiwatar da Samfurin Abun Shafi. - Bari kowane ya faɗi ya tabbatar da ainihin sakamakon mai amfani. Yi sharhi a farkon kowane gwaji wane ma'aunin karɓa kuke ingantawa.

2) Kula da rashin ƙarfi:

Bincika gwajin UI mai zuwa don ɓarna: - Akwai mai zaɓi mara tsayayye (dogon

3) Juya zuwa Abun Shafi:

Maida lambar gwajin bayyananniya mai zuwa zuwa tsarin Samfurin Abubuwan Shafi. Matsar da zaɓaɓɓu da ayyuka zuwa azuzuwan shafi; Bari fayil ɗin gwaji ya karanta yanayin yanayin kawai. [Kayan aiki/harshe].Lambar: [manna lambar]

4) Tabbacin juzu'i:

Tabbatar da cewa wannan gwajin UI ya inganta a zahiri: Wane canji guda ɗaya na yi ga lambar aikace-aikacen da za ta juya wannan gwajin JAN? Idan ba za ku iya samun canjin da zai karya gwajin ba, gwajin bai isa ba; ƙara bacewar furci.Test: [gwajin manna]

uku mini lokuta

Case 1 - 'Yanci daga mai zaɓe mai rauni. Daga cikin gwaje-gwajen 40 da ƙungiyar ɗaya ta samar tare da AI, 70% sun karye bayan sabuntawar dubawa; Babu ɗayansu da suka kasance ainihin kwari, dukkansu zaɓaɓɓun XPath ne masu rauni. Tawagar ta canza gwaje-gwajen zuwa tushen bayanan-testid tare da samfurin "cakin rashin ƙarfi". A cikin sabuntawar mu'amala guda uku na gaba, adadin karya karya ya ragu zuwa sifili; Lokacin kulawa ya ragu daga sa'o'i 6 zuwa mintuna 30 a kowane mako.

Case 2 - Gwajin UI mai wucewa ta karya. AI ta samar da gwajin "ƙara zuwa cart"; gwajin ya kasance kore. Lokacin da aka gudanar da samfurin “hujja na karya”, gwajin ya bayyana ne kawai don duba maballin danna da taken shafi, ba tare da tabbatar da ko na'urar na'urar ta karu ko a'a ba. Ko da dabarar cart ɗin ta karye gaba ɗaya, gwajin ya wuce. An ƙara tabbatarwa ta gaskiya (lambar cart ɗin kasancewa "1").

Case 3 - Makaho tarkon jira. A cikin gwajin Selenium da AI ta samar, akwai barci (2) bayan kowane mataki; Gwaje-gwaje 60 sun ɗauki mintuna 14 kuma har yanzu suna karya lokaci-lokaci. Bayan an canza don buɗe jira (jiran abubuwan da za a iya dannawa) lokacin ya faɗi zuwa mintuna 5 kuma ɓarna ya ɓace. Makaho jira ya kasance a hankali kuma ba abin dogaro ba ne.

Kuskuren gama gari

  • Yarda da masu zaɓe masu rauni. Yin amfani da dogayen XPaths da AI ke samarwa kamar yadda yake; Gwaje-gwaje sun fadi a farkon canjin mu'amala.
  • Barin makaho 'barci'. "Yankewar" lokaci tare da tsayayyen jira; a hankali da rashin yanke hukunci.
  • Tabbatarwa maras muhimmanci. Kawai tabbatar da cewa shafin ya loda; rashin duba ainihin sakamakon mai amfani (fake-pass).
  • Shuka ba tare da POM ba. Rarraba masu zaɓe ga kowane gwaji; Ana sabunta fayiloli da yawa da hannu lokacin da mu'amala ta canza.
  • Ba ƙayyade kayan aiki ba. Ba gaya wa AI abin da kayan aiki / harshe kuke so ba; samun m, mara aiki code.
  • Amintacce lokacin da kuke gudanar da lambar da aka samar kuma ku wuce. Ba gwaji ta hanyar karya lambar ba.

a takaice

Gwajin UI ta atomatik yana tabbatar da halayen mai amfani ta hanyar tuƙi ainihin mai binciken tare da shirin. AI yana haifar da wannan lambar da sauri, amma akwai manyan ramummuka guda biyu: Gwaje-gwaje marasa ƙarfi (mai zaɓe mara kyau, makafi yana jira) da gwaje-gwajen wucewa na karya (rashin cikawa / ƙaranci). Ginshikai guda uku na ingantaccen gwajin UI sune mai zaɓin (data-testid), jira a sarari, kuma tabbatar da cewa yana tabbatar da ainihin sakamakon mai amfani. Samun gwaje-gwaje da aka samar a cikin Samfurin Abun Shafi yana sauƙaƙa tabbatarwa sosai. Gwada kowane gwajin da aka samar tare da tambayar "wane canji zai karya wannan?"

Aikin aikace-aikace

Zaɓi kwararar mai amfani daga aikin ku (misali shiga ko bincike). Shin AI ta rubuta gwaje-gwaje tare da samfurin "ƙarfin gwajin UI mai ƙarfi". Sannan: (1) duba da gyara masu zaɓe kuma a jira tare da “check fragility”, (2) tabbatar da cewa kowane gwaji ya inganta da “pseudo-pass proof”, (3) karya lambar kuma lura cewa gwajin ya zama ja. Bayar da rahoton adadin gwaje-gwajen da aka yi da kuma gyara, da adadin lahani da wuce gona da iri da kuka samu.

jerin abubuwan dubawa

  • [ ] Na baiwa AI kayan aiki, harshe, manufofin zaɓe da gine-gine (POM) a sarari.
  • [ ] Na tabbatar da cewa masu zaɓe bayanan-testid ne.
  • [ ] Na tabbatar da yin amfani da tsayayyen jira / jira ta atomatik maimakon barcin makaho.
  • [ ] Na duba cewa kowace hujja tana tabbatar da ainihin sakamakon mai amfani.
  • [ ] Na gwada kowace gwaji ta hanyar karya lambar; Na ga ya zama ja.
  • [ ] Na tattara gwaje-gwajen a cikin Tsarin Samfurin Abubuwan Shafi.