假设,我正在测试检查页面上是否存在所有链接的方法。例如:
@Test
public void testLinks(){
driver.findElement(By.linkText("link1"));
driver.findElement(By.linkText("link2"));
driver.findElement(By.linkText("link3"));
driver.findElement(By.linkText("link4"));
driver.findElement(By.linkText("link5"));
}
在上面的代码中,假设除link3
之外的所有链接都存在,那么测试方法的执行将在抛出link3
的错误后停止,但仍然如果我想执行代码来检查link4
和link5
,如何使用Java实现这一目标?
答案 0 :(得分:1)
我认为你的意思是抛出异常。 您可以在另一个处理异常的方法中逐个测试链接。
public void testOne(String link) {
try {
driver.findElement(By.linkText(link));
}
catch (Exception e) {
System.out.println(link+" failed to find");
}
}
public void test() {
testOne("link1");
testOne("link2");
testOne("link3");
testOne("link4");
testOne("link5");
}
testOne()
方法将捕获异常并打印失败的记事,并且您的测试方法不会中断。
答案 1 :(得分:0)
试试这个,您可以使用TestNg报告器让您的测试通过或失败或log4j日志,试试这个。
sResult = "Pass";
public void testOne(String link) {
try {
driver.findElement(By.linkText(link));
}
catch (Exception e) {
System.out.println(link+" failed to find");
sResult = "Fail";
}
}
public void test() {
testOne("link1");
testOne("link2");
testOne("link3");
testOne("link4");
testOne("link5");
}
if(sResult.equals("Pass")){
System.out.println("Pass");
}else{
System.out.println("Fail");
}