下面的硒代码有什么问题?
在控制台中,我看不到任何错误或异常。执行下面的代码后,我可以打印0,1,2,但不能打印3和4。
@Test(priority = 9, retryAnalyzer = com.brcc.tool.RetryFailedTestCases.RetryTestCases.class)
public void findSearchable() throws InterruptedException {
wait = new WebDriverWait(driver, 40);
System.out.println("0");
List<WebElement> searchableElements = driver
.findElements(By.cssSelector(prop.getProperty("searchableElements")));
System.out.println("1");
List<String> searchable = new ArrayList<String>();
System.out.println("2");
for (WebElement searchableElement : searchableElements) {
System.out.println("3");
searchable.add(searchableElement.getText());
System.out.println("searchable = " + searchable);
System.out.println("Size of list = " + searchable.size());
}
System.out.println("searchableList = " + searchable);
for (int i = 0; i < searchable.size() - 1; i++) {
System.out.println("4");
if ((searchable.get(i).contains(sftpCon.searchableFields("Searchable Fields", 0))) && (searchable.get(i).contains(sftpCon.searchableFields("Searchable Fields", 1)))
&& (searchable.get(i).contains(sftpCon.searchableFields("Searchable Fields", 2))) && (searchable.get(i).contains(sftpCon.searchableFields("Searchable Fields", 3)))) {
System.out.println("Got it ...... = " + searchable.get(i));
} else {
System.out.println("Not Found");
}
}
}
答案 0 :(得分:0)
如果在调试模式下而不是在正常执行模式下运行脚本时看到值,那么请确保在获取searchableElements
之前已加载元素。
更改下面的行
List<WebElement> searchableElements = driver
.findElements(By.cssSelector(prop.getProperty("searchableElements")));
使用webdriverwait
List<WebElement> searchableElements = new WebDriverWait(driver, maxTimeOut))
.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector(prop.getProperty("searchableElements")))
//print the size here
System.out.println("Number of list items:-" + searchableElements.size());
答案 1 :(得分:0)
使用以下代码后,现在我的问题已解决
driver.manage()。timeouts()。implicitlyWait(10,TimeUnit.SECONDS); 列出searchableElements = driver.findElements(By.cssSelector(prop.getProperty(“ searchableElements”)));