In this article, you can find some frequently asked questions (FAQ) about GXtest.
Yes. You can use GeneXus debugger and run tests in a "step by step" mode.
Yes. Test objects are part of the Knowledge Base, which means that running a Build All or Rebuild All process in your KB will include tests.
Yes. Unit testing capabilities enable batch processes to be tested.
GXtest 4 has officially been released inside GeneXus 16 upgrades.
If you want to install the latest version of GXtest in a custom GeneXus version, you can download and install it on top.
GXtest channel is released over AWS S3 with a "key" version.
You can get the version number by using: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETtagging.html
Unit Tests are special GeneXus Procedures that need to be generated, so each time you run a test, GeneXus checks if there are modifications.
Only if the test itself or one of its dependencies (generated test Structured Data Type, test Data Provider, and objects) has changed, then it forces building the test case object. This means that objects in the KB will not be generated unless they are referenced by tests that have references pending to be built.
No. They are isolated objects that don't change other object behavior.
You can change the default browser on your Knowledge Base Properties or just do it explicitly on your test using the Browsers' domain. I.e.:
&driver.SetBrowser(Browsers.Firefox)
GXtest 4 supports Selenium / WebDriver architecture. You will need to have a Selenium node listening for running tests over some IP/port. Then, just use it on your test:
&driver.SetRemoteWebDriver(url)
There are 2 ways to do this since the UI test will start running after the Go command:
1- Using the Go command to navigate to different environments:
&driver.Go("http://stagingenv:port/App/home.aspx")
2- Or using the "Base URL" property on your KB/Environment in GeneXus IDE, plus using the Go() command with relative paths, like:
&driver.Go(Home.Link())
&driver.Go("home.aspx") // If the object is not in the same KB as the test
When simulating user actions over HTML controls, commands need the right target to run against.
Use GXtest Recorder and after recording a test case, you will be able to use command locators in the Target section:
In older versions of GXtest, there were special commands used to interact with custom HTML elements and JS when it was not possible to use native commands.
This is no longer needed since GXtest 4 can interact with any HTML element on a webpage, even if they are not GeneXus native web controls.
Use Assertions: when recording a test, by right-clicking over an HTML control:
You can use a For in the test over a Data Provider or other Data sources to add different interactions.
Yes. You can run on any browser supported by WebDriver technology.
To do so, use the SetRemoteWebDriver function to launch your test using a remote browser.