
Нещодавно мої автотести, що я на playwright написав, перестали працювати. Точніше сказати, тести працюють, але всі 100% падають. Поліз дивитись логи, репродюсити руками, а в тестовому оточенні – баг! Не просто баг, а БАГ! 🐞
Одна з бібліотек, що використовують наші фронтенд, на кожній сторінці додатку виводить попап з повідомленням, якого там взагалі немає бути. Як ви розумієте, тести такого точно не чекають. Написав команді розробки, а вони відповідають – так, проблема відома, але поки що нічого ми з нею зробити не можемо ¯_(ツ)_/¯
І мануальщикам вона не сильно заважає – закрий попап і працюй собі далі.
Хоча це і проти моїх принципів, я навіть почав думати, як змусити тести автоматично реагувати на подію “попапзпомилкою”, написати event handler. Але швидко прийшов до іншої ідеї – простіше просто вимкнути цю лібу (вона не впливає на основний функціонал). Так, деякі тести без неї працювати не будуть, але їх швидше буде руками прогнати, а регресійні тести не будуть більше заблоковані. Написав розробникам, розпитав деталі і додав в код свого тестового проєкту буквально кілька строк коду.
Рішення: playwright page має метод .add_init_script(**kwargs), що виконує вказаний javascript кожного разу при навігації. І вимкнув своїм скриптом джерело проблем (моє кунг-фу сильніше 🥋)
А як би ви вирішували проблему?