Growth is not an accident. It’s a perfect fit.

Back to all news

Case Study: SkyToll – Automation of Selenium Grid Environment Setup

How we transformed sequential testing to parallel by replacing a single Selenium instance with a distributed Grid and automating deployment on MS Azure using Infrastructure as Code approach.

About the Project

For SkyToll company, we designed and implemented a transition from a single Selenium instance to a scalable Selenium Grid. The project involved designing a distributed architecture on MS Azure, creating automated scripts for deployment using Infrastructure as Code approach, and migrating existing PHP test scripts from a single-instance to parallel grid environment.

Current State (AS-IS)

  • Testing was performed in a single Selenium instance with sequential test execution
  • Limited testing capacity without parallelization capability
  • Lack of scalable infrastructure for distributed testing
  • Dependency on a single test node without redundancy

Implemented Solution

  • Distributed platform: Transition to Selenium Grid with parallel testing capability
  • Infrastructure as Code: Automated scripts for reproducible deployment of entire grid infrastructure
  • Test parallelization: Transformation from sequential testing to parallel execution
  • Cloud-native approach: Utilization of Azure services for optimal scalability

Technical Solution

Deployment and Infrastructure

  • Cloud-native solution: Deployment on MS Azure
  • Automated deployment: Ansible scripts for completely automated grid infrastructure creation
  • Scalable architecture: Hub-node topology enabling dynamic addition of test nodes
  • Parallel execution: Capability for concurrent execution of multiple tests across nodes

Integrations and Tools

  • Selenium Grid: Central coordination of distributed testing instead of single instance
  • PHP scripts: Migration of existing test scripts for grid architecture with parallelization support
  • MS Azure: Cloud platform for hosting and scaling
  • Ansible: Infrastructure as Code for automated deployment of entire infrastructure
  • DevOps tools: Automation of deployment processes

Results and Benefits

Operational Advantages

  • Parallel testing: Capability for parallel execution of multiple tests simultaneously
  • Scalability: Ability to dynamically add test nodes as needed
  • Increased capacity: Elimination of single Selenium instance bottleneck
  • Redundancy: Elimination of dependency on single test node
  • Rapid deployment: Automated scripts enable quick creation of new grid environment

Technical Benefits

  • Distributed platform: Transition from monolithic to distributed testing architecture
  • Reproducibility: Infrastructure as Code ensures consistent deployment
  • Cloud benefits: Utilization of Azure services for optimal performance and cost efficiency

Result: SkyToll obtained a modern, scalable testing environment with parallel test execution capability, which dramatically accelerated the entire testing process and increased capacity without dependency on a single node.

Services Provided