TestNG.xml:
<suite name="RegressionSuit" parallel="true">
<listeners>
<listener class-name="com.test.ExtentReportListener" />
</listeners>
<test thread-count="5" name="test1">
<groups>
<run>
<include name=".*smoke.*" />
<include name="regression" />
</run>
</groups>
<!--<parameter name = "url" value="https://login.yahoo.com" />
<parameter name = "browser" value="chrome" /> -->
<classes>
<class name="com.test.TestNGFlow" />
<class name="com.test.TestNGFlow2">
<methods>
<exclude name="testHomePageTitle" />
<include name="testSearch" />
</methods>
</class>
</classes>
</test>
</suite>
DataProvider :
package com.test;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class DataProviderDemo
{
@Test(dataProvider="testData1")
public void sum(String username, String password )
{
System.out.println(username + " " + password);
}
@DataProvider
public Object[][] testData1()
{
//Rows - Number of times your test has to be repeated. //Columns - Number of parameters in test data.
//Object[][] data = new Object[rowCount][columnCount];
Object[][] data = new Object[3][2];
//row 1
data[0][0]= "user1";
data[0][1]= "pass1";
//row 2
data[1][0]= "user2";
data[1][1]= "pass2";
//row 3
data[2][0]= "user3";
data[2][1]= "pass3";
return data;
}
}
ParallelTesting of Multiple test cases on Multiple Browsers on Remote AWS or VM or Local machine
public class TestParallelTest
{
public WebDriver driver;
public Capabilities cap;
@Parameters({ "browser", "url" })
@Test
public void doLogin(String browser, String url) throws InterruptedException, MalformedURLException
{
if (browser.equals("chrome"))
{
cap = new ChromeOptions();
} else if (browser.equals("edge"))
{
cap = new EdgeOptions();
} else if (browser.equals("firefox"))
{
cap = new FirefoxOptions();
}
// driver = new RemoteWebDriver(new URL("http://enter AWS IP address here:4444/"),cap);
driver = new RemoteWebDriver(new URL("http://localhost:4444/"), cap); // for WSL and VMbox and local
driver.get("http://google.com");
System.out.println(driver.getTitle());
By textname = By.name("q");
driver.findElement(textname).sendKeys("helloGrid123");
driver.findElement(textname).sendKeys(Keys.ENTER);
System.out.println("Testing on Browser :" + browser);
Thread.sleep(3000);
System.out.println(driver.getTitle());
driver.quit();
}
}
No comments:
Post a Comment