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

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

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

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

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

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

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

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

1 лайк

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

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

1 лайк

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

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

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

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

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

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

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

2 лайка

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

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

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

1 лайк

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

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

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

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

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

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

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

Спасибо…

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