Size: a a a

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

2020 May 22

А

Александр in QA — Автоматизация
Scherbakov Alexey
Вообще, есть хорошее правило- методы и локаторы держать в разных классах. И подключать по необходимости.
предлагаю гибкий подход
если локаторы нужны в классе где есть методы которые с ними работают - там, в этом классе им самое место в виде полей
если локаторы используются в разных классах, тогда они или выносятся на уровень выше в случае если эти классы наследуются, либо объявляются статическими и доступны вообще везде где они нужны
источник

S

Sergey Sergey in QA — Автоматизация
Сейчас это куча методов, но это в том числе это задел, так сказать. Если вам внезапно понадобиться что-то добавить в работу какого-то элемента, а у вас один универсальный метод на все, что вы будете делать? Например добавить доп логики или валидации или еще чего
источник

A

Anna in QA — Автоматизация
Sergey Sergey
Сейчас это куча методов, но это в том числе это задел, так сказать. Если вам внезапно понадобиться что-то добавить в работу какого-то элемента, а у вас один универсальный метод на все, что вы будете делать? Например добавить доп логики или валидации или еще чего
Ну метод не один, а несколько. Я просто добавлю новые локаторы, и теми же методами пройдусь по новой форме, передавая локаторы как параметр в метод
источник

S

Sergey Sergey in QA — Автоматизация
Вы пойдете в нужный метод и добавите то что вам нужно. Это не зааффектит ни другие элементы ни старые методы
источник

SA

Scherbakov Alexey in QA — Автоматизация
Александр
предлагаю гибкий подход
если локаторы нужны в классе где есть методы которые с ними работают - там, в этом классе им самое место в виде полей
если локаторы используются в разных классах, тогда они или выносятся на уровень выше в случае если эти классы наследуются, либо объявляются статическими и доступны вообще везде где они нужны
Имеет право на жизнь)) у меня это скорее вкусовощина)) в конце концов, каждый пишет код по-разному, даже в рамках одной команды, в которой определены гласные и негласные правила
источник

S

Sergey Sergey in QA — Автоматизация
тут сложно объяснить без кода, а также сложно понять какое решение придумали вы. Возможно, что у вас все будет работать годами и не придется потом все это переписывать. А возможно эти нюансы приведут к проблемам и большому рефакторингу
источник

А

Александр in QA — Автоматизация
Scherbakov Alexey
Имеет право на жизнь)) у меня это скорее вкусовощина)) в конце концов, каждый пишет код по-разному, даже в рамках одной команды, в которой определены гласные и негласные правила
лично мне он представляется наиболее удобным:
с одной стороны локаторы не мешаются своим наличием там где ими никто не пользуется
с другой то что должно быть доступно - всегда доступно
источник

А

Александр in QA — Автоматизация
но да. фломастеры они такие.
источник

AV

Alexei Vinogradov in QA — Автоматизация
Anna
Бредом называю то, что пишутся одинаковые методы для клика по кнопке или ввода данных в поле, и эти методы жёстко завязаны на локаторы. Вроде же как раз такой подход нарушает концепции ооп?
Можно пример? Как это одинаковые методы?
источник

S

Sergey Sergey in QA — Автоматизация
для того, чтобы понять зачем вам куча методов, найдите, например, доклады Семенченко Антона, он буквально на пальцах рассказывает про ООП и зачем нужны геттеры и сеттеры (публичные методы для доступа к приватным полям), а также, какие могут быть потенциальные проблемы без этого
источник

SA

Scherbakov Alexey in QA — Автоматизация
Anna
Ну метод не один, а несколько. Я просто добавлю новые локаторы, и теми же методами пройдусь по новой форме, передавая локаторы как параметр в метод
Все концепции ООП и не только вы МОЖЕТЕ использовать, но это совсем необязательно. Есть только случае в которых СТОИТ их придерживаться. Хотя это скорее про паттерны разработки. Если вам кажется удобным другой подход- делайте как нравится. В конце концов у вас появятся свои "паттерны" написания кода.
источник

S

Sergey Sergey in QA — Автоматизация
А также свой опыт)
источник

AV

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

Впрочем на практике я всякого повидал и уже не так уверен...
источник

S

Sergey Sergey in QA — Автоматизация
Кстати говоря, отдельные методы также привносят понимание при логировании и, например, описанию действий для того же аллюра
источник

А

Александр in QA — Автоматизация
Alexei Vinogradov
Есть теория, что лучше понимаются абстракции не завязанные на "кликнул туда - кликнул сюда",  а на функциональные бизнес действия - "положил в корзину", "продолжил заполнение адреса" и тд.

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

А

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

S

Sergey Sergey in QA — Автоматизация
Правильно. Вроде ведь абстракция завязанная на бизнесе, как правило просто слоем выше делается и общается с этими самыми page object
источник

AV

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

А

Александр in QA — Автоматизация
> Впрочем на практике я всякого повидал и уже не так уверен...
источник

А

Александр in QA — Автоматизация
а в чем сомнения?
источник