如何基于作为测试数据传递的标识符来识别元素?

时间:2015-06-08 04:18:54

标签: selenium-webdriver

这是我的情景。

有一个或多个单选按钮。每个单选按钮都有唯一的标识符。

例如。 电话号码 radio1 电话号码 radio2

如果我将测试数据作为电话号码2 传递,我需要选择 radio2 。 如果我将测试数据作为电话号码1 传递,我需要选择 radio1

重点是,有时会显示一个单选按钮,有时页面中会显示多个单选按钮。根据我的输入,我需要选择单选按钮。

如果我将测试数据作为电话号码2 传递,并且 radio2 不可用,那么我会发现元素未找到异常。

我该如何处理这种情况?

我的要求是:如果我传递了电话号码,那么应该进行检查以确保有一个包含电话号码的单选按钮。

2 个答案:

答案 0 :(得分:0)

确定, 您可以尝试以下

int count = driver.findElements(By.XPath(//*[contains(@id,'radio')])).size();

计数将显示页面上有多少个单选按钮。

根据计数,您可以执行测试。

相同的方法你也可以尝试使用PhoneNumber。

答案 1 :(得分:0)

如果你知道测试数据的数量,那么试试这个:

List<WebElement> elements = driver.findElements(By.xpath("//input[contains(@id,'text')]"));

for(int i=0;i< testDataCount;i++){
  System.out.println(elements.get(i).getText());
}