Selenium IDE - 我可以根据列内容选择一行来验证其他列吗?

Daw*_*uss 4 selenium 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
Run Code Online (Sandbox Code Playgroud)

而不是硬编码"initialsRow"值; 是不是可以动态找到行索引?

Daw*_*uss 5

我找到的解决方案是使用Selenium的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
Run Code Online (Sandbox Code Playgroud)

XPath查询//form/table//tr/td[text() = "Initials"]/..在'td'元素上方找到包含文本"Initials"的'tr'元素.Selenium存储此'tr'元素相对于其父元素的索引.