Как работают регулярные выражения в selenium?
Я хочу сохранить часть идентификатора, а остальное выбросить. Например, у меня есть html-элемент с идентификатором "element-12345". Я хочу выбросить 'элемент' и сохранить '12345'. Как я могу это сделать?
Я могу захватить и повторить значение, например:
| storeAttribute | //pathToMyElement@id | myId | | echo | ${!-myId-!} | |
когда я запускаю тест, я получаю что-то вроде этого:
| storeAttribute | //pathToMyElement@id | myId | | echo | ${myId} | element-12345 |
Я записываю с помощью Selenium IDE и копирую тест в Fitnesse, используя приспособление Selenium Bridge. Проблема я использую чистую базу данных каждый раз, когда я запускаю тест, со случайными идентификаторами, которые мне нужно захватить и использовать на протяжении всего теста.
3 ответов
что-то вроде этого может работы:
| storeAttribute | fn:replace(//pathToMyElement@id,"^element-","") | myId |
для выполнения регулярного выражения требуется XPath 2.0 - не уверен, какую версию реализует Selenium.