Sunday, 25 June 2023

TestNG

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