0

@Testをスロー例外メソッドの外側で実行しようとしています。 @Testメソッドを実行できる唯一の方法は、throw例外メソッド内で呼び出して、@Testメソッドが失敗する場合です。私のコードを見てください。Selenium Webdriverで例外をスローした後で@Testを実行するには

public class Communication extends WebPortalLogin  { 


    public static String driverPath = "C:/"; 
    public static WebDriver driver; 


    @BeforeTest 
    public void Circulars() throws Exception { 

     ExcelUtils.setExcelFile("C://TestData//TestData.xlsx", "Sheet1"); 

     String username = ExcelUtils.getCellData(1, 1); 
     String password = ExcelUtils.getCellData(1, 2); 

     driver = WebPortalLogin.login(username, password); 

     circulars(driver); 
     option_list(driver); 
     close_browser(); 

    } 

    @Test 
    public void circulars(WebDriver driver)  { 

     WebPortalNGFile.communication(driver).click(); 
     WebPortalNGFile.circulars(driver).click(); 

    } 

    @Test 
    public void option_list(WebDriver driver)  { 

    WebPortalNGFile.communication(driver).click(); 
    WebPortalNGFile.option_list(driver).click(); 

    } 

    @Test 
    public void close_browser() { 
     driver.close(); 

    } 

} 

答えて

0

あなたのクラスでは、最初に実行するのが@BeforeTestメソッドです。 @BeforeTestのアイデアは実際に@Testの前に実行されるメソッドを持つことです。

何らかの理由で、単純に動作しない@BeforeTestメソッドから@Test circulars()メソッドを呼び出そうとしています。

なぜ、@ testアノテーションをclose_browser()メソッドとoption_list()メソッドに追加したのですか?彼らはちょうどヘルパーメソッドと@Test注釈を必要としないように見えます。

@BeforeTestアノテーションと@Testアノテーションの詳細については、こちらをご覧ください。

以下は、コードを曖昧に修正したものです。

public class Communication extends WebPortalLogin{ 

public static String driverPath = "C:/"; 
public static WebDriver driver; 

@Test 
public void Circulars() throws Exception{ 

    ExcelUtils.setExcelFile("C://TestData//TestData.xlsx", "Sheet1"); 

    String username = ExcelUtils.getCellData(1, 1); 
    String password = ExcelUtils.getCellData(1, 2); 

    driver = WebPortalLogin.login(username, password); 

    circulars(driver); 
    option_list(driver); 
    close_browser(driver); 
} 

public void circulars(WebDriver driver){ 
    WebPortalNGFile.communication(driver).click(); 
    WebPortalNGFile.circulars(driver).click(); 
} 

public void option_list(WebDriver driver){ 
    WebPortalNGFile.communication(driver).click(); 
    WebPortalNGFile.option_list(driver).click(); 
} 

public void close_browser(WebDriver driver){ 
    driver.close(); 
} } 
+0

実際にCircular()はset_up()であり、close_browser()はブラウザを終了するためAfterTestです。 circulars()とoption_list()はテストなので、@Testという注釈を個別にレポートに表示する必要があります。なぜなら、個々のメソッドとして実行する必要があり、例外メソッド内で呼び出されない理由です。 –

関連する問題