UI Test Framework for OutSystems

John Alvin Salamat
3 min readDec 12, 2020

--

Don’t have to reinvent the wheel just attach it to a new wagon. -Mark McCormack

Yet another Test Framework? While UI testing seats at the top part of the Test Pyramid, there are advantages that you can get in having them. UI encapsulates a lot of operations, things like services and creating transactions. You can get a lot of value having the right test in place given that it’s also testing the underlying functions.

One of the most common tools that’s used for this case is Selenium. Based on my experience, setting one from scratch is painful while getting a cloud provider is costly. This is then I start a weekend project UI Tester to easily do UI testing within OutSystems environment.

Features:

Dynamic creation of Test Actions

Test Actions are reusable logic that you can use to set up your test. They are generally composed of Javascripts that define certain actions (e.g. button click, setting input values). Sometimes the predefined actions don’t support complex UI thus this feature will give a way for users to define their own.

Robust creation of Test Steps

With the power of CSS selector, you are able to pick up any element within the DOM and associate Test Actions to it

Test History with Screenshots

Ability to view Test result is a great way for the tester to know what possibly happen when the test failed

Automation ready

Batch script can be created to open up a browser and call the page TestRunner passing the TestId to execute the test (e.g. start chrome https://johnalvin-salamat.outsystemscloud.com/UITester/TestRunner?TestId=1)

Optional parameter DelayInExecutionMs in TestRunner can be set depending on the loading time of the page being tested

I would consider above as MVP features but lots of ideas are still coming

  • Support reusability of Test through Test Suite
  • Easily call API in Test Actions for possible integration with other system
  • Test recorder — this will be huge but will be great to offer better accessibility

On the other hand, I wouldn’t advise this component though if you are planning to test outside OutSystems domain. This is because of the possible settings with Content Security Policy (CSP).

I will be happy to get your feedback on this component. Cheers!

The views expressed by the author above do not necessarily represent the views of it’s company.

--

--

John Alvin Salamat
John Alvin Salamat

No responses yet