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
相同的代码可以完美地适用于其他方法。
错误 {{IndexOutOfBoundsException: Index: 1, Size: 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']"));
}