Sunday, July 7, 2024

Cross Browser Testing:

 Cross Browser Testing:

Cross browser testing means testing the application in different browsers

testing the application in chrome browser

                                         edge

                                         firefox

                                  

ex:

login functionality  --   Chrome, Edge, Firefox, IE, Safari

 

<?xml version="1.0" encoding="UTF-8"?>

<suite name="My suite ">

            <test name="My test-chrome">

                        <!-- // Define parameter name = browser = chrome -->

                        <parameter name="browser" value= "chrome"> </parameter>

                        <classes>

                                    <class name="TestNGBasics2.CrossBrowserTestingBasics1">

                                    </class>

                        </classes>

            </test>

           

            <test name="Test -Edge">

                                                <!-- // Define parameter name = browser = edge -->

                        <parameter name="browser" value="edge"> </parameter>

                        <classes>

                                    <class name="TestNGBasics2.CrossBrowserTestingBasics1">

                                    </class>

                        </classes>

            </test>

</suite>

 

 

package TestNGBasics2;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.edge.EdgeDriver;

import org.testng.annotations.Parameters;

import org.testng.annotations.Test;

public class CrossBrowserTestingBasics1 {

            // Define parameter -browser

                        @Test

                        // Define browser parameter and  read 'browser' param from testng.xml file

                        @Parameters("browser")

                        public void login(String mybrowser) throws InterruptedException

                        {  

                                    System.out.println("in CrossBrowserTestingBasics1 -  login()");

                                    System.out.println("Reading browser param=" +mybrowser);

                                   

                                    WebDriver  driver = null;

                                   

                                    if(mybrowser.equals("chrome"))

                                    {

                                                // open chrome browser

                                               

                                                System.setProperty("webdriver.chrome.driver", ".\\Drivers\\chromedriver.exe");

//                                             WebDriver driver =  new ChromeDriver();    

                                                 driver =  new ChromeDriver();                     

                                    }

                                    else if(mybrowser.equals("edge"))

                                    {

                                                // open edge browser

                                                System.setProperty("webdriver.edge.driver", ".\\Drivers\\msedgedriver.exe");

//                                             WebDriver driver =  new ChromeDriver();    

                                                 driver =  new EdgeDriver();   

                                    }                                  

                                   

                                    Thread.sleep(5000);

                       

                                    //HW   Firefox browser

                                    // open url

                                    driver.get("https://www.amazon.in/");

                                    // get current url

                                    String url = driver.getCurrentUrl();

                                    System.out.println("url="+ url);

                        }

}

 

Run testng.xml file

 

 [RemoteTestNG] detected TestNG version 7.0.0

[TestNGContentHandler] [WARN] It is strongly recommended to add "<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >" at the top of your file, otherwise TestNG may fail or not work as expected.

in CrossBrowserTestingBasics1 -  login()

Reading browser param=chrome

Oct 12, 2023 9:06:29 AM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch

WARNING: Unable to find an exact match for CDP version 117, so returning the closest version found: 116

url=https://www.amazon.in/

[TestHTMLReporter] The system cannot find the path specified

[TestHTMLReporter] The system cannot find the path specified

in CrossBrowserTestingBasics1 -  login()

Reading browser param=edge

Oct 12, 2023 9:06:42 AM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch

WARNING: Unable to find an exact match for CDP version 117, so returning the closest version found: 116

url=https://www.amazon.in/

[TestHTMLReporter] The system cannot find the path specified

===============================================

My suite

Total tests run: 2, Passes: 2, Failures: 0, Skips: 0

===============================================

// HW   run in firefox browser also ?

Note:

Here it runs Test tags/ all classes  sequentially

 

Run Tests Parallel:

define parallel = "tests" in 'suite' tag

 

<?xml version="1.0" encoding="UTF-8"?>

<suite name="My suite " parallel="tests">

            <test name="My test-chrome">

                        <!-- // Define parameter name = browser = chrome -->

                        <parameter name="browser" value= "chrome"> </parameter>

                        <classes>

                                    <class name="TestNGBasics2.CrossBrowserTestingBasics1">

                                    </class>

                        </classes>

            </test>

           

            <test name="Test -Edge">

                                                <!-- // Define parameter name = browser = edge -->

                        <parameter name="browser" value="edge"> </parameter>

                        <classes>

                                    <class name="TestNGBasics2.CrossBrowserTestingBasics1">

                                    </class>

                        </classes>

            </test>

</suite>

 

package TestNGBasics2;

import java.util.Date;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.edge.EdgeDriver;

import org.testng.annotations.Parameters;

import org.testng.annotations.Test;

public class CrossBrowserTestingBasics1 {

            @Parameters("browser")

            @Test

            // Define browser parameter and  read 'browser' param from testng.xml file

            public void login(String mybrowser) throws InterruptedException

            {  

                        System.out.println("in CrossBrowserTestingBasics1 -  login()");

                        System.out.println("Reading browser param="+ mybrowser);

                       

                        WebDriver  driver = null;

                       

                        // chrome

                        if(mybrowser.equals("chrome"))

                        {

                                    System.setProperty("webdriver.chrome.driver", ".\\Drivers\\chromedriver.exe");

//                                 WebDriver driver =  new ChromeDriver();    

                                     driver =  new ChromeDriver();         

                        }

                        else if(mybrowser.equals("edge")) //             // edge

                        {

                                    System.setProperty("webdriver.edge.driver", ".\\Drivers\\msedgedriver.exe");

//                                 WebDriver driver =  new EdgeDriver();

                                     driver =  new EdgeDriver();

                        }

                        Thread.sleep(5000);

           

                        //HW   Firefox browser

                        driver.get("file:///C:/brahma/Practise/qtp%20practise/web%20apps/ALL%20Web%20objects.html");

                        // get current url

                        String url =  driver.getCurrentUrl();

                        System.out.println("url =" +url);

                       

                        System.out.println("Executing test in " + mybrowser + " at Time=" + new Date() );

                        Thread.sleep(4000);

                       

                        driver.findElement(By.name("firstname")).clear();

                        Thread.sleep(4000);

                       

                        driver.findElement(By.name("firstname")).sendKeys("Raju");

                        Thread.sleep(4000);  

                       

                        driver.findElement(By.name("lastname")).sendKeys("yadhav");

                        Thread.sleep(4000);

                       

                        System.out.println("ends at time =" + new Date() );

            }

 

}

--------------------------------

run from etstng .xml

o/p:

[RemoteTestNG] detected TestNG version 7.0.0

[TestNGContentHandler] [WARN] It is strongly recommended to add "<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >" at the top of your file, otherwise TestNG may fail or not work as expected.

in CrossBrowserTestingBasics1 -  login()

Reading browser param=edge

in CrossBrowserTestingBasics1 -  login()

Reading browser param=chrome

Jun 14, 2024 9:04:49 AM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch

WARNING: Unable to find CDP implementation matching 126

Jun 14, 2024 9:04:49 AM org.openqa.selenium.chromium.ChromiumDriver lambda$new$5

WARNING: Unable to find version of CDP to use for 126.0.6478.56. You may need to include a dependency on a specific version of the CDP using something similar to `org.seleniumhq.selenium:selenium-devtools-v86:4.20.0` where the version ("v86") matches the version of the chromium-based browser you're using and the version number of the artifact is the same as Selenium's.

Jun 14, 2024 9:04:51 AM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch

WARNING: Unable to find CDP implementation matching 125

Jun 14, 2024 9:04:51 AM org.openqa.selenium.chromium.ChromiumDriver lambda$new$5

WARNING: Unable to find version of CDP to use for 125.0.2535.92. You may need to include a dependency on a specific version of the CDP using something similar to `org.seleniumhq.selenium:selenium-devtools-v86:4.20.0` where the version ("v86") matches the version of the chromium-based browser you're using and the version number of the artifact is the same as Selenium's.

url =file:///C:/brahma/Practise/qtp%20practise/web%20apps/ALL%20Web%20objects.html

Executing test in chromeat Time=Fri Jun 14 09:04:55 IST 2024

url =file:///C:/brahma/Practise/qtp%20practise/web%20apps/ALL%20Web%20objects.html

Executing test in edgeat Time=Fri Jun 14 09:04:56 IST 2024

ends at time =Fri Jun 14 09:05:11 IST 2024

[TestHTMLReporter] The system cannot find the path specified

[TestHTMLReporter] The system cannot find the path specified

ends at time =Fri Jun 14 09:05:13 IST 2024

[TestHTMLReporter] The system cannot find the path specified

===============================================

My suite

Total tests run: 2, Passes: 2, Failures: 0, Skips: 0

===============================================

No comments:

Post a Comment

git commands MCQ

 Here are some multiple-choice questions (MCQs) on Git commands relevant for Selenium: 1. Which Git command is used to clone a remote reposi...