Changelogs
Test Engine v2.1.0 - Global Request Headers & Project Config
Major
Global HTTP Request Headers:
- Added new commands to support setting custom headers on all outgoing browser requests:
TEST.setRequestHeader(name: string, value: string)- to set a single headerTEST.setRequestHeaders(headerMap: object)- to set multiple headers using a map
- You can get and delete the headers with these commands:
TEST.getRequestHeaders()- get all request headers as a mapTEST.getRequestHeader(name: string)- get the value of a single request headerTEST.clearRequestHeaders()- get all request headers as a mapTEST.deleteRequestHeader(name: string)- delete a single request header
Project Configuration:
- Added support for project configuration files
uilconfig.*oruilicious.config.*in JSON (recommended), YAML, and JS format. These files are auto-detected and useful for setting up common logic across tests, for example:- The
headersconfig allows you to define a map of global request header values that will be configured at the start of the tests and applies to all outgoing requests.
- The
Bug Fixes
- Fixed unexpected
TypeErrorerror masking the actual webdriver error inI.seeAlert,UI.COOKIE.isSetandUI.COOKIE.isEqualcommand. - Fixed 2-3 second slowdown in the execution of each command due to unnecessary retries as a result of actual webdriver errors being masked by unexpected TypeError.
- Fixed race condition / edge case where in
TEST.runmay attempt to run a test file before its contents are fully downloaded and written.
Test Engine v2.0.0
Improved field value replacement and element matching
Improvements
- Improved how the
I.fillcommand replaces values in input fields that already contain text. This resolves an edge case on some websites where clearing a field would trigger the original value to be restored, causing the new value to be appended instead of fully replacing the existing value. To ensure the value is always replaced,I.fillwill now sendCtrl/Cmd + Awhen a field contains existing text before entering the new value. - Improved element targeting by rebalancing attribute weights to prioritize attributes with higher intentionality, resulting in more accurate element matching.
Improved CSV and JSON data loading
Improvements
- Added support for loading CSV files that include separator metadata (for example,
sep=;) at the beginning of the file. - Added
TEST.loadCsvandTEST.loadJsonas shortcut aliases for theTEST.loadDataFromCsvandTEST.loadDataFromJsoncommands.
Fixed I.click detection of submit buttons
Improved support for handling downloaded files
Improvements
- Added support for
TEST.loadDataFromJsonandTEST.loadDataFromCsvto load test data directly from the downloads folder.
Documentation: Loading data from downloaded CSV and JSON files
Bug Fixes
- Fixed an issue where the
UI.Downloads.hasFilecommand fails to detect downloaded files when the file name contained uppercase letters.
Improved browser edge case handling
Improvements
- Updated
I.dontSeeto retry when page navigation occurs during command execution. If page navigation exceeds the page load timeout, the command will continue retrying until the configuredTEST.commandTimeoutis reached instead of failing early with a504 Gateway Timeouterror.
Bug Fixes
- Fixed an issue where test commands are failing on pages with inline PDF viewers in Chromium-based browsers. This happens because the PDF viewer was detected as a new browser tab, causing the test to incorrectly switch context to the PDF viewer instead of the parent page.
- Fixed an issue where a
no such alerterror could be thrown if the current page closed unexpectedly while a test command was being executed.
Fix test crashing on pages with inline PDF viewers
Fixed screenshot issues and improved Metamask setup reliability
Improvements
- Added retries to
I.switchTabuntil the target tab is found or the configuredTEST.commandTimeoutis reached. - Increased the timeout for the MetaMask setup flow to 60 seconds.
- Added a fallback mechanism to detect and open the MetaMask extension when MetaMask initialisation on browser start exceeds timeout.
Bug Fixes
- Fixed an issue where screenshots taller than 1080 pixels are not captured properly.
- Fixed an issue where screenshots captured from the MetaMask extension could appear completely black.