Selenium TestNG Examples

Selenium TestNG Examples

I) Executing multiple classes using XML file 

@BeforeMethod - executes earlier every exam example inwards a class
@AfterMethod -executes later on every exam example inwards class
---------------
@BeforeClass -executes earlier all exam cases inwards a class
@AfterClass - executes later on all exam cases inwards a class
--------------------------------
@BeforeTest - executes earlier all exam cases from all classes inwards XML file
@AfterTest -executes later on all exam cases from all classes inwards XML file
------------------------------------------------
XML file for executing multiple classes:
<suite name="Suite" >
  <test name="Test">
    <classes>
      <class name="seleniumTests.Abcd1"/>
      <class name="seleniumTests.Abcd2"/>
     
    </classes>
  </test>
</suite>
-----------------------
Class File 1
public bird Abcd1 {
  @BeforeTest
  populace void Login(){
  System.out.println("Login Successful");
  }
  @AfterTest
  populace void Logout(){
  System.out.println("Logout Successful");
  }
  @Test (priority = 1)
  populace void FundTransfer (){
    System.out.println("Fund Transfer Successful");
  }
  @Test (priority=3)
  populace void PrepaidRecharge(){
  System.out.println("Prepaid Recharge Successful");
  }
  @Test (priority=2)
  populace void BillPayments(){
  System.out.println("Bill Payments Successful");
  }
}
-----------------------------------------------
Class File 2
public bird Abcd2 {
    /*@BeforeMethod
    populace void Login() {
        System.out.println("Login Successful");
    }
    @AfterMethod
    populace void Logout() {
        System.out.println("Logout Successful");
    }*/
    @Test(priority=1)
    populace void Search() {
        System.out.println("Search Successful");
    }
    @Test(priority=2)
    populace void AdvancedSearch() {
        System.out.println("Advanced Search Successful");
    }
}
---------------------------------------------------------------
II) Grouping Test Cases
 

XML file

<suite name="Suite">
 <test name="Test">
 <groups>
 <run>
 <include advert ="regression"/>
 </run>
 </groups>
    <classes>
      <class name="seleniumTests.GroupingTests"/>
    </classes>
  </test>
</suite>
----------------------------
Class File
public bird GroupingTests {
    @BeforeGroups (groups ="regression")
      populace void Login(){
      System.out.println("Login Successful");
      }
      @AfterGroups (groups ="regression")
      populace void Logout(){
      System.out.println("Logout Successful");
      }
      @Test (groups ={"sanity"})
      populace void FundTransfer (){
        System.out.println("Fund Transfer Successful");
      }
      @Test (groups ={"sanity", "regression"})
      populace void Search (){
            System.out.println("Search Successful");
          }
      @Test (groups ={"regression"})
      populace void PrepaidRecharge(){
      System.out.println("Prepaid Recharge Successful");
      }
      @Test (groups ={"regression"})
      populace void BillPayments(){
      System.out.println("Bill Payments Successful");
      }
    }
-----------------------------------------------
III) Data driven Testing using DataProvider Annotation

 public bird DataDriven {
    @Test (dataProvider ="testdata")
    populace void Addition(String val1, String val2, String val3){
        int a = Integer.parseInt(val1);
        int b = Integer.parseInt(val2);
        int c = Integer.parseInt(val3);
        int number = a + b + c;
        System.out.println(result);
    }
       
@DataProvider(name="testdata")   
public Object [] [] readExcel() throws BiffException, IOException{
    File f = novel File("C:/Users/gcreddy/Desktop/Input.xls");
    Workbook w = Workbook.getWorkbook(f);
    Sheet sec = w.getSheet(0);
    int rows = s.getRows();
    int columns = s.getColumns();
    //System.out.println(rows);
    // System.out.println(columns);
    String InputData [] [] = novel String [rows] [columns];
    for (int i = 0; i<rows; i++){
        for (int j=0; j<columns; j++){
            Cell c = s.getCell(j, i);
            InputData [i] [j] = c.getContents();
            //System.out.println(InputData [i][j]);
        }
    }
return InputData;
}
}
-----------------------------------------------------
IV) Parallel Test execution
Parallel exam execution using TestNG (using unmarried machine/computer)

Parallel exam execution Using Selenium Grid (using multiple computers)
----------------------------------------
Take tests together with execute using dissimilar browsers (IE, Firefox, together with Chrome)
---------------------------------------------
Steps:

Before Class - Launch Browsers (Firefox, Internet Explorer together with Chrome)

Execute Tests on all Browsers

After Class - Close all browsers
--------------------------------
Class File
 

public bird ParallelTests {
    populace WebDriver driver;
   
    @Parameters("browser")
    @BeforeClass
       
    populace void LunchBrowser(String browser) {

    if(browser.equalsIgnoreCase("FF")) {
    driver = novel FirefoxDriver();
    }

    else if (browser.equalsIgnoreCase("IE")) {
    System.setProperty("webdriver.ie.driver", "E:/IEDriverServer.exe");
    driver = novel InternetExplorerDriver();
    }

    else if (browser.equalsIgnoreCase("CH")) {
    System.setProperty("webdriver.chrome.driver", "E:/chromedriver.exe");
    driver = novel ChromeDriver();
    }
    driver.get("http://www.google.com");
    }
    @Test
    populace void VerifyPageTitle() throws InterruptedException {
    Assert.assertEquals(driver.getTitle(), "Google");
    }
    @AfterClass
    populace void CloseBrowsers() {
    driver.quit();
    }
    }
-------------------------------
XML file
<suite name="Suite" parallel="tests" thread-count ="3">
  <test name="FireFoxTests">
  <parameter advert = "browser" value = "FF"/>
     <classes>
      <class name="seleniumTests.ParallelTests"/>
    </classes>
  </test>
 
  <test name="IETests">
  <parameter advert = "browser" value = "CH"/>
      <classes>
      <class name="seleniumTests.ParallelTests"/>
          </classes>
  </test>
 
  <test name="ChromeTests">
  <parameter advert = "browser" value = "IE"/>
     <classes>
     <class name="seleniumTests.ParallelTests"/>
    </classes>
  </test>
</suite>
----------------------------------------------------

Sumber http://www.gcreddy.com/
Post a Comment (0)
Previous Post Next Post