List<WebElement> filter_icons = (ArrayList<WebElement>) driver.findElements(By.xpath(PropertyFile.read_obj("CONFIGURATION_MAJORMGMT_FILTER_LIST")));
filter_icons.size();
log.info("Data passed in Name Filter");
// filter EmailID
filter_icons.get(0).click();
Common.filter_textbox(driver, Name,By.xpath("//input[@id='filterText']"));
Common.click_filterbutton(driver,By.xpath("//button[text()='Apply Filter']"));
// filter Title
filter_icons.get(1).click();
Common.filter_textbox(driver, Value,By.xpath("//input[@id='filterText']"));
Common.click_filterbutton(driver,By.xpath("//button[text()='Apply Filter']"));
点击第二个过滤器的问题,它给出错误,
java.lang.IndexOutOfBoundsException
相同的代码完全适用于其他方法。
答案 0 :(得分:1)
错误{{IndexOutOfBoundsException:索引:1,大小:1 清楚地说列表的大小是1(意味着你只在索引0处有项目)并且你试图获取索引1处的项目,这是不存在的。
你可以做到
for (WebElement ele : filter_icons) {
ele.click();
Common.filter_textbox(driver, Name,By.xpath("//input[@id='filterText']"));
Common.click_filterbutton(driver,By.xpath("//button[text()='Apply Filter']"));
}