Skip to main content

Crossbrowser Testing(Installation of Driver) - Safari/Chrome-v85/Firefox v86- Mac System


 

Hi,

Today we are focussing on Cross browser testing  via selenium using annotation of TestNG.

Let's go through it one by one

Safari Browser is the second most popular browser in the world occupying 16% of market share  its default browser for all apple devices

Earlier version of safari required installation on safari webdriver extension, however this extension is no longer supported for safari versions 10 and above, safari driver  comes bundled by default with the browser that's preinstalled in MacOS.

For testing via Safari browser we need to make changes in browser setting.

Go to Safari-> preferences -> Advanced

Tick mark the checkbox with label- Show develop menu in menu bar



Once this is done   Go to develop menu and click on "Allow Remote Automation" Option to enable it
 



Chrome Browser - 
As defined in previous blogs we need to download chrome driver extension. and give the path while running the script.
 
Firefox Browser

Check which versions of Firefox you are working on go to Preferences-> Firefox updates


You need to install GeckoDriver  from the link  



Unlike chrome which goes by similar version number for driver as well as browser in Firefox you will find this kind of Instruction

As working on Mac  you might have read this note


Read the instruction carefully in order to run it in Mac

Code to do the cross browser testing in Google homepage-

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.safari.SafariDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.testng.annotations.Test;

public class Crossbrowser {

WebDriver driver;

@Test 

    public void test()

    {

System.setProperty("Webdriver.chrome.driver", "chromedriver");

    WebDriver driver = new ChromeDriver();

    driver.get("https://www.google.com");

   

    String Pagetitle1 = driver.getTitle();

   

    if (Pagetitle1.equals("Google"))

    {

    System.out.println("Launching Google sucessful via chrome");

    }

    else{

    System.out.println("Launching Google failed via chrome");

    }

    driver.close();

    WebDriver driver = new SafariDriver();

    driver.get("https://www.google.com");

     

    String Pagetitle2= driver.getTitle();

     

    if (Pagetitle2.equals("Google"))

    {

    System.out.println("Launching Google sucessful via Safari"); 

    }

    else{

    System.out.println("Launching Google failed via Safari");

    }

  driver.close();

             

              WebDriver driver = new FirefoxDriver();

     driver.get("https://www.google.com");

     

     String Pagetitle3driver.getTitle();

     

     if (Pagetitle3.equals("Google"))

     {

     System.out.println("Launching Google sucessful via Firefox"); 

     }

     else{

      System.out.println("Launching Google failed via Firefox");

     }

  driver.close();

      } 
  }

    


Screenshot attached for the program run on macOS machine for reference





If you want to fail the test case you only need to change pagetitle.equals("Googla")


     WebDriver driver = new SafariDriver();

     driver.get("https://www.google.com");

     

     String Pagetitle2driver.getTitle();

     

     if (Pagetitle2.equals("Googla"))

     {

     System.out.println("Launching Google sucessful via Safari"); 

     }

     else{

      System.out.println("Launching Google failed via Safari");

     }

  driver.close();



To check the program run please click here




Comments

Popular posts from this blog

Cucumber - Execution of test cases and reporting

Before going through this blog please checkout blog on   Cucumber Fundamentals Cucumber is testing tool which implements BDD(behaviour driven development).It offers a way to write tests that  anybody can understand, regardless of there technical knowledge. It users Gherkin (business readable language) which helps to  describe behaviour without going into details of implementation It's helpful for  business stakeholders who can't easily read code ( Why cucumber tool,  is  called  cucumber , I have no idea if you ask me I could have named it "Potato"(goes well with everything and easy to understand 😂) Well, According to its founder..... My wife suggested I call it  Cucumber  (for no particular reason), so that's how it got its  name . I also decided to give the Given-When-Then syntax a  name , to separate it from the  tool . That's why it's  called  Gherkin ( small variety of a cucumber that's been pickled. I...

Jmeter 5.4.1- Config Elements - Part-03

  Part-01- Installation of Jmeter and HTTP's Recorder click  here Part 02--Previous blog on Assertion Config elements in Jmeter are used to configure or modify the samplers requests made to the server. These elements are added at the same or higher level of the samplers that we want to configure  Let' start with  CSV data config As the name suggest it used to read data from CSV first we need to put data in variables and then use the variables in sampler request. create a new test plan add CSV data set config Add a Thread Group and then add Sampler "Java Request"  Create a CSV file  with some data (Name and Data) and save it  Now go to Jmeter CSs data set config browse and upload the css file create Make few more changes in place of  variable name - Name and Dept Ignore first line - True Delimeter - \t (as suggested) Now move on the Sampler-" Java Request" and rename it with header elements of CSV As we have Name and d...

Beginners tutorial -:working with JMeter in Mac and windows - Part-01

  Prequisite   you should have Java downloaded in your system with Home path set under environment variables.(as of today Java version 8 and higher are required fro jmeter ) for help check out this link Note Always run the jmeter on your secondary browser,  if you give the primary browser for proxy settings then your internet connection will be disrupted for the browser as well as system For ex if you have chrome and firefox and your primary or default browser is chrome then do all the proxy setting in firefox so it won't hamper the system Internet connection  if you have safari as your default browser in your mac os then set proxy in chrome/firefox  MAC Download jmeter from the link  here click on the hypelink under section Binaries  "Apache JMeter( 5.3 ). tgz" file  for Mac   Tar file will get downloaded Double click on the tar file to unzip  once you open the folder  got to bin and search for jmeter.sh file this is a executa...