有一个excelsheet,其中所有URL(16)都列在一列中。现在,一旦加载页面,需要验证页面标题是否与已存储在excel中的预期标题匹配。我能够使用for循环执行它。它会运行所有URls(如果全部通过)但在失败时停止。我需要完全运行它并提供一个通过但失败的报告。我写了下面的代码。
rowCount = suite_pageload_xls.getRowCount("LoadURL");
for(i=2,j=2;i<=rowCount;i++,j++) {
String urlData = suite_pageload_xls.getCellData("LoadURL", "URL", i);
Thread.sleep(3000);
long start = System.currentTimeMillis();
APP_LOGS.debug(start);
driver.navigate().to(urlData);
String actualtitle = driver.getTitle();
long finish = System.currentTimeMillis();
APP_LOGS.debug(finish);
APP_LOGS.debug(urlData+ "-----" +driver.getTitle());
long totalTime = finish - start;
APP_LOGS.debug("Total time taken is "+totalTime+" ms");
String expectedtitle = suite_pageload_xls.getCellData("LoadURL", "Label", j);
Assert.assertEquals(actualtitle, expectedtitle);
if (actualtitle.equalsIgnoreCase(expectedtitle)) {
APP_LOGS.debug("PAGE LABEL MATCHING....");
String resultpass = "PASS";
APP_LOGS.debug(resultpass);
APP_LOGS.debug("***********************************************************");
} else {
APP_LOGS.debug("PAGE LABEL NOT MATCHING....");
String resultfail = "FAIL";
APP_LOGS.debug(resultfail);
APP_LOGS.debug("***********************************************************");
}
}
请在这方面帮助我。
答案 0 :(得分:2)
这是断言的正确行为,当断言错误时抛出异常。
您可以将actualTitles和expectedTitles存储在数组中,并一次执行所有断言。
为了更好的断言,我建议您尝试AssertJ,您可以直接比较2个列表,实际值和预期值,它将返回完整的差异。