Size: a a a

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

2020 July 07

ЕА

Евгений Асовин... in QA — Автоматизация
да, но в нём внутри проверка по 7 элементам, которые в пейдже регистрации, объявлять их в меин пейдж будет неправильно)
источник

ЕА

Евгений Асовин... in QA — Автоматизация
вынести в отдельный класс? типа common steps какой-нибудь?
источник

NT

Natalia Tymoshyk in QA — Автоматизация
вынести в базовый какой-то класс типа BasePage, наследовать от него и вызывать эти методы
источник

ЕА

Евгений Асовин... in QA — Автоматизация
спасибо за совет)
источник

ES

Eugene Sevostianov in QA — Автоматизация
Создать в пейдж обжекте метод goToPage который будет возвращать инстанс нужного пейджа. Но для этого надо чтобы у пейджа методы возвращали его текущий объект пейджа, таким образом пишешь тесты вызывая методы через .
источник

С

Сергей in QA — Автоматизация
Alehandro El Amigo
если хочется именно "реал-тайм снимать json c аллюра" - имхо стоит посмотреть в сторону написания своего aspect'а под интерцепт writeValue object-mapper'a у дефолтного райтера аллюра. там в аргументах будет пара из имени файла + готовый к сериализации объект (*с аттачами будет веселее скорее всего). но присоединюсь к остальным - проще использовать встроенные в CI возможности, чем писать сложный велосипед на ровном месте (но это интереснее, тут не поспорить) :)
спасибо всем за советы и предложения! :)
источник

AV

Alexei Vinogradov in QA — Автоматизация
Евгений Асовин
Добрый день! Подскажите, пожалуйста, как лучше сделать, если у меня есть несколько pages и мне нужно метод из одной пейджи дёрнуть в методе в другой пейдже и наоборот, если создавать новый объект будет ошибка, как вариант сделать методы и элементы статическими, но статика это вроде как плохо, если я правильно понимаю и её лучше избегать. Ещё как вариант можно вынести эти общие методы в отдельный класс. Но мне интересно как правильно реализовать паттерн page object когда 1 пейджа дёргает метод другой и можно ли так вообще делать?
Пока непонятна проблема. Почему нельзя один Page из другого инстанциировать?
источник

ЕА

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

OK

Oleksandr Khotemskyi in QA — Автоматизация
Евгений Асовин
Можно, а это правильно будет?
правильно\не правильно - такого не существует. Без контекста все неправильно и все правильно одновременно
источник

OK

Oleksandr Khotemskyi in QA — Автоматизация
архитектура шредденгера - пока не увидишь контекст - она одновременно и правильная и неправильная. Но только появился контекст она переходит в одно состояние, до тех пор пока опять не поменялся контекст
источник

OK

Oleksandr Khotemskyi in QA — Автоматизация
Евгений Асовин
Добрый день! Подскажите, пожалуйста, как лучше сделать, если у меня есть несколько pages и мне нужно метод из одной пейджи дёрнуть в методе в другой пейдже и наоборот, если создавать новый объект будет ошибка, как вариант сделать методы и элементы статическими, но статика это вроде как плохо, если я правильно понимаю и её лучше избегать. Ещё как вариант можно вынести эти общие методы в отдельный класс. Но мне интересно как правильно реализовать паттерн page object когда 1 пейджа дёргает метод другой и можно ли так вообще делать?
а вообще можешь разбить на компоненты, и включить компонент в оба пейджобджекта где он нужен, чтобы не приходилось вызывать одну страницу из другой…
источник

ЕА

Евгений Асовин... in QA — Автоматизация
ок) всем спасибо)
источник

AV

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

AV

Alexei Vinogradov in QA — Автоматизация
Ну Саша написал уже идею)
источник

ЕА

Евгений Асовин... in QA — Автоматизация
ну я так изначально и сделал, а потом другой метод захотел вызвать в первой и там сделал инстанс и получился конфликт)
источник

ЕА

Евгений Асовин... in QA — Автоматизация
вот я и подумал, что инстанс одной пейджи создавать в другой пейдже наверное неправильно)
источник

AV

Alexei Vinogradov in QA — Автоматизация
обычно, если делать "PageObject" маленькими widget-ами, то такие вызовы не понадобятся. Ну а если разок понадобятся - ничто не запрещает вызвать.
источник

ЕА

Евгений Асовин... in QA — Автоматизация
а статикой такое нельзя решать? сделать метод и элементы статическими и вызывать откуда угодно?
источник

SC

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

AV

Alexei Vinogradov in QA — Автоматизация
ну например класс EditOrder и класс ConfirmationPopup.

В первом метод changeAmount(String newAmount):

amountField.setValue(newAmount);
okButton.click();
new ConfirmationPopup().confirm();

когда может понадобиться в обе стороны (то есть из ConfirmationPopup вызвать EditOrder) - пока в голову не приходит.
источник