Selenium IDE - можно ли выбрать строку на основе содержимого столбца для проверки других столбцов?

Я тестирую приложение с помощью Selenium IDE. Существует таблица с нестабильным порядком строк - это означает, что элементы, которые мне нужно проверить, находятся в разных строках при каждом запуске теста.

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

Тест выглядит так:

store        || //form/table                    || tableXpath
store        || 3                               || initialsRow
verifyTable  || ${tableXpath}.${initialsRow}.0  || Initials
verifyTable  || ${tableXpath}.${initialsRow}.1  || MJ
verifyTable  || ${tableXpath}.${initialsRow}.2  || MH

Вместо жесткого кодирования "initialsRow" значение; Разве невозможно найти индекс строки динамически?

Ответы на вопрос(2)

теперь я нашел, селен МОЖЕТ рассчитать. К сожалению не безоговорочно нравится${tableXpath}.${initialsRow + 1}.1 . So I added an additional command:

storeEval || ${ORBInitialPort} + 1 || ORBInitialPortRow

и использовалORBInitialPortRow вместоORBInitialPort в качестве индекса.

Решение Вопроса

storeElementIndex команда. Он получает индекс HTML-элемента относительно его родителя.

Увидетьhttp://release.seleniumhq.org/selenium-core/1.0.1/reference.html

Я изменил тест следующим образом:

store             || //form/table                                 || tableXpath
storeElementIndex || ${tableXpath}//tr/td[text() = "Initials"]/.. || initialsRow
verifyTable       || ${tableXpath}.${initialsRow}.1               || MJ
verifyTable       || ${tableXpath}.${initialsRow}.2               || MH

Запрос XPath//form/table//tr/td[text() = "Initials"]/.. находит "tr" элемент над "td" элемент, содержащий текст «Инициалы». Selenium хранит индекс этого «tr». элемент относительно того, что его родительский элемент.

Ваш ответ на вопрос