„I’m tired of the same old things” – once said a famous Austrian actor in his film debut. I said to myself the same thing after creating another framework for test automation and decided to do some extra work for the project. This is an overview of my Little Test Center I once created.
Web App Dashboard
The starting point of my Test Center is Web App Dashboard (Figure 1). It is a simple Rest API written in Python Flask framework together with an even simpler UI with some Javascript. The UI of dashboard contains three sections:
- The first one is the result of automated tests (Figure 2). These are injected from Jenkins to the Dashboard allure reports. Currently the dashboard presents results of web tests, web api tests, android tests, iOS tests, and mobile api tests.
- The next section is called Bugs Manager (Figure 3). It allows users to control the number of bugs. Obviously we can use tools like Jira to report bugs, but this Bugs Manager is for reporting ad hoc bugs, which should be fixed quickly, not thrown to the backlog and forgotten.
- At the bottom of the dashboard is an API performance monitor (Figure 4). I created one additional automated test which pings endpoints and saves response times to the MongoDB. The diagram shows only data from one last week because it takes too much time to plot them all and it is not readable.
Framework for Tests Automation
Test Automation Framework (Figure 5) allows users to write automated tests in Gherkin natural language using predefined test steps. The entire framework is written in Kotlin and uses several components like Selenium, Appium, RestAssured etc. Using this framework users can create automated tests for Web, Web API, Android, iOS, Mobile API and additional for API performance monitoring. Tests are executed in Jenkins using scheduled jobs.
Here it is important to mention that mobile tests can be executed on physical devices. For this purpose I set up an STF farm of devices.
Android App Dashboard
For very busy QA’s I created an android version of a Dashboard (Figure 6). It is a native app which allows users to monitor tests results, performance etc., even while making coffee. It uses the same endpoints and html templates as Web App Dashboard.
Summary
The development of Testing framework and Test Center itself took about 2 months. During that time I learned a bit of Kotlin and Android development, some useful tools like firebase or STF and plotting libraries in python. I recommend all of QA’s to think outside the box and do some extra work, you will definitely enjoy it.