System Verification Regression and Load Test Tool (ReLoadTT) was gradually and iteratively developed based on technical requirements and experiences from many test automation projects over the years.
The main purpose of the framework and tool is to fulfill the following generic qualities:
At the same time, ReLoadTT provides a tool that addresses the intrinsic requirement of a generic test automation tool with specialised features for UI test automation and load testing.
The generic aspect is achieved by supporting additions/extensions via programming language support. This means that additional functionality or low-level updates can be done in the programming language layer of the framework if necessary.
The specialised features are provided via a dedicated set of framework functions. These functions support the so-called DSL (Domain Specific Language) for the UI test domain.
On the technical level, ReLoadTT supports:
Finally, ReLoadTT provides a unique feature to perform load testing on the user interaction aspects of the application. This type of load testing provides direct insights into the user interface responsiveness of the application under load. The load can be generated by another tool/framework like Locust and use ReLoadTT to measure user-level application response times.
ReLoadTT DSL
ReLoadTT introduces the concept of a Domain Specific Language for a high-level, simplified, and non-programming approach for writing tests. The DSL idea introduces the following advantages:
Its framework handles the trade-off of delivering the DSL in a prepared package that is ready for action on day 1 of the test automation project.
ReLoadTT DSL uses the Gauge Test notation language (gauge.org). This notation allows test definitions that are very close to a spoken language. Other popular alternatives in this area are Gherkin and the Robot Framework notation.
Challenges of UI testing
List of ReLoadTT functionality that is relevant and highly important to the UI test domain. The tooling in the framework provides robust implementations for all the listed challenges.
The main ReLoadTT advantage is the possibility to provide specific and dedicated coded solutions in the selected programming language. The described DSL exposes the functionality to the test definition and the programming language implementation handles the technical details.
All UI test automation frameworks, both open-source and commercial solutions, need to address the above challenges. Usually, they do that with varying degrees of success and clarity. The main point is that automation projects usually fail miserably when trying to solve the above from scratch.
Programming languages support
ReLoadTT framework implementations exist for C#, Python, and Java. This allows different development groups to integrate the test automation with the development environment and language that they know and use.
The test implementation process
ReLoadTT is provided with a set of example test suites for Web and Mobile applications. The documentation is provided in the popular AsciiDoc format. Both aspects allow for a relatively quick path to using the tool/framework in the test automation work.
For most applications, UI testing is sufficient to create DSL-based test definitions. This part requires no specific programming skills. Obviously, some programming knowledge is required, even if very simplified, for the page object part definitions.
We have experimented with facilitating the popular OpenAI API for streamlining the page object creation. This is described in the next chapter.
OpenAI API experiments by Jens Johansson
The recent AI achievements made available through OpenAI's GPT model have given the possibilities for autogenerating code.
Within the ReLoadTT framework, we are evaluating the possibilities to automate the generation of page objects. By providing the GTP model with an example of the page object design used with the ReLoadTT framework the API could create new page objects, including descriptive element names and valid locators. The GPT creates the relevant page object class by reading an exposed Web URL address. This is usually the most time-consuming and mundane part of the test implementation process. With the help of the GPT API, a lot of time can be saved.
-
In conclusion, it is feasible to provide an implementation of the AI-based page object creator that is supplied together with the ReLoadTT framework. This can potentially further streamline the process of creating automated test scenarios where creating the coded page object is strongly augmented with a possible GPT PO-creator plugin. Writing the test definition itself is presently still beyond the GPT API capabilities because of a total number of tokes limitations.