1

我知道如何使用 Selenium IDE 验证网页中是否存在特定文本。但我想知道的是,你能验证元素中是否存在任何文本吗?

例如,有一个标题为“Top Champion”的文本框。此文本框将每天更改为一个人的姓名。现在我只想检查这个文本框中是否有文本,不管文本实际上是什么。我已经尝试了验证文本命令并尝试将值清空,但它不起作用。如果命令可以返回真正有用的真或假命令

顺便说一句,验证值也不起作用,因为我正在测试的元素不是表单字段

4

3 回答 3

1

您最好的选择如下(我已经为此编写了单个测试的数字)

中等严谨:

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

卢克

于 2015-09-16T15:49:01.357 回答
0

如果我正确理解了您的问题,那么下面是您可以搜索包含字符串的元素的一种方法。不确定这是否是您正在寻找的。

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
          }
     }
于 2013-12-11T13:32:49.023 回答
0
store text|[your element]|StoredText  
execute script|return ${StoredText}.length > 0|x  
assert|x|true  

在 Selenium IDE 中使用这三行,第一行将从元素中提取文本到变量 StoredText。
第二行将该文本的长度是否大于零存储到变量 x 中(结果为真或假)。
第三行断言结果为真,否则测试失败。如果您想要的只是真假结果,则不需要第三行。

因此,如果元素包含任何文本,则提取的文本长度将大于零,变量 x 将为真,断言将通过。这将验证元素中是否存在任何文本。

于 2021-10-28T18:07:32.403 回答