我知道如何使用 Selenium IDE 验证网页中是否存在特定文本。但我想知道的是,你能验证元素中是否存在任何文本吗?
例如,有一个标题为“Top Champion”的文本框。此文本框将每天更改为一个人的姓名。现在我只想检查这个文本框中是否有文本,不管文本实际上是什么。我已经尝试了验证文本命令并尝试将值清空,但它不起作用。如果命令可以返回真正有用的真或假命令
顺便说一句,验证值也不起作用,因为我正在测试的元素不是表单字段
您最好的选择如下(我已经为此编写了单个测试的数字)
中等严谨:
waitForText | css=.SELECTORS | regex:.+?
这将等到至少存在 1 个字符。
严谨性(仅当您存在一部分字符时才有效):
waitForText | css=.SELECTORS | regex:^[0-9]+$
这将等到有文本。此文本必须以数字开头,至少有 1 个数字,然后结束。它不允许给定子集之外的任何字符。您可以做一个匹配 numbersNAMEnumbers 的示例。
waitForText | css=.SELECTORS | regex:^[0-9]+[a-zA-Z]+[0-9]+$
这将等待一个字符串,例如253432234BobbySmith332
卢克
如果我正确理解了您的问题,那么下面是您可以搜索包含字符串的元素的一种方法。不确定这是否是您正在寻找的。
List<WebElement> findElement = webElement.findElements(By.xpath("YOUR_TEXTINPUT_PATH_HERE"));
if( findElement.size() > 0 ){
if( findElement.get(0).getText() != null && findElement.get(0).getText().indexOf("THE_STRING_THAT_YOU_WANT_TO SEARCH") != -1 ) {
// IF IT COMES HERE, THAT MEANS THE ELEMENT IS PRESENT WITH THE TEXT
}
}
store text|[your element]|StoredText
execute script|return ${StoredText}.length > 0|x
assert|x|true
在 Selenium IDE 中使用这三行,第一行将从元素中提取文本到变量 StoredText。
第二行将该文本的长度是否大于零存储到变量 x 中(结果为真或假)。
第三行断言结果为真,否则测试失败。如果您想要的只是真假结果,则不需要第三行。
因此,如果元素包含任何文本,则提取的文本长度将大于零,变量 x 将为真,断言将通过。这将验证元素中是否存在任何文本。