Ошибка запуска теста:Webdriver\SelenideElement\Page-object

webdriver
testng
java
selenium
selenide
Теги: #<Tag:0x00007f7b63eee810> #<Tag:0x00007f7b63eee680> #<Tag:0x00007f7b63eee540> #<Tag:0x00007f7b63eee3d8> #<Tag:0x00007f7b63eee298>

(Sergey Pirogov) #3

это вообще не правильный код в случае использования Selenide. Вот так нужно написать, вместо вместо того, что указано у вас в бифо и афте

@Before
public void setupBrowser() {
Configuration.browser = “chrome”;
System.setProperty(“webdriver.chrome.driver”, “C:\chromedriver.exe”);
}
public void setUp(){
Selenide.open(“http://www.rt.ru:8080/login”);
}


(Иванов Иван Иваноч) #4

Спасибо большое, изменил.
Но теперь новая ошибка, добавил ее в описание темы.


(Иванов Иван Иваноч) #5

Спасибо большое, изменил.
Но теперь новая ошибка, изменил описание темы.


(Sergey Pirogov) #7

ну так теперь у тебя локатор не правильный


(Иванов Иван Иваноч) #8

Дело в том, что он даже не открывает окно браузера и выдает эту ошибку.
Локатор рабочий, но на всякий случай я пробовал xpath,css,текст, ошибка остается.


(Sergey Pirogov) #9

так у вас setUp() нету аннотации @Before


(Иванов Иван Иваноч) #10

Исправил, но ошибка не изменилась.


(Sergey Pirogov) #11

у тебя код написан как попало. Выложи все классы так как у тебя они написаны, тогда можно будет судить


(Иванов Иван Иваноч) #12

Понял в чем была проблема.
Теперь просит геко драйвер.
Но в Configuration.browser прописан хром.
Путь места где лежит хромдрайвер указан верно.


(Oleksii Ihnatiuk) #13

У вас вызывается геко драйвер, потому что по дефолту Selenide пытается открыть фаерфокс. Надеюсь эта ссылка поможет вам. Я сам не работал с Selenide, но документация написана на хорошем уровне, поэтому не поленитесь - почитайте :wink:


(Иванов Иван Иваноч) #14

Спасибо. Документацию читал.
В коде же видно, что указываю chromedriver и прописываю к нему путь (Путь верный).
В чем еще может быть проблема?


(Oleksii Ihnatiuk) #16

Я думаю что ваше @Before в классе где нет @Test даже не вызывается при создании экземпляра класса. Поэтому оно и не понимает что вы указали хром и пробует открыть фаерфокс по дефолту.


(Oleksii Ihnatiuk) #17

Вопрос, где вы видели такую реализацию архитектуры тестов? И у вас не пейдж обджект, так как ваши методы не возвращают новые пейджи при переходе.


(Иванов Иван Иваноч) #18

Вот в этом и вопрос :slight_smile:
Все это безобразие строил сам, пользуясь документацией по SelenideElement, мне показалось, это проще чем классический пейдж обджект.
Но учитывая, мои минимальные зания в этой области неудивительно, что тесты не проходят.

И мне вот интересно, возможно ли с этой архитектурой, что-то сделать, чтобы тесты проходили?
Или надо использовать классический подход с пейдж обджектом?


(Oleksii Ihnatiuk) #19

Нагорадить вы всегда успеете. В начале лучше используйте классику , используя Selenide. PageFactory использовать не обязательно.


(Иванов Иван Иваноч) #20

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


(Oleksii Ihnatiuk) #21

Я думаю, что она повлечет за собой другие проблемы. Поэтому лучше использовать best practice. Ну а когда уровень увеличится понимания всего, то всегда можно вернуться.


(asolntsev) #22

Посмотрел последнюю версию - нормальный код, нормальные пэдж обжекты, должно работать.

Только локаторы неправильные.
Вот что такое “login-field” - это ID или класс?


(Иванов Иван Иваноч) #23

ID забыл дописать здесь, в самом коде стоит By.id но все равно заданный url не открывается.


(Сержан Есенбек) #24

можно посмотреть код страницы ?