Automation with Selenium framework brings real-time value to testing processes for a major dental care network
About the Client
In dentistry, this client supports one of the largest and fastest-growing networks of dental practices in the U.S. This expansive network encompasses nearly 900 locations across 42 states. The primary practice it represents specializes in full-arch dental restorations tailored for patients with missing or compromised dentition. Complementing this, our client operates more than 65 additional locations across 27 states. Together, these entities combine to form the largest provider of fixed and removable prosthetics within the U.S. This underscores their significant presence and pivotal role in addressing dental concerns, particularly patients with issues related to missing or failing teeth.
- Industry: Healthcare
- Headquartered: United States
- Platforms: Cucumber, Selenium, Java
- Team Size: 4 Developers
The Challenge
The client’s original website was built using JavaScript and operated through APIs for healthcare functions. They established an Automation Framework utilizing Cucumber, Selenium, and Java.The client’s original website was built using JavaScript and operated through APIs for healthcare functions. They established an Automation Framework utilizing Cucumber, Selenium, and Java.
The execution time for each test case was notably lengthy, taking several seconds in some instances. Moreover, the complete execution of the regression suite consumed about 1 to 2 hours.
The Selenium framework’s capabilities were restricted, resulting in the inability to automate specific processes. One such instance was the challenge of automating the “User Authentication during new tab operations within the same session.”
Meeting the requirements posed a challenge due to several factors:
Slowness Root Cause: We attribute the root cause of the slow test executions to the outdated version of Selenium. Furthermore, we identified code repetition within the automation scripts contributing to the sluggish performance. Additionally, the automation scripts had hardcoded timeouts due to the behavior of the client’s site, which further exacerbated the execution time even more.
Desktop Automation Scenarios: Some of the scenarios that needed to be automated involved desktop automation actions that extended beyond the capabilities of Selenium alone. These actions required interactions with the desktop environment that Selenium couldn’t address adequately.
Our Solution
To address the issue of slowness, the Programmers.ai team opted to upgrade the Selenium version from 3.14.2 to 4.2.2. This upgrade effectively resolved the delay experienced during internal execution in two ways:
Selenium Upgrade and Code Refactoring
Upgrading the Selenium version improved the execution time of the tests significantly. Moreover, the identified code repetition was eliminated through effective code refactoring, resulting in more streamlined and efficient automation scripts. Replacing hardcoded timeouts with more adaptive waiting mechanisms contributed to a more responsive and reliable test suite.
Extending Automation Capability
Recognizing the limitations of Selenium in handling desktop automation, we employed additional tools like “Auto IT” and the “Robot” library. These tools enabled us to address scenarios that required desktop automation actions, allowing us to achieve a more comprehensive test coverage.
Technologies Used
Our software architects and engineers are experts in using the latest technologies.
-
Selenium 4.2.2
-
Cucumber 8.11.0
-
AutoIT
-
JUnit
-
Jenkins
-
Java
Business Impact
Delivering Tailored Solutions that Enhance Performance and Adaptability. Our solution delivered substantial benefits for the client:
Here’s how we did it
-
Execution Time Improvement
Decreased the regression suite execution time from a maximum of 2 hours to just 30 minutes. This improvement significantly increased the overall efficiency and proved highly advantageous during the deployment of updated or new builds. As a result, quicker feedback on the stability and functionality of the build aided in more rapid release cycles.
-
Increased Automation Scenario Coverage
Increased automation scenario coverage when the AutoIT and Robot libraries were integrated into the Selenium framework. The broader automation scenario coverage leads to more comprehensive testing and better quality assurance.
-
Enhanced Jenkins Compatibility
Enhanced Jenkins compatibility by removing hard-coded waits from the system, especially in a non-headed mode. This improved compatibility with Jenkins facilitated streamlined integration into continuous integration and delivery pipeline.
Other Case Studies
Transforming Project Management: Leveraging Azure DevOps to Overcome Manual Deployment ...
Programmers.ai develops a massive web-based online childcare directory to connect thous...
I wanted to take a moment to highlight and commemorate the efforts from our dedicated PIO team. To preface, the projects we work on here are complex, with rigid objectives, budgets, and timelines. Expectations are always high and are ever-changing. From the start of our relationship, the IO team was able to exceed expectations and make our business wishes a reality.
Over the past year I have worked with them, they have worked very hard to understand our highly customized system and troubleshoot things with little or no documentation while managing to keep the business up and running normally. Without the hard work and dedication they have shown, I know we would have had some issues causing downtime or lost production. I am looking forward to continuing working them in the next year as well.
I have been working with Programmers IO for more than 5 years now and I have been pleased with all projects and developers that I have worked with. We have had a few issues here and there but they have always fixed and made it right. They have been an excellent addition to our business.
Let’s Build Your AI-Readiness Roadmap Together
Contact us for a free strategy session with our experts.
Talk to an AI Expert




