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

Robot Framework, работа с динамическими элементами


(Znammenosets9) #1

Всем доброго времени суток!

и сразу в бой без лишних слов!

 

Есть веб страничка, где виде списка отображается набор элементов в которых хранится email пользователей. Нужно кликнуть на такой элемент. Эти элементы соответственно динамически изменяются, добавляются, и имеют разный Xpath.

как решить данную задачу используя  Robot Framework? Скажу сразу что кликнуть в текст не выйдет, ибо email отображается еще в нескольких местах.

Я могу с помощью Python получить нужный мне Xpath, но как его скормить RIDE для меня все еще загадка. 

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

заранее спасибо 


(automatizator) #2

Смотри в сторону Selenium'a. Он умеет находить элементы по Xpath'у, кликать по ним и многое другое.

Если для решение твоей задачи тебе необходим RobotFramework, то вот обёртка для Selenium'a

https://github.com/rtomac/robotframework-selenium2library


(Znammenosets9) #3

Спасибо за ответ. Ну вобщем то я сейчас и юзаю Selenium2Library в связке с Robot Framework (RIDE). Но желаемый результат так и не получил, т.к. Xpath постоянно меняется, появляются новые элементы / исчезают старые. И все сводится к получению списка этих же элементов (а так же их Xpath) и только потом можно будет производить действия над ними. Я могу это делать через питон, но подружить его с RIDE все никак не выходит.


(Znammenosets9) #4

Проблема была решена путем создания гибкого Xpath, а конкретно: //*[@id="room_list"]/div//*[contains(text(), 'test@testing.com')]


(Mykhailo Poliarush) #5

да, чтобы создавать сразу правильные локаторы, надо учить как писать их правильно с помощью css и xpath