[英]How to execute code which comes after a section where element is not found in a test method?
假設我正在測試一種檢查頁面上是否所有鏈接都存在的方法。 例如:
@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來實現呢?
我認為您的意思是拋出異常。 您可以使用另一種處理異常的方法來逐個測試鏈接。
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()
方法將捕獲異常並打印失敗的注釋,並且您的測試方法不會受到干擾。
嘗試此操作,您可以使用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");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.