DEV Community

Cover image for Automated UI Testing
Adam Rybinski
Adam Rybinski

Posted on

Automated UI Testing

  • Summary:

Automated UI tests are the best way to quickly and efficiently run tests against UI to ensure functionality. If a test fails, the developer can determine if it is a UI or code issue. UI Testing does not have to be time consuming. It is recommended to run the automated tests as part of the build process.

  • Introduction

Automated UI testing is a method for testing the UI of an application. It is a very popular practice in agile development. Its purpose is to increase the effectiveness and efficiency of testing by saving time and effort. Automated UI testing is also known as GUI testing.

Automated UI testing is used as an alternative to manual UI testing and is always preferable to manual testing. Automated UI testing is also a good way to perform regression testing.

Automated UI testing tools like Selenium are very useful for performing automated testing. It provides a runtime environment for automating web applications. Selenium tests can be written in any programming language that can run in the Java Virtual Machine. It also provides support for multiple browsers (Firefox, IE, Chrome and Safari) and operating systems (Windows, Linux and Mac OS X).

Automated testing of UI has many advantages. It is useful for testing the application in a repeatable manner. A large number of tests can be run and used for regression testing. Automated UI testing is much faster than manual testing. You can easily see the differences in the output of the application. Maintenance of the tests is easy.

Automated UI testing is not without its drawbacks. In some cases, it is difficult to automate UI tests. UI tests can be buggy.

  • Automated UI Testing Procedures

The following steps should be followed to run automated UI tests:

** define the UI test case

The first step is to define the UI test cases. The UI test cases are written in the form of a test script. Each test case contains a test description, test steps, expected results and actual results.

** recording the test steps

The test steps are recorded. The tests are recorded using a recording tool. The recorded test steps are then used to execute the test case.

** identification of UI test tools

The test steps are then converted into a test script using a test tool. The test tool is used to record and playback the test steps.

** execution of automated UI tests

The automated UI tests are then executed. The automated UI tests are run on a test computer. The automated UI tests should be run on the same machine as the application under test.

** analysis of the test results

The test results are analyzed after the test has been run. The test results are examined for defects, exceptions, and errors. The test results are also analyzed for performance and stability.

** activities after the test

Any deficiencies identified in the test results are corrected. The deficiencies are corrected manually.

  • Automated UI testing tools
  1. selenium - Selenium Project Open Source Project.

  2. puppeteer - Google Open Source Project.

  3. playwright - free open source tool for automated testing.

  4. testim.io - automated UI test tool for creating tests for the web

  5. cypress - UI tests for modern browsers and Node.js applications

  6. robotframework - open source framework for acceptance testing

  • Resources

Sharma, Monika, and Rigzin Angmo. "Web based automation testing and tools." International Journal of Computer Science and Information Technologies 5.1 (2014): 908-912.

Lakshmi, D. Rajya, and S. Suguna Mallika. "A review on web application testing and its current research directions." International Journal of Electrical and Computer Engineering 7.4 (2017): 2132.

Angmo, Rigzin, and Monika Sharma. "Performance evaluation of web based automation testing tools." 2014 5th International Conference-Confluence The Next Generation Information Technology Summit (Confluence). IEEE, 2014.

Top comments (0)