Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • Build your AI Agent
    • GfG 160
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Contests
    • Accenture Hackathon (Ending Soon!)
    • GfG Weekly [Rated Contest]
    • Job-A-Thon Hiring Challenge
    • All Contests and Events
  • Java Arrays
  • Java Strings
  • Java OOPs
  • Java Collection
  • Java 8 Tutorial
  • Java Multithreading
  • Java Exception Handling
  • Java Programs
  • Java Project
  • Java Collections Interview
  • Java Interview Questions
  • Java MCQs
  • Spring
  • Spring MVC
  • Spring Boot
  • Hibernate
Open In App
Next Article:
How to Run Gecko Driver in Selenium Using Java?
Next article icon

How to Run Safari Driver in Selenium Using Java?

Last Updated : 07 Aug, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

Selenium is a well-known software used for software testing purposes. Selenium consists of three parts: Selenium IDE, Selenium Webdriver, and Selenium Grid. Among these, Selenium Webdriver is the most important one. Using Webdriver, online website testing can be done. There are three main Webdrivers present. For the Chrome browser, ChromeDriver is present. For the Firefox browser, Gecko Driver is applicable; for Microsoft Edge, there will be MSEdgeDriver. Excluding these, many more drivers are present for other browsers.

In this article, the process of running SafariWebdriver is implemented. It is useful for those who use Mac OS. This simple Java program can be run

Table of Content

  • Pre-Requisites
  • Proper Steps to Run Selenium Tests on Safari
  • Conclusion
  • Frequently Asked Questions on How to Run Safari Driver in Selenium Using Java?

Pre-Requisites

  • To run SafariDriver, the Java JDK version must have previously been installed on the machine.
  • The latest version of Safari should be installed.
  • It is preferable to install Eclipse IDE on the machine so that running this code will be easier.
  • The most important prerequisite is latest SafariDriver should be downloaded on the machine.

Proper Steps to Run Selenium Tests on Safari

1. Ensure Prerequisites

Before you begin, make sure you have the following prerequisites:

  • Java Development Kit (JDK): Installed and configured on your system.
  • Eclipse IDE or another Java IDE: For writing and executing Java code.
  • Selenium WebDriver: Download the Selenium Java client driver JAR file from Selenium's website.
  • Safari Browser: Installed on macOS.
  • SafariDriver: Pre-installed with macOS Safari version 10 or later.

2. Enable Safari's Driver

SafariDriver needs to be enabled in Safari:

  • Open Safari.
  • Go to Safari > Preferences (or press Cmd + ,).
  • Click on the Advanced tab.
  • Check the Show Develop menu in menu bar option.
  • From the Develop menu, select Allow Remote Automation.
Develop-option
Develop option

3. Set Up Your Project

Create a New Java Project

  • Open Eclipse (or your preferred IDE).
  • Go to File > New > Java Project.
  • Name your project (e.g., SafariTestProject) and click Finish.

Add Selenium WebDriver Library

  • Download the Selenium Java client driver JAR file.
  • Right-click on your project in Eclipse.
  • Select Build Path > Add External Archives.
  • Browse to the JAR file and add it.

4. Write the Selenium Test Script

Create a New Java Class

  • Right-click on src in your project.
  • Select New > Class.
  • Name the class (e.g., SafariTest) and click Finish.

Below is the complete implementation of the above approach:

Java
// Importing All Necessary Items import java.io.*; import java.lang.Thread; import org.openqa.selenium.WebDriver; import org.openqa.selenium.safari.SafariDriver;  public class GoogleHomePage {     public static void main(String[] args)     {         // Try-Catch Block For Implementing Sleep Method         try {             // String Where Home Page URL Is Stored             String baseUrl = "https://www.google.com/";                        // Implementation of SetProperty Method             System.setProperty(                 "webdriver.safari.driver",                 "test/resources/safaridriver.exe");                        // Creating New Object driver Of Webdriver             WebDriver driver = new SafariDriver();                        // Calling the Home Page By Using Get() Method             driver.get(baseUrl);                        // Delaying The Output             Thread.sleep(2000);                        // Closing The Opened Window             driver.quit();         }         catch (Exception e) {             // Catching The Exception             System.out.println(e);         }     } } 

Output:

If the above code is run, then a new Safari Window will be opened. This open window will be controlled by SafariDriver.exe.

Output Run Safari Driver in Selenium Using Java
Output Run Safari Driver in Selenium Using Java

Hence, the program runs successfully.

Conclusion

If you follow the following steps, running Selenium tests on Safari with SafariDriver is a simple task. SafariDriver's integration with Safari makes it simple to automate web testing on macOS. You can make sure that everything runs smoothly and that tests are trustworthy by updating your drivers and software and adhering to the recommended setup guidelines.


Next Article
How to Run Gecko Driver in Selenium Using Java?
author
sounetraghosal2000
Improve
Article Tags :
  • Java
  • Software Testing
  • Selenium
Practice Tags :
  • Java

Similar Reads

  • How to Run Opera Driver in Selenium Using Java?
    Selenium is a well-known software used for software testing purposes. Selenium consists of three parts. One is Selenium IDE, one is Selenium Webdriver & the last one is Selenium Grid. Among these Selenium Webdriver is the most important one. Using Webdriver online website testing can be done. Th
    3 min read
  • How to Run Gecko Driver in Selenium Using Java?
    Selenium is a well-known software used for software testing purposes. It consists of three parts: Selenium IDE, Selenium WebDriver, and Selenium Grid. Selenium WebDriver is the most important. Using WebDriver, online website testing can be done. There are three main WebDriver implementations: Chrome
    5 min read
  • How to Run Internet Explorer Driver in Selenium Using Java?
    Selenium is a well-known software used for software testing purposes. Selenium consists of three parts. One is Selenium IDE, one is Selenium Webdriver & the last one is Selenium Grid. Among these Selenium Webdriver is the most important one. Using Webdriver online website testing can be done. Th
    6 min read
  • How to Perform Right-Click using Java in Selenium?
    While automating a website for testing there is always required to perform some right-click or other user actions on the page.  These user actions are one of the most commonly used actions during automation, so selenium provides a way to perform these user actions by the Actions class. How to Perfor
    2 min read
  • How to Run Edge Driver in Selenium Using Eclipse?
    Selenium is a well-known software used for software testing purposes. Selenium consists of 3 parts. One is Selenium IDE, one is Selenium Webdriver & the last one is Selenium Grid. Among these Selenium Webdriver is the most important one. Using webdriver online website testing can be done. There
    3 min read
  • How to Open Chrome Browser Using Selenium in Java?
    Selenium is an open-source popular web-based automation tool. The major advantage of using selenium is, it supports all browsers like Google Chrome, Microsoft Edge, Mozilla Firefox, and Safari, works on all major OS, and its scripts are written in various languages i.e Java, Python, JavaScript, C#,
    3 min read
  • How to download File in Selenium Using java
    Automating the file download process is essential in web automation testing, especially for validating functionalities involving document downloads such as PDFs, images, or CSV files. However, Selenium WebDriver doesn’t directly handle file downloads. To overcome this limitation, we can configure th
    2 min read
  • How do I pass options to the Selenium Chrome driver using java?
    Selenium WebDriver is a widely used tool for automating web browsers. When working with Selenium ChromeDriver, passing custom options to the browser allows you to tailor the browsing experience based on your test requirements. Whether you're running tests in headless mode, disabling notifications, o
    2 min read
  • How to Handle Alert in Selenium using Java?
    Imagine filling out a form online and accidentally missing some information. You only know if you made a mistake if the website tells you somehow, like with a pop-up message. This article explains what those pop-up messages are called in Selenium (alerts) and how to deal with them in your automated
    6 min read
  • How to Open Microsoft Edge Browser using Selenium in Java?
    Selenium is an open-source popular web-based automation tool. The major advantage of using selenium is, it supports all browsers like Google Chrome, Microsoft Edge, Mozilla Firefox, and Safari, works on all major OS and its scripts are written in various languages i.e Java, Python, JavaScript, C#, e
    3 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences