如何验证使用 Selenium IDE 频繁更新的 table 中的特定字段不为空
How to verify Specific field is not empty in a table which is updating frequently using Selenium IDE
我有 table,它经常更新,当 table 有更新时,所有值都可能改变。我想验证特定列是否有值。
Table has four comuns
您应该首先识别细胞。理想情况下使用 xpath:
//tr[1]/td[1]
其中数字将指向 tr 标签的行和 td 标签的列。如果页面上有更多 table,请使用更具体的 xpath:
//div[contains(@class,'commodities')]/descendant::tr[1]/td[1]
那么最好将单元格的文本存储到一个变量中,然后将其与您想要的进行比较
storetext | //tr[1]/td[1] | textVar
然后可以比较是否有空串,比如
verifyEval | storedVars['textVar'].length > 0 | true
如果没有值,则测试失败;如果有值,则通过测试。
或者您可以通过存储结果将每个结果回显到日志并将其回显为 true/false。
storeEval | storedVars['textVar'].length > 0 | isThereAValue
echo | Is there a value? ${isThereAValue}
这将回显真或假。
问题是,如果有东西,你想用这个值做什么。如果您想执行不同的步骤,那么我可以向您推荐使用 Selenium IDE 的 Selblocks,这将允许处理条件和循环或 Selenium WebDriver。然后你可以根据 table 的内容处理你的测试的不同部分。我可以想象,您可以一次处理每一行的循环中的整个 table。
如果你的问题更具体,我可以添加一些提示。
我有 table,它经常更新,当 table 有更新时,所有值都可能改变。我想验证特定列是否有值。 Table has four comuns
您应该首先识别细胞。理想情况下使用 xpath:
//tr[1]/td[1]
其中数字将指向 tr 标签的行和 td 标签的列。如果页面上有更多 table,请使用更具体的 xpath:
//div[contains(@class,'commodities')]/descendant::tr[1]/td[1]
那么最好将单元格的文本存储到一个变量中,然后将其与您想要的进行比较
storetext | //tr[1]/td[1] | textVar
然后可以比较是否有空串,比如
verifyEval | storedVars['textVar'].length > 0 | true
如果没有值,则测试失败;如果有值,则通过测试。
或者您可以通过存储结果将每个结果回显到日志并将其回显为 true/false。
storeEval | storedVars['textVar'].length > 0 | isThereAValue
echo | Is there a value? ${isThereAValue}
这将回显真或假。
问题是,如果有东西,你想用这个值做什么。如果您想执行不同的步骤,那么我可以向您推荐使用 Selenium IDE 的 Selblocks,这将允许处理条件和循环或 Selenium WebDriver。然后你可以根据 table 的内容处理你的测试的不同部分。我可以想象,您可以一次处理每一行的循环中的整个 table。
如果你的问题更具体,我可以添加一些提示。