New Release Notes
Hello Everyone,
In this release, we’ve significantly enhanced our platform to make automation easier, more dynamic, and more capable of handling complex workflows. Below are the highlights, detailed features, and advanced examples to get you started.
P.S.: The changes listed above are for Windows agent. We are actively working on the Mac agent and will release it soon.
1. Conditional Structures: If / Else / ElseIf
What’s New
You can now branch your scenario steps using If, ElseIf, and Else blocks to handle multiple conditions.
Why It Matters
This enables more flexible, intelligent automation. You can decide which actions to run based on what you see on the screen or what data is in a parameter.
Example
{userRole} = "admin"
If ({userRole} = "admin")
Click Text "Admin Panel"
If IsVisible Text "System Settings"
Click Text "System Settings"
Else
Click Text "User Dashboard"
ElseIf ({userRole} = "contributor")
Click Text "Contrib Panel"
Else
Click Text "Guest Access"
- This example checks the
{userRole}
parameter. If the user is an admin, it also checks if “System Settings” is visible before clicking it; otherwise, it goes to the user dashboard.
2. For Loop with Iteration and Arrays
What’s New
You can iterate through numeric ranges or arrays to handle multiple items—like a list of users or posts—using a For loop.
Why It Matters
Ideal for bulk operations, such as liking multiple posts, sending messages to users in a list, or performing repeated actions.
Example
For {index} in 0 to 4
ClickAndWrite Text "Quantity" {orderList[{index}].quantity}
ClickAndWrite Text "Description" {orderList[{index}].description}
If {orderList[{index}].isUrgent} = "yes"
Click Text "Priority"
Else
Click Text "Standard"
- This example loops five times, filling out a form based on an array called
{orderList}
.
Example 2
Imagine you have a table of employee records (EmployeeData
) containing details like names, roles, and salaries. You want to:
- Reset specific fields (e.g., bonus status).
- Apply a bonus to employees based on their roles.
- Update a summary log of changes.
Example Code:
For {Row} in {EmployeeData}
// Reset bonus status for all employees
{Row.BonusStatus} = "Not Applied"
{Row.BonusAmount} = 0
// Apply bonus for eligible roles
If {Row.Role} = "Manager"
{Row.BonusAmount} = {Row.Salary} * 0.2
{Row.BonusStatus} = "Applied"
ElseIf {Row.Role} = "Engineer"
{Row.BonusAmount} = {Row.Salary} * 0.1
{Row.BonusStatus} = "Applied"
Else
{Row.BonusStatus} = "Not Eligible"
3. While Loop
What’s New
A While loop repeats actions until a condition is no longer true.
Why It Matters
Great for processes where you aren’t certain how many times you need to repeat an action.
Example
While IsVisible Image {PlayMusicIcon}
Click Image {PlayMusicIcon}
If IsVisible Text "Welcome"
Click Text "Get Started"
Else
Click Text "Try Again"
Delay 60000
// Wait 1 minute, then check again
4. Data Sources
What’s New
We’ve added a way of how you can use your data.
-
Uxer Table
- An online built-in spreadsheet, similar to Google Sheets.
- You can import Excel or CSV files into a Uxer Table.
- It is the easiest and fastest option to create and use. Data can be accessed and used by different agents or computers.
-
Files on Device
- Use your local Excel or CSV files as the data source directly.
- Slower compared to Uxer Table, but your data remains saved locally.
-
Google Sheets
- Integrate data from your existing Google Sheets for quick updates.
- The most complex option to configure, as it requires retrieving an API key from the Google Cloud Console.
Why It Matters
Simplifies pulling and pushing data into your scenario.
Example
// Assuming a data source is called InventoryData
For {i} in 0 to 10
If ({InventoryData[{i}].StockLevel} <= 5)
ClickAndWrite Text "ItemName" {InventoryData[{i}].Name}
ClickAndWrite Text "RestockQuantity" "10"
Click Text "Order Now"
or
For {Row} in {InventoryData}
If ({Row.StockLevel} < 5)
ClickAndWrite Text "ItemName" {Row.Name}
ClickAndWrite Text "RestockQuantity" "10"
Click Text "Order Now"
5. OpenBrowser Default Incognito = false
- What’s New: Browser now opens in normal mode unless you specify
-Incognito true
. - Why It Matters: Avoid confusion if you don’t need incognito windows, which is the more common usage.
6. Screenshot Options for Saving and Reporting
- Always keep screenshot
- Keep screenshot for click actions
- Delete after processing
- On error
- What’s New: Flexible ways to handle screenshots.
- Why It Matters: Better control over storage usage and debugging needs for users who want more privacy.
7. Clipboard Storage
- What’s New: Save whatever is currently in your clipboard to a variable.
- Why It Matters: You can easily capture text that was copied from any source for use in your scenario.
Example
{copiedContent} = Clipboard
If {copiedContent} = "CONFIRM"
Click Text "Proceed"
Else
Click Text "Cancel"
8. Cancel Execution Button on Agent
- What’s New: Instantly stop a running agent.
- Why It Matters: Essential for quick halts if you notice an error or want to change something immediately.
9. JSON Parameter Support
- What’s New: You can store simple or complex JSON objects or arrays in parameters.
- Why It Matters: Pass multiple data fields together and parse them dynamically without separate variables.
Example
{userData} = {"name":"Lisa","age":22,"prefs":"true"}
If {userData.prefs} = "true"
Click Text "Enable Notifications"
10. Improved Options Page
- What’s New: Action settings have been reorganized for clarity.
- Why It Matters: Quickly find what each action or parameter does without digging through separate menus.
11. Expression Action
- What’s New: Perform assignments, matches, or comparisons directly.
- Why It Matters: Simplifies logic without needing multiple steps.
Example
// Pseudocode for an expression
Expression:
{a} = 6
{b} = 5
{result} = {a} + {b}
If {result} > 10
Click Text "Big Sum"
12. Improved OCR Accuracy
- What’s New: More accurate text detection, especially for words that were merging incorrectly.
- Why It Matters: Makes screen-scraping text more reliable.
13. Agent Execution Queue
- What’s New: If you run multiple jobs, they queue up instead of running all at once.
- Why It Matters: Avoids conflicts and ensures tasks run in order.
14. Faster Agent Downloads
- What’s New: Agents install or update more quickly.
- Why It Matters: Speeds up your overall setup time.
15. Expanded Scheduling
- What’s New: Set a maximum number of runs, start date, or end date for scheduled scenarios.
- Why It Matters: Greater control over recurring tasks—ideal for timed data backups or repeating social media posts.
16. Support for Multiple Monitors
- What’s New: Agents can now work on your second screen for your workflows.
17. Press Action
- What It Does: Presses and holds a specified mouse button.
- Why It Matters: Great for drag-and-drop tasks needing a click-and-hold.
Example
Press -Button right
// Move somewhere, then...
Release -Button right
18. Release Action
- What It Does: Releases a pressed mouse button.
- Why It Matters: Complements the Press action to complete a full click-and-drag cycle.
20. Swipe Action
- What It Does: Simulates swipe gestures on touch-based interfaces.
- Why It Matters: Helps automate mobile or tablet tasks requiring swipes.
Example
Swipe Text "Home" to Text "Settings"
- Moves from the “Home” element to the “Settings” element in a mobile UI.
21. Drag & Drop Action
- What It Does: Drags an element, then drops it onto a target.
- Why It Matters: Ideal for sorting or reordering items through a drag-and-drop interface.
Example
DragDrop Text "Document A" to Text "Folder B"
22. Random Delay
- What’s New: Specify a time range to introduce natural pauses (e.g.,
Delay 1500,2500
). - Why It Matters: Helps mimic human-like interaction while reducing repetitive timing.
23. Fast Click Repetitions
- What’s New: Rapidly click an element multiple times in a single step.
- Why It Matters: Useful for quickly interacting with items or selecting elements repeatedly.
Example
Click Text "Like" -Clicks 3
What Next - Upcoming Feature
- Uxer Actions: Smart AI agents with Cloud/Anthropic Computer Use: AI Agents with lower cost and increased reliability, merging with existing Uxer capabilities.
Happy Automating!