This is a tiring process for the QA team, to build and maintain the test infrastructure needed for testing automation. Although we have cloud services such as stack browsers, Labs sauce that provides required virtualization, equipped with their own limitations such as cost challenges, performance and security.
On the other hand, the docker is a mild platform that makes it possible to package your application in a container with all the dependencies needed thus setting up the automation infrastructure testing easily, especially with an open source test automation tool like selenium and appium (along with each. Package / server), where there are no costs involved.
Quick information about selenium, appium and docker containers:
Selenium is an open source UI automation framework for web and web-based applications. It simulates user actions on different web browsers and validates the functional stream of web applications. It uses the concept of "selenium-grid" to run test scripts in parallel distributed infrastructure to advance the speed of test automation execution.
Appium is an open source cellular automation tool. It supports the original, web, and hybrid applications throughout the platform (Android and iOS). It uses client-server architecture to create communication channels that translate selenium scripts for understandable device commands.
Docker image is an opensource tool that provides a platform as a service. It uses virtualization at the OS level to spread the software in an independent package. These packages can be read, modified and run with the help of containers. The advantages of the container, this isolated from each other and their own configuration software bundles, libraries, and configuration files.
Security violations or not
Our security testing service is a must
Read more
Now let's understand how to use labor containers for test runners, selenium networks, and appium servers, to build flexible and disposable test automation infrastructure.
Appium Selenium Architecture Using Dockers
Runner test container:
Test Runner is a typical illustration of the test automation tool / framework. In addition to the testing automation framework, one must consider their dependent libraries and versions, platforms / utility environments and their access. This automation solution and their dependencies can effectively drop (bundled) into the image of port workers.
Selenium-grid container:
The selenium-grid container has selenium hubs and server nodes. It makes it possible to run test scripts in parallel and with distributed modes where different tests can run at the same time on different machines to save the duration of the execution. Selenium Hub is a machine management center where your selenium test will run. To run the selenium test, we must configure the information related to the machine and the browser. Based on configured details, the test will be executed on the desired machine and a browser combination.
Selenium server using dockers
We have to install the selenium server on some machines which is a boring job. To make this process easy, selenium provides a docker image for selenium servers. By running the selenium server (hub and node) in a container, it is very easy to set up and configure the Hub server and increase the number of coupling server containers.
What's more, there are several open source projects that provide additional functions for selenium-grid by expanding the image of selenium dockers. Zalenium is one of the open source projects powered by Zalando. It's very flexible and can be automatically scaled. It has the ability to rotate the selenium docker container instantly as a node without manual intervention.
The main goal of Zalenium is to have disposable and flexible selenium infrastructure [VS1] for everyone and in an automatic way. It also has a video recording feature that can be seen using VNC Player which is a direct preview board.