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

Селекторы для Selenium в Extjs проекте автоматизации на Java

jenkins
java
selenium
webdriver
testng
Теги: #<Tag:0x00007f7b69a1d3d0> #<Tag:0x00007f7b69a1d1a0> #<Tag:0x00007f7b69a1cf98> #<Tag:0x00007f7b69a1cd40> #<Tag:0x00007f7b69a1ca98>

(Pak Aleksey) #1

Мне нужно найти уникальный xPath или селектор, чтобы я мог выбирать каждый элемент отдельно с помощью Selenium.

Я попытался сделать .xPath по iD
Но тк id генерируются рандомно, то тест падает.
Попытался вывести все компоненты js из коллекции
Ext.ComponentManager.all.map
Но и там не смог ничего подцепить, подскажите вообще реально ли автоматизировать extjs? На хабре информация мало помогла.
extjs 3.x


(Dmitry Klymenchuk) #2

Сталкивался с такой бедой. Тут есть варианты решения:

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

(Сергей Кузьмин) #3

похожий вопрос задали недавно на
http://software-testing.ru/forum/index.php?/topic/31004-dinamicheskie-id/
я попытался предложит вытаксивать html5 id через @for у видимых и по видимому легко находимых label - вам это может подойдет ?


(Pak Aleksey) #4

На хабре была статья как находить по дом элементу js объекты различные. Но у меня пока не получается


(Pak Aleksey) #5

Такой способ кажется замудренным и будет очень сложно описывать каждый элемент таким способом. Так же не уверен, что Селениум сможет работать с такими локаторами


(Dmitry Klymenchuk) #6

Тут нужно более конкретный пример, что не получается?


(Сергей Кузьмин) #7

это был привер но вообще Page Element method принимающий visible text of the label and optional value and direction receive or send the value - will do the task :slight_smile: