Cypress: Uğursuz sınaq hadisələrini yenidən sınamaq və əmr satırındakı konsol səhvlərini necə qeyd etmək olar?

Əvvəlki bloqumuzda "Cypress.io-da xrom uzantısını necə yükləmək olar?"

  • Xrom veb mağazasından bir uzantının açılmamış versiyasını necə əldə etmək olar?
  • Test altında tətbiqimizdə xrom uzantısını necə yükləmək olar?
  • Kiprdə bir uzantı yükləmək üçün əlaqəli konfiqurasiya dəyişiklikləri hansılardır?

Burada müzakirə edəcəyik:

  • Test skriptlərimizdə təkrar cəhd bacarığını necə əlavə etmək olar?
  • Çatdırılmanı asanlaşdırmaq üçün əmr satırındakı konsol çıxışını necə qeyd etmək olar?

Hərəkət etmədən əvvəl, yenidən cəhd etmə qabiliyyətini niyə əlavə etməyimiz lazım olduğunu müzakirə edək Front End avtomatlaşdırılmasında bildiyimiz kimi qeyri-qanuni sınaqlar ən böyük problemlərdən biridir və təkrar cəhd qabiliyyəti təsadüfi problemlər səbəbiylə yalnış uğursuzluqları azaltmağa kömək edən bir həll ola bilər.

Yenidən cəhd etmə bacarığını necə əlavə etmək olar?

Hal-hazırda, sərv, uğursuz testləri təkrarlamağın birbaşa yolunu təmin etmir, ancaq test skriptlərimizə bir plagin daxil edərək bu qabiliyyəti əlavə edə bilərik. Bu plugin, test səviyyəsi, çəngəl səviyyəsi və s. Kimi test paketinin hər səviyyəsində təqdim olunan təkrar cəhd sayğacına görə uğursuz testi yenidən həyata keçirəcəkdir.

Beləliklə burada:

Plugini quraşdırın:

  • Plugin'i devD asılılıqlarına əlavə edin
$ npm quraşdırma -D sərv-plugin-təkrar cəhdlər
  • Cypress / support / index.js başında:
tələb etmək ('sərv plagin-təkrar cəhdlər')
  • Cypress / plugin / index.js başında:
module.exports = (on, config) => {tələb ('cypress-plugin-retries / lib / plugin') (on)} // Bu, yenidən sayğacı əmr satırına daxil etməyə imkan verir.

İstifadəsi

  • Bütün xüsusi fayllar üçün təkrar nömrəni təyin etmək üçün mühit dəyişən CYPRESS_RETRIES istifadə edin:

CYPRESS_RETRIES = 2 npm sərv

  • Və ya bütün xüsusi fayllar üçün təkrar nömrəni təyin etmək üçün cypress.json konfiqurasiya faylınızdakı "env" düyməsini seçin:
{"env": {"RETRIES": 2}}
  • Və ya hər test və ya hər qəlyan əsasında yenidən cəhd nömrəsini seçin:
bu ('test', () => {Cypress.currentTest.retries (2)})

Bu, sınanmış test hallarının qarşısını almaq üçün sınaq işlərimizdə təkrar cəhd etmək qabiliyyətini əlavə etməkdən ibarətdir.

Konsol çıxışını əmr satırına necə daxil etmək olar?

İndi sual budur ki, test işlərini CI / CD boru kəməri ilə icra etmək və hər hansı bir uğursuzluq baş verərsə, uğursuzluğun kök səbəbini necə öyrənmək olar? CI / CD boru kəmərində olduğu kimi, başsız rejimdə sınaq aparılır və heç bir UI yoxdur ki, konsol səhvini necə bilək? Yenidən cəhd etmə sərvü əmr satırında konsol səhvini çap etmək üçün heç bir konfiqurasiya təmin etmədiyi kimi, başqa bir plagin şəkil daxil olur.

Quraşdırma

  • Plugin'i devD asılılıqlarına əlavə edin
$ npm quraşdırma - qurmaq-dev qurmaq üçün giriş-çıxış

İstifadəsi

  • Cypress / plugin / index.js başında:
module.exports = (on, config) => {tələb ('cypress-plugin-retries / lib / plugin') (on)}

Testin icrası zamanı komanda sətirindəki qeydləri aşağıdakı kimi görəcəyik:

Ümid edirəm bu yazıdan zövq aldınız, sonrakıları görmək üçün buraya baxın.

İstinadlar: https://docs.cypress.io/plugins/index.html#content