Adsterra Native banner 4:1

Cross Browser Testing in TestNG

  

What is Cross-Browser Testing?

Cross-browser testing is a technique to test web applications across multiple browsers (example: Chrome, Firefox, Edge) to ensure that they work correctly and consistently for all users.


Why Cross-Browser Testing with TestNG?

TestNG allows parallel test execution across different browsers using:

  • @Parameters annotation

  • testng.xml for browser configuration

  • WebDriver for browser launching


Steps to Perform Cross-Browser Testing:

  • Add Selenium and TestNG dependencies (via Maven or manually).
  • Write a test class with @Parameters("browser").
  • Use testng.xml to define browser-specific configurations.
  • Run tests in parallel across multiple browsers (optional).


1. Add Maven Dependencies

<!-- pom.xml -->
<dependencies>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>7.9.0</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>4.20.0</version>
    </dependency>
</dependencies>




2. Java Code for Cross-Browser Test

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.*;

public class CrossBrowserTest {

    WebDriver driver;

    @Parameters("browser")
    @BeforeMethod
    public void setup(String browserName) {
        if (browserName.equalsIgnoreCase("chrome")) {
            driver = new ChromeDriver();
        } else if (browserName.equalsIgnoreCase("firefox")) {
            driver = new FirefoxDriver();
        } else if (browserName.equalsIgnoreCase("edge")) {
            driver = new EdgeDriver();
        } else {
            throw new IllegalArgumentException("Browser not supported: " + browserName);
        }
        driver.manage().window().maximize();
    }

    @Test
    public void openGoogle() {
        driver.get("https://www.google.com");
        System.out.println("Title: " + driver.getTitle());
    }

    @AfterMethod
    public void tearDown() {
        if (driver != null) {
            driver.quit();
        }
    }
}




3. testng.xml File for Cross-Browser Execution

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<suite name="CrossBrowserSuite" parallel="tests" thread-count="3">
    <test name="ChromeTest">
        <parameter name="browser" value="chrome" />
        <classes>
            <class name="CrossBrowserTest"/>
        </classes>
    </test>
    <test name="FirefoxTest">
        <parameter name="browser" value="firefox" />
        <classes>
            <class name="CrossBrowserTest"/>
        </classes>
    </test>
    <test name="EdgeTest">
        <parameter name="browser" value="edge" />
        <classes>
            <class name="CrossBrowserTest"/>
        </classes>
    </test>
</suite>


Execution:

Run the testng.xml file via:

  • Eclipse/IDEA: Right-click > Run As > TestNG Suite

  • Command Linemvn test (if configured)

No comments:

Post a Comment