我一直在使用混合框架,即对象,数据和关键字。我根据其索引选择了一个随机下拉值。
在我提到测试数据Test Data的输入文件中,有一个整数列WorkGroup,即我以整数形式给Dropdown输入,这只是下拉列表的索引值。现在在第二张图像中,您可以看到se.selectByIndex(数据)导致了麻烦。
错误是:
Select类型中的selectByIndex(int)方法不适用于参数(String)
public String selectDropdown(String object,String data){
APP_LOGS.debug("Selecting dropdown values.");
try{
WebElement _directoryDDL = driver.findElement(By.id(OR.getProperty(object)));
Select se = new Select(_directoryDDL);
se.selectByIndex(data); // This is where error is coming. I need to use only index.
return Constants.KEYWORD_PASS;
}
catch(Exception e1){
return Constants.KEYWORD_FAIL+" Control not found.";
}
}
我无法使用 selectByValue 或 selectByVisibleText ,因为每个用户下拉列表的值都会更改。这就是为什么只有索引值才是这里唯一的解决方案。
答案 0 :(得分:0)
selectByIndex 方法需要一个Integer参数,而您传递的参数 data 是String类型。这就是它发出错误的原因。这是将String转换为Integer的代码。
se.selectByIndex(Integer.parseInt(data));
答案 1 :(得分:0)
正如错误所示,您正在将String传递给需要int的位置。使用Integer.parseInt(String s)
或Integer.parseUnsignedInt(String s)
答案 2 :(得分:0)