Перейти к содержимому

Программирование на Java для тестировщиков
онлайн, начало 2 марта
Тестирование защищенности веб-приложений
онлайн, начало 2 марта
Школа для начинающих тестировщиков
онлайн, начало 26 февраля
Школа тест-менеджеров v. 2.0
онлайн, начало 28 февраля
Фотография

Элементы без ID на angular - element.click() xpath

xpath angular selenium

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 Vikonder

Vikonder

    Новый участник

  • Members
  • Pip
  • 6 сообщений

Отправлено 07 Февраль 2018 - 19:39

Камрады!
 
Нужно отловить элементы для нажатия click() Selenium WebDriver +  Java
 
Прикрепленный файл  ScreenHunter_191 Feb. 07 21.21.jpg   5,74К   0 Количество загрузок:
 
прописаны они вот так...  Каждая ссылка по нажатию должна открывать свой таб с содержимым
 
<div class="i-sp-site-tabbox-tab" ng-click="events.goto('status')" ng-class="activeTab === 'status' ? 'active' : ''" style="">   Zone Status </div>
<div class="i-sp-site-tabbox-tab" ng-click="events.goto('summary')" ng-class="activeTab === 'summary' ? 'active' : ''">   Summary </div>

Раньше элементы прекрасно находились через xpath, как часть бегущей автомации.... пока эти строчки не были переписаны (как и весь FE в будущем) на angular 1.6

 

Пытался поймать их при помощи конструкций xpath

//div[@class='i-sp-site-tabbox-tab firepath-matching-node']
//div[contains(@class,'i-sp-site-tabbox-tab firepath-matching-node')]

общая конструкция -- //div[contains(@class,'i-sp-site-tabbox-tab')] выделяет все 3 элемента вмете

 

В статике они не подхватываются,  я  уже не говорю про динамику... Неужто angular не хочет дружить с Selenium??? 

 

Может посоветуете трюки для таких элементов без ID, чувствую вскоре это будет суперактуально для проекта...

За ссылки мудрые\обучающие ссылки по теме буду приблагодарен

 

спасибо


  • 0

#2 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 191 сообщений
  • ФИО:Алексей

Отправлено 08 Февраль 2018 - 06:07

 

Камрады!
 
Нужно отловить элементы для нажатия click() Selenium WebDriver +  Java
 
 
прописаны они вот так...  Каждая ссылка по нажатию должна открывать свой таб с содержимым
 
<div class="i-sp-site-tabbox-tab" ng-click="events.goto('status')" ng-class="activeTab === 'status' ? 'active' : ''" style="">   Zone Status </div>
<div class="i-sp-site-tabbox-tab" ng-click="events.goto('summary')" ng-class="activeTab === 'summary' ? 'active' : ''">   Summary </div>

Раньше элементы прекрасно находились через xpath, как часть бегущей автомации.... пока эти строчки не были переписаны (как и весь FE в будущем) на angular 1.6

 

Пытался поймать их при помощи конструкций xpath

//div[@class='i-sp-site-tabbox-tab firepath-matching-node']
//div[contains(@class,'i-sp-site-tabbox-tab firepath-matching-node')]

общая конструкция -- //div[contains(@class,'i-sp-site-tabbox-tab')] выделяет все 3 элемента вмете

 

В статике они не подхватываются,  я  уже не говорю про динамику... Неужто angular не хочет дружить с Selenium??? 

 

Может посоветуете трюки для таких элементов без ID, чувствую вскоре это будет суперактуально для проекта...

За ссылки мудрые\обучающие ссылки по теме буду приблагодарен

 

спасибо

 

Нужно видеть больше HTML (внутри какого тэга лежат эти два дива? какой именно тэг находится через //div[contains(@class,'i-sp-site-tabbox-tab')], что у него внутри?).

Там нет никаких кастомных тэгов?


  • 0

#3 TatyanaV

TatyanaV

    Постоянный участник

  • Members
  • PipPipPip
  • 235 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 08 Февраль 2018 - 07:02

А если так

//div[contains(@class,'i-sp-site-tabbox-tab')][contains(text(),'Summary')]

?

Или css:

[ng-click*='summary']

Или css:

[ng-class*='summary']

 

Может быть у Вас есть контакт с разработчиками, можно попросить их добавить айдишники?


  • 0

#4 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 669 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 08 Февраль 2018 - 10:25

общая конструкция -- //div[contains(@class,'i-sp-site-tabbox-tab')] выделяет все 3 элемента вмете

 Я возможно не очень понял проблему, но либо как вариант выше, либо, чтобы разделить 3 элемента, можно использовать скобки в конце, если ясен их порядок, например:

//div[contains(@class,'i-sp-site-tabbox-tab')][2]

  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.


#5 Vikonder

Vikonder

    Новый участник

  • Members
  • Pip
  • 6 сообщений

Отправлено 08 Февраль 2018 - 16:27

Всем спасибо.... вывернулся вот так ---> //div[@class='i-sp-site-tabbox-tab' and contains(text(), 'Summary')]

 

ID - больное место нашего FE -- ну не хотят, собаки, это делать!!!


  • 0

#6 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 733 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 08 Февраль 2018 - 20:01

Всем спасибо.... вывернулся вот так ---> //div[@class='i-sp-site-tabbox-tab' and contains(text(), 'Summary')]

 

ID - больное место нашего FE -- ну не хотят, собаки, это делать!!!

уже тогда такой локатор использовать. Он по крайней мере короче

//div[@class='i-sp-site-tabbox-tab'][contains(text(),'Summary')] чем

//div[@class='i-sp-site-tabbox-tab' and contains(text(), 'Summary')]


  • 0

#7 sergueik

sergueik

    Новый участник

  • Members
  • Pip
  • 58 сообщений
  • ФИО:кузьмин сергей

Отправлено 10 Февраль 2018 - 16:56

попробуйте jprtracror - 

 
 
исакать по `binding` 

  • 1

#8 lapa

lapa

    Новый участник

  • Members
  • Pip
  • 30 сообщений


Отправлено 13 Февраль 2018 - 07:58

 

Всем спасибо.... вывернулся вот так ---> //div[@class='i-sp-site-tabbox-tab' and contains(text(), 'Summary')]

 

ID - больное место нашего FE -- ну не хотят, собаки, это делать!!!

уже тогда такой локатор использовать. Он по крайней мере короче

//div[@class='i-sp-site-tabbox-tab'][contains(text(),'Summary')] чем

//div[@class='i-sp-site-tabbox-tab' and contains(text(), 'Summary')]

 

хм, а чем так лучше?


  • 0

#9 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 733 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 13 Февраль 2018 - 13:07

хм, а чем так лучше?

 

 

ничем, просто короче запись


  • 0


Selenium 2.0: стартовый уровень
онлайн, начало 16 февраля
Программирование на Java для тестировщиков
онлайн, начало 2 марта
Автоматизация функционального тестирования
онлайн, начало 9 февраля
Selenium WebDriver: полное руководство
онлайн, начало 6 марта




Темы с аналогичным тегами xpath, angular, selenium

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале