тобто людина зупиняв потік задаючи час, я б уже користувався класичним Вейт чекаючи появи елемента і так даліе але реалізовано так. наприклад шматок тіста
так ось у чому суть мавен таке я так зрозумів не їм. тести він проганяв швидше і на таких Вейт не зупиняється
Питання - як поміняти код що б мавен все таки зупинявся або все таки прийдеться перепесать всі тести. на останній варіант у мене просто не так багато часу. я намагаюся писати все таки з wait.
Файл зображення 800x800 53.2 KB
По руках треба бити таким писакам. Якщо потрібно чогось чекати, explicit waits - ваше все. Якщо архітектурно там все побудовано більш-менш, то змінювати майже нічого не доведеться: додати нову пошукову логіку і поудалять все входження сліп патерну. Хоча, у мене чомусь дуже великі сумніви щодо архітектурної валідності, виходячи з побаченого. Та й взагалі, судячи з усього, почати доведеться не з рефакторінга, а з читання code conventions.
Не можу ще повністю оцінити архітектуру. але ось додати логіку за типом
не погано було б якби не реалізовані вже під 1000 тестів. тобто мені потрібно зайти в тест витягнути локатор вставити в метод, а пов оя так розумію автоматизувати не можна. просто шукаю вихід як зробити більш це безболісно і ще хочу зрозуміти це точно мавен винен. просто під мавен тести явно швидше робляться і він не зупиняється в точках передбачуваного зупинки
Це робиться на рівні якоїсь BasePage / кастомних елементів. Тобто всього 1 зміна в методі пошуку для всіх елементів. Але якщо у вас все навалено в купу, і не реалізовано перевикористання методів, то такий "фреймворк" можна сміливо викидати на смітник. Total time на винахід милиць вам виллється в набагато більше людино-годин, ніж Еффорт на повноцінний архітектурний дизайн. Природно, якщо це є кому робити на проекті. Без досвіду вам звичайно доведеться миритися з поточним свавіллям. Але я б вам порекомендував створити окремий бранч, в якому ви потихеньку будете готувати реалізацію принципово нового підходу. Знову-таки, попередньо потрібно все ж оцінити доцільність глобального рефакторінга. Якщо ви відчуваєте, що проект "згубний", то напевно сенсу немає в подібних активностях. Хіба що для себе потренуватися.
Схоже я не розібрався і проблема дещо глибше і не дуже явно була представлена
і так дивимося наприклад тест
і тут я розумію по логіці спираючись на цю статтю введіть опис посилання
йдемо в Педжа менеджмент клас і в метод Ініт
ок тоді смотрм на брухт
тоді в дивимося на метод дісплейелементлокатор
і падають тести якраз в елемент return element.isDisplayed () питання чому. адже він зробив все згідно з тією статтею. і що таке потрібно зробити що б не падали вставити Вейт.
Який exception на isDisplayed вилітає?
Я вже читав але все одно якщо написано все по статті яку я приводив і раніше тести ці працювали то чому зараз я спостерігаю цю картину.
Чесно я не розумію я вже день б'юся над цим завданням і не розумію летить експешн
з різних тестів Сюта. їли запустити тест 1 то ймовірність що він пройде десь 80 відсотків. наприклад тест ми заходимо на сторінку і шукаємо розділ характеристики ось 2 тесту 1 ніколи не падає ось він
другий раз через раз
добре як з цим боротися. давайте явно викликати елемент. типу так
тобто явно. І що бачимо на англійський варіант сторінки заходить але летить знову наш експешн. не зрозумію що йому не подобається адже локатор робочий
Я так розумію Ви натякаєте що потрібно чекати.