Size: a a a

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

2020 August 12

A

Alex in QA — Автоматизация
John Doe
Т.е. лучше описывать одно и то же действие на каждой странице, чем иметь это действие в единственном экземпляре в базовом классе?
Алексей говорит о том что можно сделать коассы меньше и вынести этот функционал в отдельный класс
источник

B

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

AV

Alexei Vinogradov in QA — Автоматизация
John Doe
Т.е. лучше описывать одно и то же действие на каждой странице, чем иметь это действие в единственном экземпляре в базовом классе?
повторюсь, если это одно и тоже идентичное действие - то оно описано один раз Application.forward(), Application.back()
А если в каждой странице своя акция, то да Page1.forward(),  Page2().forward()  и тд.
А что тут такого?
источник

O

Olga in QA — Автоматизация
Alexei Vinogradov
это идеалогическое изнасилование наследования.

Те методы которые одинаковы - лучше помещать в отдельные небольшие классы (SRP) и использовать по мере необходимости, где надо.
Можно без оценочных терминов типа изнасилования, я понимаю, что вы шутите, но все-таки я вас не совсем понимаю :) Вы имеете в виду, что нужно иметь, грубо говоря, один класс для кнопок, другой для полей и т.п.?
источник

AB

Alex Burnasov in QA — Автоматизация
Есть например некая меню на всех страницах. Лучше сделать отдельный класс для меню, чем наследовать это по всему проекту
источник

AV

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

B

Bola in QA — Автоматизация
Olga
Можно без оценочных терминов типа изнасилования, я понимаю, что вы шутите, но все-таки я вас не совсем понимаю :) Вы имеете в виду, что нужно иметь, грубо говоря, один класс для кнопок, другой для полей и т.п.?
Тут явно агрессия)
источник

O

Olga in QA — Автоматизация
Alex Burnasov
Есть например некая меню на всех страницах. Лучше сделать отдельный класс для меню, чем наследовать это по всему проекту
Ну вот у нас отдельный класс для меню, отдельный для кнопок (т.к. они есть и на формах и т.п.), и отдельный для самой страницы, и т.п.
источник

AV

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

O

Olga in QA — Автоматизация
или лучше именно импортить а не наследовать? это я знаю (( но блин страшно браться даже за переписку этого безобразия
источник

B

Bola in QA — Автоматизация
Alexei Vinogradov
Не, скорее по виджетам - один класс для календаря, один для формы поиска, один для хедера, один для футера ну и тд
Если e2e тестов всего 10 штук, нужно ли городить все это?
источник

A

Alex in QA — Автоматизация
Bola
Если e2e тестов всего 10 штук, нужно ли городить все это?
Зачем тогда вообще что-то городить если можно прям в тесте искать локаторы ?
источник

B

Bola in QA — Автоматизация
Alex
Зачем тогда вообще что-то городить если можно прям в тесте искать локаторы ?
Я к этому и клоню. Все зависит от проекта. Категоричность - не есть хорошо.
источник

AB

Alex Burnasov in QA — Автоматизация
можно еще рекордером скрипт записать))
источник

O

Olga in QA — Автоматизация
Ну хотя бы для того, чтобы в чятике не краснеть )))))
источник

AB

Alex Burnasov in QA — Автоматизация
Bola
Я к этому и клоню. Все зависит от проекта. Категоричность - не есть хорошо.
в любом случае проект должен быть легко поддерживаемым и читаемым)
источник

AB

Alex Burnasov in QA — Автоматизация
обычно бейсПедж превращается в помоойку
источник

AV

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

Оно и более прозрачно для чтения кода - когда у тебя хитрые наследования, никогда не знаешь, что именно ты с собой принёс, пока не начал читать код "BasePage". А там же обычно много чего.

Есть простое правило как определить подходит ли наследование.
Если у вас MyClass extends MyBaseClass - и вам очевидно, какие методы есть в MyBaseClass без того, чтобы в него заглянуть - то наверное наследование нормально :).
источник

A

Alex in QA — Автоматизация
Bola
Я к этому и клоню. Все зависит от проекта. Категоричность - не есть хорошо.
Если человек хочет архитектуру и лёгкую поддержку то есть смысл запариться и сделать красиво и удобно
источник

BO

Boris Osipov in QA — Автоматизация
Alex Burnasov
обычно бейсПедж превращается в помоойку
два чая этому господину
источник