2017-06-15 131 views
-1

我已經在selenium webdriver(不是TestNG)中創建了3個獨立的測試用例 - 獨立的java文件。我想要逐個執行所有三個測試用例。如果一個測試用例失敗,我想繼續執行下一個測試用例。我在這裏有什麼選擇?有什麼建議麼? (我是Selenium的新手)。如果一個測試用例失敗,如何自動轉到下一個案例並在selenium webdriver中執行?

+1

你試過了嗎?你研究過了嗎?向我們展示您的研究和努力。另請參閱[我如何問一個好問題](https://stackoverflow.com/help/how-to-ask)並參加[tour](https://stackoverflow.com/tour) – CodingNinja

+0

是的。嘗試執行三個測試用例作爲一個文件。如果一個測試用例因異常而失敗,它將停止執行。現在我已將測試用例分成3個文件並手動逐個執行。我想知道是否有辦法創建一個驅動程序腳本來逐個執行這些文件,即使由於異常而導致一個文件失敗。 – Sureshmani

+0

如果您已經嘗試過,請向我們展示一些代碼。謝謝! – CodingNinja

回答

0

我做了我想叫你的「骨架」。我不知道你的情況究竟是什麼,因爲你沒有解釋,所以你將不得不填寫。幾乎所有你需要做的就是創建一個boolean變量(我叫我的valid),並使用if語句來保持運行測試。如果不符合您的條件,則會打印出「您未通過測試」。如果滿足其中一個條件,它會說:「你通過了測試。」這是用Java編寫的:

public class Test { 
    static boolean ConditionIsMet = false; 
    static boolean valid = false; 

    public static void main(String[] args) throws Exception { 
     if (!valid) { 
      TestOne(); 
      TestTwo(); 
      TestThree(); 
      System.out.println("You failed the test"); 
     } else { 
      System.out.println("You passed the test"); 
     } 
    } 
    private static void TestOne() { 
     //Go through a test 
     if(ConditionIsMet) { 
      valid = true; 
     } 
    } 

    private static void TestTwo() { 
     //Go through a different test 
     if(ConditionIsMet) { 
      valid = true; 
     } 
    } 

    private static void TestThree() { 
     //Go through another different test 
     if(ConditionIsMet) { 
      valid = true; 
     } 
    } 
} 
0

我在做了一些研究後,實際上找到了一個解決方案。我有一個數據驅動的Excel框架(Apache POI),每行都是測試用例的測試數據。我的代碼看起來像這樣,現在工作正常。如果在其中一個測試中出現異常,它會捕獲它並自動跳到下一個測試。如果發生異常,例如nosuchobjectelement,則它捕獲異常並將異常發送到日誌文件&未通過測試用例。由於for循環仍處於活動狀態,因此它將轉到下一個測試並再次開始執行。

對於(試驗1至n) { 嘗試 { //步驟來執行測試 } 趕上(例外五) { Log.Output(e.description); }

}

相關問題