Test automation provides fast feedback to developers, informing them when they have broken or completed functionality. But as the test suite grows, the time to execute the tests sequentially also grows and can hamper the delivery process of the product in time. An effective way to reduce is to run the tests in parallel. For example, if you have 100 tests in a suite and 100 virtual machines on which the test will run, then executing them in parallel we will have a max time which is taken by the slowest test to execute, let us say if it is 300 secs, then the entire test suite execution takes only 120 seconds.
Talking in terms of percentages, if execution 100 tests on an average took 120 seconds per test, so 100 will take around 12000 seconds, but when executed in parallel it is almost 5000% difference in time. ! This helps us achieve faster delivery and makes continuous delivery within our reach. Reduced cost, reduced time leads to faster go to market, and success.
How we are attempting to solve this problem
Though through our distributed architecture we have supported parallel test runs since a long time, where in the tests designed in the Opkey can be scheduled to run on different agents using different browsers. However our customers have been asking for a better way to schedule, manage and debug parallel runs. So We are excited to introduce Opkey Grid to you.
To know more about Opkey Grid continue reading below -
Opkey grid can be chosen from the tools window. This feature allows us to put our designed tests in parallel for executions on the different agents available on the network. Any agent can take up two executions in parallel. We can put tests in multiple agents and also queue them using Opkey hub, both agent and hub are explained below.
Opkey agent is an important component. It is here where all plugins licenses are registered and on machines where these agent are hosted actual execution take place. By default any Opkey Agent will allow a parallel execution of 2 test suites, and after that the sessions are sent to queue. The queue is handled by the Opkey hub about which we will discuss in a while. The agent has to be enabled for the grid execution, by setting a flag as follows –
When we enable the agent for grid execution, we can see those agents in the grid window, along with the browser’s information available on them. Example the following screenshot -
So we can select the browsers on which we want the tests to be executed.
The work of this component is to put sessions in queue on execution on the next available agent available for a project on the network. It also tells information on the current session under execution -
The purpose of hub is also to select an agent in case user has not selected one for execution while performing the setting in Opkey Grid. In our next article for Grid, we will see how we can run tests on parallel on cloud using browserStack.