Migration to WebDriver IO through QA Automation
A well-established food distribution company that began over a century ago as a local butter and egg delivery service is now the largest family-operated food distribution company in North America, serving approximately 100,000 business customers. While much changed, the company’s commitment to customer service and satisfaction remains steadfast. They offer best-in-class products and menu design assistance to restaurants, schools, universities, and hospitals, helping them provide nutritious dining experiences.
Business Challenge
The Street-Smart Pricing (SSP) System provides guidance for sales representatives to effectively manage customer pricing for various materials. With over 100 sales representatives relying on this system, robust testing became crucial as numerous functionalities were added to manage pricing. Initially, the team had been using Selenium WebDriver with Cucumber and Java to automate the application. Although the existing framework served its purpose, as the application’s complexity and scale increased, limitations in scalability, maintenance, and performance began to surface.
JRD Solution
Our team developed a WebDriver IO framework in TypeScript, meticulously configuring it with essential services such as wdio-cucumber-framework, wdio-spec-reporter, and wdio-visual-service to enhance testing capabilities. The framework was seamlessly integrated with existing tools, including SourceTree for efficient Git operations and GitLab to streamline the CI/CD pipeline, ensuring smooth and automated testing processes.
Key Benefits
- The transition to WebDriver IO resulted in faster test execution times due to the optimized handling of browser interactions and the ability to run tests in parallel.
- The use of TypeScript provided strong typing and improved error handling, reducing runtime errors and enhancing test code maintainability.
- The modular nature of WebDriver IO allowed the creation of reusable components, further improving maintainability.
- Pipeline stages were optimized to better handle parallel execution and cross-browser testing.
- The transition process facilitated the team’s growth in new technologies and paradigms, equipping them with the skills needed to tackle modern software testing challenges.