Testing web applications across browsers is essential—but when Safari is part of the mix, things get more complicated. Safari is only supported on macOS and iOS. For teams working in Windows-based environments, this creates a limitation.
This challenge becomes even more pronounced when using automation tools like Ranorex, which don’t support test execution on macOS. As a result, including Safari in test coverage requires either introducing new infrastructure or reconsidering the choice of testing tools.
We faced this challenge during a recent engagement, where the client required reliable Safari testing—without disrupting existing automation setup. This blog outlines how we found a solution that maintained efficiency while expanding browser coverage.
The Challenge
The client required Safari browser support, but their test infrastructure was entirely Windows-based. With Safari limited to macOS and Ranorex lacking macOS support, running Safari tests on their existing set-up was not an option.
Setting up and maintaining physical macOS devices to test one browser wasn’t scalable or cost-effective. On the other hand, switching to a different tool supports macOS would have disrupted workflows and required significant rework of existing test scripts.
We needed a way to:
- Run Safari tests without macOS hardware
- Continue using Ranorex as our core automation tool
- Integrate with existing CI/CD processes
- Scale testing easily across environments
The Solution: Integrating Ranorex with LambdaTest for Cloud-Based Safari Testing
This is where cloud-based testing became the ideal fit. Instead of building and maintaining infrastructure for macOS and Safari, we turned to LambdaTest, a cloud-based cross-browser testing platform. Cloud testing offers immediate access to real browsers and operating systems—like Safari on macOS—without requiring local setup or physical devices.
It’s scalable, cost-efficient, and removes the burden of managing updates, environments, and compatibility issues. For distributed teams or projects with broad test coverage needs, cloud platforms also make collaboration and parallel testing much easier.
But why keep Ranorex in the mix?
Because Ranorex is a powerful and reliable automation tool we already use to create and manage test logic across desktop, web, and mobile platforms. It supports both record-and-playback and advanced scripting, integrates well with CI/CD pipelines, and fits seamlessly into our team’s workflow. Despite its lack of macOS support, Ranorex’s ability to connect to remote WebDriver endpoints allowed us to extend its reach.
With Ranorex and LambdaTest integration, we were able to:
- Continue with existing test automation scripts without rewriting them.
- Run tests on Safari in a real macOS environment—without any Apple hardware.
- Maintain current workflow while expanding browser coverage.
Ranorex managed test creation and logic, while LambdaTest handled the execution layer in the cloud—seamlessly bridging the gap between tools and platform limitations.
Steps to Integrate Ranorex with LambdaTest for Safari Automation Testing:
1.Set up your LambdaTest account
Create a Lambda test account. Once you gain access to the LambdaTest platform, there you can view the different categories. You will find your Username and Access Key will be available in the LambdaTest portal. These credentials are required to authenticate and interact with the LambdaTest.
2.Install Ranorex and set up your test project
Visit the Ranorex website and download Ranorex Studio and installed it as per the given instructions. Once Ranorex is installed Open studio and create a Test project.
We preferred Page Object Model (POM)-based Automation Framework with Modular Architecture. It helps to separate the test logic from the UI element locators. In this setup, you will create separate classes for:
- Page Objects: These classes will contain the locators for each web page or screen in your application.
- Action Layer: This layer will contain methods that interact with the elements, such as clicking buttons, entering text, etc.
- Test Scripts(Recording): These will be the actual test cases that use the Page Objects and Action Layer to execute tests.
For example, you might have a LoginPage.cs for locators, a LoginPageActions.cs for login actions, and a LoginTest.RxRec for the test script that calls the actions (User codes)
3.Set up LambdaTest with Ranorex
We can setup the integration of Ranorex with LambdaTest in 2 ways
- By Using End points in Ranorex: In this approach, you can configure the LambdaTest endpoints directly in Ranorex to integrate with the Lambda cloud infrastructure.
- Programmatic Configuration: In most cases, using capabilities from a C# file would be the better approach, especially if you’re working with cloud-based testing on LambdaTest or other similar services. It provides the flexibility and control needed for modern test automation workflows.
Here we choose second option:
For Safari integration, you’ll need to configure LambdaTest’s capabilities to interact with Ranorex by ensuring that the correct browser versions, OS configurations, and testing scripts are set up. Here for me Desired capabilities is not working in Ranorex due to its inaccessible protection level, so we go with SafariOptions which allow us to fine-tune Safari-specific settings and for better performance on safari.
The Hub URL is the URL of the LambdaTest server that acts as a bridge between your test script (running on your local machine or CI pipeline) and the real browsers on the cloud provided by LambdaTest.
LambdaTest’s Hub URL typically looks like this:
https://<username>:<accessKey>@hub.lambdatest.com/wd/hub
4.Execute Tests and Monitor results
After starting the test, LambdaTest will execute the script on the specified Safari version.
To monitor progress, log into your LambdaTest dashboard. Navigate to Automation section,It will display detailed insights about the test execution, including logs, browser screenshots, and video recordings, etc.,
LambdaTest provides real-time logs, so if your test script fails, you can immediately view the error logs to troubleshoot and fix issues.
Lambda test Results:
Ranorex Sample report:
Benefits
By integrating LambdaTest with Ranorex, we transformed a Windows-based test environment into a scalable, cross-platform solution. Here’s how client benefitted from our expertise:
- No Costly Infrastructure Changes – Seamlessly integrate cloud-based testing tools with existing automation setup, eliminating the need for additional hardware or major reconfigurations.
- Expanded Test Coverage – Run tests across multiple browsers, operating systems, and devices without disrupting current workflow, ensuring a more comprehensive testing approach.
- Faster & More Efficient Testing – Cloud-based execution eliminates hardware dependencies, accelerates test cycles, and enhances overall efficiency.
- No Tools Switching – Avoid tool-switching hassles and rework by integrating new capabilities into existing framework, keeping workflows intact while expanding test capabilities.
- Expert-Backed Implementation – Our team ensured a smooth transition with expert guidance, fine-tuning integrations for optimal performance and reliability.
How We Can Help
At Enhops, we specialize in building seamless, scalable, and cost-effective test automation solutions tailored to complex testing environments. Whether you need to enhance browser coverage, optimize test execution, or integrate cloud-based testing into your existing workflow, Enhops has the expertise to make it happen. Let’s talk about how we can streamline your test automation strategy.
Want to see how this setup can work for your product?
Join our ImpactNOW POC Program—we’ll assess your applications, build a tailored automation framework, and help you define the ROI behind adopting a cloud-enabled test strategy.