Automated smoke testing with Selenium
Emanuel Donalds · Theseus (Ammattikorkeakoulujen) · 2021
The goal of this thesis was to design and implement a browser based automated test suite. The project was done for Crosskey Banking Solution, aiming to reduce time consuming manual testing and improve confidence when releasing. The project spawned three different Java applications executing tests towards development, test and production environments. The subject under test is Crosskey’s Open Banking platform which follows cloud based micro service structure with Amazon Web Services. Available browser automation software were evaluated, resulting in Selenium being selected as the most suitable. The tests were written in Java 8 with JUnit 5, and were configured to execute in the cloud using AWS. Jenkins was set up to trigger test execution both daily, and whenever a change is detected by Git in the test application source code. Building the test suite included the design of a test framework, wrapping and tailoring the functionality of Selenium to the project requirements. Solutions were derived for executing tests separately on the development, test and production environments. Further separation of execution was made for sandbox and live environments. When the test suite was launched it fulfilled the main goals of the project; the number of manual tests was reduced, and the confidence of the platform health at releases was increased. Issues that arose were that the live environment test result is dependent on the health of backend services maintained by other teams and companies, and the live/production environment combination could not be tested automatically. The tests were considered valuable and adapted into the delivery pipeline.