Size: a a a

QA — Автоматизация

2020 August 12

AV

Alexei Vinogradov in QA — Автоматизация
John Doe
А если они и ведут себя одинаково? В моем случае эти кнопки именно такие - сэйв шлёт такой же запрос на тот же эндпоинт, навигационных - то же самое
а почему они тогда не вынесены в один общий класс программерами? Как верно замечает Olga - начинать надо оттуда. Когда это станет идентичная кнопка - можно будет с чистой совестью сделать одну компоненту и в тестах.
источник

JD

John Doe in QA — Автоматизация
Alexei Vinogradov
а почему они тогда не вынесены в один общий класс программерами? Как верно замечает Olga - начинать надо оттуда. Когда это станет идентичная кнопка - можно будет с чистой совестью сделать одну компоненту и в тестах.
Я не совсем понимаю как код приложения связан с кодом автоматизации
источник

AV

Alexei Vinogradov in QA — Автоматизация
John Doe
А если они и ведут себя одинаково? В моем случае эти кнопки именно такие - сэйв шлёт такой же запрос на тот же эндпоинт, навигационных - то же самое
если очень-очень вероятно, что кнопки всегда будут вести одинаково - то можно сделать вид, что это одна компонента.
Зато неоднократно видал, когда на странице номер 3 решили немножко поменять функцию работы кнопки Вперёд, а на остальных оставить как есть. Это ж просто когда кнопки скопированы. А тесты потом менять сложно - у нас кнопка то одна на всех.
источник

В

Віталік in QA — Автоматизация
здравствуйте, не могу кликнуть по елементу, так как его закрывает прелоадер на сайте, что можно с этим сделать? добавил имплисити вейт, но оно не помогает, не хочу использовать слип
источник

I

Illia in QA — Автоматизация
JavascriptExecutor
источник

AV

Alexei Vinogradov in QA — Автоматизация
Olga
Если приложение состоит из однотипных элементов, которые повторяются на многих страницах, почему нет

(но, конечно, зависит что понимать под basepage)
но ведь если приложение состоит от однотипных компонентов, то почему мы не создаём компоненту (класс) для этих элементов, а используем наследование? В чём фишка?
источник

B

Bola in QA — Автоматизация
Alexei Vinogradov
Какую проблему решает basepage?
Вынести общие методы для всех страниц  в него
источник

JD

John Doe in QA — Автоматизация
Віталік
здравствуйте, не могу кликнуть по елементу, так как его закрывает прелоадер на сайте, что можно с этим сделать? добавил имплисити вейт, но оно не помогает, не хочу использовать слип
Подождать загрузки?)
источник

AV

Alexei Vinogradov in QA — Автоматизация
Bola
Вынести общие методы для всех страниц  в него
"Вынести общие методы" - это странное описание проблемы.
источник

AB

Alex Burnasov in QA — Автоматизация
Віталік
здравствуйте, не могу кликнуть по елементу, так как его закрывает прелоадер на сайте, что можно с этим сделать? добавил имплисити вейт, но оно не помогает, не хочу использовать слип
сделать ожидание исчезновения loading
источник

B

Bola in QA — Автоматизация
Alexei Vinogradov
Пива например купить свежего.
Странный ответ для админа)
источник

B

Bola in QA — Автоматизация
Alexei Vinogradov
"Вынести общие методы" - это странное описание проблемы.
Это не проблема
источник

AV

Alexei Vinogradov in QA — Автоматизация
Alexei Vinogradov
"Вынести общие методы" - это странное описание проблемы.
А вообще это действие - типичный анти-паттерн God-Object, всё в один класс впихать. Нарушает SRP, увеличивает coupling и ухудшает cohesiveness
источник

A

Alex in QA — Автоматизация
Sewa Makhinya
почему “не можешь”? оно “висит и не особо мешает” же
Ну а как ты сможешь его использовать если уже изначально известно что этого элемента там быть не может
источник

O

Olga in QA — Автоматизация
Alexei Vinogradov
но ведь если приложение состоит от однотипных компонентов, то почему мы не создаём компоненту (класс) для этих элементов, а используем наследование? В чём фишка?
ну, у нас страницы в принципе очень похожи друг на друга, поэтому в BasePage перечислены те элементы и методы, которые одинаковы на всех страницах, в классе страниц, кот наследуются от базового, перечислено только то, что отличается. и эти уже страницы импортируются в файл с тестами.

я не знаю, насколько это правильно/неправильно, т.к. у нас ни у кого нет опыта, мы все учились на ходу, но пока вроде именно с таким подходом особо нет проблем
источник

B

Bola in QA — Автоматизация
Alexei Vinogradov
А вообще это действие - типичный анти-паттерн God-Object, всё в один класс впихать. Нарушает SRP, увеличивает coupling и ухудшает cohesiveness
Почему - всё? Только то, что свойственно всем страницам или группе страниц. Базовых пейджей может быть несколько. И это один из подходов. И это не God object
источник

SM

Sewa Makhinya in QA — Автоматизация
Alex
Ну а как ты сможешь его использовать если уже изначально известно что этого элемента там быть не может
просто не использовать. если оверхед напрягает - сделать промежуточный класс
источник

AV

Alexei Vinogradov in QA — Автоматизация
Olga
ну, у нас страницы в принципе очень похожи друг на друга, поэтому в BasePage перечислены те элементы и методы, которые одинаковы на всех страницах, в классе страниц, кот наследуются от базового, перечислено только то, что отличается. и эти уже страницы импортируются в файл с тестами.

я не знаю, насколько это правильно/неправильно, т.к. у нас ни у кого нет опыта, мы все учились на ходу, но пока вроде именно с таким подходом особо нет проблем
это идеалогическое изнасилование наследования.

Те методы которые одинаковы - лучше помещать в отдельные небольшие классы (SRP) и использовать по мере необходимости, где надо.
источник

JD

John Doe in QA — Автоматизация
Alexei Vinogradov
А вообще это действие - типичный анти-паттерн God-Object, всё в один класс впихать. Нарушает SRP, увеличивает coupling и ухудшает cohesiveness
Т.е. лучше описывать одно и то же действие на каждой странице, чем иметь это действие в единственном экземпляре в базовом классе?
источник

SM

Sewa Makhinya in QA — Автоматизация
Bola
Странный ответ для админа)
Среда - маленькая пятница
источник