Selenium IDE-我可以根据列内容选择一行来验证其他列吗?
我正在使用Selenium IDE测试一个应用程序。有一个表的行顺序不稳定,这意味着我需要验证的元素在每个测试运行中都位于不同的行中 我想使用第一列中已知的文本来查找行;然后验证同一行中的其他列 测试如下所示:Selenium IDE-我可以根据列内容选择一行来验证其他列吗?,selenium,selenium-ide,Selenium,Selenium Ide,我正在使用Selenium IDE测试一个应用程序。有一个表的行顺序不稳定,这意味着我需要验证的元素在每个测试运行中都位于不同的行中 我想使用第一列中已知的文本来查找行;然后验证同一行中的其他列 测试如下所示: store || //form/table || tableXpath store || 3 || initialsRow verifyTable || ${t
store || //form/table || tableXpath
store || 3 || initialsRow
verifyTable || ${tableXpath}.${initialsRow}.0 || Initials
verifyTable || ${tableXpath}.${initialsRow}.1 || MJ
verifyTable || ${tableXpath}.${initialsRow}.2 || MH
而不是硬编码“initialsRow”值;无法动态查找行索引吗?我找到的解决方案是使用Selenium的
storeElementIndex
命令。它获取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”]/..
在包含文本“Initials”的“td”元素上方查找“tr”元素。Selenium存储这个“tr”元素相对于其父元素的索引。现在我发现,Selenium可以计算。不幸的是,它不是隐式地像${tableXpath}.${initialsRow+1}.1
。
因此,我添加了一个附加命令:
storeEval || ${ORBInitialPort} + 1 || ORBInitialPortRow
并使用
ORBInitialPortRow
而不是ORBInitialPort
作为索引。@Dawie…似乎storeElementIndex在IDE的3.17中被弃用了…知道有什么替代方案吗?谢谢@卡斯滕…似乎storeElementIndex已经被弃用了…知道有什么替代方案吗?