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

Организация автоматизированного тестирования
онлайн, начало 14 декабря
Автоматизация функционального тестирования
онлайн, начало 14 декабря
Тестирование REST API
онлайн, начало 17 декабря
Тестирование веб-приложений 2.0
онлайн, начало 14 декабря
Фотография

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

xpath angular selenium

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

#1 Vikonder

Vikonder

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

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

Отправлено 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
  • 218 сообщений
  • ФИО:Алексей

Отправлено 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
  • PipPipPipPip
  • 320 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 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
  • 758 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 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
  • 31 сообщений

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

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

 

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


  • 0

#6 user12

user12

    Специалист

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


Отправлено 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
  • PipPip
  • 81 сообщений
  • ФИО:кузьмин сергей

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

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

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

  • 1

#8 lapa

lapa

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

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


Отправлено 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
  • 751 сообщений
  • ФИО:Виктор
  • Город:Минск


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

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

 

 

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


  • 0


Selenium 2.0: стартовый уровень
онлайн, начало 7 декабря
Программирование на Java для тестировщиков
онлайн, начало 21 декабря
Автоматизация функционального тестирования
онлайн, начало 14 декабря
Selenium WebDriver: полное руководство
онлайн, начало 23 ноября




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

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

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

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