We now look at which tools can be used to support the creation of automated test cases.
For executing test cases on a frontend, the created code actions must be converted to be executed on the frontend and mapped to user actions.
Existing tools support the creation of automated test cases by (i) providing such a mapping and (ii) allowing high-level support for adapting this mapping as well as (iii) high-level queries for frontend components. The following tools are usually used for the respective types of frontends:
Web Applications: Selenium (https://www.selenium.dev/) is the standard framework for automatically testing web frontends. Integrations are offered for common programming languages (Java, Python, C#, Ruby, JavaScript, Kotlin). Test code written in a supported language, is automatically executed on web pages in common web browsers (Chromium/Chrome, Firefox, Edge, Internet Explorer, Safari, Opera).
Mobile Applications: Selendroid (http://selendroid.io/) allows to execute test case code that uses Selenium libraries to be executed for mobile applications. However, Selendroid is limited to applications that are written for the Android operating system. For running automated test cases on various operating systems, Appium (http://appium.io/) can be used. It supports applications written for Android, iOS or windows mobile.
Desktop Applications: For running test cases created with the Selenium framework, WinAppDriver (https://github.com/Microsoft/WinAppDriver) or Winium (https://github.com/2gis/Winium) can be used. Although both of the above-mentioned frameworks allow test code to be executed on various kinds of Windows applications, supported applications are still limited to one operating system, namely Windows. For executing test cases on different operating systems, tools such as TestArchitect (https://www.testarchitect.com/) or Ranorex (https://www.ranorex.com/de/gui-testautomatisierungstools/) can be used. The keyword-driven testing technique implemented by both of these tools also allows to create frontend tests via a graphical user interface, without the need to write any code.
written by Daniel Lehner
Daniel Lehner