Showing posts with label testng parameter passing. Show all posts
Showing posts with label testng parameter passing. Show all posts

Tuesday 7 January 2014

How to pass parameters from testng.xml into test case


How to pass parameters from testng.xml into
 test case.

package programs;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class Parallelexecution {

private WebDriver driver = null;

@BeforeTest
@Parameters({ "BROWSER" })
public void setup(String BROWSER) {
System.out.println("Browser: " + BROWSER);

if (BROWSER.equals("FF")) {
System.out.println("Firefox Browser is selected");
driver = new FirefoxDriver();
} else if (BROWSER.equals("IE")) {
System.out.println("Internet Explorer Browser is selected");
driver = new InternetExplorerDriver();
} else if (BROWSER.equals("HU")) {
System.out.println("Html Unit Browser is selected");
driver = new HtmlUnitDriver();
} else if (BROWSER.equals("CH")) {
System.out.println("Google chrome Browser is selected");
driver = new ChromeDriver();
}
}

@Test
public void testParallel() throws Exception {
driver.get("http://ruchi-myseleniumblog.blogspot.in/2013/12/100-selenium-interview-questions.html");

}
}


above sample program BROWSER is a variable which value would be passed from TestNG.xml and TestNG.xml and it will run the test multiple time each time BROWSER value would be set with different browser name and test will check the BROWSER value and decide which browser test will run.
<?xml version="1.0" encoding="UTF-8"?><suite name="WebDriver-TestngParrlelExecution" parallel="tests">  <test name="Working Witn FF" preserve-order="true">  <parameter name="BROWSER" value="FF" />  <classes>   <class name="programs.Parallelexecution" />  </classes> </test>  <test name="Working with IE" preserve-order="ture">  <parameter name="BROWSER" value="IE"></parameter>  <classes>   <class name="programs.Parallelexecution"></class>  </classes> </test>  <test name="Working with HTML unit" preserve-order="true">  <parameter name="BROWSER" value="HU"></parameter>  <classes>   <class name="programs.Parallelexecution"></class>  </classes> </test>   <test name="Working with Chrome Browser" preserve-order="true">  <parameter name="BROWSER" value="CH"></parameter>  <classes>   <class name="programs.Parallelexecution"></class>  </classes> </test></suite>