2016-11-25 54 views
0

我實現我張貼下面TestNG的:我想只有一次登錄,執行所有的測試用例,申請註銷,然後應關閉

public class BaseClass { 

    public WebDriver driver; 

    @BeforeTest 
    @Parameters({"browser","component"}) 
    public void launchBrowser(String browser,String component) throws Exception{ 

     if(browser.equals("firefox")){ 

      driver = new FirefoxDriver(); 
      driver.manage().window().maximize(); 
      driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
      BasePage basePageObject = new BasePage(driver); 

      if(null!=component) { 

       if(component.equals("Operations")){ 

        driver.get(propertyDataObj.getOdUrl()); 
        System.out.println("odusername---"+propertyDataObj.getOdUserName()); 
        System.out.println("odpassword---"+propertyDataObj.getOdPassword()); 
        basePageObject.loginToOd(odUserName, odPassword); 

       } 

的代碼在上面的代碼中,我混合架構的瀏覽器已經使用@BeforeTest來登錄到應用程序只有一次,但是當我運行框架,只有第一個測試用例被執行,我沒有得到這樣的窗口發現異常,並且執行被終止。

+0

您如何運行你的測試用例?請提供您的testng xml文件。 –

+0

哪裏有你的測試?在同一班還是另一班?可以分享嗎? – juherr

回答

0

我必須做到以下幾點:

@BeforeClass - 啓動瀏覽器並登錄

@BeforeMethod(alwaysRun=true) - 導航到主頁

@Test - 你想

@AfterClass什麼 - 關閉瀏覽器

0

您應該使用@BeforeClass註釋,以便您想要執行一次的代碼部分,即登錄到您的應用程序之前,在類的任何其他方法之前執行。

執行全部採用@Test測試完成後,您可以使用@AfterClass關閉瀏覽器(也登出應用程序的情況下,你需要的那種類型的功能)

更多TestNG的註釋,你可以參考鏈接:http://toolsqa.com/selenium-webdriver/testng-introduction/

0

首先打開瀏覽器代碼 '@BeforeClass'

登錄到應用程序 '@BeforeMethod'

執行操作 @Test @Test Any Action code @Test

註銷申請@AfterMethod 關閉瀏覽器 '@AfterClass'

相關問題