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

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

С этими проблемами нам призван помочь разработанный недавно плагин для IntelliJ IDEA. Описание можно увидеть на сайте разработчиков. Из заявленных функций:

  • Создание преднастроенного проекта для написания тестов. То есть в несколько кликов есть возможность создать уже рабочий проект, готовый для работы.
  • Создание преднастроенного проекта для написания тестов. То есть в
    несколько кликов есть возможность создать уже рабочий проект, готовый
    для работы.
  • Code complete для локаторов. Многие уже давно не могут жить без этого
    для обычного кода, а теперь такая возможность появилась так же и при
    составлении локаторов.
  • Проверка правильности написания локаторов в коде. Ведь наверняка
    бывало, что из за случайно забытой одинарной кавычки в локаторе мы
    тратили драгоценное время, чтобы понять, где же все таки проблема?
  • Проверка сущствования элементов на странице. Написали локатор, но не
    понятно, правильно ли мы это сделали? И сколько элементов может быть
    найдено по данному идентификатору?
  • Возможность простой генерации полей для Page Object(те, что помечены
    аннотациями @FindBy).

Набор полезных фишек неплохой, не так ли? Разработчики(в числе которых Ваш покорный слуга) плагина готовы слушать предложения и добавлять любые желанные “фишки”. Сейчас продукт находится в активной фазе развития и мы верим, что в итоге должен получиться инструмент, который реально упростит жизнь разработчикам автоматических тестов на веб с использованием selenium.
Любые предложения, пожелания, комментарии ну и , разумеется, баг репорты, можно отправлять по форме обратной связи прямо на сайте.

6 лайков

Доброго времени суток!
Есть вопрос и пожелание:

  • Нет ли желания делать openSource продукт?
  • Как насчет англоязычного мануала?
    Спасибо!

@sidelnikovmike добавь плиз плагин сюда awesome-test-automation/java-test-automation.md at master · atinfo/awesome-test-automation · GitHub

Ну и конечно +1 в карму за новый плагин для упрощения создания автоматизации.

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

2 лайка

Сделаю, как доберусь до компьютера.

круть, но становится печально как-то, слениум есть, плагины которые все делают есть - автоматизаторы скоро станут не нужны =)

1 лайк

Ну уж прямо таки все))

Скорость работы, знание процессов и опыт - никогда не заменят бездушными генераторами :wink:

2 лайка

:slight_smile: круто особенно проверка , спасибо огромное так как у вас линк напишите нам об ошибке ней не работает я вам здесь напишу, у вас подсвечивает ошибкой вот такое выражение “.//a” с точкой хотя это не является таковой.

Спасибо огромное! Поправим и ошибку и ссылку(будь она не ладна)!

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

Выложил апдейт, включающий:

  1. небольшие исправления с проверках локаторов
  2. Апдейт создаваемого проекта
  3. добавил поддержку By - генерация по быстрым клавишам, проверка локаторов внутри.
    Как проапдейтить плагин описано в статье.
1 лайк

Идея сама предложила обновить его. :blush:

Да? А у меня почему то не предлагает.

.//table[@class=‘object_table’]//tr[child::*/text()=‘Улица:’]/td[2]
вот такое подчеркивает, хотя корретный xpath

Спасибо, посмотрим.

ещё один
.//ul[contains(@class,‘ui-multiselect-checkboxes’) and parent::*[contains(@style, ‘display: block’)]]

О как! Записали. Спасибо за репорты!
ох уж этот xpath

Поправили. В ближайшие дни выложим апдейт с исправлением.

1 лайк

.//*[@class=‘ad_div’]//table[child::ЗВЕЗДОЧКА//ЗВЕЗДОЧКА[contains(text(),‘Отменить’)]]

ЗВЕЗДОЧКА = *
форум почему-то убирает их