Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как использовать напрямую WebDriver в Thucydides и JBehave


(Roman Stoliarov) #1

Всем привет!
Можно ли как-нибуть избавиться от реализвции в Thucydides PageObject’ов и endUser’ов, как ето сделано во всех туториалах, а использовать WebDriver напрямую в step’ах которые замаплены с jBehave историями, получая при етом красивые отчеты. Если да, подскажите хотя бы куда копать, а то я в етом деле еще совсем зеленый(((


(Александр Таранков) #2

Зачем тебе WebDriver напрямую использовать? Чем не устроил Фукидид?


(Roman Stoliarov) #3

Мне не нужны все ети дополнительные конструкции, вроде PageObject’ов и endUser’ов, нужно просто история+степы


(Александр Таранков) #4

Интересно как ты понял, что они тебе не нужны, если ты сам понимаешь что “совсем зеленый”? Думаешь их просто так делали, чтобы мозги запудрить?

Копай в сторону правильного использования инструмента. Не надо отламывать у молотка ручку, если ты не знаешь как им пользоваться. Сначала научись делать правильно, а потом уже делай по-своему. Это более правильный подход


(Roman Stoliarov) #5

ну ранее я писал тесты просто через jBehave и jUnitStories без Фукидида. Хотел сделать все красиво - реализовал через PageObject шаблон. Проект который тестируется реализован на GWT, базовых страниц(ссылок) всего 4, но если считать все, что просто перерисовывается - будет примерно 100 страниц.
Пришел менеджер и решил, что ето все лишнее и нужно просто создать универсальные степы типа “User sets element $element value $value”, не зависимо от того, текстовое поле или селект или еще что-то, где $element - любой локатор, а $value - значение, которое нужно задать.
Нашел Фукидида, понравились отчеты, захотелось прикрутить, при етом не меняя степов. Если ето не возможно, так уж быть.


(Roman Stoliarov) #6

Забыл сказать - спасибо за быстрые и качественные ответы!


(heartwilltell) #7

Если вы хотите напрямую использовать WebDriver - используйте, зачем использовать целый фреймворк вокруг него тогда?
Это как покупать велосипед для того что бы передвигаться пешком ведя его в руках.


(Sergey Korol) #8

Если будете вестись на все прихоти менеджера, то ваша автоматизация рано или поздно скатится ко дну.


(heartwilltell) #9

Особенно учитывая то что в 90% случаев - менеджеры проектов IT - полные идиоты :slight_smile:


(Ramon Menezes) #10

может не в той ветке но все же,
подскажите пожалуйста как в pom.xml засетить
driver.manage().window().maximize();
заранее спасибо


(heartwilltell) #11

Да ветка не та. Он сетится не в pom.xml а в вашем классе с тестом в методе под аннотацией @Before
Если не хотите делать это в каждом классе - создайте абстрактный клаccx BaseTest и пропишите это там, а остальные классы с тестами наследуйте от него.