Accelerate Test Execution
To speed up the CI process, we developed a group of features that support every phаse of the process, from test creation to execution. Let’s take a look at how BELLATRIX can speed up your test execution by distributing your tests on multiple machines and retry failed requests.
Retry Failed Requests
Retry the failed requests a few times to make sure that there is a real problem.
There are cases where your API is deployed or unavailable for some reason. This can lead to failing some of the currently-executing tests. Instead of waiting just to see that there is a minor problem with your test environment and retrying the whole test run again, BELLATRIX can retry the failed requests a few times.
[RetryFailedRequests(3, 200, TimeUnit.Milliseconds)]
public class RetryFailedRequestsTests : APITest
{
[TestMethod]
public void GetAlbumById()
{
var request = new RestRequest("api/Albums/10");
var client = App.GetApiClientService();
var response = client.Get<Albums>(request);
Assert.AreEqual(10, response.Data.AlbumId);
}
}
Apply RetryFailedRequests attribute to your test class and configure it. The rules apply to all tests in the class.
Learn more
Parallel and Distributed Test Execution
Test execution runner that speeds up your test execution using your whole hardware capacity. BELLATRIX comes with its test runner- Meissa, that can run tests on Windows, MacOS, and Linux. Meissa speeds up the tests by distributing them on multiple machines. The test execution can be further improved by executing the tests in parallel through tests agents.
-
Smart Tests Balancing
Smartly balances the tests across remote machines based on previous tests execution times which can significantly improve the overall test run time.
-
Failing Tests Retry
Has the capability to retry failing tests multiple times to see whether there are bugs in the tests, real problems in the system under the test, or some random environmental issues occurring during the run.
-
Safe Test Run Abortion
Keeps the clean state of test agents and provides a fast test run abortion.
-
Built-in Extendability
Executes custom logic through plug-in API without modifying the source code.