Introduction to UI Test for Web Automation

Official Content
This documentation is valid for:

UI testing of Web Apps is available using native GeneXus programming through a specific object in the GeneXus IDE called UI Test for Web object.

So, a typical test case will look something like this: 

image_20181029113458_1_png

The variable named &driver is autogenerated and provides automation capabilities over the desired browser using the UITest External Object.

image_20181029113653_1_png

This External Object (UITest) is responsible for implementing the adaptation layer over Web Driver Protocol. Each GXtest command is designed to work on top of the protocol, using native .NET and Java Web Driver implementations in order to run a test over any Selenium Server. This implementation enables the GeneXus language to take advantage of this standard inside the Knowledge Base. 

Creating Tests

Manually creating a test case on a command-by-command basis may take a long time; also, the user will need to know how to target HTML elements. For this reason, GXtest provides recording capabilities using GXtest Chrome Extension Recorder.

With this extension installed on your Chrome, you can navigate through the web app you want to test while capturing the test steps and validations: 

image_2018882441_1_png

Once you've finished recording, you will be able to test your flow directly on the browser, before importing it into your Knowledge Base to edit it. 

image_201912414538_1_png

Typical editing actions after recordings include:

- Adding Assertions.

- Adding test iterations to use different data inputs and outputs.

- Adding/retrieving stored data validations using For Each statements or data providers. 

- Debugging test cases on different remote browsers (docker/cloud). 

- Scheduling test executions on Jenkins or other CI servers.