IntelliJ Selenium Plugin, новый плагин для упрощения создания java webdriver тестов

plugin
java
webdriver
Теги: #<Tag:0x00007fedb8df6cb0> #<Tag:0x00007fedb8df6b70> #<Tag:0x00007fedb8df6a30>

(Mykhailo Poliarush) #21

потому что надо специальный текст выделять как код чтобы каждый символ интерпретировался правильно с помощью ```


(sidelnikovmike) #22

Вы наш поставщик крутых xpath! Спасибо!
Этот поправился через предыдущие.


(Артемий Окулов) #23

.//*[@id='sideRight']/div[count(descendant::*[contains(text(),'Брокер онлайн')]) > 0]
.//*[@id='content']//input | .//*[@id='content']//select


(Артемий Окулов) #24

такого вида код логически вроде бы верно что подчеркивает, но пугает когда IDE файл в дереве тоже подчеркивает как некорректный
By.xpath("//tr[@id][" + i + "]/td[2]/div/b/a"))


(sidelnikovmike) #25

Да, у нас есть задача про динамические локаторы. И это одна из приоритетных сейчас задач. Мы думаем, как лучше сделать.

Ну и xpath у вас. Круто! спасибо за примеры.
Наше дело поправить, но есть вопрос - оптимальны ли Ваши локаторы? Тут и завязки на child parent, и текст. Разумеется, может система так написана. Но об этом всегда стоит задумываться.


(Артемий Окулов) #26

Согласен, не оптимальны. Но структура html диктует такие условия) С другой стороны, время потраченное на поиск по такому xpath по отношению к времени отклика системы не значительно


(sidelnikovmike) #27

Исправили вроде ошибки для локаторов. Теперь не будут подсвечиваться :smile:
Так же добавили сообщение про динамические локаторы - к сожалению пока решили с ними ничего не делать. Это достаточно сложно, а порой и не возможно, определить, какое значение переменной внутри, по этому решили сделать решение, когда мы просто выводим Вам сообщение, что динамические лоакторы не поддерживаются. Возможно мы найдем какое-то разумное решение в будущем.

Обновление выложено, в ближайшее время должно быть доступно.


(Артемий Окулов) #28

ещё не обновлялся, возможно уже исправлено, но на всякий случай
.//div[@class='phone_number'][text()!='']


(sidelnikovmike) #29

Да, ошибку выдавать не будет.
В ближайшее время мы постараемся еще немного модифицировать проверку xpath, есть ряд недочетов, которые нам известны. Как например - сейчас для сложных локаторов(как у Вас) возможны проблемы с определением места ошибки во время написания, а так же с подсказками для исправления. Дело в том, что у xpath конечно очень и очень много возможных функций, которые сложно предусмотреть. Но сейчас мы над этим работаем.


(sidelnikovmike) #30

Добавили поддержку Selenide (specially for @asolntsev) :smile:
Из того, что добавили:

  1. преднастроенный проект для selenide
  2. code complete, проверку ошибок в локаторах для методов типа $ (вообщем всё, что было для обычных элементов селениума)

Думается, что в будущем будем и дальше развивать эту интеграцию, так что если есть идеи - пишите.

Как установить или вообще про плагин прочитать можно здесь
Если кому-то понравится - можно тут ставить оценки и оставлять комментарии :smile:
Всё вроде как уже доступно для скачивания(или апдейта, если у кого-то уже установлен плагин)

Об ошибках, идеях - сообщаем


(Roma Marinsky) #31

@FindBy(css = "a[href='/user/logout']")
Подчёркнут первый символ “/” и пишет “Атрибут не может быть пустым”


(sidelnikovmike) #32

Спасибо, исправим!!


(sidelnikovmike) #33

Исправил, скоро доедет!


(Roma Marinsky) #34

@FindBy(css = “tbody > tr:nth-child(1) > td:nth-child(1)”)

Этот селектор подсвечен как Not parsable selector, я что-то не так делаю? Он работает быстренько 40 милисекунд


(Farof Well) #35

Наоборот, благодаря плагинам и селениду, автоматизаоры разучатся программировать и тем ценне будут те, кто умеет


(Roma Marinsky) #36

Для такого локатора отображается ошибка “Id value contains not valid symbol”
$(String.format("l**i[**data-id='%s']", id));


(sidelnikovmike) #37

Спасибо за ценные комментарии! исправим! Сразу все варианты не учтешь :smile:


(Roma Marinsky) #38

А есть ли возможность добавить проверку на дубликаты локаторов которые описал?


(Eugene Moskalenko) #39

Подскажите пожалуйста, какие сочетания клавишь для подсказок раздела “Помощь в написании локаторов.”, перепробовал и alt+space и shift и comand, чето как-то оно ничего мне не подсказывает :slight_smile:

Спасибо…


(sidelnikovmike) #40

Дубликаты? То есть где-то есть локаторы в проекте, и вы не хотите такие же? Кажется, это вполне себе реальный случай, особенно если использовать что-то типа htmlElements.