WinAutomationHelp V7
WinAutomationHelp V7
Version 7
© 2018 Softomotive
Table of Contents
1 WinAutomation 11
1.1 Introduction .................................................................................... 12
1.2 Main Features ................................................................................. 12
1.3 Requirements ................................................................................. 13
1.4 Editions ............................................................................................ 13
1.5 What's New? ................................................................................... 15
1.6 About Softomotive ......................................................................... 53
1.7 Purchasing WinAutomation ............................................................ 54
2 Getting Started 55
2.1 Create a simple Robot - Part 1 ...................................................... 56
2.2 Create a simple Robot - Part 2 ...................................................... 61
2.3 Create a simple Robot - Part 3 ...................................................... 66
3 Using WinAutomation 71
3.1 The Console ..................................................................................... 72
3.1.1 Robots .................................................................................................................. 73
3.1.1.1 Robots Tab ........................................................................................................ 73
3.1.1.2 C reate a new Folder ........................................................................................... 74
3.1.1.3 C reate a new Robot ........................................................................................... 75
3.1.1.4 Move Robots/Folders .......................................................................................... 77
3.1.1.5 Import/Export a robot ........................................................................................ 77
3.1.1.6 Run/Stop a robot ............................................................................................... 79
3.1.1.7 The Notification Popup Window ............................................................................ 79
3.1.1.8 Enable/Disable a Robot ....................................................................................... 81
3.1.1.9 Find Robot ......................................................................................................... 81
3.1.2 Triggers ................................................................................................................ 82
3.1.2.1 What Triggers Are .............................................................................................. 82
3.1.2.2 Trigger Variables ............................................................................................... 83
3.1.2.3 Triggers Tab ...................................................................................................... 83
3.1.2.4 How to set a Trigger for a Robot .......................................................................... 85
3.1.2.5 Trigger Types .................................................................................................... 87
Email Monitor Trigger ..................................................................................... 87
Event Log Monitor Trigger ............................................................................... 89
File Monitor Trigger ........................................................................................ 91
Hotkey Trigger .............................................................................................. 92
Idle Monitor Trigger ....................................................................................... 93
Ping Trigger .................................................................................................. 94
Service Monitor Trigger .................................................................................. 95
Process Monitor Trigger .................................................................................. 96
3.1.3 Scheduler ............................................................................................................. 97
3.1.3.1 Scheduler Tab ................................................................................................... 98
3.1.3.2 Schedule ........................................................................................................... 99
3
© 2018 Softomotive
3.5.1 Run/Stop/Pause a Robot from Robot Designer ................................................. 174
3.5.2 Adding Breakpoints ............................................................................................ 175
3.5.3 Execute step by step ......................................................................................... 176
3.5.4 Rename a Variable ............................................................................................. 177
3.6 The Macro Recorder ...................................................................... 178
3.6.1 Simulating the activity of a user ....................................................................... 178
3.6.2 Recording vs Building a Robot ........................................................................... 178
3.6.3 Starting the Macro Recoder ............................................................................... 179
3.6.4 Macro Recorder .................................................................................................. 180
3.7 The Custom Dialog Designer ........................................................ 185
3.7.1 Designing a Custom Dialog ................................................................................ 185
3.8 UI Automation .............................................................................. 194
3.8.1 UI Automation Overview .................................................................................... 194
3.8.2 UI Elements - Select Controls ............................................................................ 196
3.8.3 Manage Control Repository ................................................................................ 200
3.8.4 Manage Image Repository ................................................................................. 201
3.8.5 Manage UI Selectors .......................................................................................... 202
3.8.6 Building UI Selectors ......................................................................................... 206
3.8.7 UI Data Extraction ............................................................................................. 209
3.9 Web Automation ........................................................................... 210
3.9.1 Web Automation Overview ................................................................................ 210
3.9.2 Building a WebAutomation Robot ...................................................................... 212
3.9.3 The Web Recorder .............................................................................................. 219
3.9.4 Web Data Extraction Part I ................................................................................ 228
3.9.5 Web Data Extraction Part II .............................................................................. 235
3.9.6 Web Data Extraction Part III ............................................................................. 238
3.9.7 Configure Internet Explorer for Web Automation ............................................. 240
3.9.8 Configure Internet Explorer for Servers ........................................................... 244
3.9.9 Actual Internet Explorer VS Automated Broswer .............................................. 246
3.9.10 Web Helpers Offset ............................................................................................ 247
© 2018 Softomotive
5.2.10 Else Action ......................................................................................................... 338
5.2.11 Else If Action ...................................................................................................... 338
5.2.12 End If Action ...................................................................................................... 340
5.3 Loops ............................................................................................ 341
5.3.1 Loop Action ........................................................................................................ 341
5.3.2 Loop Condition Action ........................................................................................ 343
5.3.3 For Each Action .................................................................................................. 344
5.3.4 Exit Loop Action ................................................................................................. 345
5.3.5 End Loop Action ................................................................................................. 345
5.4 Wait ............................................................................................... 346
5.4.1 Wait Action ......................................................................................................... 346
5.4.2 Wait for File Action ............................................................................................ 347
5.4.3 Wait for HotKey Action ....................................................................................... 349
5.4.4 Wait for Process Action ..................................................................................... 351
5.4.5 Wait for Service Action ...................................................................................... 353
5.4.6 Wait for Window Action ...................................................................................... 354
5.4.7 Wait for Image Action ........................................................................................ 357
5.4.8 Wait for Mouse Action ........................................................................................ 360
5.4.9 Wait for Window Content Action ........................................................................ 361
5.4.10 Wait for Web Page Content Action ..................................................................... 363
5.5 Flow Control .................................................................................. 366
5.5.1 Label Action ....................................................................................................... 366
5.5.2 Go To Action ....................................................................................................... 367
5.5.3 Run Function Action ........................................................................................... 368
5.5.4 Exit Function Action ........................................................................................... 368
5.5.5 Stop Robot Action ............................................................................................... 369
5.5.6 Begin Exception Block Action ............................................................................ 371
5.5.7 End Exception Block Action ............................................................................... 372
5.6 Mouse and Keyboard .................................................................... 373
5.6.1 Block Input Action .............................................................................................. 373
5.6.2 Get Mouse Position Action ................................................................................. 374
5.6.3 Move Mouse Action ............................................................................................ 375
5.6.4 Move Mouse to Image Action ............................................................................. 376
5.6.5 Send Mouse Click Action .................................................................................... 380
5.6.6 Send Keys Action ............................................................................................... 382
5.6.7 Press/Release Key Action ................................................................................. 384
5.6.8 Set Key State Action .......................................................................................... 385
5.7 Message Boxes ............................................................................. 386
5.7.1 Display Message Action ..................................................................................... 386
5.7.2 Display Custom Dialog Action ............................................................................ 389
5.7.3 Display Notification Action ................................................................................ 392
5.7.4 Display Input Dialog Action ............................................................................... 393
5.7.5 Display Select Date Dialog ................................................................................. 394
5.7.6 Display Select From List Dialog Action .............................................................. 397
5.7.7 Display Select File Dialog Action ....................................................................... 401
5.7.8 Display Select Folder Dialog Action .................................................................. 403
5.8 Files ............................................................................................... 405
5.8.1 Get Files in Folder Action .................................................................................. 405
5.8.2 Copy File(s) Action ............................................................................................ 407
5.8.3 Move File(s) Action ............................................................................................ 408
5.8.4 Delete File(s) Action .......................................................................................... 410
5.8.5 Rename File(s) Action ....................................................................................... 410
7
© 2018 Softomotive
5.13.2 Go to Web Page Action ....................................................................................... 499
5.13.3 Click Link on Web Page Action ........................................................................... 501
5.13.4 Click Download Link on Web Page Action .......................................................... 503
5.13.5 Hover Mouse over element on Web Page Action .............................................. 505
5.13.6 Close Internet Explorer Action .......................................................................... 506
5.13.7 Web Forms ......................................................................................................... 507
5.13.7.1 Focus Text Field on Web Page Action .................................................................. 507
5.13.7.2 Populate Text Field on Web Page Action .............................................................. 509
5.13.7.3 Set C heckbox State on Web Page Action ............................................................ 511
5.13.7.4 Select Radio Button on Web Page Action ............................................................. 514
5.13.7.5 Set DropDown List Value on Web Page Action ..................................................... 516
5.13.7.6 Press Button on Web Page Action ....................................................................... 518
5.13.8 Web Data Extraction .......................................................................................... 521
5.13.8.1 Extract Data from Web Page Action .................................................................... 521
5.13.8.2 Get Details of Web Page Action .......................................................................... 523
5.13.8.3 Get Details of Element on Web Page Action ......................................................... 524
5.13.8.4 Take Screenshot of Web Page Action ................................................................. 526
5.13.9 Direct Web Access ............................................................................................. 528
5.13.9.1 Download from Web Action ............................................................................... 528
5.13.9.2 Invoke Web Service Action ............................................................................... 532
5.14 FTP ................................................................................................ 537
5.14.1 Open FTP Connection Action .............................................................................. 537
5.14.2 Open Secure FTP Connection Action .................................................................. 539
5.14.3 Close FTP Connection Action ............................................................................. 542
5.14.4 List FTP Directory Action ................................................................................... 542
5.14.5 Change Working Directory Action ..................................................................... 544
5.14.6 Download File(s) from FTP Action ..................................................................... 545
5.14.7 Download Folder(s) from FTP Action ................................................................ 546
5.14.8 Upload File(s) to FTP Action .............................................................................. 548
5.14.9 Upload Folder(s) to FTP Action ......................................................................... 549
5.14.10 Delete FTP File Action ........................................................................................ 550
5.14.11 Rename FTP File Action ..................................................................................... 551
5.14.12 Create FTP Directory Action .............................................................................. 552
5.14.13 Delete FTP Directory Action .............................................................................. 553
5.14.14 Synchronize FTP Directory Action ..................................................................... 554
5.14.15 Invoke FTP Command Action ............................................................................. 558
5.15 Email ............................................................................................. 560
5.15.1 Retrieve Emails Action ....................................................................................... 560
5.15.2 Process Emails Action ........................................................................................ 569
5.15.3 Send Email Action .............................................................................................. 572
5.16 Cmd Session ................................................................................. 576
5.16.1 Open Cmd Session .............................................................................................. 576
5.16.2 Close Cmd Session ............................................................................................. 578
5.16.3 Write to Cmd Session ......................................................................................... 578
5.16.4 Read from Cmd Session ..................................................................................... 580
5.16.5 Wait for Text on Cmd Session ............................................................................ 582
5.17 Database ....................................................................................... 583
5.17.1 Open SQL Connection ......................................................................................... 583
5.17.2 Execute SQL Statement Action .......................................................................... 583
5.17.3 Close SQL Connection ........................................................................................ 585
5.18 Excel .............................................................................................. 586
5.18.1 Launch Excel Action ........................................................................................... 586
9
© 2018 Softomotive
5.22.13 Split Text Action ................................................................................................. 662
5.22.14 Parse Text Action ............................................................................................... 664
5.22.15 Replace Text Action ........................................................................................... 666
5.22.16 Escape Text for Regular Expression Action ...................................................... 668
5.23 DateTime Actions ......................................................................... 669
5.23.1 Get Current Date and Time Action ..................................................................... 669
5.23.2 Add to DateTime Action ..................................................................................... 670
5.23.3 Subtract Dates Action ........................................................................................ 672
5.24 XML Actions .................................................................................. 673
5.24.1 Read XML from File Action ................................................................................. 673
5.24.2 Write XML to File Action ..................................................................................... 674
5.24.3 Execute XPath Expression Action ...................................................................... 676
5.24.4 Get XML Element Attribute Action ...................................................................... 677
5.24.5 Set XML Element Attribute Action ...................................................................... 679
5.24.6 Remove XML Element Attribute Action .............................................................. 681
5.24.7 Get XML Element Value Action ........................................................................... 682
5.24.8 Set XML Element Value Action ........................................................................... 684
5.24.9 Insert XML Element Action ................................................................................. 685
5.24.10 Remove XML Element Action .............................................................................. 687
5.25 Variables Actions .......................................................................... 688
5.25.1 Set Variable Action ............................................................................................ 688
5.25.2 Increase Variable Action ................................................................................... 689
5.25.3 Decrease Variable Action .................................................................................. 690
5.25.4 Truncate Number Action .................................................................................... 691
5.25.5 Generate Random Number Action ..................................................................... 692
5.25.6 Get Items Count Action ...................................................................................... 694
5.25.7 Create New List Action ....................................................................................... 695
5.25.8 Clear List Action ................................................................................................. 696
5.25.9 Add Item to List Action ...................................................................................... 697
5.25.10 Remove Item from List Action ........................................................................... 698
5.25.11 Sort List Action ................................................................................................... 699
5.25.12 Shuffle List Action .............................................................................................. 701
5.25.13 Merge Lists ......................................................................................................... 702
5.25.14 Reverse List Action ............................................................................................ 703
5.25.15 Remove Duplicate Items from List Action ......................................................... 704
5.25.16 Find Common List Items Action ......................................................................... 705
5.25.17 Subtract Lists Action .......................................................................................... 706
5.25.18 Retrieve DataTable Column into List Action ...................................................... 707
5.26 PDF Actions ................................................................................... 709
5.26.1 Extract Images From PDF Action ...................................................................... 709
5.26.2 Extract Text From PDF ....................................................................................... 712
5.27 Synchronization Actions ............................................................... 715
5.27.1 Lock Handle Action ............................................................................................ 715
5.27.2 Release Handle Action ....................................................................................... 716
1. WinAutomation
1 WinAutomation
1.1 Introduction
WinAutomation is your complete solution for automating all your repetitive tasks. It has
the ability to launch and use applications as if it were you yourself doing the work.
It can monitor and process your incoming emails or send email on your behalf, cutting
your time spent organizing and communicating in half. It can manipulate files, create,
copy, delete, rename, compress, read and write to them. It can also interact with
Excel to read and write data to worksheets.
WinAutomation can also navigate to web sites; fill in web forms with your data and
screen-scape web pages. You can use it to extract any kind of data and create all
kind of reports. You can use it to migrate data from one application to another or even
from one website to another. You can automate FTP transfers and talk to your
databases.
You can instruct it to make decisions just as you would. It can handle unexpected
situations by implementing actions prepared by you. If a task is not successfully
completed it can send you an email. Gone is the worry about a mindless machine
carrying out illogical actions or making errors should one step of the usual routine be
off. WinAutomation smartly uses your preferences and direction to ensure that all
tasks and issues that come its way are dealt with exactly as you want them to be.
The list goes on and on but the conclusion is straightforward: WinAutomation can
handle all of the repetitive and mundane work that you currently do on your
computer.
· Visual Robot Editor that lets you build automation Robots using Drag & Drop.
· Macro Recorder that lets you record user interaction to automate tasks easily.
· UI Automation technology that allows direct handling of the different controls within
a window.
· Web Recorder that lets you record your activities while you navigate the web and
convert them into a Robot.
· Task Scheduler that lets you schedule and execute Robots while you are away.
WinAutomation 13
· Triggers that let you monitor your system, and respond to events (e.g., when a file
is created or modified, when a HotKey is pressed, when system is idle and more).
· Advanced Error Handling to create Robots that compensate for and handle errors
gracefully.
· Image Recognition technology that literally "sees the screen" to help you automate
non-standard interfaces or applications over remote sessions.
· Robot Compiler (Pro Edition only) for compiling your tasks into autonomous exe files
that you can distribute and run without having WinAutomation installed.
· Control Repository for storing all the accessible controls of a Robot and advanced
editing.
· Dynamic debugging with the ability to change variable values on the run.
1.3 Requirements
Client Operating System: Windows Vista, Windows 7, Windows 8 or 8.1, Windows 10
(both 32 bit and 64 bit versions)
1.4 Editions
WinAutomation is available in three different editions:
© 2018 Softomotive
WinAutomation Professional Edition:
Includes all the features of the Basic Edition plus:
· The Robot Compiler 130 which allows the user to compile any Robot into a stand-alone
.net exe file that can be distributed and run on other computers.
· The Autologin 116 feature that will unlock or login to the workstation before running a
Robot.
· The Secure Screen feature, which enhances Security for Robots that are scheduled
to run unattended, in order to run without the user being able to see the screen.
This option will turn the screen blue while the Robot is running. The only visible
window will be the Notification Window.
· Password Protected Robots, which allows the user to set a password for a Robot and
protect sensitive data. Once setting a password, the user will be able to run the
Robot normally, however for editing it they will be prompted to enter the password.
· Maximum Running Time for Robot(s), which allows the user to set a maximum running
time for a Robot, to avoid situations where it is not executed as intended.
· Concurrency Policy and Queuing Robots, according to which the user can limit the
number of Robot instances running concurrently and he is given the option for
queueing or discarding Robots once the set limit of instances is reached.
· Error Handling in robots that allow performing specific action upon the failure of a
robot.
· Schedules which allows users to set robots run on a specific time period.
http://www.winautomation.com/edition-comparison/
WinAutomation 15
Added: Compiled Robots files under the User’s folder are removed after installing a new version.
Improved: Handling temp files in a much more efficient way, creating a WinAutomation subfolder in
the Temp.
Improved: Autologin improvement, as now the password is being checked for being valid or not
before proceeding to the autologin.
Corrected: Issue with gear icon window visibility, in the properties of an action, when panes are
undocked is now resolved.
Corrected: Invoke Web Service action works now as expected in case of Error Code.
Corrected: Action "If Image" while checking the option to "Find All Images in List", was taking under
consideration only the second image.
Corrected: Correction in the "Retrieve Email Messages From Outlook" action when the sender is a
user of the same domain.
Corrected: Images captured from WinAutomation version 6 or earlier can now be opened.
Corrected: The error message thrown in action "Process Emails", while trying to move mails to a
folder that does not exist, is now refined.
Corrected: "Run Dos Command" action is not hanging anymore on specific commands.
Corrected: Action "Read Text from File" correctly handling special characters without breaking the
robot.
Corrected: Invalid Windows file name characters, are no longer acceptable in robot names.
Corrected: When copying "Drag and Drop Element in Window" action, controls were not copied along.
Version 7.0.1
© 2018 Softomotive
Improved: Default value in "Wait for Image" action, "Wait for Image to" action's input is now
"Appear".
Improved: Special characters in a robot's title are not allowed,when creating one.
Improved: Outlook accounts are now being read by name, case insensitive.
Corrected: Certain Robots' properties in General, Run&Concurrency Policy were not being saved
correctly.
Corrected: "Find Usages" option in variables, was generating an error when double clicked, after
deleting a variable or its associated actions.
Corrected: Error in Logs, appearing when terminating a process from the Task Manager is now fixed
Corrected: "Display Notification popup Window" option now preserves the users setting (checked-
unchecked) after restarting the machine.
Corrected: Closing all functions in a Robot Designer, was not allowing the opening of other functions.
Corrected: Action "Stop Robot" with error message was not working correctly.
Corrected: Action "Get First Free Row on Column from Excel Worksheet" was not working correctly.
Corrected: In action "Set DropDown List Value on Web Page", in Advanced tab, field "If a Pop-Up
Dialog Appears", when choosing option "Press a Button" the value set in the menu that was not being
saved.
Corrected: The Tab button was not working correctly in some actions' properties window.
Corrected: When selecting the "Default Layout" option in the Robot Designer, functions should revert
to their tab based view (or close).
Corrected: "Get Details of Window" action, when getting a Window's title was not returning any value
Version 7.0
Added: WinAutomation Controller: New option using the controller to export information about a
specific robot or the full database in XML.
Robot Designer
Added: Images Repository: Introducing the images repository. Similar to the control repository, now
all the images are being stored in the images repository.
Added: Remove Unused Controls: New option, to remove unused controls from the control repository.
This option, is offered in the images repository as well.
WinAutomation 17
Added: Reorder Selectors: Now, you have the ability to reorder the selectors in the control
repository.
Added: Find Usages: New feature with which actions are using a particular control.
Added: Exception Handling: New exception handling rules such as "Set Variable" and option to set
rules for "All Exceptions"
Added: Copying actions with their associated controls: Copying an action from one robot to another,
copies the associated controls as well.
Actions:
Added: Exception Block Actions: Introducing the Exception Block actions, with which you can set an
exception handling rule for all the actions located within the block.
Added: Set & Get Screen Resolution Actions: New actions, with which you have the ability to get the
resolution of your screen or set another resolution to your screen.
Added: Open - Close SQL Connection Actions: New actions, with which you can open and close an
SQL connection
Added: CMD Session Actions: Introducing the CMD session group of actions to execute commands
and get responses.
Added: Additional Excel actions: Introducing a group of new Excel actions such as options to Insert or
Delete columns on a spreadsheet.
Added: Outlook Actions: Introducing Outlook actions with which you can interact with MS Outlook.
Added: Synchronization Actions: Introducing Synchronization actions and Lock Handles with which
you can avoid one robot affecting another while execution.
Added: PDF Actions: Introducing this new group of actions with which you can extract text and
images from PDF files.
Version 6.0.5
Improved: Reduced the time of execution of the "Zip Files" action.
Corrected: After upgrading to the latest Windows 10 Creators Update, not being able to
capture UI Controls is now fixed.
Corrected: "Get Robots Path" action returned a different text value when running from
the console from when running through the Robot's Designer is now fixed.
Corrected: "Invoke Web Service" action does not fail when the Expect: 100-continue is
set as a header.
© 2018 Softomotive
Version 6.0.4
Improved: Adding a control with the same name in a control repository add the suffix (2), (3)
and so on
Improved: Better screenshots are now taken for the controls in the control repository
Improved: Autologin for Professional Edition supports usernames and passwords containing
spaces.
Corrected: Robots not being able to run due to error message with multiple conditionals not
being ended correctly (if-else-end if) is now fixed.
Corrected: If more than one label had the same name case sensitive e.g 'Foo' and 'foo' an
internal exception was occurring.
Corrected: While on the Schedule Properties window, after clicking on the "Add Date" option,
clicking OK while leaving the date field empty was generating an “Oops” exception.
Corrected: “Run PowerShell” action was hanging after its completion on certain machines, not
moving forward to the next action.
Version 6.0.3
Improved: "If Window" action when the window is set to "is open". If Window is not found the
correct value is returned.
Corrected: Fixed password encryption Robot issue
Corrected: "Connecting to Server..." state upon installation fixed. The connection to the Server
is totally restored upon installation.
Corrected: "Schedule Type: Monthly" option "Last day of Month" or "Last Working Day of
Month" selected, was showing nothing in the "Next Scheduled Run" field.
Corrected: In the time stored in the scheduler, the 12hour format was always used regardless
of the user's date pre-set format.
Version 6.0.2
Improved: Robot Error Messages: The name of the action is now mentioned in the error
message displayed in the notifier and also in the log-entry
Improved: WinAutomation Robots when they run through the MachineAgent, are now getting
launched using the credentials of the user that owns the Robot
WinAutomation 19
Improved: UserAgent, MachineAgent, Console: Fixed a long-standing issue which was causing
memory consumption of these processes to increase considerably every time a Robot with
Web or UI Automation Actions would run
Improved: Robots crashing, are no longer crashing the whole WinAutomation Console
Improved: The Properties Dialogs of the UI Automation Actions, is no longer becoming too
large when the title of the targeted Window is too lengthy
Corrected: UI Selectors: contains word "~=" match method was not working if the word is at the
beginning or the end of value
Corrected: Robot Error Handling Settings: If a Robot gets auto-terminated due to having
reached the MaxRunningTime threshold (specified in its Robot-Properties), the error-handling
settings (either global or robot-specific) were not activated
Corrected: UI Elements in the QuickLaunchBar of the Windows Taskbar should now appear as
such
Corrected: Boolean expressions such as %NewVar > 10% are now evaluating to
BooleanVariants as intended again
Version 6.0.1
Improved: XML Variant Visualizer: Make the visualizer resizable
Improved: Data Table/Row Visualizers: Columns are now resizable and also appear with
best-fit pre-applied right when the visualizer is first-shown each time
Improved: Console Options Page: Check for the authentication password supplied by the
user and if it is not valid then display a warning icon
Improved: When using the "Error Handling" option to send an email in case the robots
fails the body now also contains the error info
Improved: Invoke Web Service: Use advanced editor for the multiline-textboxes
Improved: When adding a control to Control Repository make UISpy an optional step
Improved: Improve Autogenerated Selectors while using "Add Control" to the repository
© 2018 Softomotive
Improved: Eliminate unnecessary attributes being retrieved in UISpy
Corrected: UISpy: when trying to select a menu item the menu closed when ctrl was
pressed.
Corrected: In "Wait for Window Content" action when the value in the "Fail on timeout"
field is too large an unhandled exception was risen
Corrected: In "Start Robot" Action if "Wait Robot to Complete" is set the caller Robot
would not wait more than 3 minutes
Corrected: Read From Excel Action: When the action is set to use the first row for
setting column names, then the resulting column names were not named as intended if
3 or more column-names have the same name
Corrected: "Input Dialog Message" field in "Display Input Dialog" action was not stored
correctly
Version 6.0
New modern interface: New design Interface for the Console and the Robot Designer
with new icons. The Robot Designer has now configurable panes for Variables, Errors,
Control Repository, Functions and Actions. You can customize the layout as you wish
by hiding or making visible different panes. Also the Console is changed and equipped
with a ribbon bar containing tabs for Robots, Triggers, Scheduler, Logs and Options.
Autologin (Pro Edition Only): A Robot can unlock/login to a workstation upon its
running time when initiated by a trigger of a scheduler. This is a very helpful feature
especially when interactive Robots should have a user logged in, while running
unattended.
Status Monitor: A new Status Monitor Window is introduced which lists all the running
Robots and the Robots that are put in the queue, waiting to start. Even more
information, than just the running Robots' name is provided, like the Instance id, the
Start time and the Cause of execution (manual or triggered). An option to stop all
running Robots is also available.
WinAutomation 21
Secure Screen (Pro Edition Only): Enhanced Security for Robots that are scheduled
to run unattended in order to run without the user being able to see the screen. This
option will turn the screen blue while the Robot is running. The only visible window will
be the Notification Window.
Password Protected Robots (Pro Edition Only): Option to set a password for a Robot
and protect your sensitive data. Once setting a password, the user will be able to run
the Robot normally, however for editing it they will be prompted to enter the password.
Maximum Running Time (Pro Edition Only): Setting a maximum running time for a
Robot to avoid situations where it is not executed as intended.
Concurrency Policy and Queueing (Pro Edition Only): You now have the ability to limit
the number of Robot instances than can run concurrently. Also, there is a new option
for queueing or discarding Robots once the set limit of instances is reached.
Triggers can be enabled/disabled independently: For Robots with more than one
triggers attached, there is now the option to enable/disable a specific trigger, instead
of removing it.
View logs for specific Robots: Improved Logs viewer that can display logs for more
than one Robots.
Machine does not enter in idle state when a Robot is running: A running Robot is
considered a user activity postponing the screen saver timeout or AutoLogout.
Robot Designer
Search for actions: Enhanced "Search for Actions" in the Actions pane of the Robot
Designer where the user can search by keyword, action name or action initials.
Variables pane: A dedicated pane for the Robots Variables where you can view the
variables’ values, search, pin, sort or rearrange the variables.
Pause Robot: A new option in the Robot Designer to pause the execution of the Robot
while running. Very useful especially when one wants to review some variables' values
at the pause point.
© 2018 Softomotive
Variables Viewer: By double clicking on a variable in the Variables pane while the Robot
is being executed step by step, or stopped at a breakpoint or paused, the user has the
option to view the details of a variable in the variable window and also edit its value.
The variable viewer window will depend on the variable's data type.
Rename Variables: An helpful new option to massively rename variables, either within a
specific function or in the whole Robot. For very big Robots with many functions
renaming a variable used to be a difficult and time consuming task. Not anymore.
Variables Live Editor: New option to change a variable's value dynamically while the
Robots is being executed from the Robot Designer, after pausing it or executing it step
by step.
Control Repository: A repository that will hold all the controls (Windows, Browsers,
Buttons, Elements, etc...) that the Robot will access through its different actions. The
user also has the ability to modify any control, its selectors by using variables, its
name, remove existing, add new and keep them all neat.
UI Spy: Ability to preview the UI or Web Control’s tree and attributes in the
WinAutomation UISpy window while accessing it and before adding it to your Control
Repository. This gives an overview of the control’s information, as well its location
within the application (web or desktop).
Resizable action properties: "Write text to file", "Execute SQL statement", "Run
JavaScript", "Run VBScript", "Run PowerShell Script", "Send Email", "Write XML to File"
Actions Properties window are now resizable for readability purposes.
Actions advanced editor: "Execute SQL statement", "Run JavaScript", "Run VBScript",
"Run PowerShell Script" Actions now include advanced Text editor which enables
syntax highlighting.
Actions:
XML Actions: Introducing the XML group of actions to manipulate XML files, apply
XPath queries on them, retrieve or set attributes or elements values.
"Read from CSV File" and "Export to CSV File" Actions: The new "Read CSV File" and
"Export to CSV File" action allow direct read from a csv file storing data into a data
table type variable and direct export a table variable to a CSV file.
"Attach to running Excel" Action: New action for automating an already opened Excel
spreadsheet, without having to launch it through the Robot. A Robot attach to an
open Excel document by its name or full path, store its instance into a variable and
apply further Excel actions on to it.
WinAutomation 23
"Escape Text for Regular Expression" Action: This action will escape a minimal set of
characters by replacing them with their escape codes of an existing test.
"Merge Lists" Action: A new action that will merge two lists into one, appending the
items of the second list after the first one. The two the initial will remain unmodified.
"Hover Mouse over Element on Web Page" Action: There are cases in web pages where
elements/menus appear, or buttons get enabled, only after the mouse is over them.
This new action will cope with situations as such.
"Run PowerShell Script" Action: This action allows for PowerShell scripts to run directly
through the Robot and store their output to a variable for further use.
Move mouse to image: When sending the mouse to an image, there is an option for the
Robot to wait before sending the mouse click.
Version 5.0.4
Improved: "Use Desktop" action: A new option has been added in the advanced settings
of the action so that users can specify if left-clicking on an app's icon on the taskbar
should cause a new instance of the application to be launched.
Improved: "Extract Data From Web Page" action & "Get Details of Element on Web Page"
action: The text-extraction mechanism has been fortified to handle certain corner-
case scenarios more elegantly, which should result in more accurate text being
produced.
Improved: Web Automation actions: Users now have the ability to suppress a broader
range of errors that might occur while these actions are being executed. More
specifically javascript errors should no longer cause the actions to terminate the Robot
if/when the user has put exception-suppression in place, say, in actions like Extract
Data From Web Page.
Improved: Custom Dialog: The help-entry for the action has been enriched to mention
which flags are supported by the datepicker control.
Corrected: "Retrieve Emails" action: The internal email-handling mechanism has been
improved to detect the main-content of an email. This should address an issue in
certain kinds of emails where the .BodyText property of the EmailInstanceVariant was
not reporting the text of the main-content of the underlying emails correctly.
Corrected: "Retrieve Emails", "Download From Web", "Take Screenshot of Web Page":
These actions should now be able to handle saving to files using filenames more than
230 characters long. Such filenames get automatically clipped to 230 characters so as
to work along the limitations imposed by the underlying filesystem.
Corrected: Console: Exporting a Robot with a name longer than 230 characters should
now be working as intended. The name of the resulting .waj file is set to the first 230
characters of the Robot being exported.
© 2018 Softomotive
Corrected: Console: Moving a folder into another folder which contains a sub-folder with
the same name as the one being moved should now be working as intended.
Corrected: "Wait for Window" action: Fixed an issue which was causing the action to fail
with an error message when set to wait for an excel application to reach a certain
window-state.
Corrected: "Press Button in Window" action: The exception-handling for this action
should now be working as intended when the button is not found when the action gets
executed.
Corrected: All Window-Manipulation actions: Fixed an issue which was causing these
actions to hang indefinitely -especially under Windows10- regardless of which window
they were instructed to target.
Corrected: "Get Window" action: Fixed a bug which was causing the wrong window to
be picked in certain corner cases.
Corrected: "Get Window" action: Fixed a bug which was causing the action to fail in
finding the window of the 'Edge' browser under Windows10.
Corrected: "Use Desktop" action: The helper of the action should now be able to select
the start button in the taskbar of Windows10.
Corrected: Web Automation Helpers & Web Recorder: Fixed an issue affecting certain
websites, which was preventing the options-menu to pop-up when the 'appskey' would
be pressed on the keyboard.
Corrected: Web Automation Helpers & Web Recorder: Fixed a bug which was causing
these components to get clogged when attempting to select specific elements in the
product-results of Ebay.
Corrected: Web Automation Helpers & Web Recorder: Fixed an issue which was causing
highlighters to disappear permanently unless the webpage was scrolled up or down.
Corrected: "Extract Data From Web Page" action: Fixed a bug which was preventing the
action from successfully navigating from one page of results to the next when the
next-page element would be based on <img>.
Corrected: "Extract Data From Web Page" action & "Get Details of Element on Web
Page" action: The text-extraction mechanism has been fortified to handle certain
corner-case scenarios more elegantly, which should result in more accurate text being
produced.
Corrected: Web Automation actions: Manually setting the selector of any web
automation action to a custom selector which contains nested selectors ala div:has(>
a:contains('foo'), > a:contains('bar')) should no longer be causing the action to error
out when executed.
Corrected: "Rename File" action: Fixed a bug by which, when the action was set to
overwrite-mode, the original file was getting deleted if/when the eventual filename
specified was the same as the original file name, only different casing-wise. (The
WinAutomation 25
Version 5.0.3
Improved: “Web Automation” actions: RunScript exceptions can now be handled
through the exception handling mechanism.
Improved: Numeric Variants: Numbers are now always getting parsed using US
formatting conventions, that is comma ',' for separating thousands and the dot '.' for
separating the decimal component (old behaviour was to use the regional settings of
the host machine).
Improved: “Populate Text Field on Web Page” action: Optimized to be faster when the
'emulate typing' option is checked.
Improved: “Open Secure FTP Connection” action: Upon setting 'SFTP' as the type of
the connection, the 'Active Mode' checkbox should now be getting hidden as intended,
since it's not applicable to 'SFTP'.
Corrected: “Read from Excel” action: The action should no longer throw an exception
when attempting to read the value of a cell containing a number written in scientific
notation like 602E23.
Corrected: “Open FTP Connection” action: Now has 'Passive' as its default mode (used
to be 'Active').
Corrected: “Custom Dialog” action: Fixed an issue which was causing the delete key to
not be handled properly by 'Multiline Textbox' controls.
Corrected: “Run VBScript” action: Printing non-ASCII characters -such as the pound
sign (£)- to standard output/error streams should no longer cause the output variants
of the action to contain garbled text.
Corrected: “Invoke FTP Command” action: Should no longer be failing when/if the
“acceptable return codes” list is left empty.
Corrected: “Move Mouse” action: Should now be working as intended when set to move
the mouse instantly in relation to the active window.
Corrected: Compiled .exe Robots: Custom dialog was falsely not present on the taskbar
after getting minimized for the first time. It should now be visible as intended.
Corrected: Fixed an issue affecting certain websites, which was causing the Web
Automation actions and the Web Helpers to not work as intended.
Version 5.0.2
© 2018 Softomotive
Improved: Macro Recorder. Filling forms by typing into textboxes and pressing tab in
between is now resulting in alternating distinct Populate Text Field / Send Key {Tab}
activities
Improved: The “Populate Text Field in Web Page” action now can optionally de-focus
the populated element as in some web pages this is required for the new element value
to be accepted
Improved: UI selectors, introduce the :disabled, :visible and :enabled Selectors and also
the :password selector which will target elements with the password attribute set
Improved: The CSS Theming textbox in Display Custom Dialog Action Properties UI, now
accepts Tab and Enter keystrokes
Improved: Macro Recorder’s better handling of Arrow Up/Down keystrokes when sent to
spinner controls
Improved: “Extract Data from Window” action. When getting the file names from a File
Explorer window, file titles are now extracted correctly
Improved: Macro Recorder. The “Get Window” activities that get deleted by hand do
also take down with them those “Send Keys” actions that target the affected window
Improved: The “Create New Folder” action allows the creation of a folder given its full
path/name instead of entering the parent folder and the new folder name
Improved: “Get Details of Element on Web Page”, “Extract Data from Web Page” the
text extraction mechanism now removes invisible zero width characters (e.g. control
characters) from the extracted text
Improved: “Click Element in Window Action”, “Get details of element in Window” actions.
When the element of a File Explorer window is out view, the action scrolls the view to
scan the data-grid and find the element.
Improved: Macro Recorder is now creating more efficient UI selectors for element of the
File Explorer window
Improved: Macro Recorder now records the entire trajectory of the mouse when in
coordinates mode and one of the mouse buttons is pressed.
Corrected: Visibility and positioning issues resolved for web content when displayed in
Web Helpers
Corrected: Mathematic calculations within expression that provided false results, due to
regional settings, have now been corrected
Corrected: “Wait for hotkey” action timeout would sometime result in a runtime error
Corrected: Custom dialog, now takes into account the enter/escape buttons
Corrected: The “:eq()” Operator now selects the correct window, when two or more
windows are of the same class/title
Corrected: Consistency of “Close Internet Explorer” action. There were incidents where
the targeted browser stayed open despite this action
Corrected: “Go To Web Page” and “Click Link on Web Page” actions, now have better
mechanism for detecting whether a web page has fully loaded or not.
Corrected: Move mouse animation relative to the foreground window, honors the actual
delays of the animation.
Corrected: Macro Recorder now resumes recording activities, after the user attempts to
close the dialog, but presses Cancel in the confirmation dialog that pops up
Corrected: Web Automation, unhandled exceptions have been addressed on certain web
pages and web page elements.
Corrected: Macro Recorder, switch keyboard layout activity is now captured correctly
Corrected: Custom Dialog. When set to be initially maximized the Custom Dialog scrollbar
is more accurate to the window limits.
Corrected: Web Automation, better waiting mechanism to wait for all frames of a web
page to be loaded completely
Corrected: WinAutomation can now convert text representing numbers written in exotic
formats (such as Scientific Notation) to the proper Numeric Variants
Corrected: Output of “Subtract Lists” action. The result list is of the same type, as the
original ones
Corrected: Custom Dialog Designer. Pasting text into a control now works correctly for
every type of control.
© 2018 Softomotive
Corrected: Custom Dialog size from compiled exe is shown as specified
Corrected: Macro Recorder is now generating the correct action when accessing
windows preview in the task bar.
Corrected: Select Menu option is now generated when clicking on the menu options of
the System Tray Icons
Version 5.0.1
Improved: in "Display Custom Dialog" action an option has been added for a password
text control to be required, i.e. to be mandatory for the user to enter e value.
Improved: The Macro Recorder now generated better and more reliable selectors for UI
Elements.
Improved: A hotkey for resuming the execution of a Robot stopped by a breakpoint has
been introduced.
Corrected: The File Monitor Trigger permanently stopped watching a remote folder if the
connection to the folder was temporary unavailable.
Corrected: The "Click Link on Web Page" action failed for some links that contained
Javascript
Version 5.0
Macro Recorder: The Macro Recorder leverages the “UI Automation” technology
described above and now has a “Smart Recording” mode enabled by default. In this
mode the recorder records the interactions of the user with the various controls of an
application instead of just recording mouse coordinates. Of course, the simpler mode of
recording coordinates is still available for use when appropriate.
Live Helpers: In all Web Automation actions the user can now select a web page
element by clicking on any open Internet Explorer window. Respectively, for UI
Automation actions the user can specify a Windows control by clicking on the target
application.
Custom GUI: The new “Display Custom Dialog” action includes a Form Designer tool
that allows the user to design and present custom dialogs with all kinds of controls in
them.
New Actions:
“Use Desktop” action to perform taskbar related operations
“Get Window” action to retrieve a specific window or the foreground window (also
replaces the “Get Foreground Window” action)
“Select Menu Option in Window” action to select a menu item in a window’s menu bar
“Drag and Drop Element in Window” action to perform a drag and drop operation within
a window or from one window to another
“Focus Text Field in Window” action to move the input focus to a specific textbox
“Populate Text Field in Window” action to set the text of a specific textbox in a
window
“Select Radio Button in Window” action to select a radio button in a button group
“Set DropDown List Value in Window” action to select a value in a dropdown list (aka
combobox)
© 2018 Softomotive
“Get Details of Window” action to get the value of properties of a specific window (or
its text)
“Get Details of Element in Window” action to get the properties of a specific control in
a window
“Extract Data from Window” action to retrieve the text of a window or a specific
control in the form of a single value, a list or a table
“Run Javascript” action to execute some custom Javascript code and retrieve its
output into a variable.
“Get Default Printer Name” action to get the name of the printer that is currently set
as default
“Display Custom Dialog” action to design a custom dialog for requesting or presenting
data to the end user
Improved Actions:
In “Wait for Hotkey” action a new option allows for setting a maximum time to wait for
In “Read Text from File” action it is now possible to specify the encoding of the file to
be read
In “Write Text to File” action two new encodings (Unicode without BOM and UTF-8
without BOM) have been added
In “Send Keys” action the Period and the Comma have been added in the Special Keys
menu
In “Send Email” action variables are now accepted for SMTP Server properties
Plus numerous performance improvements, various bug fixes (mostly obscure ones) and
minor improvements.
Version 4.0.6
Improved: Performance improvement when selecting an option from a SELECT element in
a web page, through the "Set Drop Down List Value on a Web Page" action
Improved: When WinAutomation fails to open a Robot because it has been created with
a newer version of the application, a descriptive message is displayed.
Corrected: The "emulate typing" checkbox in the "Populate Text Field on Web Page"
action properties dialog defaulted to true every time a new textbox was selected using
the Web Helper.
Corrected: CSS Selectors in Web Automation actions that included a comma within the
:contains selector where not interpreted correctly.
Corrected: The WinAutomation installation process now makes sure that the service is
up before any other process is launched. Additionally it refuses to proceed if the
WinAutomation Console of the previously installed version is still running.
Version 4.0.5
Improved: The error message produced by the "Wait for Web Page" action when a
timeout occurred has been changed to a more descriptive one.
Corrected: The "Invoke Web Service" action failed to transmit the cookies correctly
when specified in the Custom Headers property.
Corrected: The highlighter of the Web Helper window of every Web Automation action
failed to locate the correct element when the user manually inserted the * selector in
the "CSS Selector" property of the action.
Corrected: The "Take Screenshot of Element on Web Page" action failed to capture the
correct picture when the element is at the bottom of a web page and the vertical
scrollbar is part of a nested frame instead of a the top most document.
Corrected: "Focus Text Field" action does not work properly for non focusable-elements
such CAPTCHA images that lie at the bottom of a web page and the one of the
scrollbars is part of a nested frame/div while the other scrollbar is part of the top most
document.
Improved: When using a WebBrowser Instance or Excel Instance type variable without
having been initialized a null reference exception occurred. This is now replaced by a
descriptive error message.
© 2018 Softomotive
Improved: Any Web Automation action not set to wait for the web page to load, does
not impose a 3 seconds delay any more before moving the the next action, resulting to
a faster Robot execution.
Corrected: By manually selecting a collapsed region in the Robot Designer using the
keyboard, only the "Start Region" action was selected, instead of the whole region.
Corrected: In the "Search Action" textbox of the Robot Designer the Select, Copy, Cut
and Paste hotkeys (Ctrl-A, Ctrl-C, Ctrl-X, Ctrl-V) affected the Robot's actions and not
the search textbox.
Improved: A Robot created by a newer edition of WinAutomation that the one installed
is now prohibited from running and being edited by the older edition.
Corrected: Memory leak occurred in some rare cases when an exception occurred while
opening a Robot.
Corrected: When opening a Robot that contained external actions from an addon that
was not installed, the mouse pointer remained hourglass instead or reverting to default
style.
Modified: The Cut/Copy/Paste menu items are now removed from the File Menu of the
Console.
Corrected: While uploading files to some SFTP servers through the "Upload Files to to
FTP" action, the action attempted to change the permissions of the uploaded files,
sometimes resulting to the abortion of the operation.
Corrected: Text file attachments downloaded by the "Retrieve Emails" action became
corrupted if the file used a non-ASCII encoding.
Improved: Memory footprint of the "Retrieve Emails" action has been significantly
reduced for large emails download.
Corrected: When the user selected the "Exit WinAutomation" menu item in the
WinAutomation agent context menu and then clicked cancel in the confirmation dialog
the service stopped nonetheless.
Improved: A more descriptive error message is now displayed by the "FTP Upload Folder"
action when attempting to upload a folder that already exists on the server.
Corrected: the "Invoke FTP Command" action failed in some cases when sending a
command to an SFTP server.
Corrected: forcing the Robot Designer to close while a Robot was running in debug mode
sometimes caused the WinAutomation Console to crash.
Corrected: FtpFile/FolderVariants that start with Double Forward Slashes, cause errors
when attempting to retrieve the base directory of the path via the .Directory property.
Corrected: the "Move Mouse" action, if the "Relative To Current Mouse Position"
property and an animation scheme is selected, moved the mouse to double the amount
of the offset needed.
Corrected: In some websites using yahoo libraries certain div elements get mistaken for
rich text editors resulting in erroneous extraction of their content by the "Extract data
from Web Page" action.
Improved: The save button and the insert new region button in the Robot Designer are
now disabled while a Robot is being run from within the Robot Designer.
Improved: In some cases the macro recorder failed to record a modifier key due to a
delay in the process of intercepting its state.
Modified: The text "Choose your weapon" in the Create New Robot dialog has been
changed to "Choose a tool".
Corrected: Web Recorder and Web Helper for Data Extraction: When a header of an html
table that's has been selected for extraction contains a % sign it is now automatically
escaped so as to avoid phantom errors about missing variables
Corrected: when multiple users were accessing the same WinAutomation service
instance through terminal services sometimes the notifications were routed to the
wrong user.
Version 4.0.4
Improved: Support added for new IE10.
Improved: The variable generated by the "Launch New Internet Explorer" action which
holds the web browser instance, now has a .Handle property that returns the handle of
the browser's window. The value can be passed to Window-related actions (move,
resize, focus window etc) which accept a window handle as input.
Corrected: The "Open Secure FTP Connection" action failed to establish connection with
certain FTP servers.
© 2018 Softomotive
Corrected: The web element selection engine can now handle the rare cases where the
browser returns an empty value instead of the tag of an element.
Improved: The "Extract Data From Web" action now identifies the pager element ("Next
Page") even in more complex configurations.
Corrected: "Take Screenshot" action did not perform as intended in some cases.
Modified: Windows related actions do not display the window picker icon in their
property dialogs when they are set to matching a window by its handle.
Corrected: All WinAutomation windows when restored from a minimized state, now make
sure that they are displayed in a visible portion of the screen.
Improved: The "Set Drop Down List Value on Web Page" action can now select options
even when their values is an empty text.
Corrected: The "Download Folder from FTP" action, now does not modify the working
directory.
Corrected: The utility that retrieves the email folders in the "Retrieve Emails" and
Process Emails" actions as well as in the Email Trigger would freeze the UI for a while if
wrong settings have been entered in the IMAP account section.
Modified: The "Parse Text" action now throws an exception if the regex provided is
invalid.
Corrected: The "Display Notification" action now always outputs its message to the
command prompt console when the Robot is compiled as a console application (even
when the "Display Notifications" option in the Compiler dialog is unchecked).
Corrected: Exception thrown by FTP actions when used through a secure FTP
connection, now have more descriptive messages.
Corrected: When a Robot with triggers attached was copied, the triggers of the newly
copied Robot were not functioning until the WinAutomation service was restarted.
Corrected: The highlighter of the Web Helper sometimes was displayed off-position when
highlighting an element within a frame.
Corrected: Rich Text Editors, in some cases were difficult to select using the Web
Helper.
Corrected: The "Extract Data from Web Page" action now extracts the data from the
first page only, when a negative value is provided to be the number of pages to
extract data from.
Improved: The "Set Drop Down List Value on Web Page" action now accepts a list
variable when more than one values need to be selected.
Improved: The extraction of the inner text of a Web Page element now removes any
additional info injected into the page by the Skype plugin.
WinAutomation 35
Improved: The "Focus Web Element" action now scrolls the web page to bring the
focused element into view.
Corrected: The "Extract Data from Web Page" action when instructed to extract all the
options of a drop down web element, it returned only the selected options.
Improved: The "Click download Link on Web Page" action is now able to handle
download dialogs that are already open, when the CSS selector property is empty.
Improved: There is now a way to execute arbitrary javascript code on the automation
browser.
Modified: Windows Related action now throw an exception if both window name and
window class are not set.
Corrected: In some extreme cases the "Retrieve Emails" action failed to parse the email's
body.
Corrected: "Download from Web" and "Invoke Web Service" actions fail for urls which
contain double quotes, or specify a port and are not explicitly preceded by http or
https
Corrected: When the "Send Keys" action was instructed to type a number preceded by
zeros the zeros were trimmed upon closing the properties dialog of the action.
Corrected: The "Synchronize FTP Directory" action sometimes fails if the working
directory was not explicitly set by a "Change Working Directory" action.
Corrected: In the "Invoke Web Service" action the "Connection Timeout" property
ignored the value set by the user and always defaulted to 30 seconds.
Version 4.0.3
Modified: The properties dialog of the Schedule Trigger cannot be dismissed any more if
no dates are specified.
Corrected: in some cases a Schedule Trigger fired a couple of minutes before the
scheduled time resulting to a double execution of the Robot.
Corrected: A Schedule Trigger with the "Skip Robot" option checked did not skip the
Robot in question when the machine is resuming from hybernation/suspension state.
Corrected: Execution of a WMIC command through the "Run DOS Command" action failed
when ran in Windows XP.
Corrected: The "Take Screenshot of Web Page" action produced images with black
areas when invoked through the Web Automation Browser and the scrollbars did not
appear properly.
Corrected: The "Take Screenshot of Web Page" action produced inaccurate screenshots
for elements residing within iframes or when zooming is applied.
© 2018 Softomotive
Corrected: The exception handling portion of the "Take Screenshot of Web Page"
action, when executed fired the wrong exception.
Corrected: The extraction of the inner text of a page or an element returned inaccurate
result when encountered HTML tags with attributes that had non-ascii characters
and/or digits or when an element contained exotic characters that were rendered as
whitespace.
Corrected: The extraction of the inner text of a page now takes into account the value
property for buttons and text boxes.
Improved: Actions that extract data from a web page or a web element can now
retrieve the inner HTML, the outer HTML and the new HTML5 data-related attributes of
an element.
Modified: The "Extract Data from Web Page" action now treats a a hidden element as
non-existent, Meaning that the "exists" attribute will return "FALSE" for an element
that exists in the page, but is hidden.
Improved: The "Extract Data from Web Page" action in order to identify which element
of the page acts as a pager, now is able to utilize information from parent elements of
the pager for more accurate results.
Improved: The Web Helper window for the "Extract Data from Web Page" action now
performs much faster when a large number of table cells need to be highlighted.
Corrected: The Web Helper window for the "Extract Data from Web Page" action failed
to highlight the selected pager element if this element was placed within an iframe.
Corrected: The Web Helper window for the "Extract Data from Web Page" action
highlighted all elements matching the specified CSS selector, even when in "Single
Value" mode.
Corrected: The Data Extraction Preview in the Web Helper window for the "Extract Data
from Web Page" action did not take into account any regular expressions specified in
the settings for generating the preview.
Corrected: The "Extract Data from Web Page" action did not apply any regular
expressions specified when extracting element values in "Single Value" or in "List"
mode.
Corrected: The "Extract Data from Web Page" action and the "Get Detail of Element on
Web Page" action failed to retrieve the STYLE attribute of an HTML element.
Improved: The "Single Instance" option is now available as an option in the Compiler
Properties Dialog when the application type is "Command Line Application". Moreover, it
is unchecked by default.
Improved: Robots compiled with the "Single Instance" option set, now return an exit
code of -1 when the user attempts to run them while another instance of the same
executable is already running.
WinAutomation 37
Corrected: Compiled Robots did not report their version number when inquired through
WMI in Windows XP.
Corrected: Compiling Robots to executables failed if the Company Name or the Copyright
Notices contained double quotes or trailing backspaces.
Improved: Robots compiled as "Windows Application" now display the EXE file name as
the title of the form displayed when running the compiled Robot.
Corrected: The notifications popup windows displayed by compiled Robots were not
positioned correctly when the message to be displayed was too long.
Corrected: The "Populate Text Field on Web Page" action didn't respect the MaxLength
and Enabled attributes of the target INPUT element when "Emulate Typing" setting was
unchecked.
Corrected: The "Populate Text Field on Web Page" action, when handling File Upload
Inputs, always waited for the web page to complete loading even when the respective
option was unchecked.
Corrected: The "Populate Text Field on Web Page" action failed when instructed to set
the text in a Rich Text editor and the value to be written contained one or more
double quotes.
Improved: The "Populate Text Field on Web Page" action can now set the value of
hidden fields.
Improved: The "Populate Text Field on Web Page" action now supports INPUT elements
with TYPE=COLOR
Corrected: "Wait for Web Page Content" action threw an error when set to wait for an
element located within a frame.
Corrected: Attaching to the foreground Internet Explorer window through the "Launch
new Internet Explorer" action did not wait for the browser to complete loading the
current web page.
Corrected: All web automation actions that makes sense only in the context of HTML
pages now throw an exception when they are used on an Internet Explorer instance
that holds a non-HTML document (such as an image or a PDF document).
Corrected: The "Go to Web Page" action threw an exception when instructed to
navigate to a non-HTML document and the "Wait for Page to Load" option was
checked.
Corrected: The "Get Details of Web Page" action failed to return the correct when the
assigned browser instance displayed a non-HTML document
Corrected: The "Retrieve Emails" action failed to save any attachment if the
ContentType was set to text/plain.
© 2018 Softomotive
Improved: The "Retrieve Emails" and "Process Emails" action properties dialogs do not
attempt to retrieve the list of email folders when the mail account username or
password is given as a variable.
Modified: In the "Comment" action properties dialog the comments text box now has the
default focus.
Improved: The "Variables Manager" dialog closes when the Esc key is pressed.
Corrected: The "Open FTP Connection" and "Open Secure FTP Connection" actions failed
to execute when no password was provided.
Version 4.0.2
Corrected: When a web page produced a Javascript error the error message was not
suppressed preventing the normal execution of the Robot.
Corrected: "Set Checkbox State on Web Page" action changed the checkbox state
twice effectively resulting in no change.
Corrected: When retrieving the text of a web page the values of web form fields are
included in the resulting text.
Version 4.0.1
Web Automation actions now work in web pages that contain frames/iframes
Corrected: "Run VBScript" action failed in Windows XP and in later Windows versions
when the name of the logged in user contained spaces
Corrected: "Wait for Web Page Content" and "If Web Page Contains" actions in some
cases failed to return the correct value if the text to wait for was hidden.
A link to the generated file has been added in the message box displayed upon
successful compilation of a Robot.
Corrected: "Invoke Web Service" action did not handle correctly some custom headers.
After importing a .waj file the newly imported Robot becomes selected in the
WinAutomation Console.
After creating a new folder in the WinAutomation console, this folder becomes
selected.
Corrected: In the "Wait for Image" action if set to wait indefinitely and search within a
subregion the action failed to find the image on the screen.
WinAutomation 39
In the Error Handling tab of both the Options and Robot Properties dialogs the "Robot
to Run" was not visible if the path to the Robot was to long.
If a Robot compiled as "Command Line Application" fails to run, the executable's name
is now included in the error message.
Corrected: The "Open Secure FTP Connection" action failed to connect properly for
some SSH versions.
The dropdown list displayed by the "Select From List Dialog" action has become taller in
order to display more list items
Actions' properties dialogs now open centered to the Robot designer window and within
the screen boundaries.
Version 4.0
New Actions:
"Log Message" action to log a custom message into the WinAutomation Event Log.
"Wait for HotKey" action to pause the Robot execution until the user presses a
specified hotkey.
"Run VBScript" action to execute some custom VBScript code and retrieve its output
into a variable.
"Retrieve Emails" action that retrieves emails and attachments from an IMAP server
based on specified criteria
"Process Emails" action that moves emails into a mailbox folder, deletes them from the
server or marks them as unread.
"Reverse List" action that reverses the order of the items of a list.
© 2018 Softomotive
"Invoke Web Service" action that sends an HTTP request and retrieves its response
allowing the user to specify all the low-level details, such as custom headers of the
request body.
"Launch New Internet Explorer" action to open a browser for Web Automation or attach
to an already running browser window.
"Go to Web Page" action, to navigate the browser to a web page, refresh it and move
back or forward.
"Click Link on Web Page" action to send a mouse click on a link or to any other web
page element.
"Click Download Link on Web Page" action to click on a link that results in a file
download.
"Close Internet Explorer" action to close an IE window opened by the "Launch New
Internet Explorer" action for Web Automation.
"Focus Text Field on Web Page" action to move the input focus to a text box of a Web
Page.
"Populate Text Field on Web Page" action to type a value into a web form field.
"Set Checkbox State on Web Page" action to check or uncheck a checkbox in a web
form.
"Select Radio Button on Web Page" action to select a radio button in a web form.
"Set Dropdown List Value on Web Page" action to select one or more options for a
dropdown list in a web form.
"Press Button on Web Page" action to press a button and submit a web form.
"Extract Data from Web Page" action to retrieve different chunks of data from a web
page in the form of single values, lists or tables.
"Get Details of Web Page" action to retrieve info related to the web page such as its
title, its metadata, etc.
"Get Details of Element on Web Page" action to retrieve an attribute value for a
specific HTML element of the page.
"Take Screenshot of Web Page" action to capture the image of an entire web page or
of a specific web page element.
WinAutomation 41
"If Web Page Contains" action to check whether some text or element exist in a web
page or not.
"Wait for Web Page Content" action to pause the execution of a Robot until a specific
text or element appears or disappears on the Web Page.
Updated Actions:
In "Write Text to File" action the user now has the choice whether a newline will be
appended or not after the text.
In "Run Application" the action can be set to wait up to one hour for the application to
load or complete.
The "Open Secure FTP Connection" action now supports authentication using a private
key, or a private key plus a passphrase.
In "Display Select from List" dialog, when multiple selection is allowed, the user can set
some options of the list to appear preselected.
In "Move Mouse" and "Move Mouse to Image" actions there is an additional option to
specify whether the mouse should jump or move smoothly to the new position.
In the "If" action the "Is Not Empty" operator has been added.
In the "If" action the "Is Empty" and "Is Not Empty" operators have now a different
meaning if the operand is a list (contains/does not contain any items), a datatable
(contains/does not contain any rows), a folder (contains/does not contain any files) or
a file (whether it is an empty file or not).
Window-related actions now handle correctly window titles than contain non-English
characters.
The "Comment" action now supports different background colors and cannot be
disabled.
In "If Image", "Wait for Image" and "Move mouse to image" actions property dialogs the
captured images are displayed over a colored background for their boundaries to
become visible.
The "Download From Web" action is moved under the category "Web Automation/Direct
Access".
In the "Run Robot" action if no action to run is specified, an error is displayed in the
editor, instead of when the Robot runs.
© 2018 Softomotive
Robot Designer:
Web Recorder, to record the user's activity on the web and convert it into actions for
replaying them later.
Keyboard interface added in Robot Designer. The user can now move though the
actions and select them using the keyboard.
While the Robot is running from within the Robot Designer the actions are scrolled so
that the action after the currently executing is always visible.
WinAutomation Console:
New, redesigned dialog for the "Create New Robot" option that includes the Web
Recorder.
When a Robot execution is canceled by the user, the number of the last executing
action is displayed.
Triggers:
New "Email Trigger" monitors an email account and runs a Robot when an email that
matches some specified criteria arrives.
Correction for Schedule Trigger; when it was set to fire only on the last day of month
it didn't work as expected.
Robot Compiler:
New, redesigned "Compile Robot" dialog.
Compiled Robots can now have a custom icon and custom info such as company,
version number and copyright statement.
Each Robot remembers the information entered by the user in the last compilation.
When a Robot contains a "Run Robot" action it cannot be compiled and instead a
warning is displayed to the user to replace the "Run Robot" with a "Run Application"
action.
A compiled Robot has the option to display a Notification Window (like the Robots that
run from within WinAutomation) to inform the user of the currently executing action.
WinAutomation 43
A Robot has the option to be compiled as "Single Instance" meaning that only one
instance of the Robot can run at the same machine at any time.
Version 3.1.6
Corrected: Numbers with trailing sign (e.g. 12-) were incorrectly parsed as legal
negative numbers.
Modified: All numbers are now parsed using en-US regional settings (i.e. the decimal
separator is always the dot).
Corrected: "If Window" action did not function correctly when "Is focused" was selected
and a window class was specified.
Corrected: When a Robot was exported and the folder containing that Robot was
deleted, the Robot failed to import correctly into the same database.
Modified: The upper limit for the number or retries in the Exception Handling portion of
an Action has been increased (from 5 to 25), along with the seconds to wait for,
between retries (from 120 secs to 3600 secs).
Modified: The limit for the OffsetX and OffsetY properties in the "Move Mouse to Image"
Action has been increased from 300px to 1000px.
Version 3.1.5
Corrected: Numbers with a decimal point were not accepted in expressions. The Robot
failed to compile.
Corrected: The "Run Robot" action failed with an error message when the Robot
contained a variable of type DataRow that didn't contain any value at the moment
when the "Run Robot" action was executed.
Modified: In the "Exception Handling" tab of the action properties' dialog, the selected
action is now displayed in white text for better readability.
Corrected: The "Wait for Window" action in some cases failed to wait for a window if
configured to wait for the "Lose Focus" event.
Corrected: The WinAutomation icon in the system tray remained visible after a restart
and until the WinAutomation Console window opened, even when set to not visible.
Version 3.1.4
© 2018 Softomotive
Corrected: In some cases, while a Robot had completed its execution, the notification
window remained open and in the WinAutomation Console the Robot continued to
appear as running.
Version 3.1.3
Corrected: Under certain circumstance an error occurred when opening the properties
dialog of the "Delete Files" action.
Version 3.1.2
Corrected: A syntax error with the message "Division by zero" occurred in expressions
that included a division, regardless of the value of the operands.
Version 3.1.1
Corrected: When a copy/paste operation was followed by an undo/redo sequence in
some cases an extra action would be added in the Robot.
Corrected: The text value returned by the "Download from Web" action is now stripped
from all non-printable characters.
Corrected: In certain cases a "Cannot Unload Domain" exception would occur when
stopping a running Robot.
Modified: The Numeric data type now holds larger values with more precision.
Version 3.1.0
Added: Support for add-ons - external action packs.
Added: The "Write Text to File" action has an additional property for specifying the
encoding used for the text to be written into the file.
Added: The "Download from Web" action has a new "Encoding" property for specifying
the encoding used for the web page. If the value is set to "Auto-detect" the action
uses the encoding specified by the web server.
Added: The "Download from Web" action has a default value for the "User Agent"
property.
Added: In Robot Designer, a "Start from Here" menu item has been added in the
Context Menu (right click menu) allowing the user to start the execution of a Robot
from a specific action.
WinAutomation 45
Added: Toolbar buttons and menu items in Robot Designer are now disabled when a
robot is executing through the Debugger.
Added: While debugging the "Execute Next Action" button can be pressed with a
hotkey. The designated hotkey can be specified in the Robot Designer Options dialog.
Added: While debugging the Robot scrolls automatically so that the currently executing
action is always visible.
Modified: The File Monitor Trigger variable %FileTriggerFilePath% now contains a file
object instead of text making easier to retrieve info regarding the file that triggered
the Robot.
Modified: The Dialog box displayed by the "Display Select From List Dialog" action is now
resizable to facilitate the selection of long list items.
Corrected: The "Send Mouse Click" action presses the correct mouse button when the
functions of the left and right mouse buttons have been swapped.
Modified: The "Get Special Folder" action now contains a label that displays the path for
the selected special folder.
Added: In the "Action Properties" dialog the F1 key is now used for opening the help
topic for the specific action.
Added: The "Wait for Window" action can now wait for a window to get the focus (to
become the foreground window) or lose the focus.
Added: The "If Window" action can now determine whether a specific window is
focused (is the foreground window) or not.
Added: The "If Service" action can now determine whether a specific service is installed
on the computer or not.
Added: New Action: "Get Foreground Window" action retrieves the title and handle of
the Window that has the focus.
Added: New Action: "Generate Random Number" action, to get a random number or a
list of random numbers.
Added: New Action: "Shuffle List" action, to randomly permute the items of a list.
Added: In the "Parse Text" action there is now an option to perform case-insensitive
matching
Corrected: In certain cases, some actions issued a "Reference not set to an instance of
an object" error when run through the debugger.
Modified: If a Robot runs for more than 24 hours, now the Notification dialog also
displays the total days in the running time field.
Added: New Action: "Get Mouse Position" action, to retrieve the position of the mouse
cursor on the screen.
© 2018 Softomotive
Added: The actions "Move Mouse" and "Send Mouse Click" now accept variables for
mouse coordinates and the new mouse position can be relative to the current mouse
position.
Added: New Action: "Terminate Process" action, to immediately stop a running process.
Added: New Action: "Ping" action, for sending a ping message to a remote computer.
Added: The "Sort List" action can now sort a list of objects, through specific properties
Added: New Action: "Synchronize FTP Directory" action, to synchronize the contents of
a local and remote directory.
Added: The "Move Mouse to Image" action has now an option to wait if the image is
not initially found as well as an option to send a click after the cursor is moved over
the image.
Added: New Action: "If Image" action, to check whether an image exists or not on the
screen.
Added: The "If" action now includes the following operators: "Starts with", "Does not
start with", "Contains", "Does not contain", "Ends with", "Does not end with" and "Is
Empty". All these new operators (except the last one) work both in case-sensitive and
case-insensitive mode.
Added: The Robot Designer can now save the Robot automatically upon running the
Robot through the debugger. This option can be specified through the Robot Designer
Options Dialog.
Corrected: In some cases the Console didn't close successfully, leaving a ghost process
running.
Added: New Action: "Remove Duplicate Items from List" action, to remove multiple
occurrences of the same item in a list.
Added: New Action: "Empty Folder" action, to delete the contents of a folder without
deleting the folder itself.
Modified: The "Get Robot's Path" action now retrieves the path (folder plus robot name)
of non-compiled robots too.
Modified: The "Download from Web" action can download a file and keep its original
name as specified by the web server. When this option is selected, only the
destination folder needs to be provided, instead of the full local path.
Added: In the "Replace Text" action there is now an option to perform case-insensitive
matching
WinAutomation 47
Modified: The "Replace With" property of the "Replace Text" action now accepts multi-
line values.
Added: The "Convert Text to DateTime" action has now an option for converting dates
that are represented in a non-standard format.
Corrected: The "Write Text to File" action crashed the designer when an extremely long
text was entered as the value to be written into the file.
Added: The "Clear Logs" dialog allows you to archive the events into a different file
before deleting them.
Corrected: In Windows Vista/7 for the event log to be cleared the Console should run
with elevated privileged (as administrator).
Added: In the "Run DOS Command" action a new output property has been added for
retrieving any error messages issued by the command or the console application.
Added: In the "End Robot" action a new property has been added for specifying the Exit
Code for Robots that are compiled.
Corrected: When two or more Robot designers were open simultaneously the same Undo
history was shared between the different designers.
Added: Support for persistent variables that keep their value between subsequent
executions of the same Robot. For compiled Robots, persistent variables are stored
into a satellite file and can be encrypted.
Added: In the Options window there is an additional option that sets the application to
remember the size and layout of the Console and Robot Designer windows.
Corrected: In the "Rename Files" action, when renaming a file and specifying as a new
name the name it already had, and the "Overwrite" selection was chosen, the file was
deleted.
Modified: In the "Run Robot" action the list of Robots to choose from, now appears
sorted.
Version 3.0.3
Corrected: When deleting an action sometimes the window didn't refresh properly.
Corrected: An error occurred in the "Run Robot" action if the Robot had already
launched an Excel instance
© 2018 Softomotive
Corrected: The "Unzip files" action would not unzip files that their names started or
ended with a dot (.)
Corrected: In rare cases the Notification Window was displayed below other windows. In
other cases it could steal the keyboard focus from the foreground window.
Corrected: The "Find Common List Items" action returned the first list instead of the
intersection of the two provided lists
Corrected: The "Capture" function in the "Move Mouse to Image" and "Wait for Image"
actions produced an error if an empty region was selected
Added: A message box is displayed to inform the user after an attempt to export a
Robot that contains illegal characters in its name.
Corrected: The "Rename File(s)" action in the Designer did not display correctly the "Add
DateTime before/after" property value in the designer.
Version 3.0.2
Corrected: Robots performance deteriorated when variables contained large amount of
data.
Corrected: Exception occurred in very large robots (more than 3000 actions).
Corrected: In some cases, a robot would stop when the user pressed Enter because the
"Stop Robot" in the notification window had the focus by default.
Version 3.0.1
Corrected: Schedule Trigger's "Monthly" option is now working as intended.
Corrected: A known issue with "Send Keys" action where in rare cases duplicate
keystrokes were sent.
Corrected: "Delete FTP Directory" action now deletes directories even when they are
not empty (recursively)
WinAutomation 49
Corrected: A normal exception thrown by the "Unzip Files" action could result in an
unhandled exception
Corrected: When "Display Big Icons" setting was selected in Robot Designer the icons
failed to display properly.
Corrected: "Open FTP Connection" could fail if the agent was launched before the
service. It has now been fixed.
Version 3.0.0
Service
· WinAutomation's service is now more lightweight and more stable.
· You can now stop WinAutomation's service by right clicking on the tray icon of the
Agent and selecting: "Exit WinAutomation"
· There is no longer an option to start and stop the service through the console.
Opening the console will automatically start the service and you cannot stop the
service through the tray icon if the console is open.
Console
· The general options have been enriched; check "Tools - Options" in the console
window to test the new options. Specifically:
· There is now an option to stop all robots that are currently running with a HotKey
(General tab)
· There is an option that allows you to control if WinAutomation's service will start
when the machine boots (Service tab)
· You can now disable the system tray icon (Notifications tab)
· The "balloon" that used to notify the user whenever a robot started or ended has
been replaced by a special Notification Popup Window that you can show or hide
(Notifications tab)
· You can globally decide which file types will be treated as ASCII files by the FTP
actions (FTP tab)
© 2018 Softomotive
· There are some "Global Error Handling" options that you can set in the case that
your robots fail to complete such as Write the Event to a log file or Send Email
(Error Handling tab). In the case that you decide to send an email, you will have
to set the SMTP options (SMTP Server tab)
· There is a new logging system; check "Tools - View Logs" to see the changes. You
can filter the log events based on date, type of event or source of event. There is
also a new pane in the console that shows the most recent Log Records.
· You can now open multiple robots and still be able to interact with the console
· You can view the logs for a specific robot (Right click on the robot and select "View
Logs for the specific robot" option)
· The robots are now saved in a database that you can backup, restore and compact
("Tools - Manage Robots Database")
· The robots are now exported to a new file type (*.waj), however, there is backward
compatibility (you can import old xml files but you can't open waj files with
WinAutomation 2)
Robot Designer
· All actions have been redesigned and in their property dialogs the main tab is now
divided in 2 sections: "Action Input" and "Action Output".
· A new special "gear" icon has been introduced, that allows you to select from
variables that have been created/used earlier in the robot. This icon can be used
only in fields that reside in the "Action Input" section of the action's properties
window.
· There are a lot of internal features like automatic variable handling (automatically
create a new variable when it's declared and delete when it's not used) and the
addition of new types of variables (files, folders etc) that intend to make interaction
with variables much easier. For example, you do not need to use the "Define New
Variable" option now: you just place a variable name in the field and if it does not
exist, it is automatically created.
· There are no longer yellow and white background colors in forms: whenever you
want to use a variable, you will have to enclose it in percentages (e.g %MyVar%).
WinAutomation 51
· The image recognition system has been significantly changed: it is now more
accurate and stable, and the tolerance option is now more versatile (in version 3, it
does not only understand differences in color tones but it also indicates the amount
of different pixels that is allowed).
New Actions
· Download From Web (Web category): This action acts like a browser and can handle
http requests, supporting both, get and post method for posting data.
· Get Robot's Path (WinAutomation actions category): This action retrieves the path
to the executable (obviously works only if the robot is compiled)
· Wait For Mouse (Wait category): You can now use this action for specific type of
applications where the only indicator that you have for a complete task is the mouse
icon
· Press/Release Key (Mouse and Keyboard category): Presses (and holds) or releases a
moifier key. This new action allows you to combine any of the known modifiers
(Control, Alt, Shift) with a mouse move/click.
· Set Key State (Mouse and Keyboard category): You can use this key to ensure that
Caps Lock, Scroll Lock and Num Lock are on the state that you want them to be
during the execution of a specific robot.
· Display Notification (Message Boxes category): This action can be used to print
useful information about the robot execution in the Notification window that pops up
whenever you run the robot through the console (unless you have specified that this
window does not appear). Also, it will print the information that you specify in the
console window that will appear if you compile your robot as a "Console Application".
· Display Select Date dialog (Message Boxes category): Allows you to prompt the user
to select a date or a date range.
· Get Special Folder (Folders category): This action will return the path of special
Windows folders (e.g Desktop). It can prove really useful if you want to create a
robot that does not depend on the user's Windows version (XP/Vista).
· Open Secure FTP Connection (FTP category): Allows you to open a secure FTP
connection (sFTP or FTPs, implicit or explicit)
· Download Folder(s) (FTP category): Allows the download of a folder and its contents
through FTP
© 2018 Softomotive
· Upload Folder(s) (FTP category): Allows the upload of a folder and its contents
through FTP
· Invoke FTP Command (FTP category): Allows you to send a custom FTP command to
an FTP server
· Change Text Case (Text Actions category): Allows you to change the case of a
specific text (possible options to convert to: lowercase, UPPERCASE, Sentence case,
Title Case)
Changed Actions
· Start Robot Action (WinAutomation actions category): There is now an option to
"Wait for robot to complete". The robot that is called through this action, can now
use the variables that are declared in the main robot.
· Display Input Dialog (Message Boxes category): This action can now prompt the user
for a password, and accept multiple lines as input.
· Display Select from List Dialog (Message Boxes category): You can now allow the
user to select multiple items and disallow the empty selection.
· Get Files in Folder (Files category): Allows you to sort the files that you retrieve
based on specific attributes (e.g Size, Last Modified etc)
· Get SubFolders in Folder (Folders category): Allows you to sort the folders that you
retrieve based on specific attributes (e.g Creation Time, Last Modified etc)
· Download File(s) from FTP (FTP category): Allows you to select "Auto" as a transfer
type.
· Upload File(s) to FTP (FTP category): Allows you to select "Auto" as a transfer type.
· Open FTP Connection (FTP category): You can now use use a variable as password
We Talk Automation
Softomotive offers sharp business solutions, premium support and the kind of professional services
you truly deserve.
The company is one of the leading worldwide providers of Robotic Process Automation products and
services, trusted by more than 6.000 companies worldwide.
With 10 years in the software automation market, Softomotive offers the most reliable and scalable
RPA solutions, bridging the gap between state-of-the-art technology and unparalleled ease of use.
Our automation solutions are proven to deliver operational efficiency, reduce costs and empower
brands.
· If you are experiencing any problems with WinAutomation please feel free to contact us at:
Email: info@softomotive.com
Our Offices:
United Kingdom
2 Eastbourne Terrace
WeWork Paddington
USA
700 Milam St, Ste 1300
© 2018 Softomotive
Greece
103 Kallirois St
India
Bellandur 560103
http://www.winautomation.com/purchase/
2. Getting Started
2 Getting Started
2.1 Create a simple Robot - Part 1
We'll start with an overly simple example. In fact, it will be useless as it is not
automatic, nor is it faster than just doing the robot manually - you'll write a two-step
Robot that will create a Folder named TestFolder on drive C:, and then tell you that it
did that. You want it easy to start, so you'll also set up a Trigger so that it will run
when you enter a Hotkey. This Robot is an introductory statement; it is easier to do
without WinAutomation, but it will demonstrate how to get started, and use some key
features.
Now you know what you want to do, and you know that the Actions can do this
easily. A flowchart would look like: Create Folder and name it TestFolder; put up a
message to show it's done. So step one is to create the Robot. Click on New Robot:
and type in "Create New Folder" for the name of the new robot. Click on the "Robot
Designer" icon to open the new Robot in the Designer Window and start building it.
Getting Started 57
Now to write the actual Robot in two steps. First, open the Action category of Folders,
and drag the Action Create Folder and drop it to the Action Sequence. You could also
double-click on the Action Create Folder.
This opens the Create Folder property Window, and we enter a location ( C:\ ) and a
name ( "TestFolder" ) in the fields.
© 2018 Softomotive
You won't need to store the Folder for later, so ignore the Action output for now. Push
OK, and the properties Window closes.
For the second step, open the Action category of Message Boxes and Drag and Drop
the Action Display Message.
Getting Started 59
In that property Window, enter a Title ( "My First Robot" ) and a Message ( "Folder
"TestFolder" has been created!" ) and then close the box.
© 2018 Softomotive
And done! Run the Robot from the Robot Designer Window to make sure everything
works as expected. The windows change as the Robot runs, and then a Message Box
appears with, "Folder "TestFolder" has been created!". There is also a new folder at C:
\TestFolder, so the Robot is now complete.
Getting Started 61
Close the Robot Designer Window and save the Robot. Congratulations - you have
created your first Robot!
First, of course, create, name, and open the new Robot. The first Action is to Get
Current DateTime under the category DateTime Actions.
Once we've Dragged and Dropped this Action, we want to retrieve the information to a
Variable called "%CurrentDateTime%". This allows us to access the information later in
the Robot.
© 2018 Softomotive
As you'll learn in Data Types, a DateTime value is not text, although it be used as
such. But since a DateTime can be represented in many ways, to get it in the format
that you prefer you'll have to convert the DateTime value to text with Convert
DateTime to Text, under the category Text Actions.
Getting Started 63
In the Convert DateTime to Text property box, you will select the Variable you created
in the last Action, "%CurrentDateTime%". For the Format to Use, choose Custom and
look at how DateTimes are expressed: yyyy-MM-dd gives four digits for the year, two
for the month, and two for the day - experiment here to see how different formats
look - time is often hh:mm:ss). In this case enter yyyyMMdd-hhmmss to create a
sortable representation of the current date and time
© 2018 Softomotive
The output will be "%FormattedDateTime%" - now as text.
The final two Actions are the same as Example 1. You will Create a Folder with name
"%FormattedDateTime%", and store the output to "%NewFolder%" and then Display a
Message with a title, "New Folder Created" and the message,
"Folder:
%NewFolder%
© 2018 Softomotive
Again, run the Robot to test it, and see that things work the way they should. If
everything works well, exit and save the Robot.
Click on the Triggers Tab and select "New". Form the Available Triggers select "Hotkey
Monitor Trigger" and select the hotkey you want, on the window that will popup:
Getting Started 67
The next dialog that open "Assign Robot to Trigger" lists all the Robots that you have
created. You can choose the Robot that you want to attach the trigger to.
© 2018 Softomotive
The newly created Trigger is now listed in the Triggers main pane.
Getting Started 69
Now try it out. When you press Ctrl-B, the Robot will run, you will get a folder with the
current date and time as the name and a Message that it was created. Press Ctrl-B
again, and you will get another folder with a different time, if only by a few seconds.
Apart from the Triggers you also have the option to attache a Schedule to a your
Robot. For this, you would have to click on the "Scheduler" tab, click on "New" select
the "Schedule".
© 2018 Softomotive
Enter a Custom Description and then choose a frequency and time to run the Robot,
for example Daily at 3 p.m.
Decide whether you want the Robot to run immediately or be skipped for the day if the
Robot is delayed (for example the computer wasn't on), and choose an expiration date
if you want one. We'll accept the default on both of these. Again the "Assign Robot to
Schedule" dialog will appear to select the Robot to which the Schedule will be
attached.
Now you have a Trigger and a Schedule attached to your Robot. This way the Robot
will run automatically every day at 3:00pm OR when you press Control-B.
3. Using WinAutomation
3 Using WinAutomation
3.1 The Console
The Console is the first Window you see when you start up WinAutomation. From here,
you will access all other parts of the program. This is where you perform most of your
tasks other than building or editing a Robot.
1 - Robots Tab 73
2 - Triggers Tab 83
3 - Scheduler Tab 98
6 - Folders Pane: In this pane you are able to view your Robots folders structure.
7 - Robots Pane: In this pane you can see all the Robots that are saved in a specific
folder. You can click on a folder in the Robots' Folder pane and all its Robots will be listed in
the Robot's pane.
Using WinAutomation 73
3.1.1 Robots
In the Robots Tab in the WinAutomation console you will find all the options to manage
your Robots, explained in detail in the topics below.
1. Create:
In the Create group you can create a New Robot 75 , create a new folder 74 to save your
Robots in, Import/Export a Robot 77 a Robot in/out the console.
2. Edit:
In the Edit group you can Edit a Robot in the Robot Designer by clicking on the "Robot
Designer" option, view its Properties 122 , delete a Robot, Select all Robots in the folder that
you are currently in, Rename/Cut/Copy/Paste a Robot and Enable or Disable 81 it.
3. Execution:
In the Execution group you can Execute-Run-Start 79 a Robot from the Console and Stop it
at any time before its completion.
© 2018 Softomotive
4. Compiler (Available with the Professional and Professional Plus Editions. N/A
to the Basic Edition):
With the Professional edition you are able to create stand alone executable files 130 that
can run on any machine.
5. Find (Available with the Professional and Professional Plus Editions. N/A to
the Basic Edition):
In the Find group you can search for your robots.
The new folder will be created as a subfolder, under the folder which is selected in the
Folders List. It will always be a subfolder of whatever folder you have selected on the
left screen. Therefore you cannot create another folder at the same level as 'My
Robots', as you cannot select a higher folder to place the new one in.
You can also drag and drop a folders into another folder in the Folders' list pane.
Of course, you cannot have two folders with the same name under the same folder.
on the Robots tab. This will open the "Create New Robot" Dialog, prompting for a
name for the new Robot.
© 2018 Softomotive
After setting the Robot's name you have three options.
1. the Robot Designer and start building your Robot by combining actions,
2. you can jump to the Macro Recorder to record your mouse clicks and keystrokes
and then go back to the Robot Designer, or
3. finally you can open the Web Recorder and start navigating in a browser window
where all your web activities will be recorded and converted into action when you
finish the recording and return to the Robot Designer.
Note that you can always enter the Robot Designer and access the Recording tools
(Macro Recorder and Web Recorder) from within the Robot Designer's window. The
tools are available in the Robot Designer's toolbar and under the "Tools" menu.
Using WinAutomation 77
To re-edit a Robot later, double-click on it, or select it and click on the "Robot
Designer" button on the Robots tab or right click on the Robot and select Edit
Robot.
Simply select the folder you want to move and drop it in the destination folder, in the
Folders' List pane. If you want to move a Robot, click on it in the Robots List pane and
drag it to the proper folder.
This file may be moved to another computer with WinAutomation and then imported
into its database. Now the new computer will also have a copy of the Robot. This is
done through Import Robot and Export Robot on the Robots tab.
© 2018 Softomotive
Import a Robot:
To import a Robot within your WinAutomation Console, please do launch the
WinAutomation Console, and from the Robots tab in the Create menu, please do select
the "Import Rob" option. Having done so, a dialog will appear and prompt you to select
the Robot's file you wish to import (*.waj)
Once the file has been selected and you have press the "Open" button the dialog
window will close and within the WinAutomation Console, in the Robots panel you shall
see the Robot you selected to import.
Export Robot:
To export a Robot, locate the Robot you wish to export and from the Robots List pane
and select the "Export Robot" option in the Create menu group. Having done so, a
dialog will appear and prompt you to select the folder where the Robot should be
exported to.
Once the folder has been selected and you press the "OK" button in the dialog, the
dialog window will close and within the folder you selected a new file will be created
named after the Robot's name and with a *.waj extension.
Using WinAutomation 79
If you start a Robot that is already running, by default you will start another Instance
of that Robot. If you do not wish a Robot to be able to run multiple instances
concurrently, you can specify that through the Concurrency Policy 128 tab (available in
the Professional edition only) of the Robot Properties Dialog for that Robot.
You can stop a running Robot by clicking on the Stop Icon in the Robots tab, or by
right-clicking on the Robot and choosing Stop Robot.
You can also stop one instance of a running Robot by clicking on the Stop Robots link
found on the Notification Popup Window 79 , though this will close only that instance of
the Robot.
Finally, you can close all running Robots simultaneously by entering Ctrl-Alt-T. This
HotKey is a predefined Trigger that is especially useful if WinAutomation is controlling
your mouse so you can't click on anything, a "panic button," so to speak. You can
change this combination in the "Options tab > General".
© 2018 Softomotive
run a Robot from within the Robot Designer, as this is considered debugging, not
running.
The Notification Window displays the status of the Robot (Running or Completed),
which Action is currently being executed, the total running time, and a small link which
says "Stop Robot" (and stops that instance of this Robot only).
You can also display custom messages through the Notification Window, using the
Display Notification Action 392 under Message Boxes. This is a great way to write
messages to the user without pausing the Robot for a standard Message Box. Enter
the text (and/or Variable value) you want to display. As you go through the Robot,
you can change the message with further use of the Display Notification Action, and
using an empty message will remove the message you had previously displayed.
Additional Notification Windows will pop-up above the previous one, so if you run
several Robots simultaneously, the Windows will form a column.
Although the Notification Popup Windows provides you with information about the
Robots currently running, if they are distracting, you can disable this feature through
the Options tab > General 123 as shown in the picture below:
Using WinAutomation 81
You can close any open Window at any time by clicking on the red ( ) button on the
top right corner of the Window. This will hide only the Notification Window, while the
Robot instance continues to run. To stop the Robot itself, click on the "Stop Robot"
link in the Notification Window.
You can enable or disable a Robot by selecting it and choosing Enable Robot or Disable
Robot on the Robots Tab.
If you disable a Robot, the text will appear in a lighter, grayed-out color:
Using the Find option, you can search for a robot by its name and select it within all
the folders of your database.
© 2018 Softomotive
3.1.2 Triggers
3.1.2.1 What Triggers Are
Triggers, help you to run a WinAutomation Robot automatically without your
interference. For example, if you want something to happen when a system is down,
when a file is created, when a service is starting/stopping or when you press a key
combination, this is the way to set it up. Triggers work whenever they are set to,
even if there is no user logged onto the computer at that time.
For Triggers (and Schedules) 97 to work, the WinAutomation Services must be running
in the background, constantly checking and starting Robots if a Trigger is set off. As
Using WinAutomation 83
long as they are running, WinAutomation Triggers will function normally. If you right-
click on the Agent in the System Tray 281 and choose Exit WinAutomation, you will
disable all Triggers and close all functionality of WinAutomation until you run the
program again. This is different from the Console, so Triggers will still function normally
if the Console has been closed.
Triggers can be disabled universally from the Triggers tab after selecting "Select All"
and "Disable Triggers". This means that no Triggers will work until you change this
setting. If you want to disable the Triggers for one Robot without deleting the
Triggers, right-click on the Robot and choose Disable Robot. Now this Robot will not
run, manually or through Triggers, until you Enable the Robot again
You can find all Trigger Variables and their descriptions through Tools -> Variables
Manager in the Robot Designer Window.
You can assign a Trigger to a Robot 85 by clicking on the "New" option in the Create
menu group.
© 2018 Softomotive
In the Edit menu group you can:
Edit the trigger of a Robot: Select the trigger that you want to edit from the Triggers
list in the pane below, click on edit and modify the Trigger.
Reassign a Trigger to a Robot: Select a trigger from the Trigger list pane and then
click on the "Reassign" option. This will pop-up a dialog, so that you will choose the
Robot on which you want to reassign the Trigger.
Copy/Paste/Delete Trigger: Select a trigger from the Trigger list pane and
copy/paste it. Once you select the paste option the "Assign Trigger to Robot Window"
will pop-up, prompting you to select the Robot to which you want to Paste the Trigger
to. To Delete a Trigger simply select it from the Triggers list pane and click on the
delete option.
Select All: This options allows you to select all the triggers in the Trigger list pane.
Go to Robot: Clicking on this option, after selecting a Trigger from the Trigger list
pane, you get you directly to the Robots tab highlighting the Robot.
Collapse All Groups: It will collapse the details of all the Trigger groups in the Trigger
list pane.
Enable/Disable Trigger: Click on a Trigger in the Trigger list pane and choose
whether you want to Enable or Disable it. By Disabling a Trigger it will no longer fire the
Robot until you Enable it again. You can also disable a Trigger for a Robot if you right
click on it and select "Disable Robot".
Using WinAutomation 85
In the Trigger list pane you can see the type of the Triggers, the Description, The
Robot name that they are assigned to and they are Enabled or not.
To create a Trigger and attach it to an existing Robot, click on the "Triggers" tab and
in the Create menu group select "New". In the menu that pops up will have to choose
the type of the Trigger that you want to attach to a Robot.
All the Trigger Types are described in detail in the "Trigger Types" topic:
· Hotkey Trigger 92
· Ping Trigger 94
© 2018 Softomotive
· Process Monitor Trigger 96
After selecting and configuring the Trigger you wish, a Dialog pops up where you are
prompted to select the Robot to which you will attach the trigger.
Using WinAutomation 87
The Email Monitor Trigger periodically checks an email account and executes a Robot
when an email that satisfies the specified criteria arrives.
© 2018 Softomotive
Custom Description
Add a custom description to the trigger which will be shown in the Triggers tab under
"Description"
Therefore, in order set a Email Monitor Trigger, it is necessary that you enter the IMAP
Server Connection properties, consisting of:
· the IMAP Server property, where you enter the IMAP Server address (e.g.
imap.gmail.com).
· the Port, where you specify the communication port, with the most commonly
used Server Port for IMAP being 993. However some IMAP Servers may require to
specify different Port in order to perform properly.
· whether SSL should be enabled, so that communication with the client could be
performed over a secure connection (as required by some email servers),
· User Name, where you enter the username of the e-mail account you want to
access
· Password, where you enter your email account’s password
In order to restrict the type emails that will fire the trigger you should enter specific
values in the appropriate fields defining that you want to check:
Of course you may enter your preferences for more than one of the above properties
and combine trigger firing criteria.
Note that the Email Monitor Trigger will only check for the specified email types and
not retrieve them from the email server (where they will consequently remain marked
as “unread”).
So, if in the Robot that is executed by the trigger you need to process the email(s)
that caused the Robot to run, you should use the Retrieve Emails 560 and the Process
Emails 569 actions.
The Windows Event Log is a Log that many programs write to when they start, stop,
and/or fail. If you wish to monitor your Windows Event Log for some action, this is how
you do it.
Custom Description:
A custom description that you want to set for this Trigger.
You will be able to choose which Log you want to watch, and what type of Event to
watch for (Information, Error, Warning, Audit Success, Audit Failure, or all of them).
You can also choose the Event ID (an ID associated to a specific event) or the Event
Source (a name chosen by the application, not necessarily its executable name - you
will have to look through the Logs to find this possibly).
© 2018 Softomotive
The Event Log Monitor Trigger, when fired, assigns values to five Trigger Variables that
are made available to the Robot:
%EventTriggerEventLogName% which will contain the name of the Log where the
event was created,
%EventTriggerEventID% which will contain the Event ID of the event that was
created,
%EventTriggerEventType% which will contain the type of the event that was
created,
%EventTriggerEventSource% which will contain the source of the event that was
created, and
As you can have as many Triggers as you want attached to the same Robot, this
would allow you to know which Event fired the Robot. You can access this information
through Actions using those Variables.
Using WinAutomation 91
The File Monitor Trigger, when fired, assigns values to four Trigger Variables that are
made available to the Robot:
%FileTriggerFileName% which will contain the name of the file that fired the
Trigger,
%FileTriggerOldFileName% which will contain the original name of the file if it has
been renamed,
%FileTriggerFilePath% which will contain the complete path (along with the
filename) of the file. Note that this value is a File object meaning that has the
© 2018 Softomotive
properties 256 of every file object. For example you can retrieve the size of the file that
triggered the Robot by specifying: %FileTriggerFilePath.Size%
and
You can create Actions in the Robot to show this information, for example you can
create a Robot Trigger that fires when an executable file in the Windows directory
(with subfolders) is changed, and the Robot then puts up a Message Box informing you
of what happened.
The proper method for monitoring such shares, is not to mount them locally on your
computer and monitor them using the folder-paths you've assigned to them, but
monitoring them directly with paths such as the one shown above.
Also you have to make sure that the WinAutomation.MachineAgent is running with the
user's credentials who has access to the monitored folders.
One HotKey can fire multiple Robots. This means that you could set up three different
Robots, all with the HotKey Alt-F7, and at a press of the HotKey, all three would fire
together and run at the same time.
Using WinAutomation 93
On a related note, if you use a HotKey from another program there could be some
interaction. WinAutomation usually notes HotKeys first, and marks them as satisfied.
So, for example, if you set Ctrl-C to be a HotKey, then you can no longer use
Window's Copy HotKey function - Ctrl-C will fire the Robot and be satisfied, so
Windows won't see it. Other programs could have varying interaction, depending on
how they were written, so be ready to change a HotKey if you find your computer
responding different than you anticipated.
© 2018 Softomotive
This Trigger will not fire if no user is logged in.
This Trigger will 'Ping' a host (usually an IP address or a URL) at the interval you set. If
the host does not respond within the timeout you set, this registers as a failed Ping
attempt, and Triggers the Robot.
Once the host fails to respond and Triggers the Robot, subsequent failures will not fire
the Robot again until a Ping attempt is successful. Thus, for example, if the host
responds 5 times, then fails 3 times, then responds once and fails again, this Trigger
will fire after the 6th attempt (first failure) and after the 10th attempt (first failure
after a new success).
Using WinAutomation 95
The Ping Trigger, when fired, assigns values to a Trigger Variable that is made available
to the Robot:
%PingTriggerHostName%, which will be filled with the name of the host that failed
to respond.
As you can have as many Triggers as you want attached to the same Robot, this
would allow you to know which Ping Trigger fired the Robot, and thus which host went
down. You can access this information through Actions using this Variable.
The Service Monitor Trigger fires when the state of a specific Windows Service
changes. Enter or choose a Service that exists on your computer, and select for it to
Trigger when that Service starts, pauses, or terminates.
© 2018 Softomotive
The Service Trigger, when fired, assigns values to two Trigger Variables that are made
available to the Robot:
As you can have as many Triggers as you want attached to the same Robot, this
would allow you to know which Service Trigger fired the Robot, and why.
This Trigger monitors a certain process and fires when this process starts or
terminates. Enter or choose a Process that exists on your computer, and select for it
to Trigger when that Process starts or terminates.
Using WinAutomation 97
The Process Trigger, when fired, assigns values to two Trigger Variables that are made
available to the Robot:
As you can have as many Triggers as you want attached to the same Robot, this
would allow you to know which Process Trigger fired the Robot, and why. You can
access this information through Actions using those Variables.
3.1.3 Scheduler
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)
A Schedule can be set for a Robot in order to run it at specific days/times or keep
running it using a recurring Schedule.
If you right-click on the Agent in the System Tray 281 and choose Exit WinAutomation,
you will disable all Triggers and Schedules and close all functionality of WinAutomation
© 2018 Softomotive
until you run the program again. This is different from the Console, so Schedules will
still run normally if the Console alone has been closed.
Schedules, like Triggers, can be disabled universally from the Schedulers tab after
selecting "Select All" and "Disable Schedule(s)". This means that no Robot will run on
its Schedule, until you change this setting. If you want to disable the Schedule for one
Robot without deleting it, right-click on the Robot and choose Disable Robot. Now this
Robot will not run, manually or on its Schedule, until you Enable it again.
In the Scheduler tab you can run Robots on a Schedule using the "Schedule" and the
"Recurring Schedule".
If you click on "New" in the Create group, you can choose which Schedule to assign to
a Robot.
Once you have assigned a Schedule to a Robot, then you are able from the "Edit" menu
group to:
Using WinAutomation 99
The main pane will show the Schedule type the description of the Schedule which is your
the Custom Description that you have typed once you have set the Schedule, the Robot
Name, and whether the Schedule is Enabled or not.
3.1.3.2 Schedule
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)
Attaching a Schedule allows you to set times for the Robot to run.
Custom Description:
© 2018 Softomotive
Schedule Type:
Once you are on the Schedule Properties, you can choose to have the Robot fire Daily,
Weekly, Monthly, or on Specific Dates. Each choice brings up several other choices,
and those must be fully filled in to work. The last Working Day of Month is the last
weekday, as a computer doesn't know the local holidays.
If Robot is late:
The next choice is what to do if Robot is Late. You can choose to have the Robot run
immediately (usually on start-up, and this is a good way to have a Robot fire once at
the beginning of each day or whenever your computer is turned on), or to skip that
firing of the Robot.
Finally, if you choose to have the Schedule Expire, after the date you enter the
Schedule will still be there, but will not fire a Robot when the Schedule comes up.
Using WinAutomation 101
If a Schedule is attached to a Robot then the date/time for the next run of the Robot
is displayed in the Next Scheduled Run column in the WinAutomation console on the
Robots Tab.
A Recurring Schedule repeats at the given frequency. Once you have set this
schedule, the Robot will fire after that interval, so if you set a Recurring Schedule for
10 minutes, for example, it will fire for the first time 10 minutes after this schedule is
set, and every 10 minutes after that until you change it.
If a Recurring Schedule is attached to a Robot then the date/time for the next run of
the Robot is displayed in the Next Scheduled Run column in the WinAutomation Console
in the Robots Tab.
3.1.4 Logs
3.1.4.1 Logging in WinAutomation
In WinAutomation, all the Robots that run through the Console are logged into a
central log file for review. You can look at the history of any or all Robots in this way.
The events that are logged are:
© 2018 Softomotive
trigger fires, Robot starts, Robot stops, reason for stopping (and what error, at which
step).
To view the Logs for a Robot you can either right click on it and select "Show Logs for
Robot(s)" or hit Ctrl+L, or you can select it in the Select Robots pane in the Logs tab.
When you want to see older Logs, or more details, simply set the options as per the
Logs Tab 102 description.
If WinAutomation itself encounters an error or bug, it is also logged into the log
database as an "Internal Exception". Open the Logs Window and review the error Log.
If you don't know what to do, WinAutomation tech support can use this information to
aid you quickly and efficiently.
The Archive Option in the Logs Tab opens another Window that allows you to archive
the log older than a specific date and save them in a .dat file in a location that you will
choose. Choose the date prior to which you wish to archive the logs and press OK.
A Robot can record a custom log entry through the "Log Message 644 " action. These
events are recorded both when the robot runs through the Console and the Robot
Designer
1. Event Types (Available with the Professional and Professional Plus Editions.
N/A to the Basic Edition):
From Event types group you can specify if you wish to display the "Info" and/or the
"Warning" and/or the "Error" messages for the selected Robots.
Error: Happen mostly when a Robot fails to run successfully and produces an error.
Warnings: Are expected problems like trying to run a Robot that has known errors.
Info: Lets you know when a Robot run and completed or when a Trigger or Schedule is
fired.
2. Date Range (Available with the Professional and Professional Plus Editions.
N/A to the Basic Edition):
The Date Range option allows you to select the dates whose logs interests you, for
the selected Robot(s).
3. Maintenance.
The Archive option, opens another Window that allows you to archive logs older than a
specific date and save them in a .dat file, in a location that you will choose. Having
done so, those logs will be deleted from the "Logs.dat" file. Choose the date prior to
which you wish to archive the logs and press OK.
© 2018 Softomotive
In the Details pane you can see:
Once you have specified all Types and the Date Range, the Robots that match your
filter will be listed. This information will include the Type, the Source, a Message and a
Date-Time.
Selecting a Message will display the Details of that Log event. Most Info or Warning
events will only repeat the Message here, as there is no more useful information. In
the event of an Error, the Additional Details box will contain all appropriate information
to help solve the problem. As this area is highly technical, use this information if you
need to contact Technical Support.
If you want to limit the log messages for preview, you can use the Event Type group
menu to select the type of the event you wish to display (Info, Warning or Error).
You can also select the Date or Date Range from which you want to retrieve the Event
Types, as also described in the Logs Tab 102 .
You can select the Robot(s) for which you want to see the logs in the select Robots
pane by checking the corresponding checkbox(es).
Using WinAutomation 105
You can view the Logs of a specific Robot by right-clicking on the Robot, and selecting
Show Logs For Robot(s). This will take you to the Logs menu Tab, with the Filters for
today and the selected Robot are already chosen for you. Thus, this is a short-cut to
a filtered Log search for the Robot you chose.
© 2018 Softomotive
Using WinAutomation 107
If you want to delete older events and keep in the log only the recent and relevant
events you may do so through the "Archive" option in the "Maintenance" group of the
Logs tab.
The Archive option opens another Window that allows you to archive logs older than a
specific date and save them in a .dat file, in a location that you will choose. Having
done so, those logs will be deleted from the "Logs.dat" file. Choose the date prior to
which you wish to archive the logs and press OK.
This dialog allows you to delete all events that have been logged within a specific date
range.
It also gives you the option to archive the events before deleting them. To do so, you
need to check the "Archive Events before delete" checkbox and specify a file path in
the following textbox. This way a file will be created that will contain all the events
that have been deleted from the main WinAutomation log.
3.1.5 Options
WinAutomation Options are accessed by clicking on the Option Tab in the console
Menu.
1. General
2. License
3. FTP
4. Email/SMTP
© 2018 Softomotive
5. Addons
6. Autologin
7. Error Handling
1. The location of the Robots and Logs database. All you Robots file will be kept
there. This can be useful if you wish to have two Robots databases, or if you want to
move one or both of the databases. Simply copy the database file using Windows
Explorer and then re-assign the location of the database.
By default the platform places its Robots File (Robots.dat) into your "Documents"
Folder inside the sub-folder "WinAutomation". Typically the full path looks something
like:"C:\Users\...your username...
\Documents\WinAutomation\Robots.dat"
If the platform can't access the aforementioned path (insufficient permissions etc)
then "Robots.dat" will be placed by default into:"%LOCALAPPDATA%
\Softomotive\WinAutomation\Robots.dat"
The AppData folder is usually hidden so you might need to change the folder view
setting on your machine to access it. If %LOCALAPPDATA% proves to be inaccessible
as well, then "Robots.dat", as well as the "Settings.dat" and the rest of the
configuration files and folders created by the platform will be stored
into:"%ProgramData%\Softomotive\WinAutomation\...user Sid...\"
2. If the Triggers and Schedules are enabled or not, for ALL your Robots.
3. If you want the console to remember the Windows Size and Layout every time you
re-open a window.
5. Your own Hotkey to stop all running Robots from the keyboard. "Control+Alt+T" is
the default Hotkey. Feel free to change it.
In the License Tab you can view your License info. It shows all the details of your
registered license.
© 2018 Softomotive
Options > License
- Machine is connected to the internet: You can enter a License key in your
WinAutomation console by clicking on the "Enter License Key" button (in case you are
trialing WinAutomation) or the "Change License Key" (if you want to enter a different
License Key).
Enter your license key to the relative field and press the "OK" button as shown below.
Using WinAutomation 111
- Machine is NOT connected to the internet: Click on the Enter License Key option
and the window "WinAutomation Licensing Server Unreachable-Install License Manually"
will popup.
Click on the "Copy link" button and paste it on an internet browser on a machine that
is connected to the Internet. Having done so, copy the License string that the page
will provide to you; paste it in the relative field of the WinAutomation licensing window
and hit "OK".
© 2018 Softomotive
Offline License key
- You can either deregister a machine from its license key from the WinAutomation
console by navigating to Options > License > Deregister Machine, as shown in the
screenshot above,
-Or login to the User Area using the email under which your purchase was made and
click on the "Unassing license" option.
When downloading or uploading files (using the Download File(s) from FTP 545 and
Upload File(s) to FTP 548 actions) you can specify the transfer type to be ASCII,
BINARY or AUTO. If you select AUTO, WinAutomation will use this list to decide
whether the file will be transferred in ASCII or binary mode. This list is also used by the
Download Folder(s) from FTP 546 and Upload Folder(s) to FTP 549 actions for deciding
how to transfer the files contained into the folders.
© 2018 Softomotive
3.1.5.4 Email/SMTP Tab
This can be useful depending on your settings for Error Handling tab 117 . If you specify
to send an email on the unsuccessful execution of a Robot, you will need to put details
here.
Username, password might be needed and you must specify the Server and the Port.
You can open the WinAutomation Add-on Manager through "Options > Ad-dons" tab in the
console.
Using WinAutomation 115
In the central pane you will see the Ad-dons that are installed.
1. "Browse All Available Add-ons" .If you select to “Browse All Available Add-ons”, a new
browser window will open and you will be redirected to the “Add-ons” section of the
WinAutomation.com website. There you can search the collection of Add-ons that are
available and download the ones that you need
2. "Uninstall Add-ons". You can uninstall any Add-on that you no longer need, just by
selecting it in the list of installed add-ons and clicking on the “Uninstall Selected Add-on”
button. Note here that when you uninstall an add-on, any robots that contain actions from
that add-on will not work anymore. This does not apply to compiled Robots that are
independent but only to Robots that run within WinAutomation.
3. "Install New Add-ons". After you have downloaded an Add-on, you can install it by pressing
the “Install new Add-on” button and selecting the .wao file that you downloaded.
© 2018 Softomotive
3.1.5.6 Authentication Tab
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)
In the Login Password field you may enter your password which unlocks your account.
Please, note that for the Standard edition this password will be used for running
Robots in non interactive mode, when the user is logged out or when the
machine is locked.
Note: In order to run Robots in non-interactive mode, and the Robots include
WebAutomation or Excel related actions, then in order for the Robots to run with no issue,
you would have to follow the screenshots below:
Open the "Local Group Policy Editor" by typing "gpedit.msc" in the Run window. In that
window select "Log on as a batch job" from the tree as shown in the screenshot below,
and add the user who is running WinAutomation:
Using WinAutomation 117
If a Robot fails to execute successfully, you can specify what will happen here in the
Options > Error Handling tab. You can choose one of the following:
3. Write (append) to a text file that you specify. The Event will be written at the end,
so you can keep a running log of Robot failures.
4. Record to the Windows Applications Event Log. You can view the Windows Event
Logs through Control Panel -> Administrative Tools -> Event Viewer.
© 2018 Softomotive
Options > Error Handling
In any case, the execution of any Robot along with the result of the execution will
always be recorder into the WinAutomation Log 102 .
Robots are stored collectively in one database file (Robots.dat), which by default is
stored in a specific location. This location is:
1. Compact Database: By clicking on this option you are able to compact the Robots
Database and reduce its size.
2. Backup Database: By clicking on this option you are able to create a copy of your
Robots Database to another location. WinAutomation does not 'protect' its database
Using WinAutomation 119
It is strongly suggested that you Backup your Robots.dat frequently to avoid any
unfortunate situations.
or...
© 2018 Softomotive
Clicking on the "Show Status Monitor" the Status Monitor Window will appear.
· All the running Robots will be listed. You can expand each running Robot to display
more information for it like Instance id, Start Time, Cause of running (manual or
trigger invocation).
· Next to the Robots name you will see how many instances are currently running and
how many are Queued.
· At the left bottom of the window the overall number of Running Robots and Queued
Robots will be shown.
Form the Status Monitor Window you will be able to Stop all Running Robots or click on
a Robot (or on more than one Robots, holding the Ctrl key down) and force them to
Stop running.
© 2018 Softomotive
3.2 Robot Properties
You can open the Robot Properties Dialog for a certain Robot:
· by clicking on the Properties button on the Robots tab in the Edit group menu or
· by right-clicking on the Robot and choosing Edit Robot Properties.
This brings up the Robot Properties Dialog, on the first tab - General 123 .
Using WinAutomation 123
3.2.1 General
1. Description: Enter a description and notes, which is mostly used for documentation
purposes. If you need to remember something about the Robot, or tell someone else
about it, write it here.
2. Use a Secure Screen (Available with the Professional and Professional Plus
Editions. N/A to the Basic Edition): If you check this option, the screen will turn blue
upon running the Robot and no one will be able to see what the Robot does. The only
visible window will be the Notification Window.
© 2018 Softomotive
Using Secure Screen
To remove the password from a Robot, you should again navigate to its properties and
uncheck the "Encrypted & Password Protected" option, at which point you will be
prompted to enter the password again to complete the procedure.
Using WinAutomation 125
ATTENTION: The password will not be stored and it cannot be retrieved, therefore, DO
remember it, otherwise you will not be able to edit the Robot in the future.
4. Max allowed running time (Available with the Professional and Professional
Plus Editions. N/A to the Basic Edition): A maximum running time (in minutes) can be
set in this option, in order to stop the Robot after that time has passed. This helps you
stop Robots that you are certain they should not run after a predefined period of
time.
© 2018 Softomotive
3.2.2 Run Policy
The second tab in the Robots Properties is the "Run Policy" tab (Available with the
Professional and Professional Plus Editions. N/A to the Basic Edition).
1. What should the Robot do if you are logged in on the machine but the
workstation is locked.
· "Unlock&Start Robot": WinAutomation will unlock the workstation using the Password
that you have entered in the Options > Autologin tab 116 .
· "Start Robot Without Unlocking": The Robt will start without unlocking the
workstation, however, note that no interactive action can run in this case.
Using WinAutomation 127
Interactive means that the Robot interacts with input/output system (the desktop).
So if a Robot has keystrokes, mouse movement, or shows up on the screen, it is
interactive and needs to run as the logged-in user and not in a locked workstation.
Copying/creating/renaming/deleting files, ftp, sending email, etc. is not interactive and
can run even if the workstation is locked.
· "Don't Start Robot" : The Robot will not start at all if the workstation is locked.
· "Login and start Robot": WinAutomation will log you in using the Password that you
have entered in the Options > Autologin tab 116 and start the Robot.
· "Start Robot in Non-Interactive Mode": The Robot will start but in Non-Interactive
Mode. Interactive actions will not be able to run in this case and the Robot will fail, if
it contains any.
· "Start Robot in Non-Interactive Mode": The Robot will start, but in Non-Interactive
Mode. Interactive actions will not be able to run in this case and the Robot will fail if
it contains any.
After the completion of the Robot you can check the option to restore workstation to
the Logged out/Locked state it was initially.
© 2018 Softomotive
3.2.3 Concurrency Policy
The third tab in the Robots Properties is the "Concurrency Policy" tab (Available with
the Professional and Professional Plus Editions. N/A to the Basic Edition), where
you can:
1. Limit the number or Robot instances that can run at the same time and set the
maximum instances number.
3. Set the minutes for an Robot instance to wait before being rejected.
Using WinAutomation 129
You can choose to use the same default policies you set in Options Tab -> Error
Handling in the Robot Designer, or select new ones for this specific Robot here. If you
wish to choose a new specific policy for this Robot, choose from the following which
will replace the Error Handling Tab 117 general settings:
3. Write (append) to a text file that you specify. The Event will be written at the end,
so you can keep a running log of Robot failures.
4. Record the event to the Windows Applications Event Log. You can view the
Windows Event Logs through Control Panel -> Administration -> View Event Log.
© 2018 Softomotive
3.3 Generate EXE
3.3.1 What is a compiled Robot
A WinAutomation Robot is a representation of a task that instructs WinAutomation
what actions need to be performed for the task to complete. It is not an independent
entity and in order to execute a Robot you need to have WinAutomation installed on
your computer.
To compile a Robot, highlight it, and click the Generate EXE button on the Robots
tab in the Compiler menu.
Once you click on the "Generate Exe" option in the Robots Tab 73 the Compile Robot
dialog will appear:
This dialog contains a tab control on the left that allows you to navigate through its
four sections.
In the first section (Name & Type) you may specify the name of the resulting
executable file as well as the folder under which it will be stored. By default the name
will be the name of the Robot and will be generated on the user's desktop.
© 2018 Softomotive
Next you may specify whether you want to generate a Windows application or a
command line application. The latter is mostly used for converting a Robot into a
command line tool and the most important difference is that in command line
applications the "Display Notification 392 " action will write its text in the command line
output window.
In this section you can specify the name of your company, the version and a copyright
notice. This info will be embedded into the generated application for documentation
purposes only, meaning that they will not affect in any way the actual behavior of the
Robot.
You can also specify a custom icon for your application, which must be in the format
of an ICO file. If you leave this field empty, the default WinAutomation icon will be
used.
Using WinAutomation 133
In this section you can specify the behavior of the application if an error (unhandled
exception) occurs. The available option depends on whether you have chosen to
create a Windows Application or a Command Line Application (see section 1). In the
former case you may choose whether you want a pop-up dialog to appear containing
the error, while in the latter case (command line application) you may choose whether
you want the error message to be written in the command line output window.
Note that a compiled Robot that ends with an error will always return an Exit Code = 1.
This is useful if you intend to run the generated application from another application or
a batch file, in which case the caller application (or batch file) will be able to tell
whether the compiled Robot completed its execution successfully or not.
© 2018 Softomotive
Section 4: Misc Options
In this section you may specify some additional settings for the application you are
about to generate.
The first option is whether you want your Robot to run as a single instance. By
selecting this option, while a Robot is running it will not start again on the same
computer even if you double click on it. This way you can make sure that only one
instance of the Robot is running on your computer at any time.
The second option is whether you want your application to display the Notification
window 79 on the bottom right corner of the screen, just like a Robot running from
within WinAutomation would do.
The third option "Display In Task Bar" option allow you to select whether you want the
Robot to display its own icon in the Windows taskbar while running, or not.
Note that the three options described above are available only to Robots that are
compiled as Windows Applications (see section 1).
The fourth option (available to any kind of compiled Robot) is whether you want to
encrypt the persistent variables or not. For more info on this one please check the
page on Persistent Variables 258 .
Using WinAutomation 135
The last option, is whether you want the user to fill in an activation code in order to
run the executable.
The reason for this is that, for a Trigger/Schedule to function properly, there must be
an application constantly running to check when the condition specified by the
Trigger/Schedule is met. In WinAutomation this application is the WinAutomation
UserAgent.
This means that while the compiled Robot is not running there is no possible way to
check whether a condition is met and whether a Trigger/Schedule should fire or not.
In order to schedule a compiled executable from WinAutomation you can always make
use of the Windows Task Scheduler.
3.3.4 Tokens
Compiling your robots so that to be executed on other machines is a very important
feature of WinAutomation.
Commencing from WinAutomation version 7, you are able to control the way you
distribute your executables by adding licenses.
There are four ways with which you may license your compiled robots. For these four
ways, you can purchase run-time tokens through our User Area.
In the screen-shot below you can see the purchased tokens and their status. Clicking
the "Add Tokens" button, you can purchase new tokens.
© 2018 Softomotive
After each purchase of tokens, you are being provided with a Compilation ID which
should be filled in the respective field of WinAutomation Console > Options > General
tab.
In case the target machine has already WinAutomation installed running under a valid
license, there will be no tokens consumed for that particular execution.
· Per Executable
Every time a compiled robot is being executed for the first time on a machine, a token
is being consumed.
Every time a compiled robot is being executed for the first time on a machine, a token
is being consumed. However, the robot requires an activation code provided from the
developer in order to be executed. In case the activation code is erroneous, no tokens
are being consumed and the robot execution does not start. This activation code is
requested only the first time the robot is being executed.
· Per Machine
Using the Per Machine method to generate your compiled robots, you have the ability
to run as many compiled robots as you wish on one machine consuming only one token
as long as it has been exported through the same developer's WinAutomation.
Using the Per Machine method to generate your compiled robots, you have the ability
to run as many compiled robots as you wish on one machine consuming only one token
as long as it has been exported through the same developer's WinAutomation.
However, the robot requires an activation code provided from the developer in order to
be executed. In case the activation code is erroneous, no tokens are being consumed
Using WinAutomation 137
and the robot execution does not start. This activation code is requested only the first
time a robot from this developer is being executed.
NOTES:
· An executable compiled without a Compilation ID, will only run on a machine with
WinAutomation 7 installed and the service running.
· In case a robot recompiles after a change or edit, there will be no second token
consumed. Please note, that copying a robot or saving a robot as, creates a new
robot in which case a second run, would consume one more token.
© 2018 Softomotive
Once you do so, you will see that the available Tokens for purchasing are:
When you purchase a Token -of any kind of the above-, then in your User Area in
“Your Runtime Tokens” section, you will be provided with a Compilation Id. You will also
be able to view the type of the Token and information about the Total Tokens
purchased, the Used and the Remaining ones.
Using WinAutomation 139
© 2018 Softomotive
Once you have filled the Compilation Id field, then you can go to the Robot you wish to
compile and hit the “Generate exe” option from the console’s menu in the “Robots” tab.
Note that no Token will be consumed from the compilation at this point; the Token will
be consumed only when attempted to run on the target machine for the first time, as
described below.
3.3.4.3 What is the activation code and how can I set it?
There are two kind of Tokens on which the developer can attach an activation code. If
you have purchased “Per exe with activation code” or “Per machine with Activation
code” Tokens, then in the User Area you will see an option “Manage Activation codes”.
If you click on this option, you will be able to create new activation codes.
Using WinAutomation 141
Here, you can set the Quantity and an optional desired prefix. The quantity can be
less or equal to the total Tokens quantity that you have available for the time being.
You can generate codes for all the Tokens that you currently have, or for any number
of them. After setting the quantity you are able to set an optional case sensitive
prefix. Click on “Generate Codes” and a list of codes will automatically be generated for
you.
Every time you are compiling a robot using a Token with an activation code, then the
first time that the executable will run on a machine, it will prompt the user to enter the
activation code before starting the execution. Once the code is correctly passed in
the popup window, then you will see in the User Area that this code’s status will be
“Used”, the code will be striked out and one Token will be consumed.
The activation code is only known to the developer. Therefore, he will be the one
passing it on the first execution of the .exe. If the same exe is moved on another
machine, it will not run unless the activation code is correct.
The above being the case, the developer’s work is protected from accidental or
malicious usage.
© 2018 Softomotive
3.3.4.5 How Tokens are being consumed?
A Token WILL NOT BE CONSUMED when:
1. The machine on which the executable is about to run has WinAutomation installed
AND the WinAutomation Server service is up and running.
2. In the “C:\Users\...yourusername…
\AppData\Local\Softomotive\WinAutomation\Licenses” folder there is already a file
created that has already licensed the executable.
Every time a compiled robot is being executed for the first time on a machine, a Τoken
is being consumed. Each executable of this category is connected to a machine ID and
a Robot ID. The Robot ID is a number associated with the Robot from which the
executable was created. Hence, if the script of the same Robot is modified and an
executable is created out of it, the Robot ID will stay the same. In this case, no other
Τokens will be consumed.
1. Enter the “Per Exe” Compilation Id, found in the User Area, in the “General” Tab of
your WinAutomation console.
2. Generate the executable, by selecting the Robot and clicking on the “Generate Exe”
option in the Robots Tab.
4. Run it.
If the machine will be changed/formatted, one Token will be consumed upon the first
run of the executable.
Every time a compiled robot is being executed for the first time on a machine, a Τoken
is being consumed. Each executable of this category is connected to a machine ID and
a Robot ID. The Robot ID is a number associated with the Robot from which the
executable was created. Hence, if the script of the same Robot is modified and an
executable is created out of it, the Robot ID will stay the same. In this case, no other
Τokens will be consumed. However, the robot requires an activation code provided by
the developer in order to be executed. In case the activation code is erroneous, no
Τokens are being consumed and the robot execution does not start. This activation
code is requested only the first time the robot is being executed.
1. Enter the “Per Exe with activation code” Compilation Id, found in the User Area, in
the “General” Tab of your WinAutomation console.
2. Generate the executable, by selecting the Robot and clicking on the “Generate Exe”
option in the Robots Tab.
4. Run it.
5. Enter one of the activation codes that are shown as “Available” in the User Area as
described above.
If the machine will be changed/formatted, one more Token will be consumed upon the
first run of the executable and the activation code will be needed again.
Using the Per Machine method to generate compiled robots provides the ability to run
unlimited number of compiled robots on one machine by consuming only one Token, as
long as it has been exported through the same Compilation ID. The "Per Machine"
Token is only assigned to a machine ID. Hence, if the machine ID changes, another
Token needs to be consumed.
1. Enter the “Per Machine” Compilation Id, found in the User Area, in the “General” Tab
of your WinAutomation console.
2. Generate the executable, by selecting the Robot and clicking on the “Generate Exe”
option in the Robots Tab.
4. Run it.
Any executable compiled with the same Compilation Id and executed on the same
machine, will not consume any other Tokens.
© 2018 Softomotive
Per Machine with Activation code – Description (279USD)
Using the Per Machine method to generate compiled robots provides the ability to run
unlimited number of compiled robots on one machine by consuming only one Token, as
long as it has been exported through the same Compilation ID. The "Per Machine"
Token is only assigned to a machine ID. Hence, if the machine ID changes, another
Token needs to be consumed. However, the robot requires an activation code provided
by the developer in order to be executed. In case the activation code is erroneous, no
Tokens are being consumed and the robot execution does not start. This activation
code is requested only the first time a robot from this developer is being executed.
1. Enter the “Per Machine” Compilation Id, found in the User Area, in the “General” Tab
of your WinAutomation console.
2. Generate the executable, by selecting the Robot and clicking on the “Generate Exe”
option in the Robots Tab.
4. Run it.
5. Enter one of the activation codes that are shown as “Available” in the User Area as
described above.
Any executable compiled with the same Compilation Id and executed on above
machine, will not consume another Token, nor ask for the activation code again upon
running.
© 2018 Softomotive
3.4.1 The Actions' Pane
In the Actions pane you will find all the Actions that can be chosen to build your
Robot, organized in Actions groups in a folder structure.
You can either expand the group of actions in order to select the one you want, or
you can search an action with its name or even part of it in the Search field at the top
of the Actions pane.
You can drag an action to the Workspace or double-click on the Action to move it
automatically there. Either way, this will open the Properties dialog box if the Action
has properties.
Breakpoints : You can add a breakpoint by clicking to the left of an Action. A red
dot will show up and the Robot will pause on that step until you click to continue. This
can also be used while running a Robot from the Robot designer to pause while you
look at some part of the Robot.
Using WinAutomation 147
Disabled Actions: Actions can be disabled, so that they are ignored by the Robot but
still exist. This is useful for trying different versions of a Robot without deleting and re-
writing Actions constantly. Disabled Actions become gray to differentiate them from
enabled Actions.
In the Workspace, Actions, their Icons and their properties are displayed. A Robot is
described in text in the Workspace and you can understand a Robot just by reading
through the Actions' properties in the Workspace. To change the display of the icons
and text for this Robot, click on Tools -> Robot Designer Options 171 .
To manipulate the Actions within a Robot, treat them like any other icon setup in
Windows. Click on an action to select it, click on Actions with the Ctrl or Shift keys to
select multiples, right-click for the Action menu, and use any of the regular HotKeys to
Copy, Cut, and Paste. To change the order of Actions, Drag and Drop or right-click and
choose to Move Action Up or Move Action Down.
© 2018 Softomotive
The Workspace Pane of the Robot Designer Window
· A Pin option is there to select one or more variables and pin them on top of the
Variables pane.
· Name is the name that was assigned to the Variable in an Action or in the Variables
Manager - Trigger Variables are never displayed here.
· In column three, the Type of Variable is displayed. Variable types can be: Text,
Numerical, DateTime, File, Folder, Data Row, Data Table, Excel Instance, FTP File, or
FTP Folder, as well as a list of the above, among others.
If you use the same Variable name as an output for two or more Actions that create
different Types of Variables, the Variable type will change during the running of the
Robot, so WinAutomation cannot determine a constant value, and will show
'<Unknown>' here. If both Actions determine an output Variable with the same type
of value, it will show that type, as there is no ambiguity. For this and other reasons,
we recommend that you use different Variable names for each Action output -
unless, of course, you want to overwrite the previous information.
· Value is the value set when a Variable is created through the Variables Manager
Window and only appear if you created the Variable there with an initial value.
Otherwise the Value will be filled for each variable during the execution of the Robot.
Search for variables by name. In the search field, type the name of the variable you
are searching for.
Pin Variables. You can pin a variable at the top of the display by clicking in the pin
column at the left side of the variables name. Once you pin the variable it will
automatically move to the top of the variables list.
Reorder Variables. Click on a variable to move it up or down and reorder the variables
list. (Of course, pinned variables cannot be moved)
The actions above can be performed while a Robot is being executed or not.
© 2018 Softomotive
3.4.4 The Variables Visualizer Window
The Variables visualizer window can be displayed for each of the variables in a Robot
upon running it step by step, or pausing it, or if it has paused by a breakpoint.
Using WinAutomation 151
Double click on a variable in the variables pane and the Variable Window will appear,
with information about the variable's value at this point. You can edit the variable and
change its value on the flow before resuming the execution.
The variable window fields and information will depend on the type of the variable that
you are accessing. Below you will find the different windows that will be displayed for
different variable data types.
Text Variable
© 2018 Softomotive
File Variable
Using WinAutomation 153
List Variable
© 2018 Softomotive
Window Instance Variable
Email Variable
Using WinAutomation 155
Function: The Function Name that contains the action which threw the error.
Action: The Action number in the Function which threw the error.
© 2018 Softomotive
The Properties Dialog of an action that has a Design-Time error
There are two kinds of errors: Design Time and Run Time errors:
Design Time Errors which are also called configuration errors, are visible in the
configuration of the Action or Robot and hold the Robot from running.
Run Time Errors, or Exceptions are not obvious errors in the design but come up
when you run the Robot. Run Time Errors will cause the Robot to fail unless you plan
for it in the Exception Handling Tab of most Actions.
For example, you create a Copy File Action. If you leave the File to Copy field blank,
that is a problem with the configuration and immediately shows up as a Design Time
Error. If you put in a path and the file does not exist when you run the Robot, that is a
Run Time Error.
Using WinAutomation 157
It will hold all the controls from UI/Windows and Web Automation actions. All the
elements that your Robot will access (buttons, elements, items, text fields,
checkboxes, radio buttons, windows etc... ) will be stored in the Control Repository.
Upon creating a new Robot the Repository will, of course, be empty.
To add controls, you should use UI/Windows or Web Automation actions or click on the
"Add Control" button.
The Control Repository pane, has the "Remove Unused Controls" button as well, with
which the robot identifies if there is an unused control and deletes it.
In the topics Building a WebAutomation Robot 212 and UI Automation > UI Elements -
Select Controls 196 , you will find a detailed explanation about how to add/manage
controls and edit their UI or CSS Selectors.
In some cases, there is need for more than one selectors to capture one element. The
element, is firstly being identified through the top selector. In case it fails, the second
selector tries to capture it. You can use the up and down arrows, in order to reorder
the selectors within the control.
© 2018 Softomotive
Reordering the controls
In some web applications, despite the fact that simple html and css is being used, some
particular actions cannot be captured using the web helpers. In such cases where you can
develop your own CSS selectors, you can add an empty root control by clicking on the arrow
next to "Add Control" or using the combination of "Ctrl + Shift + R".
Likewise, you can right click on a parent selector, and select to "Add Empty Child Control" or
use the combination of "Ctrl + Shift + C" in order to use your custom made CSS selectors.
It will hold all the images from Image actions. All the images used by your robot will be
stored in the Images Repository.
Upon creating a new Robot the Repository will, of course, be empty.
To add controls, you should use Image actions such as "Move mouse to Image", "If
Image" etc or click on the "Capture" image button. Please note, that you can capture
an image instantly, or capture it with a delay if you need extra time before capturing
an image in cases such as you need to open a menu or a drop-down list.
Additionally, the Images Repository pane, has the "Remove Unused Images" button,
with which the robot identifies if there is an unused image and deletes it.
Last but not least, you can use the magnifier in order to modify the size that the
images are shown.
© 2018 Softomotive
3.4.8 Functions
A function in WinAutomation consists of actions grouped together so they can be
invoked by a function name.
To create a new function, click on the New Function button ( ). Alternatively, you
may also press Ctrl+N. Functions can be created, removed, renamed and have their
tabs re-ordered freely, with the sole exception of Main, from the Functions pane.
To invoke a function, place a Run Function 368 action anywhere in the Robot. When this
action is reached, the execution flow will jump to the first action of the invoked
function and continue from there. Sooner or later, the actions of the invoked function
will all be executed or an Exit Function will be reached. At that point, the execution
flow will return at its former position, namely the next action after the invoking Run
Function 368 action.
Functions usually perform a specific task and it is considered a good practice to name
them in a manner indicative of their purpose. A function name is unique, i.e. two
functions cannot share a common name while residing in the same Robot.
New Robots, by default, contain only one function, the Main. The Main function is
always called when the Robot first executes. Other functions may be called by means
of the Run Function 368 action, by the Exception Handling 276 mechanism of any action,
or as a result of a button press inside a Custom Dialog 389 .
Scope: Variables in a WinAutomation Robot are global in the notion that every action
can access any variable of the Robot from any function.
Using WinAutomation 161
Go To 367 statements on the other hand, can jump to labels inside their own function
only.
Recursion: A function cannot call itself; It can Exit 368 , Run 368 another function or
exhaust its actions and return automatically.
§ Enhanced readability
Note: Robots created with versions of WinAutomation prior to version 5 will have all
their actions moved inside Main when you first edit them.
You can click on a function in the Functions pane and move it up or down for
reordering. You can also close them, if you do not want them to be visible in your
workspace. Keep in mind that if you run the Robot from the designer then each
Function will be visible the moment that it is executed.
© 2018 Softomotive
3.4.10 Adding an Action
You add an Action from the Actions pane to the Workspace pane by double-clicking on
it or dragging it and dropping it where you want. Double-clicking will always place the
Action at the end of the current Robot, but can be dragged or moved by highlighting
the Action and clicking on the Up or Down Arrows in the Toolbar.
Using WinAutomation 163
Once you have added the Action, the Action Properties Dialog Box will open
automatically if the Action has any configurable properties. As a counter-example, the
Empty Recycle Bin action has no properties to set, so will just appear in the Workspace
without opening a Properties Dialog Box.
© 2018 Softomotive
3.4.11 Configuring an Action
Adding an Action to the Workspace will automatically open the Action Properties Dialog
box if there are any properties to be determined. If you want to open a previously
created Action, double-click on it or right-click on it and click on Action Properties.
Once you have an open Properties Box, you will see Action Inputs and Action
Outputs:
Action Inputs require information from you, to determine what happens - text to be
displayed, a Variable to be used by the Action, a file path or URL, and so on.
Action Outputs will only be Variable names so that information generated or collected
by the present Action can be passed on to a later Action.
Please note that the "Action Output" refers to data and is not considered to be a
program run or a Message Box shown - those are effects of the Action, not Output.
To the right of a property field, you will see an " " Icon. This is a ToolTip Help that
you can access by pointing the cursor over it. You may also see a gear icon " ", a file
icon " ", or a folder icon " ". These show where you can browse for a file, a folder,
or a Variable (gear).
If there is an Error generated by one of the properties (a missing file name, improperly
written Variable, etc), there will also be a blinking red Error icon " " the next time this
Action Property Dialog Box is opened.
If the Action could cause an Error, you might want to look over the Exception Handling
options (click on the tab at the top) to make sure you like that result.
As an example, we will look at the Display Input Dialog 393 properties. There are four
different Input properties:
1. Input Dialog Title - what you want to show at the top of the Box, for example
"Enter Name"
2. Input Dialog Message - the text or question you want to show in the box, for
example "Hello user, what is your name?"
3. Default Value - do you want to have a default setting, or an example like "<Enter
Name Here>"
4. Input Type - how do you want their input formatted? This is a drop-down menu, so
choose whichever seems most appropriate to the information.
Notice that all of these fields require some information that you currently have - what
you want to write, how you will format, etc. This is Input - from you, now. Notice that
the Action will require input from the user when the Robot is running, but that is not
Action Input here - only your choices now are Action Input.
Using WinAutomation 165
Also notice that the Action Output is only information stored as Variables. The Output
is determined by the Action as the Robot is running and is used as Input in later
Actions - this is the definition in WinAutomation of a Variable: a 'container' used to
carry values from one Action to another.
Choose Variable names that mean something to you, so you can easily remember them
later. Also, read about Variable Types 252 so you are clear with your use later. Once
you have defined Variables through Output, you can browse them using the gear Icon
to use them as input in a later Action. In this case, we stored the text entered by the
user (which is supposed to be its name) in "%UserName%" and the Button pressed
into "%ButtonPressed%".
© 2018 Softomotive
3.4.12 Enable/Disable Actions
You can Disable or Enable Actions by right-clicking on the Action and select "Disable
Action" or "Enable Action".
This allows you to remove an Action from a Robot without erasing it and having to re-
type everything if you want to use it again later.
Often, this will be used to test different versions of a Robot to see what works best
and has the desired results. You could also suspend usage of a part of a Robot while
something has changed.
Using WinAutomation 167
The Regions feature consists of two actions the "Start Region" and "End Region"
action.
These actions have absolutely NO IMPACT in the behavior of the Robot and their only
task is to mark the beginning and the end of a logically separate block of actions.
Each Region (as defined by the two aforementioned actions) may have a name to
describe the block of actions contained within. You can also collapse a region by
clicking on the [-] icon on the left of the "Start Region" action. This way the actions of
© 2018 Softomotive
the region will not be visible, allowing you to review your Robot at a higher level of
abstraction.
To create a new Region you can click on the "Region" button on the toolbar. If no
action is selected this will insert the "Start Region" and "End Region" actions at the end
of the Robot. If one or more actions are selected the "Start Region" action will be
inserted right before the first selected action and the "End Region" will be inserted right
after the last selected action enclosing the selected actions into the newly created
region.
Regions have a different background color than the rest of the Robot. The background
color of the regions is customizable and can be changed through the Robot Designer
Options 171 dialog.
Regions can also be nested within other regions to represent submodules of your Robot
within other modules. In this case the background color of each nested region
becomes automatically a bit darker than the background color of the parent region.
The yellow sticky-pad button in the Toolbar is used for adding comments. A
comment is a special kind of Action in the Robot that is used for documentation and for
adding explanatory notes between the actions.
Using WinAutomation 169
The background color of each comment can be set in different color as a visual clue
for differentiating sections of the Robot and giving more emphasis to some comments
that others.
Neither adding nor deleting Comments has any affect on the behavior of the Robot.
© 2018 Softomotive
3.4.15 The Variables Manager Window
You may access the Variables Manager through Tools -> Variables Manager while in
the Robot Designer. This is where you can find a list of all Variables used in the Robot.
If you want to define a new Variable and assign an initial value to it, you can do it
here, by pressing the Add New Variable button.
Keep in mind that an alternative way to declare a new variable is to simply enter a
variable name into an Output property of any Action of the Robot. If this variable name
does not refer to an existing variable, a new variable with that name will be created
automatically. A variable created this way can not be edited or deleted through the
Variables Manager Window
Once you open the Variables Manager Window, you will see two tabs - User Defined
Variables (ones you set) and Trigger Variables (predetermined to manage Triggers,
these will be empty unless you use that Trigger to start the Robot). The Trigger
Variable tab contains only the names of the Variable and a description. The User
Defined Variables have five columns:
2. Defined in Function - The function name where the Action that defined this variable
resides.
3. Action #. The number of the Action (in the Robot Designer Window) that defined
this Variable. If it was created in the Variables Manager, this field will be blank.
4. Type - the type of the Variable: text, numerical, DateTime, file, etc. See more
under Data Types 252 .
5. Initial Value - this will be empty unless you assign a value to the Variable by Adding
or Editing it in the Variables Manager.
7. Description - this will be empty unless you assign a value to the Variable by Adding
or Editing it in the Variables Manager.
In the first tab you can specify how the actions will be displayed in the Robot
Designer. You can choose whether the action icon will be displayed as well as the size
of the icon. You can also specify whether you want to the action name to be
displayed for each action of your Robot on top of the action's description.
Additionally, in this tab you can also set a color for the background of the actions that
are contained within a region 167 . Nested regions will get an increasingly darker version
of this color to distinguish themselves from the parent regions they are contained
within.
You have the option to rename a Variable using a Hotkey of your choice.
© 2018 Softomotive
Robot Designer Options > Designer tab
The Debugger Option allows you to set a delay time between the execution of each
Action. This is an artificial delay, that is useful if you want to follow the actions
visually as they execute. This delay is taken into account only when you run the
Robot through the Designer, when you run a Robot through the Console then the
Robot runs at full speed.
The second setting is the designated hotkey for performing Step by step execution 176
and Resuming the execution while debugging your Robot. The hotkeys specified here
will execute the next action when the Robot is paused in the Debugger or Resuming
the execution. This is useful especially for Robots that control the mouse where it is
inconvenient to use the mouse in order to click the "Execute next action" button on
the toolbar.
The last option lets you specify whether you want any modifications of the Robot to
be saved automatically every time you run it through the debugger.
Using WinAutomation 173
You can also select to View all or less of the panes in the Robot Designer, by clicking
on the 'View' menu option and tick/untick the panes that you want to have visible on
your designer.
© 2018 Softomotive
3.5 The Debugger
3.5.1 Run/Stop/Pause a Robot from Robot Designer
Running a Robot in the Robot Designer is considered Debugging.
2. You can execute a Robot action by action by clicking on the button next to "Start"
.
3. You can pause a Robot while it is running by clicking on the Pause button .
4. You can stop a Robot while it is running by clicking on the Stop button .
Since Debugging is expected to involve running the program, making a change, running
it again, etc, no Logs are recorded when you run the Robot from the Robot Designer.
In the Robot Designer Window, you can also see error icons to the left of any Action
that has errors " " and therefore cannot be run, and to the right of any property field
in the Action Property Dialog Box " " to help you pinpoint errors to Debug the Robot.
If you want to start running the Robot from a specific action: You can right-click on
this action and select "Start from Here" on the context menu that will appear. This will
start the debugging from the selected action as if it was the first action of the Robot,
ignoring all actions above it. Please note that this may lead to unexpected results, as
the ignored actions will not populate the variables that may be needed by the
executed actions. Keep in mind that you will not be able to start running a Robot from
Using WinAutomation 175
an action within a Loop, as it makes sense that this would not be applicable to the
logic of the script in terms of what we are looping through.
A red dot " " will appear to mark the breakpoint, and the Robot will pause at the
beginning of that Action. Pressing the Run button will continue the Robot, though if the
breakpoint is in a Loop, it will pause again when the process gets to that Action. Since
there is an Icon to Execute Next Action 176 , you can add a breakpoint at the first
Action of a Robot and then use the Execute Next Action button to move through the
Robot manually, one Action at a time.
© 2018 Softomotive
Breakpoints are considered, only when you are running the Robot through the Robot
Designer (debugging). When you run a Robot through the Console all breakpoints set in
the Robot are totally ignored.
Additionally, you can use this button after a Robot being stopped by a breakpoint to
execute only the subsequent action instead of pressing the Start button that will
resume the execution of the Robot.
You can examine a Robot at a particular Action step by adding a breakpoint at that
step as mentioned above, or by moving through the Robot manually with the Execute
Next Action Icon. Once you have stopped at the Action you want, you can view the
Variables through the Variables Pane 148 of the Robot Designer Window.
You are able to see what is the last value stored in each variable once the execution
is completed. Also, once the execution pauses on a breakpoint you have the option to
change a variable's value dynamically through the Variables Visualizer Window 150 , set a
different one and resume the execution to see how the script will react to that value.
Using WinAutomation 177
As a last note, instead of clicking on the button you may as well press the designated
Hotkey. This is especially useful when debugging Robots that control the mouse and
you don't want to use the mouse at the same time to click on the button. The default
key for executing the next action is F9, but you can change this through the Robot
Designer Options 171 dialog.
In the window that pops up you can select to rename the variable on in the 'Main'
function and also include disabled actions.
© 2018 Softomotive
3.6 The Macro Recorder
3.6.1 Simulating the activity of a user
A user (like YOU) inputs his/her commands and data through the Mouse and Keyboard.
Through Mouse, Keyboard and UI Automation Actions, WinAutomation can simulate you
(a user). You can create this simulation by choosing Mouse, Keyboard and UI
Automation Actions or by using the Macro Recorder - which will automatically generate
an appropriate set of Actions that mimic your own, recorded activity.
Remember - since you are creating an Interactive Robot 282 , WinAutomation cannot
simulate a user (and run the Robot) when no users are logged on. Here is where the
AutoLogin feature of the Professional edition comes handy.
Launch the Macro Recorder and it will record everything you do. When you finish
recording, WinAutomation then converts this to a set of Actions for your Robot. These
can be edited and added to later. If you use the Recorder with a Robot that already
has Actions, it will add the steps above the highlighted Action or at the bottom if you
don't have any highlighted. The Macro Recorder is really just a way to input Actions in
an easier interface than writing them all out would be.
Using WinAutomation 179
Keep in mind that you can use the Macro Recorder to record the backbone of your
script. Of course there are tasks that will have no issue running, only by recording
them once and not modify any of the actions generated. Still there are cases when
the generated script has to be modified to work as intended. For example you might
need to add a Loop in the script, or there are redundant actions generated that you
should remove. In cases as such we add/remove the appropriate actions from the ones
generated from the Recorder and if any error occurs while executing we identify the
problem or the error and we try to use alternative actions to cope with the situation
and have it run flawlessly.
To start the Macro Recorder when you create a Robot, after you name the Robot,
choose option 2: Open Macro Recorder and click OK.
© 2018 Softomotive
If you have already created the Robot, you can open the Macro Recorder in the Robot
Designer Window (that is, inside the Robot you wish to edit) by clicking Tools ->
Record Macro or by clicking on the Record Macro button on the toolbar.
While you can build a Robot in WinAutomation by combining and configuring actions
from the list of ready made actions in Robot Designer, you may find it more efficient to
use Macro Recorder to simulate your activities by just controlling the mouse and the
keyboard.
Launch the Macro Recorder and perform the activities you want your Robot to
reproduce. Macro Recorder will record everything you do and when you finish recording
it, it will convert this to a set of Actions for your Robot. Of course, these can be
edited or added to other actions within the Robot Designer.
Using the Macro Recorder is a quicker and easier way to define Actions that compose a
Robot than manually selecting them and inputting them in the Robot Designer.
In order to create your Robot using the Macro Recorder, choose option “Macro
Recorder” from the tools of the “Create a Robot” window, or (if you are already within
the Robot Designer) choose the Macro Recorder button on the toolbar of Robot
Designer window (inside the Robot you wish to edit) or choose Tools > Macro
Recorder.
Launching the Macro Recorder opens the sidebar where you can preview the recording
while performing your activities.
Using WinAutomation 181
The Macro Recorder can record in two modes: Smart and Coordinate-based.
Smart Recording (Default): The actions produced by this type of recording will click
on elements such as windows, buttons and menu items based on UI selectors rather
than absolute locations. UI selectors are very similar to the CSS Selectors 272 utilized
by Web Automation actions. This type of recording is the recommended one, since it
produces flexible and portable robots.
© 2018 Softomotive
Coordinate Based: Coordinate based actions will move the mouse to the specific,
absolute recorded locations inside the active window. Consequently, any change in the
absolute positions of the target elements could potentially render the actions
inoperable. Absolute positions depend on screen resolution, operating system and
application settings as well as various other factors. This type of recording is only
recommended for users that face compatibility issues with the default recording
setting.
Each activity you perform will be recorded in the sidebar and once you have completed
the desired sequence of activities and click the “Finish” button, you will be transferred
back to the Robot Designer where it will have automatically been translated into a set
of UI Automation actions.
While recording, if you perform an activity unintentionally and you do not want it to be
included in the final sequence of actions, you can move the mouse over the action
that you want to delete in the sidebar and a red " " button will appear in the action's
top right corner, as shown below. By clicking on the button the action will be
removed from the list of recorded actions.
If you want to change parameters of the actions recorded (the actions’ parts you can
edit are displayed in blue) you can do so by clicking them and editing their text.
Note: Changing the description of an Element will not change the actual selector
Using WinAutomation 183
You can also take notes that will make the design of your Robot more meaningful for
you and that may be useful if you chose to edit the actions later in the Robot
Designer. To do so, you click on the "Insert Comment" button and a comment
action will be appended in the sidebar. Your comments will also be displayed (along
with the corresponding action) in the Robot Designer.
© 2018 Softomotive
To discard all the actions you have recorded and restart your recording from scratch,
press the "Reset Recorded Actions" button (which is located next to the “Insert
Comment” button). A message box will appear for you to confirm the delete.
To complete the recording session and return to the Robot Designer, click the Finish
button on the sidebar. The recorded Actions will be inserted into the Robot Designer
Window within a region named “Region of Autogenerated, UI Automation Actions”
Using WinAutomation 185
Of course you can further edit each of the actions (e.g. use variables as input where
applicable) within the Robot Designer.
You may also insert additional Actions to your Robot to be performed before or after
the Macro Recorded section Actions, either by manually selecting and configuring them
from the “Actions” pane, or by using once again the Macro Recorder.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
© 2018 Softomotive
configurable parameter that needs to be set. For example, it is very common to
include a "Display Select File Dialog 401 " action at the beginning of a Robot and use the
value assigned to the %SelectedFile% throughout the remaining actions.
With a Custom Dialog on the other hand, you may configure multiple parameters in a
single action. Custom Dialogs buttons are not limited to "OK"/"Cancel" and can also
invoke Functions 160 , with the Dialog itself optionally persisting throughout the Function
execution. Nearly every aspect of the Custom Dialog and its controls is configurable
including, but not limited to, their general appearance, positioning and displayed text.
Given such flexibility, the "Display Custom Dialog 389 " action will allow you create a fully
featured Graphical User Interface (GUI) for your Robot, with the ease of drag and drop.
To bring it up again for any consequent modifications, double click on the action and
press on the "Open Designer" button.
The Designer Window consists of two panes: Your Form on the left and the Drag &
Drop controls on the right. You may select any of the tabs of the Drag & Drop
controls pane, to reveal the controls of the corresponding category or edit the
Dialog's properties. Controls can be added or rearranged by drag and drop.
Using WinAutomation 187
For example, to add a "Title" control, select "Misc" and drag the Title from the pane on
the right, to your form on the left:
When a control is added to the form, the control's property editor comes up:
© 2018 Softomotive
With the help of the editor, you may modify the control's properties. As always, you
can insert preexisting variables in any of the fields by clicking on the gear ( ) icon.
When you are done editing, press the "Save" button. Saving also updates the live
preview of the dialog presented on Your Form.
If you need to modify any of the control's properties at a later point, left click on the
placed control so that the property editor reappears.
Control Types
Input
Using WinAutomation 189
Simple Holds a single-line text value, the most common form of input.
Input
Multiline Holds a multi line text value, suitable for short messages or lists. The value
Input returned is still a single Text variable containing line breaks, which can be
split 662 if necessary.
Password Similar to the Simple Input, but masks typed characters so that passwords
do not appear on the screen as plaintext.
Combobox The Combobox allows the user to either make a selection from a pre-
defined list or type their own, custom, value. The value returned is a list
variable containing the text of the selected item(s).
File Lets you select one or multiple Files or a Folder. The value returned is a
File/Folder variable for single items, or a File List Variable when you allow
multiple item selection.
Date Holds and returns a Date Time variable. If no value is entered by the user,
the current date and time is returned.
Radios / Checkboxes
Select
Select Similar to the Combobox, but does not allow the insertion of custom values:
the user can select only among the existing options.
Multiple Allows the selection of multiple items from the provided list. The value
Select returned is a single Text variable containing the text/labels of the selected
items, separated by linebreaks.
Button Groups
Button groups can contain one or more buttons, each one with its own name, style
and assigned operation. You may modify the buttons belonging to a group by bringing
up the property editor:
© 2018 Softomotive
You will find more information regarding the configurable button properties, in the Button
Properties subsection, below.
Miscellaneous
Title A Title control is a large text label, suitable for titling the entire form or
sections of it. Does not return any value.
Placeholder Simple text control. You can use it for displaying any desired text at any
Text part of the form. Does not return any value.
Link Adds a text control that when clicked, opens up the system's default
browser and navigates to the specified linked URL. Does not return any
value.
Horizontal Adds a horizontal dividing ruler, suitable for dividing controls into logical
Ruler groups. Does not return any value.
Control Properties
General Properties
ID / Name Used for retrieving the value entered/selection made for this specific
control. Must be unique and cannot contain spaces.
Using WinAutomation 191
Label / Text The text displayed as label to the control or on the control itself.
Link Specific to Link controls - The URL of the target page for this Link control.
Default The value that the control will be prepopulated with, when the dialog is
Value first shown.
Default Specific to Password Inputs - Similarly to the default value, enter here the
Password value that the Password control will hold when the Custom Dialog opens.
File Selector Specific to File Inputs - The text to be used as title of the "Select File
Title Dialog" that emerges when the "..." button of the control is pressed.
Pick Specific to File Inputs - Specifies whether the file selection dialog will
allow File(s) or Folder selection.
Multiple Specific to File Inputs - When selecting files, specify whether the user is
Selection allowed to select only one or multiple.
Short A small, optional description that gets displayed the legend of the control.
Description
Popup Help The popup text to be displayed when the user hovers over the info icon
Text on the right of the control.
Size The size that the control should have. (Overrides CSS style)
Extra CSS You can assign an extra CSS class on the control, which is useful for
Class custom styling.
Button Properties
Button Defines name of the button and also the text displayed on it.
Name
Function to Select a Function from the drop down list to assign it to the button. Once
Run the User presses the button, the selected function will be invoked. You
may have only one function executing per custom dialog at a time.
Theme Select among various appearance styles for the button.
Close Choose whether the custom dialog should close when the button gets
pressed.
Whenever a button that has not be set as the "Cancel Button" gets pressed, all input
gets validated against the following rules, where they may apply:
© 2018 Softomotive
Validation
Allowed Specify the accepted format of the user-supplied input value. You may
Value choose one of the pre-defined formats, or define your own, custom one.
File Filter Specific to File Inputs - The file filter applied to the "Select File Dialog"
that emerges when the "..." button of the control is pressed.
Check if File Specific to File Inputs - Specify whether the selected file(s) are required
Exists to exist.
Min/Max Specific to Date Inputs - Restricts the range of the date supplied.
Date
Validation fails will prevent function execution and Custom Dialog termination.
Moreover, a validation fail always produces an appropriate error message on the form.
Using WinAutomation 193
Dialog Properties
Initial StateChoose among Minimized, Maximized and Normal states for the Custom
Dialog's Window.
Initial Specify an initial position for the Custom Dialog's Window. When "custom" is
Position selected, you have to also specify the coordinates (X,Y)
Accept Specify a button to be automatically pressed when the user presses Enter
Button with the dialog open.
Dialog Icon Specify a custom icon for the dialog. The icon is visible both on the task
bar and the upper left corner of the Custom Dialog's Window.
Keep on Specify whether the Custom Dialog's Window should remain on top of all
Top other windows.
Input controls store their value on a "column" with the ID/Name of the corresponding
control. For instance, the value populated into the "Combobox1" control can be
accessed as such:
Some controls may hold a variable with additional properties 255 or even a list. You may
access the properties and the list items as well:
© 2018 Softomotive
%CustomDialogResults["File"].Size% is the size of the selected file and
%CustomDialogResults["MultipleSelect"][0]% is the first selected item.
Each control can be assigned an "Extra CSS Class" through the corresponding property.
A CSS class allows you to set a particular style for one or many HTML elements with
that particular class in your custom CSS rules.
3.8 UI Automation
3.8.1 UI Automation Overview
WinAutomation actions under the “UI/Windows” category are capable of directly
manipulating Windows applications, or any window for that matter (apart from web
application that can be automated with "Web Automation"), their controls, as well as
extracting data from them.
Robots can click on buttons, menu items, populate edit boxes directly, etc. and all that
without the use of absolute coordinates or image recognition!
Using WinAutomation 195
© 2018 Softomotive
UI Automation based robots can be conveniently authored with the help of the Macro
Recorder 180 (with the Smart Recording option enabled). Alternatively, you can build
your Robot manually by combining and configuring the appropriate actions in the Robot
Designer.
Window handling actions, such as "Focus Window 453 ", "Move Window 465 " etc. can both
act on a specific window from your Control Repository.
Control handling actions, on the other hand (e.g. "Click Element in Window 443 "), act on
a target control of your repository.
Using the "Select Control from Repository" in the UI/Windows actions' properties and
adding Controls using the "Add Control" option is the most convenient method for
specifying the target control(s) for your actions.
1. "Add Control":
OR...
© 2018 Softomotive
After selecting to Add a control with either ways mentioned above, you are able to
select the element you wish. The Live Helpers (orange boxes circulating the accessible
elements) will appear and you can navigate to the window of interest in order to
access the element. Once this element is highlighted by the helpers, then simply press
"LCtrl+LShift+Left Click" to select the control.
Having done so the WinAutomation UISpy window will appear with three panes.
1. the tree of the all open applications and their controls, on your machine,
Using WinAutomation 199
2. the attributes for the element that you are trying to access and
Click on the "Add" button to add the Control to your Repository. The Control Repository
pane in your Robot Designer will now have the Window and the element.
Should you wish the WinAutomation UISpy not to be displayed and have the control
directly passed into your repository, then instead of "LCtrl+LShift+Left Click" simply use
"LCtrl+Left Click" (without the LShift).
© 2018 Softomotive
You can go on adding more Controls in your Repository, building your Robots with
different actions until you have completed your Robot.
1. Manage the Selectors that were generated from WinAutomation to change them or
make your own if you believe that they can be more efficient. In case you want you
can also add variables in the selectors.
2. Find Usages of the control. You may want to identify which action is currently
using this control.
3. Rename the control. You may want to give a different name to the control.
4. Delete the control, in case you no longer wish to have it in your Repository.
Using WinAutomation 201
To manage the selectors of a control, you can either double click on it, or right click
and select "Manage Selectors". On the window that pops-up the selectors for the
element will be listed.They are usually more than one and they work in the notion that
if the first one fails to access the element, the Robot will fall back to the second one.
If the second one still fails to access the element the Robot will fall back to the third
one...an so forth. The action will error out only if all the selector fail.
You can click on the "Remove Unused Controls", in order to clear the "Control
Repository" from any controls that in the end where not used by your script.
2. Find Usages of the Images. You may want to identify which action is currently
using this image.
3. Rename the Image. You may want to give a different name to the Image.
4. Delete the Image, in case you no longer wish to have it in your Repository.
© 2018 Softomotive
You can click on the "Remove Unused Images", in order to clear the "Image Repository"
from any images that in the end where not used by your script.
*The same goes for CSS selectors for Web Automation actions, also.*
i) Add a selector based on the existing one, in the Selector Builder Window
where you can check or uncheck the attributes to use for this element or
ii) Add a selector by recapturing it, in which case the helpers will again appear
so that you can LCtrl+Left click on the element.
b) Edit. Click on the selector you want to edit, to pop up the Selector Builder window.
When you choose to Edit a Selector the the "Selector Builder" window pops-up. In here
you can see the UI or CSS selector and you can choose the attributes that you want
to be included in the selector for the item.
You can also choose whether you want the Visual Selector Builder or the Custom
builder.
© 2018 Softomotive
Selector Builder
Notice that in the "Operation" column, you have the option to select what how the
value will relate to the checked attribute. While the "Value" column of the Selector
Builder is editable, you can click on the Operation arrow and choose the relation
between the attribute and the value to be:
-Equals
-Not Equals
-Contains
-Starts with
-Ends with
-Regex match
Using WinAutomation 205
If you choose the Custom builder, form the drop down list menu option on the top left
part of the window the the following window appears where you are free to build your
own selector and even use Variables from the gear icon.
© 2018 Softomotive
3.8.6 Building UI Selectors
The UI selectors are very useful when using UI/Windows actions, as they help you
access any windows/elements you want.
UI selectors are generated for each control you add in your Control Repository and can
be shown should you double click on a Control.
WinAutomation automatically generates one or more selectors. This means that, if the
first selector fails to access the element, then we fall back to the second selector;
and in case of a new failure we fall back to the third and so on. The action will error
out, if none of the selectors are able to get the element and there is no Exception
handling in the relative tab of the action.
You do have the option to modify the existing generated selectors (delete one or two
of them, enhance them, or build them yourself from scratch) so that you can get the
desired window or element.
Let’s say that you have an “Untitled – Notepad” window open on your desktop which
you wish to get.
Selectors are read from left to right using “>” to show that the element that follows in
contained within the previous one in a parent > child notion. Let’s say that you want
to access a Notepad Window and then click on the File Menu option.
You would have to use a "Click Element in Window" action and add the Control to the
Repository. You will end up with the control as follows:
The Window 'Untitled-Notepad' will have its selectors and once accessed the Robot
will move on to the Menu Item:File for this window.
What if you want to get a text document with another specific name??
Using WinAutomation 207
Double click on the Window 'Untitled-Notepad' and in the window that pops up hit the
Edit button for each selector.
In the selector builder Window that will appear you can check other attributes that
you want to include in the existing Selector for the window. Thus, the selector will
become more complex.
© 2018 Softomotive
OR, you can choose to build a Custom Selector form the drop down list menu option on
the top left part of the Selector Builder window.
In general the selector for a specific window with "n" attributes is:
window[Attribute1=”Attribute1Name”][Attribute2=”Attribute2Name”]...
[Attributen=”AttributenName”]
So, for the notepad with title "Untitled" the selector can be:
window[process="Notepad"][name="Untited - Notepad"][class="Notepad"]
...you can delete one or more attributes and you can just keep the ones that you
think will make your selector more efficient, in the Selector Builder Window.
If you have a variable that holds the name of the text file then in the Custom Selector
you can insert that variable. Let's say that you are certain that the file you want to
access is named "Example.txt".
The selector to access that window can simply be:
window[process="Notepad"][name="Example"][class="Notepad"]
or
window[name="Example"][process="Notepad"]
Further on, if you have the name of the file in a variable like %FileName%=Example then the
selector can be:
window[process="Notepad"][name="%FileName%"][class="Notepad"]
Using WinAutomation 209
window[name^=”Untitled”][process=”notepad”]
would get any Notepad window that its title starts with “Untitled”.
window[name$=”Notepad”][process=”notepad”]
would get any Notepad window that its title ends with Notepad.
window[name~=”Untitled”][process=”notepad”]
would get any Notepad window that contains the word Untitled in its title.
NOTE:
:eq(n) is a very frequently used selector attribute. It selects the element at index "n"
within the matched set (keep in mind that it is always zero based). If the index is
negative then the (|n| – 1) element is picked counting from the last element to the
first.
For example if you have several buttons in a window and you write something like:
… > button:eq(0) >… this means that you are looking for the first button, while
button:eq(1) would be the second button and button:eq(2) would be the third one
and so on.
"Get Details of Window 485 " and "Get Details of Element in Window 487 ", are suitable for
extracting certain useful attributes from the target Window or Element, such as the
Window's Title or the Element's location. Both of the actions are also capable of
getting the text displayed by the element, including any text belonging to visible child
elements.
The following two actions, "Get Selected Checkboxes in Window 489 " and "Get Selected
Radiobutton in Window 490 " are specialized actions, dedicated in extracting the current
selection state of Checkboxes and Radiobuttons.
© 2018 Softomotive
Last but not least, "Extract Data from Window 492 " extracts only the text displayed on
elements (and their visible children). For simple control elements, "Extract Data from
Window 492 " will get the exact same results as the equivalent "Get Details of Element
in Window 487 " action. Certain controls, on the other hand, will yield data in the form of
List or Table variables. More specifically, Tree and Tree Item controls (e.g. the tree
view pane of Windows Explorer) as well as List controls produce the text data in a List
variable. Data Grid controls always get their data extracted in the form of a table. In
other words, "Extract Data from Window 492 " allows the retention of the original
organization of the data extracted, making any further processing significantly easier.
The usual sequence for creating a Web Automation Robot is the following:
1. You launch a browser window (or attach to an existing one) using the "Launch New
Internet Explorer 495 " action. This action generates a variable containing the
instance of the web browser that needs to be passed to subsequent actions (this is
useful when you need to automate more that one browsers concurrently). By
default Internet Explorer instance is stored in %InternetExplorer%, but you can
change the name of the variable to the most convenient name for you. Do keep in
mind that any web actions on this specific browser that you opened with the
"Lauch New Internet Explorer" action, should respond to this instance.
For example if you wish to use the "Click Link on Web Page" action, in the Web
Browser Instance you should indicate the variable %InternetExplorer% (or the
variable's name that you gave to the instance in the "Launch new Internet Explorer"
action)
Using WinAutomation 211
2. You add the appropriate actions based on the steps that you want to automate.
There are actions available for clicking on links, filling and submitting web forms,
extracting data from web pages, etc. In each action you will need to pass the
variable containing the web browser instance to specify the browser on which the
action will be performed, as previously mentioned in point 1.
3. Optionally, you may close the browser used for the automation using the "Close
Internet Explorer 506 " action.
In order to build your Robot you have plenty of tools at your disposal. The easiest way
to start is to use the Web Recorder 219 that gives you the ability to record your web
activities as you perform them and convert them into a Robot.
Alternatively, you can build your Robot manually by combining and configuring the
appropriate actions in the Robot Designer. The rest of the overview will focus on the
Robot Designer approach, for Web Recorder usage please refer to the corresponding
topic 219 .
© 2018 Softomotive
3.9.2 Building a WebAutomation Robot
· The type of Internet browser you wish to work with, by choosing among launching
the Automation Browser, a new Internet Explorer, or attaching to an already running
IE .
· Whether the web browser window will be launched in normal, maximized or minimized
(in case you want the Robot to run in the background) state.
The most commonly selected option is to Launch a new Internet Explorer. However, by
default, IE comes with security settings disallowing any external applications
(WinAutomation in our case) from controlling it. Therefore, it is essential to configure
its security settings 240 first.
Alternatively, you can use the WinAutomation’s browser that does not require any
configuration changes.
When selecting to launch a new browser, you can specify some further options, found
in the Advanced tab of Properties of Launch New Internet Explorer action window:
· Whether to clear the browser's cache and/or any stored cookies right after launching
it (depending on the size of cache or stored cookies this procedure may take a
while).
· Whether you need the Robot to wait for the new web page to load completely before
proceeding to the next the action.
· How should the action respond if a pop-up dialog appears while loading the initial
web page (i.e. close, ignore or interact with it).
· Specify the user-agent string that you want the runtime web helper to advertise to
the website's that it is instructed to navigate to.
Using WinAutomation 213
If you set the action to attach to a running Internet Explorer (instead of launching a
new one) you are prompted to choose whether it will attach to an Internet Explorer
Tab based on its Title, URL, or just pick the Active Tab of the Internet Explorer running
as the Foreground Window.
© 2018 Softomotive
Next, you will append other actions to interact with elements in the web page.
There are actions available for clicking on links, filling and submitting web forms,
extracting data from web pages, etc.
Using WinAutomation 215
© 2018 Softomotive
Although each action has its specific features there is an overall mode in setting the
web-related actions’ properties.
Say, for example that you need to click on a link. For that you will need to use the
"Click Link on Web Page 501 " action:
As you can see in the screenshot above, you will first need to select the Browser
Instance on which the action will be performed. The next step is to specify the link
you want to click on and add it in your Control Repository. You can do this in two
ways:
1. Select the Control form your Repository, if it is already there from a previous
selections, or
2. Click "Select Control Repository" and then click "Add Control". This will open the Live
Helpers. Hover your mouse over the element that you want to access in the Internet
Explorer and hit LeftCtrl+LeftClick to select it.
Once you do the WinAutomation UISpy window will pop up, that it will show you the
HTML tree of the element as well as its attributes in the right pane of the window.
Using WinAutomation 217
What the Web Helper does is extract the CSS Path of the selected element and a
meaningful description adding it to your Control Repository. Should you double click on
the control, the Selectors for it will pop up as per the screenshot below:
Should you click on "Add Selector" or "Edit" the Selector Builder will appear.
© 2018 Softomotive
In the Selector Builder you are able to add or remove attributes to the CSS selector by
checking or un-checking the relevant check-boxes. You can also choose to build a
custom Selector from the Custom Option.
In the Custom selector Builder window you can modify the Selector, insert variables, or
change it completely.
To learn more about the values you can enter in the "CSS Selector" field and how to
select a single element within a web page you may refer to the CSS Selectors 272
topic.
Using WinAutomation 219
This is the logic behind any web-related action where you need to specify an element
and perform an operation on it.
While you can create a Web Automation Robot by combining and configuring actions in
the Robot Designer, as you would do for any other other Robot, it is much easier to
build your web related Robots by using the Web Recorder
You can open the web recorder either while creating a new Robot 75 or from within the
This is the initial screen of the Web Recorder. It consists of two parts, the Web
Automation browser on the left and the sidebar with the recorded actions on the right.
At this point, you are presented with a browser choice. You can either record on the
Web Automation browser (initially displaying the "Welcome to Web Recorder" page) or
you may use any already open Internet Explorer window with the help of the Live Web
Recorder.
© 2018 Softomotive
Use the Web Automation browser for the recording
As with the Web Helper 247 , the fist step here is to enter in the address bar the URL of
the site you want to visit and press "Go" (or Enter). Immediately you will see that the
first action in the sidebar gets updated with the website address. This indicates that
the recording has started and in the sidebar you will see the corresponding actions
that get added as you interact with the web page.
With the correct browser window selected, press the "Start" button to start the
recording. The sidebar will now appear on the top right part of the selected Internet
Explorer and the Web Automation browser (which is now unnecessary) will hide.
Using WinAutomation 221
Note that while using the Live Web Recorder, clicks on the back, forward and refresh
buttons of the browser do not get recorded.
Whatever you do gets recorded. So, for example, if you click on a link a new "Click Link
on Web Page 501 " action will be appended on the sidebar. Enter some text into a text
field, submit a form, navigate back or click on another link; every activity you perform
will be translated into the appropriate action and added to the sidebar.
If you perform an action unintentionally and you do not want it to be included in the
final sequence of actions, you can move the mouse over the action that you want to
delete and a red button will appear in the action's top right corner, as shown
below. By clicking on the x button the action will be removed from the list of recorded
actions.
© 2018 Softomotive
Most actions have part of their text in blue. These pieces of text correspond to the
parameters of the action and can be edited by clicking on them. As an example we'll
click on the email address that we entered into the email field and change it:
Using WinAutomation 223
This feature is also useful for changing the name the Web Recorder assigns to each
element. WinAutomation makes its best effort to extract a name for every element you
interact with, however this may not always be possible or you may want to replace
the auto generated name with another one that makes more sense to you.
© 2018 Softomotive
While recording you may want to take notes that will be useful if you chose to edit the
actions later in the Robot Designer. To do so you need to click on the "Insert
Comment" button and a comment action will be appended in the sidebar. This
action, holding the comment that you entered, will be part of the recorded actions
that will be sent back to the Robot Designer.
Using WinAutomation 225
If, at any point you want to discard all the actions you have recorded so far and start
from scratch, you can press the "Reset Recorded Actions" button. A message box will
appear for you to confirm the delete.
© 2018 Softomotive
Extracting Data while Recording
The Web Recorder also includes the functionality of the Data Extraction Web Helper 228
so that while you are recording you can specify any data on the web page you are
visiting that you want to extract. This is done simply by right-clicking on the element
you want to extract and from the context menu that will appear select the "Extract
Element Value" and then the attribute that you want to extract.
As with the Data Extraction Web Helper 228 you may select multiple elements and the
Extraction action will be updated accordingly. The action will also include a link to a
preview of the selected data as it is going to be extracted.
Using WinAutomation 227
By right-clicking on an element you can also insert an action that takes a screenshot
of that element, or an action that waits until the text contained in that element
appears/disappears from the page. The latter is useful especially for dynamic/ajax-
powered websites that you need to make sure that the page has been updated before
moving on the the next action.
Finally, once you are happy with the process you have recorded you can press the
"Finish" button and all the actions will be transferred back to the Robot Designer:
As you can see from the screenshot above, all actions (along with any comments you
may have added while recording) have been inserted into your Robot. From this point
© 2018 Softomotive
you can continue editing and modifying your actions as you would for any other Robot
whether it has been generated by the Web Recorder or not.
The other actions allow you to take a screenshot of a web page element 526 , retrieve
details of a web page 523 such as its title or its HTML source and finally retrieve any
HTML attribute of any web page element 524 or even its text.
So far so good, however, very often, you want to retrieve information displayed into
the page in the form of tables or lists, rather than technical values. And this is where
the "Extract Data from Web Page 521 " action comes into play:
Using WinAutomation 229
As with any other web-related action you will first need to specify the web browser
instance containing the page you want to extract data from. The next step is to
specify the data itself and finally to select where the extracted data will be stored.
The default value is to be written into a newly generated Excel spreadsheet, but to do
so you need to have Microsoft Excel installed in your computer.
Alternatively you can have the data stored into a variable for further processing by
later actions. Note that the extracted data can be in any of the following forms:
1. Single Value:
Say that from a web page containing info about a product, your extract the product
name only. In this case, if the extracted data is stored into a variable this variable will
contain a text value.
© 2018 Softomotive
Say that, in our previous example you select to extract not only the product name,
but also the description and its price. In this case three separate values will be
extracted and the resulting variable will hold a value of type DataRow.
You will be able to access each one of the retrieved values using the following form:
%DataFromWebPage[...]% where within the brackets you will enter either a number or
the name of the value.
3. Lists:
You are no longer in the page containing the product info, but in a page containing the
list of all products. If you choose to retrieve all the product names displayed in the
page then you'll end up with a list. Subsequently, the variable holding the extracted
data will be of type List.
4. Tables
In the previous example of the web page containing a list of products you select to
retrieve both the name and the price for each product. In this case the resulting
variable will hold a DataTable with a product in each row and two columns (with the
product name stored in the first column and the product price in the second one).
Live Web Helpers conveniently work on an existing Internet Explorer window. Just have
the action "Extract data from Web Page" open in your designer and click on the
Internet Explorer of your interest.
The standard Web Helper on the other hand, is a browser window itself and opens by
pressing the "Specify Web Data to Extract".
Should you click on the "Specify Data to Extract" button the Web Helper Window will
appear.
Using WinAutomation 231
this window consists of two parts, the left pane which is the web browser and the
right sidebar which displays a preview of the data selected for extraction.
As with the Web Helpers, the first step is to enter the URL in the address bar and
navigate to the page containing the data to be extracted.
Next, all you have to do is right click on any element of the page that you want to
retrieve and select the property you want to extract. Most often you will want to
extract the text of the element, but you have also the choice to specify any HTML
attribute you want to retrieve.
© 2018 Softomotive
At any point you can press the "Accept" button and finish the process of selecting the
data you want to extract, or you may continue by selecting more elements. Depending
on the elements you select, the web helper may or may not expand the selection. For
example, if the next element you select is the URL of the element chosen in the
previous screenshot (shown in green in the screenshots) you will have just two
elements selected:
Using WinAutomation 233
If, however, the second element you selected was another search result title,
WinAutomation would detect that you are extracting a list and would expand the
selection to all items of the list:
On the right sidebar you see the preview of the data to be extracted in the form of a
list.
So now you have specified that you want to extract a list. If you select an additional
element, WinAutomation will extract the corresponding data for each element already
in the list, returning the result in the form of a table:
© 2018 Softomotive
By selecting an additional element, the table would simply get an additional column.
You can edit the column names by clicking on them in the preview sidebar.
If the data spreads over multiple pages there will be a "Next" link somewhere that
points to the next page. You can right click on that link and select "Set This Element
As Pager". This way, WinAutomation at runtime will not retrieve the data just from the
first page but will continue and retrieve the same data from the next pages too.
At any point you can press the "Reset" button to discard the selection made so
far and start over. You can also examine and modify the CSS Selectors generated by
the Web Helper that specify which info needs to be extracted by pressing the
Finally you can press the "Recalculate Now" button to highlight which data will
be extracted from a web page based on the current selection. This can be useful if, for
example, you select some elements to extract from a web page containing info about a
product. You can then visit a page containing info on another product and click the
"Recalculate Now" button to make sure that appropriate info will be retrieved from the
second page too.
As mentioned before, after you have finished with selecting the data you want to
extract you can press the "Accept" button to return to the action's properties dialog.
Using WinAutomation 235
Should you click in the webpage, then the "Live Web Helper- Extract Data From Web
Page" window will pop up. In this Window you will be able to preview the extracted
data.
Extracting a List:
Lets say that you wish to extract the title for all available results in a webpage.
Having the "Extract data from Web Page" action open, hover your mouse on the page
(or click on a blank area). Then right click on the first result and extract its Text as in
the screenshot below:
Do the same for the second result and the list of all the items' text will be
automatically extracted. Click on the "Advanced Settings" icon to review the CSS
selector which you can modify and make it even more efficient.
© 2018 Softomotive
1. As you can see while extracting a list, we have the Base Selector and the CSS
selector. The Base selector is the root element in the HTML code, under which the
items of the list are listed. This means that the extraction starts from the
".....div:eq(1) > ul > li"
2. For each list item from the list "...div:eq(1) > ul > li" and then it gets the "h3 > a"
element.
3.The attribute that you are extracting is "Own Text" and it can be changed to "Title",
"Href", "SourceLink", "Exists" or any other Attribute is available in the HTML code of the
page for this element.
4. You also have the option to apply Regular Expressions on the extracted text, in
order to get just a part of it.
Changing the selector by hand, then you can click on the "Recalculate now"
button to see the extraction's Result.
Using WinAutomation 237
Extracting a Table:
In order to extract more than one piece of info for each result you would have to
extract a table.
Let's say that we want to extract the Title of the product, the link behind it and the
price.
For the first result we right click on the title, extract its "Text", then right click again
to extract the "Href" and finally we right click on the price element to extract its
"Text".
For the table, in the same notion as extracting the list, we have the Base CSS
Selector, which is the root element in the HTML code, under which the data of each
result/product exist. This means that the extraction starts from the ".....div:eq(1) >
ul > li" and then for each of the item we extract the
© 2018 Softomotive
Attributes to extract:
In the Attribute field of the "Advanced Settings" of the "Extraction Preview" window,
other than the attributes that are listed in the drop down list, you can specify any
other attribute that the element has. For example if an element in the HTML code of
the page is:
Then in the attribute dropdown list you can write "class" if you want to extract its
class, "id" if you want to extract its id...and so on.
NOTE
· You can extract the plain html code of the element -and all its children elements-
should you write "outerhtml"
· You can extract the plain html code of all the children elements of the element
should you write "innerhtml"
This is very helpful if you want to extract a piece of info that resides in the html for
this element by applying some Regular Expressions on the extracted code.
This can be achieved with the "Extract Data from Web Page" action, if you select to
set an element as "Pager". As shown below, you can right click on the pager element
and select "Set This Element As Pager".
Having done so, upon extraction of the data, the Robot will keep clicking on the "next
page" button and extracting what you have set it to extract, up until when the pager
element is enabled and present on the web page.
Using WinAutomation 239
The CSS selector for the pager is shown in the "Advanced Settings" for the Extraction
Preview window. You can modify it and use your own if you are familiar with CSS
selector and maybe use its id and class attributes to make it 100% consistent.
Once you have set the data to extract, press "Commit". Back in the "Extract Data from
Web Page" action you can choose to extract the results from:
- All Available pages, which means that the extraction will finish once there are no
more result pages, or
- only first 'X' Web Pages, which means that the extraction will finish after extracting
the data from the X web page.
© 2018 Softomotive
Feel free to have a look at the Create CSS Selectors topic 272 .
While you can use the WinAutomation's browser without the need to configure
anything, for being able to control IE you will need to modify some of its settings. By
default, Internet Explorer comes with security settings enabled that do not allow an
external application (WinAutomation in our case) to control it.
Open the Internet Options dialog in Internet Explorer and click on the "Security" tab:
Using WinAutomation 241
Select the "Internet" zone and UNCHECK the "Enable Protected Mode" checkbox:
© 2018 Softomotive
Select the "Local intranet" zone and UNCHECK the "Enable Protected Mode" checkbox:
Using WinAutomation 243
Select the "Trusted Sites" zone and UNCHECK the "Enable Protected Mode" checkbox:
© 2018 Softomotive
Finally click the OK button and restart Internet Explorer. You will now be able to
control Internet Explorer through WinAutomation for automating all kinds of web sites
and web applications.
Windows Servers have the "Internet Explorer Enhanced Security Configuration" (IEESC
for short) feature turned "On" by default, which prohibits any and all WinAutomation
Robots from properly launching an Internet Explorer or the Automation Browser via the
"Launch New Internet Explorer" action.
Using WinAutomation 245
Likewise, as long as the IEESC feature is "On" any and all web-automation actions will
too fail to work as intended. Moreover, the design-time Web Helpers of the
aforementioned actions will not work either as long as the IEESC feature is "On".
In order to be able to overcome the above, you would have to change the Security
Configuration as per the screenshots below in 3 small steps.
3. Both for Administrators and Users select the "Off" radio button and click "OK".
© 2018 Softomotive
You will now be able to control Internet Explorer through WinAutomation for
automating all kinds of web sites and web applications.
This action only works with the Automated browser regardless the IE version, while in
an actual IE, version 8 and below is a requirement.
2. For the actual IE to work reliably with the Web Automation Actions one needs
to change its security options. (Configure Internet Explorer for Web
Automation 240 )
Such tweaks are not necessary when using the WinAutomation Runtime Browser. This
can come in handy for users working in companies having certain standards when it
comes to the security (thusly prohibiting users from changing the security settings of
IE). For these users the WinAutomation Runtime Browser is the way to go.
Using WinAutomation 247
When this feature of the WinAutomation Runtime Browser is undesirable (e.g. when
dealing with authentication dialogs) we apply the “(ShowDialogs)” suffix at the end of
the url inside the Launch New Internet Explorer action, so as to temporarily allow such
dialogs to pop up. Using such a workaround is not needed in the actual IE.
4. The WinAutomation Runtime Browser does not support tabs or opening links
in windows.
When the user clicks on a link in an actual IE, which would open in a new window, the
Automated browser automagically opens the link it in the same window/instance (this
discards all navigation history etc).
6. When it comes to converting Robots to .exe files the actual IE is a bit more
handy than the embedded one if the .exe is to be distributed to computers that
WinAutomation has never been installed.
The reason for this is that for those machines that want to run a .exe with the
embedded IE the client must install (and then uninstall) WinAutomation in order for
certain registry-keys to be installed in the registry, instructing the Windows OS to run
the Runtime Web Helper of WinAutomation as the IE version of most recent vintage. If
this does not take place then the Runtime Web Helper will be running as IE6 by default
which can cause severe problems in certain websites, thus breaking the .exe Robot.
Also, there might be cases where the Web Helpers appear with an offset relative to
the elements themselves. This is caused from the fact that the web page display is
not at 100% and as a result the helpers are in a different position than the one
actually expected. In order to overcome this issue, you can simple press Ctrl+ (for
zooming in) or Ctrl- (for zooming out) to make the Helpers circulate the elements
correctly!
© 2018 Softomotive
Helpers with offset.
Add-ons in WinAutomation are essentially external packs of actions that you can
download from our website and install separately in the application according to your
needs. The main purpose of Add-ons, is to provide WinAutomation’s users with as
many features as possible while keeping the number of core actions easily manageable.
This practically means that we do not have to sacrifice flexibility for features or vice
versa.
You can open the WinAutomation Add-on Manager through "Options > Addons" tab in the
console.
This button will get you to the WinAutomation official website where you can review
and download all the available addons.
Uninstall an Add-on
You can uninstall any Add-on that you no longer need, just by selecting it in the list of
installed add-ons and clicking on the “Uninstall Selected Add-on” button. Note here that when
you uninstall an add-on, any robots that contain actions from that add-on will not work
anymore. This does not apply to compiled Robots that are independent but only to Robots
that run within WinAutomation.
After you have downloaded an Add-on, you can install it by pressing the “Install new Add-on”
button and selecting the .wao file that you downloaded.
Advanced Topics 251
Add-ons designed for WinAutomation version 5 will not work with WinAutomation version 6
and vice versa. If you accidentally installed an incompatible add-on, you can safely delete the
file Addons.dat, which is by default located in the same folder as your Robots.dat file 283 .
Having done that, you may proceed and download the latest compatible version of the add-on
by pressing the “Browse All Available Add-ons” button.
4.2 Variables
Throughout your robots, you will need to store useful information for passing them from
on action to another: the current date, the file that the user selected, the contents of
the clipboard. WinAutomation allows you to store this kind of data, for later use,
through variables. A variable simply acts like a storage bin that saves valuable
information for the Robot’s execution, so that you can use it later. You can stuff
different types of data into variables, such as text or numbers. For more information
about Data Types you can see here 252 .
In order to use variables, you will have to use the specific notation associated with
them: the variable’s name should be enclosed in percentage characters. For example,
in order to use a variable called “ClipboardText” as an input for “Set Clipboard Text”
© 2018 Softomotive
action, you must write: %ClipboardText% in the “Text to store into Clipboard” field of
the specific action’s properties dialog box.
Creating Variables
1. Through the “Variables Manager Window”. For more information about where to find
and how to use this method you can see: “Variables Manager Window 170 ”.
2. Variables can also be created by Actions. Most actions generate output based on
the input that has been provided to them. For example the “Get Text Length”
action under “Text Actions” category, will accept the text that you want to
measure as an input, and provide the number of chars that this text contains as an
output. This output will be stored in a variable for later use.
Using Variables
Variables can be used to store any specific type of information that may need to be
utilized throughout the Robot. Most of the variables that you will use are the “product
of a specific action’s labor”: the current date, the files contained in a specific folder,
the text that is stored in the clipboard, is information that you can retrieve and store
in variables through specific actions.
WinAutomation provides you with an easy and straightforward way to use variables
that have been previously created in your robots: there is a special “gear” icon
next to every input that accepts variables in the Action Properties Dialog box. By
clicking on that icon, you will be able to directly select any variable or variable
property (for information about properties you can check “Data type Properties 255 ”)
that you want to use as an input.
Notice that the gear icon is placed only next to the “Action’s Inputs” (there are
no gear icons next to “Outputs”). This does not mean that you cannot use a
variable that already exists, as an output, thus overwriting its contents and, possibly,
changing the type of data that the variable contains. However, it is suggested that
you use a new variable to store a different action’s output: it will help you to keep
your Robot clear and have a full understanding of what kind of data each variable
contains at any given time of your Robot’s execution.
· Text:
A “Text” variable can contain any kind of text, from your email address to the text
contents of txt file. Notice that the user’s input through the “Display Input Dialog 393
” action will always be stored as text (even if the user enters a number). In order to
convert text into number you will have to use the “Convert Text to Number 653 ”
action.
Advanced Topics 253
· Number:
This is the data type of a variable that holds a number.
· Boolean:
Can be either True or False. For example the attributes of a file (such as "Hidden")
are of type Boolean. If a file is stored in a variable called %MyFile%,
%MyFile.IsHidden% will be True if the file is hidden and False if it is not (IsHidden is a
property of the File Data Type; for more information about the data type properties
see “Data Type Properties 255 ”).
· List:
A list contains a collection of values (it is the equivalent of single-dimensional arrays
in programming). Depending on the type of the items of the list we can have List of
Texts, List of Numbers, List of Files etc. For more information about lists, see
“Lists 254 ”.
· Data Table:
A data table contains data in a tabular form (it is the equivalent of two-dimensional
arrays in programming). For more information about data tables, see “Data Tables 255
”.
· Date Time:
Contains basic date and time information. The form that will be used to print a “date
time” variable (e.g. through a “Display message” action) depends on the machine’s
regional settings. To retrieve a special textual representation of a Date Time value
you need to convert the value into text with the "Convert DateTime to Text 657 "
action.
· Excel Instance:
A variable of that type can be created through the “Launch Excel” action. It is used
to uniquely identify the specific instance of Excel that was launched. Every other
action under “Excel” category (e.g. “Read from Excel”) will require from you to
specify an existing Excel instance (i.e. the specific excel file whose data will be
read). Variables of the "Excel Instance" type can be used in place of a UI Automation
"Window Instance" in UI and Windows actions.
· FTP Connection:
A variable of that type can be created through the “Open FTP Connection” and
“Open Secure FTP Connection” actions. It is used to uniquely identify the FTP
connection that was opened. Every other action under “FTP” category (e.g.
“Download File(s) from FTP”) will require from you to specify an existing FTP
connection (i.e. the specific FTP site where the file(s) will be downloaded from).
© 2018 Softomotive
· File:
Represents a file. Files can be used as input in any of the actions under “Files”
category. Every file has properties (e.g. Size). You can retrieve a file’s properties by
using the following notation: %VariableName.PropertyName%. For more information
about data type properties see “Data Type Properties 255 ”.
· Folder:
Represents a folder. Folders can be used as input in any of the actions under
“Folders” category. Every folder has properties (e.g. CreationTime). You can retrieve
a folder’s properties by using the following notation: %VariableName.PropertyName%.
For more information about data type properties see “Data Type Properties 255 ”.
· Mail Message:
Represents an email. Email variables are populated by the "Retrieve Emails 560 " action.
Every email has properties (e.g. Subject). You can retrieve an email’s properties by
using the following notation: %VariableName.PropertyName%. For more information
about data type properties see “Data Type Properties 255 ”.
· Window Instance:
A variable of that type can be created through the “Get Window 450 ” action. It is
used to uniquely identify an application window on the user's desktop. UI and
Windows actions will require you to specify a target Window instance (i.e. the
specific window which will be acted upon / contains the target element(s)).
4.2.2 Lists
Lists are collections of items of the same type. You can create a list through the
“Create New List” action (under “Variables” category) and add an item to that list
through the “Add Item to List” action. You can also create a list through actions that
generate lists as output (e.g. “Read text from file” will return a list if you select to
store the file’s contents as a list and "Get Files in Folder" action will return a List of
Files).
In order to retrieve a specific item of a list, you will have to use the following
notation:
%VariableName[ItemNumber]%
Keep in mind that the “ItemNumber” should be 0 for the first item of the list, 1
for the second and so on.
Advanced Topics 255
For example, if you have a list that is stored in the variable %MyList% and contains 10
items, you can retrieve the first item with: %MyList[0]% and the last item with
%MyList[9]%.
Very often the "For Each" loop is used for iterating through the items of a list.
There is no direct way to create a data table but there are 2 actions that generate a
data table as an output: the “Read from Excel” action and the “Execute SQL
Statement” action.
In order to retrieve a specific item of a data table, you will have to use the following
notation:
%VariableName[RowNumber][ColumnNumber]%
Keep in mind that “RowNumber” and “ColumnNumber” should be 0 for the first item (row
or column), 1 for the second and so on.
For example, if you have a data table that is stored in the variable %MyDataTable%,
you can retrieve the first item with: %MyDataTable[0][0]%.
Data Rows
If you loop through a data table with a “For Each” action, the variable that will contain
the current iteration’s data, is considered to be a “Data Row”. Data rows are basically
lists: they are no different than regular lists (they contain several items, their items
can be retrieved through the regular list notation), except for the part that they
represent a row in the data table’s scheme. Remember that you can still treat them as
if they were lists without any problem at all.
Below you can find the available properties for the different built-in WinAutomation
data types:
© 2018 Softomotive
Data type Text has the following property:
· Length: the length (in characters) of the text stored into the variable.
· DayOfYear: The day of the year part of the DateTime value (1-365/6)
· Name: The name of the file, including the extension (e.g. MyFile.txt).
· IsHidden: This property is true if the file is hidden or false if the file is visible.
· IsSystem: This property is true if the file is a system file or false if it is not.
· IsReadOnly: This property is true if the file is read only or false if it is not.
· Exists: This property is true if the file exists or false if the file does not exist.
Advanced Topics 257
· IsHidden: This property is true if the folder is hidden or false if the folder is visible.
· Exists: This property is true if the folder exists or false if the folder does not exist.
· Cc: a list of values containing additional recipients for the message (carbon copy)
· Date: the date and time in which the message was sent
· Body: the body of the message. This can be in plain text or in HTML form
· BodyText: if the previous property contains HTML, this property contains the body
of the message in plain text form.
· Attachments: a list of File 256 data types that represent the attachments of the
email message (if any) after they have been saved locally.
· Directory: The directory where the file is stored on the FTP Server.
· Name: The name of the file, including the extension (e.g. MyFile.txt).
© 2018 Softomotive
· Extension: The extension of the file.
· Columns: A list that contains the names of the columns of the DataTable
When you are creating a Robot with WinAutomation, you may sometimes want to keep
the value of a specific variable available for the future executions of the Robot.
Persistent Variables allow you to do exactly that: keep a variable’s value available for
the next time that the Robot executes.
Advanced Topics 259
Before this feature was available, the standard way to keep values was to store them
into external files, a process which sometimes could be complicated. Now by simply
marking a variable as persistent we can be sure that its value will be kept between the
executions of the Robot.
You can set a variable as persistent through the Tools Menu option > Variables
Manager 170 window while in the Robot Designer.
If the variable that you want to make persistent already exists, you can just select it
in the “User Defined Variables” tab and then hit the “Edit Variable” option. If you want
to create a brand new variable and make it persistent, click on the "Add New Variable"
button.
© 2018 Softomotive
In the new dialog box, you will have to enter a name for the new variable and check
the “Variable is Persistent” option.
When you first create the persistent variable it will not have any stored value.
However, if you run the Robot and give the variable a specific value, you will be able
to see the currently stored value from the “Edit Variable” window in the Robot
Designer’s Variable Manager.
Advanced Topics 261
If you compile a Robot that includes persistent variables, there will still be persistent
variables available in the compiled executable, but the stored values will be reset.
The values of persistent variables, after a compiled Robot has been executed for the
first time, are stored in a file that is located in the same directory with the compiled
Robot and is named according to the following notation:
CompiledRobotName.config
So if, for example, you have a compiled Robot named: UploadFolder.exe, the persistent
variables will be stored in a file named UploadFolder.config that is located in the same
directory with UploadFolder.exe.
Notice, that the current value of a compiled Robot’s persistent variable can be read if
you open the .config file with a simple text editor (e.g. notepad). However, in some
cases, you may want to store sensitive data, like passwords, in a persistent variable.
In this case, you will have to select the “Encrypt Persistent Variables” checkbox in the
“Misc Options” tab of the “Compile Robot” dialog.
© 2018 Softomotive
This way, all the values from the persistent variables will be encrypted in the .config
file.
For Robot B to access any of the external variables, the "ext:" prefix must be included
before the variable name. For example, if Robot A defines a variable %MyData%,
Robot B can access the value of that variable using the notation: %ext:MyData%
Various characters and combinations can be used, some of which are displayed below.
When displayed on their own these characters produce the following formats:
· f: The Full Date Time - short Time (Friday, April 02, 2010 10:00 AM)
· F: The Full Date Time (Friday, April 02, 2010 10:00:46 AM)
© 2018 Softomotive
· ss: The seconds as a number from 00 to 59 (46)
You can mix and match these special characters in the Custom Date Time Format and
add any other characters you wish to connect them. If you wish to use any of the
characters seen in the above list as a connection character you will need to use the
backslash(\) in front of it. For example if in your custom date you need to represent
the phrase 'The date is ' followed by the Date you will need to enter the following in
the Custom Date field:
4.3 Loops
WinAutomation allows you to use “Loops”, a concept that is really important in
programming and proves to be invaluable when combined with WinAutomation’s
actions. The idea behind a loop is to make WinAutomation repeat one or more actions
multiple times. Loops in WinAutomation come in 3 flavors:
· Loop: Repeats one or more actions a specific number of times. For more information
see “Simple Loops 265 ”.
· Loop Condition: Repeats one or more actions until a specific condition is met. For
more information see “Loop Condition 266 ”.
· For each: Repeats one or more actions for every item contained in a list or data
table. A different item of the list (or data row of the data table) will be saved in a
variable during each iteration, allowing you to use it inside the actions of the loop.
For more information see “For Each 267 ”.
Note: WinAutomation will automatically indent the block of actions that will be
repeated by a loop.
Advanced Topics 265
Use
A simple loop is ideal to use in 2 cases:
1. If you know the exact number of times that action(s) should be repeated
2. If the %LoopIndex% variable must be used somewhere inside the loop (“LoopIndex”
is the default variable’s name that WinAutomation uses to store the current
iteration’s number).
3.
© 2018 Softomotive
4.3.2 Loop Condition
A “Loop Condition” is implemented in WinAutomation through the homonym action 343 .
Basically, Loop Condition will repeat one or more actions while a certain condition is
true (for more information about conditions check “Conditionals 269 ”). Keep in mind that
at some point, inside the loop, you will have to make the loop’s condition false
otherwise it will keep on repeating and your robot will never end (this is called an
endless loop).
Example:
Suppose that you have an executable that you want to keep executing until it returns
a non-zero error code. All you have to do is create a Loop Condition that will repeat a
“Run Application” action while the %AppExitCode% equals to zero.
Advanced Topics 267
Usage Examples
There are plenty of situations that you may need to use a “For Each” loop:
If you want to check which of the text files that are contained in a list have a specific
phrase in it, or if you need to use each data row’s contents to fill in a web form, you
will have to use it. Basically, if you use the words “For Each” when you are describing
the task that you need to automate, you will most likely have to use this action.
Also if you choose to read a text file as a list where each item of the list will be an
item, you can use a "For Each" loop in order to iterate through each line and apply
some actions on it.
© 2018 Softomotive
In computing, a connection string is a string that specifies information about a data
source and the means of connecting to it. It is passed in code to an underlying driver
or provider in order to initiate the connection.
The connection string may include attributes such as the name of the driver, server
and database, as well as security information such as user name and password.
To connect to an Excel database the most common connection string that one can
use is:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:
\myFolder\myExcelFile.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:
\myFolder\myAccessFile.accdb; Persist Security Info=False;
For other Databases like SQL Server, Oracle, My SQL please, have a look at the
Connection strings 268 section.
www.connectionstrings.com
Of course you are free to use variables in any connection string like for example:
Advanced Topics 269
Server=%ServerAddress%;Database=%myDataBase%;User Id=%Username
%;Password=%Password%;
or
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%ExcelFile%;Extended
Properties="Excel 12.0 Xml;HDR=YES";
You must download and install the appropriate drivers from the list below according to
the database that you want to connect to:
https://www.microsoft.com/en-us/download/details.aspx?id=5793
https://www.microsoft.com/en-us/download/details.aspx?id=13255
https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=23734
http://www.ch-werner.de/sqliteodbc/
https://dev.mysql.com/downloads/connector/odbc/
An example on how the "Execute SQL Statement" action with excel and further on for
any kind of database do click on the following link:
http://www.winautomation.com/community/topic/sql-syntax-example/
4.5 Conditionals
Conditionals are very important concept WinAutomation, since they allow you to
execute specific actions or blocks of actions only if a certain condition is met. If the
condition is not met, the action(s) that the conditional structure contains will be
skipped.
© 2018 Softomotive
Usage Examples
There are tons of examples about where you might want to use a conditional: if you
want to delete only files that have not been modified during the last week, if you want
to know whether a specific process is running before launching an application, if you
want to verify that a file does not exist before creating it and so on. Practically,
conditionals are the first thing that you will have to use in order to automate tasks
through WinAutomation, since they give you the ability to choose whether some part
of your robot will be executed or not.
Note: WinAutomation will automatically indent the block of actions that is contained in
a conditional structure.
4.5.1 If/Else/EndIf
The most common way to control which actions of your robot will be executed is to
use the “If 321 ” action. This action checks whether or not a certain condition is true. If
so, the action or block of actions, that are included between “If” and “End If”, will be
executed.
An “If” statement consists of 2 operands (the operands are the pieces of information
that will be compared) and an operator. The operator can be:
Ψ Starts with
Ψ Contains
Ψ Ends with
Ψ Is Empty
Ψ Is not Empty
and it defines how the first operand should relate with the second operand in order for
the condition to be met.
An “If” statement may optionally contain an “Else” action. This action should always be
placed between an “If” and an “End If” action, and it defines the action or set of
actions that will be executed if the condition that is defined by the “If” statement is
not met. Basically, you will have to place the actions that will be executed if the
condition is met between “If” and “Else”, and the actions that will be executed if the
condition is not met between “Else” and “End If”.
You can also use the "Else If" action (which can be placed within the If/End If block
and always before the Else action) to set mutually excluded conditions for which
different blocks of actions need to be executed.
Note: If the first and the second operands are variables, you will have to make sure
that they have the same data type or the condition will, most likely, not be met (or it
will always be met if you used the <> operator). For example, if your conditional
checks whether a variable of Date Time type is equal to a variable that contains a file,
this condition will never be met, hence the set of actions contained in the conditional
will never be executed.
4.5.2 If Variations
Apart from the standard If action, there are 5 additional conditional actions:
1. If File Exists 322 : Allows you to check if a file exists (or does not exist) before
executing an action (or a block of actions). This action can prove very useful if, for
example, you want to know if a specific file exists before performing an action on it.
2. If Folder Exists 323 : Allows you to check if a folder exists (or does not exist) before
executing an action (or a block of actions).
3. If Service 325 : Allows you to perform an action (or a block of actions) if a specific
service is running (or is paused or is stopped).
4. If Process 326 : Allows you to perform an action (or a block of actions) if a specific
process is running (or is not running).
5. If Window 327 : Allows you to perform an action (or a block of actions) if a specific
window is open (or is not open).
6. If Image 330 : Allows you to perform an action (or a block of actions) if a specific
image is found/is not found on the screen.
© 2018 Softomotive
7. If Web Page Contains 336 : Allows you to perform an action (or a block of actions) if
a web page contains/does not contain a specific element or some text.
While WinAutomation provides you with quite a specific visual feedback (through the
Web Helper or the Extract Preview window) about the webpage elements you have
selected, it can also provide you with detailed information about the values used to
point to the position of these elements in the HTML page, found in the Control
Repository.
CSS (standing for Cascading Style Sheets) was introduced together with HTML 4, to
denote the presentation semantics (the look and formatting) of a document written in
a markup language. A CSS rule (essentially the statement that tells browsers how to
render particular elements on an HTML page) consists of two parts, the selector
(which "selects" the elements on an HTML page that are affected by the rule set) and
the declaration block (which defines the style to be applied to those elements). You
will find links to several external resources focusing on CSS, at the bottom of this
article.
In WinAutomation we use the CSS selectors to pinpoint the web page elements we
want to interact with. The information that is generated and displayed in the CSS
Selector field is based on the underlying tree structure of the HTML page.
For most of the cases, defining the desired webpage elements through the Web Helper
proves to be sufficient but there are exceptions for which the user has to manually
point to the html element. This may be necessary either due to specific design
characteristics of the HTML page structure or to subsequent -to our Robot design-
changes of it (although WinAutomation is adaptable to some of these variations and
can still track the initially user-defined elements).
To overcome this inconsistency, a user can manually include or remove attributes for a
selector, or build one from scratch that will uniquely and undoubtedly define the
desired element.
Just click on the control whose selector you want to edit, click on the selector, click
on "Edit", select the "Custom" option from the top left part of the Selector Builder
window and build your selector in the CSS Selector field. The steps are explained in
detail in the Building a WebAutomation Robot 212 topic.
Selecting controls - HTML elements with CSS Selectors, can be achieved relatively
easy within WinAutomation (with add control and a LeftCtrl+LeftShift+click), but it
Advanced Topics 273
requires a more advanced knowledge of HTML and CSS when you want to build your
own selectors.
Especially for the Extract Data from Web Page action, the CSS Selector can be edited
through the Advanced Settings Icon of the Web Helper window (opened by the Specify
Web Data to Extract button of the action’s Property Window).
Moreover, when extracting list-type data from a web-page, the CSS Selector has the
following structure:
© 2018 Softomotive
where the “Base CSS Selector” represents the route on the HTML tree that points to
the level of elements that constitute the list, while the “CSS Selector” part points to
the specific attribute of each element (or each descendent) we want to extract.
The same logic applies also when extracting data in table format, as also
explained in detailed in the Using WinAutomation > Web Automation (Web Data
Extraction Part I 228 , Web Data Extraction Part II 235 , Web Data Extraction Part
III) 238 topic.
In this case we have to specify as many CSS Selectors as the columns of the table
(the categories of data we want to retrieve for each item).
Advanced Topics 275
Similar to the inconsistencies that may appear when defining the desired elements
through the Web Helper, we may also have to manually input the “CSS Selector for
Next Page of Search Results” (used for cases of extracting records in forms other than
Single Variables).
Using manually inputted CSS selectors can be a powerful alternative in pointing to the
desired elements for the minority of cases that webpage ’s structure hinders
WinAutomation’s ability to automatically spot and interact with them.
If the element you are trying to access contains a text i.e. it is a div and the html
shows the below:
Should you wish to use its id or class i.e. then you should have something like
...> ...> div#someid or ...> ...> div[id="someid"] if you want to use its id.Note,
that the id attribute is unique in the HTML for each element, so if you know the id then you
can ignore the previous route and simply go with "div#someid" !
A very useful attribute that you can use is the ":contains("sometext")". If you know that the
element you are trying to access contains a specific string then you can use this attribute to
access it, i.e. for the example above:
...>...> div :contains("text")
http://www.w3schools.com/cssref/css_selectors.asp
http://css.maxdesign.com.au/selectutorial
© 2018 Softomotive
http://benhowdle.im/cssselectors
https://api.jquery.com/category/selectors/
http://www.winautomation.com/community/topic/projeto-web-recorder-running-
extremely-slow/#post-62796
All Variables are cleared at the end of a Robot, so Variables can only run from one
Robot to another if they run at the same time - see External Variables 262 .
There are two special situations to this notation. The first, if you want to use the
percent sign as a percent sign, special notation is needed so as not to call a Variable.
Therefore, write a backslash first to denote 'this is not a Variable'. Thus if you want
to, say, display the text "5%" you should write "5\%" instead.
If you want to access a file named by a Variable, you might write "C:\folder\%filename
%". This won't work, as "\%" means it isn't a Variable. Therefore, in this special
case, you would need to write, "C:\folder\\%filename%", as the double backslashes
mean the Variable is a Variable. Just remember:
First, by default, it will fail the Action and thus the Robot. Next, you could tell it to
retry the Action after a specified delay, as many times as you want. For example, you
could set the Exception Handling to retry 8 times, once every 5 seconds.
Or, by clicking on a specific exception, you could specify how this exception should be
handled. The Action could run a different Robot and/or continue. If you choose to
continue, you can then tell the Action to go to the next action, a specific Label or
Function (set to create a certain response to the exception), to set a Variable, that
can give you a record of the exception for later Actions or even repeat that action .
© 2018 Softomotive
Once you have set a response to one specific exception, you can click on another to
record a different response. Thus the Action could handle three different exceptions in
three different ways after retrying four times.
It is very important, that you can select from a variety of four options in the exception
handling. First, you can set another value to a variable and retry the action using the
new values of the variable. One more option that the user has, is to run another robot
upon the exception. For example, a robot could be triggered that would email the user
that the robot failed. Moreover, the user can set the robot to run a function after the
exception occurs in order to complete part of the task. Last but not least, the user
can set the robot to proceed with the robot execution from another point of the robot.
Please note, that you can do the above for all the exceptions in one action, or
alternate them according to the nature of the exception thrown in one action.
Note that exceptions that have some custom behavior assigned, are displayed in bold
(as you can see in the first screen-shot above). Exceptions that simple cause the
Robot to fail (the default behavior) are displayed in normal text.
Exception Handling is different the Error Handling Tab 117 in the Console as Error
Handling is what WinAutomation should do in the event that a Robot failed,
Advanced Topics 279
The exception handling, can be placed either for an action, or for a group of actions
that are contained between the "Begin Exception Block" and "End Exception Block"
actions.
As in the single action's exception handling, the "Exception Block" provide the users
with three responses for the robot to have upon an exception.
First, upon an exception, the robot is able to set a value to a variable. This for
example could be prior to sending an email and the variable could state that the
execution failed.
Secondly, in case an exception occurs within the block, another function could be
triggered.
© 2018 Softomotive
Last but not least, the "Exception Block" has the option to continue the robot
execution, either with the next action, the first action after the block, repeating the
action, or even repeating the whole block execution.
In the above example, in case of an exception in any of the actions, the "Exception
Function" is going to be triggered.
Please keep in mind the fact, that in case an action that is contained in an "Exception
Block" already has an exception handling rule set and fails, both rules will apply, first
the actions' and second the exceptions'.
Exception Handling is different than Error Handling Tab 117 in the Console as
Error Handling is what WinAutomation should do in the event that a Robot
failed, while Exception Handling is what to do when something unexpected
occurs in a specific action so that the Robot does not fail.
Advanced Topics 281
Image Recognition works by checking one pixel (in your image) to another (starting in
the top left corner and working across then down the screen). If that pixel matches, it
checks the second. If the first seven match, but the eighth doesn't, it checks the next
pixel against the first in its image.
To use Image Recognition, first you take a screenshot of the part of the screen that
you want. Once that image is stored, when the Robot gets to that Action, it will start
working on finding the stored image. Move Mouse to Image is useful if an image (like a
button you need to click) could move.
Since Image Recognition works by comparing one pixel to another, if your saved image
and most of the screen has a certain color in the upper left corner, it can take some
time to find the right image. To make this more efficient, start with a less-common
© 2018 Softomotive
color in the upper left corner. For example, with a white background for most of the
screen, this image
Both will find the image, but the first will be quicker. The less of a color above and to
the left of your image's first pixel color, the faster the Action will work.
NOTE: Image recognition actions are unfortunately not applicable across different
screen resolutions. This is why its use, is suggested as a last resort, while at the same
time taking under consideration that the script will run on a certain screen analysis.
For, example should you wish to compile a Robot to a stand alone executable with the
Professional Edition, it is suggested that you refrain from using Image recognition
actions, unless you are 100% sure that the resolution will be the same across the
target machine that will run the application.
Non-interactive functions are those that don't require input (keyboard & mouse) or
create output on your monitor. For example, if your computer is set up to
automatically connect to the Internet on start-up, this is non-interactive as you don't
have to do anything, and nothing shows up on the monitor. Likewise, computers will
check email, install updates, move files, etc - all without any action or knowledge on
your part.
As interactive functions can only work when a user is logged in, only non-interactive
Robots can be run when all users are logged out.
Advanced Topics 283
A Robot's interaction with the computer status can be set through the Run Policy
tab 126 of the Robot Properties window.
The options that you have with the database are described in detail in the
Maintenance tab 118 .
You can control WinAutomation from the command line using the
WinAutomationController.exe that is located in the installation folder of WinAutomation.
WinAutomationController.exe has the following three switches:
· /start - this will start a specified Robot, using the following format:
· /stop - this will stop a specified Robot, included as a Command Line Argument
· /ListRunning - this will list all running Robots at the moment. The information that
the command line will give back to you, will include the number of Robots that are
running and a list with all the running Robots instances.
© 2018 Softomotive
WinAutomation Controller /listrunning
'robotCLA1' is the first Command Line Argument you include, 'robotCLA2' is the second,
etc. Command Line Arguments are information you need to send to the Robot, such as
a file path, URL or other needed information, and can be retrieved by the
WinAutomation Robot with the "Get Command Line Arguments" Action, under
WinAutomation Actions.
The robotPath is the path in the WinAutomation Console for the particular Robot, from
a base directory of My Robots in the Folders Pane on the left side. So if your Robot is
in the My Robots directory, the name of the Robot is sufficient. If you have put the
Robot in a subfolder, you will need to include that information in the robotPath.
Note: if the robotPath contains spaces, it should be enclosed in double quotes (e.g.
WinAutomationController /start "My Robot")
As an example, say you have created a Robot that uploads a file that you specify to
an FTP site you designate. You want another program to call up this WinAutomation
Robot, UploadFile, from the Command Line. The Robot has not been compiled, and is
stored in the subfolder of My Robots called 'FileRobots'. It will need to be told where
the file to be uploaded is located, but the URL to upload the file to was already set in
the Robot. Your Command Line would look like this:
You can also import and export a Robot to and from WinAutomation from the command
line using the following switches:
· /import - this will import the specified waj file into the WinAutomation Robots
database (within the specified folder)
Advanced Topics 285
· /export - this will export the specified Robot into a waj file on the disk.
Furthermore, you can also enable and disable a Robot in WinAutomation from the
command line using the following switches:
· /enable - this will enable the robot specified in the robot Path.
· /disable - this will export the specified Robot into a waj file on the disk.
Additionally, you can also get all WinAutomation folders or a specific's folder robots
data under a specified folder in XML format and display the results in the console or via
a file:
· /getallfolders (console|file path) - this will get all WinAutomation folders in XML
format and display the results in the console or via a file
Last but not least, you can export the data from a server to a specific data path:
© 2018 Softomotive
Exit Codes of the WinAutomation Controller
It is a common practice for applications to return a certain code (number) upon
termination; this number is called the "Exit Code". The Exit Code is 0 (zero) when the
application terminates normally, while a non-zero value usually indicates that an error
was encountered during the execution. The WinAutomation Controller returns one of
the following non-zero values whenever an error is encountered:
Exit Meaning
Code(s)
1 The syntax of the command is incorrect
2 Robot not found
3 Robot to be stopped was not found running
6 The file to be imported does not appear to be a Robot (.waj) file
7 Cannot read from the file to be imported
8 Cannot find the Robot to be exported
9 Cannot write the Robot file to the specified path
100 General Exception while performing the requested operation*
101 Could not communicate with the WinAutomation Service / Service
Unavailable
* Additional information regarding this error will be produced and stored into
WinAutomation's Logs.
The "Run DOS Command 293 " is suitable for both running the WinAutomation Controller,
as well as storing the returned Exit Code into a variable for later use.
In this case, you would want to simulate the dot key press, which is not the same as
sending the dot character. To simulate key-presses inside a Send Keys Action, use the
following notation:
{KeyCode}
where KeyCode is the capital form of the letter itself for letters A-Z, OemSemicolon for
';', Oemplus for '+', Oemcomma for ',', OemMinus for '-', OemPeriod for '.', OemQuestion
for '?', Oemtilde for '~', OemOpenBrackets for '[', OemPipe for '|', etc. You will find the
full list of the valid Key Codes at the bottom of this help topic.
Advanced Topics 287
To return back to the Word example, the font-size increase should be written as:
{Control}({Shift}({OemPeriod}))
{Shift}({OemSemicolon})
The same rule applies for other characters produced by pressing Shift + another key.
Tab VolumeUp D8 F4
LineFee MediaNext D9 F5
d Track A F6
Clear MediaPrev B F7
iousTrack
Enter C F8
MediaStop
Return D F9
MediaPlay
ShiftKe Pause E F10
y
LaunchMaiF F11
Control l
Key G F12
SelectMed
Menu ia H F13
© 2018 Softomotive
Hangul OemSemi N F19
Mode colon
O F20
HanguelOem1
Mode P F21
Oemplus
KanaMo Q F22
de Oemcom
ma R F23
JunjaMo
de OemMinu S F24
s T NumLock
FinalMo
de OemPerio U Scroll
d
KanjiMo V LShiftKey
de Oem2
W RShiftKey
HanjaM OemQues
tion X LControlKey
ode
Y RControlKey
Escape Oem3
Z LMenu
IMECon Oemtilde
vert Oem4 LWin RMenu
IMENon OemOpen RWin BrowserBack
convert Brackets
Apps BrowserForward
IMEAcc OemPipe
Sleep BrowserRefresh
ept
Oem5 NumPad0 BrowserStop
IMEAce
ept OemClos NumPad1
eBrackets
IMEMod NumPad2
eChang Oem6
e NumPad3
OemQuot
Space es NumPad4
PageDoOem102 NumPad7
wn OemBack NumPad8
Next slash
NumPad9
End ProcessK
Multiply
ey
Home
Packet
Left
Attn
Up
Advanced Topics 289
Right Crsel
Down Exsel
Select EraseEof
Print Play
ExecuteZoom
Snapsh NoName
ot
Pa1
PrintScr
een OemClear
Insert KeyCode
Delete Shift
Help Control
Alt
Modifiers
In case a control or an image exists in the robot with the same name, the control is
being renamed by getting an index number (n).
© 2018 Softomotive
5. Actions Reference
Actions Reference 291
5 Actions Reference
5.1 System
5.1.1 Run Application Action
Description:
This action executes an application or opens a document by executing the associated
application
Properties:
© 2018 Softomotive
Application Path:
Insert executable file here, as a complete file path.
Working Folder:
Enter the full path of the folder to work out of, if applicable.
Window Style:
Choose the appearance and size of your application Window when it opens.
Other uses:
Description:
This action executes a DOS command or a console application in invisible mode, waits
for the command or application to complete and retrieves its output into a text
variable
© 2018 Softomotive
Properties:
Working Folder:
Enter the full path of the folder to work out of, if applicable.
Description:
Executes some custom VBScript code and retrieves its output into a variable.
Although WinAutomation offers a vast number of actions that will cover almost all your
automating needs there may be times that you want to inject some VBScript code into
your Robot. Maybe you already have a script in VBScript that you want to use, maybe
you need some really advanced features such as manipulating a COM object. Whatever
the need may be this is the action you can use to include VBScript code into your
Robot.
© 2018 Softomotive
Properties:
VBScript to run:
Enter here the VBScript code you want to execute. TIP: Within the script, you may
include WinAutomation variables, since they will be evaluated prior to the VBScript
code's execution. For example:
Actions Reference 297
If the %ExcelFile% variable holds the value, say, "c:\myexcel.xlsx", the last command
in line 8 will equal to
objExcel.ActiveWorkBook.Save "%ExcelFile%"
NOTE:
Commands in VbScript will be highlighted accordingly so that you can read your script
easily. Also this action's window can be resized.
© 2018 Softomotive
5.1.4 Run Javascript Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)
Description:
Executes some custom Javascript code and retrieves its output into a variable.
Actions Reference 299
Properties:
Javascript to run:
Enter here the Javascript code you want to execute. TIP: Within the script, you may
include WinAutomation variables, since they will be evaluated prior to the Javascript
code's execution.
NOTE:
Commands in Javascript will be highlighted accordingly so that you can read your script
easily. Also this action's window can be resized.
Description:
Executes some custom Powershell Script and retrieves its output into a variable.
© 2018 Softomotive
Properties:
C:\\Windows\\SysWOW64
Description:
This action immediately stops a running process.
Properties:
Process Name:
Enter the name of the process that you want to terminate. If more than one process
with the same name are running, all of them will be terminated.
© 2018 Softomotive
Process ID:
Enter the ID of the process that you want to terminate.
Description:
This action prints a document on the default printer
Properties:
Document to Print:
Insert the file to print here, as File Variable 251 or as a complete file path.
Actions Reference 303
Description:
Properties:
Description:
This action sets a printer as the default printer
© 2018 Softomotive
Properties:
Printer Name:
Choose a printer to be used as default. This will continue to be the default printer until
another default printer is chosen.
Description:
This action logs off the current user
Actions Reference 305
Properties:
Description:
This action shuts down, reboots, suspends or hibernates the computer
© 2018 Softomotive
Properties:
Action to Perform:
Choose which Shutdown action to perform.
Description:
This action minimizes or restores all open Windows to reveal or hide the Desktop
respectively.
Actions Reference 307
Properties:
Action to Perform:
Choose whether to minimize all Windows to reveal the Desktop or restore all Windows
to their original respective states.
Cautions:
Avoid minimizing any Window you are currently interacting with.
Description:
This action locks the workstation's display to protect it from unauthorized use
© 2018 Softomotive
Properties:
This action does not have any configurable properties.
Cautions:
This action will prevent your robot from interacting with the Desktop. Make sure to use
this command only when you're sure the robot won't need to use the mouse, keyboard
or request user input after the action has been executed.
Description:
This action plays a system sound or a wav file
Actions Reference 309
Properties:
Play:
Choose a type of sound to play.
Sound to Play:
Choose the specific sound to play.
File to Play:
Set the full path of the specific .wav file to play.
Description:
This action permanently deletes all files from the Windows Recycle Bin
© 2018 Softomotive
Properties:
This action does not have any configurable properties.
Description:
This action takes a screenshot of the foreground window or the entire screen and
saves the image in a file or to clipboard
Actions Reference 311
Properties:
Capture:
Choose an area to capture.
Image File:
Set the full path of the file name where image capture will be saved.
Image Format:
Set the format for the image file to be saved.
© 2018 Softomotive
5.1.17 Control Screen Saver Action
Description:
Properties:
Description:
Sends a message to determine whether a remote computer is accessible over the
network.
Actions Reference 313
Properties:
Host Name:
Enter the name of the remote computer or an IP address.
Timeout:
Enter the maximum number of milliseconds (after sending the echo message) to wait
for the Ping reply message.
© 2018 Softomotive
5.1.19 Set Environmental Variable Action
Description:
This action sets an environment variable with a given value.
Properties:
Enter the name of the Environmental Variable that you want to set. Variable cannot be
greater than or equal to 255 characters
With value:
and Type:
Actions Reference 315
Select the type of the Environmental Variable that will be saved in.
Description:
This action retrieves the value of an environmental variable
Properties:
Enter the name of the Environmental Variable that you wish to retrieve its value
Enter a name to be the variable that will hold the environmental variable's value
© 2018 Softomotive
5.1.21 Delete Environmental Variable Action
Description:
This action deletes the environment variable from a given scope.
Properties:
Enter the name of the Environmental Variable that you want to delete. Variable cannot
be greater than or equal to 255 characters.
Description:
This action returns the width, height, bit count and the frequency of the selected
monitor
Properties:
Number of Monitor:
Enter the identification number of the monitor you want to get the resolution of.
© 2018 Softomotive
Store Width into:
Enter the name of the variable that will hold the Width of the monitor value.
Description:
This action returns the width, height, bit count and the frequency of the selected
monitor
Actions Reference 319
© 2018 Softomotive
Properties:
Number of Monitor:
Enter the identification number of the monitor you want to set the resolution to.
Set Width:
Enter the Width value to be set to the monitor.
Set Height:
Enter the Height value to be set to the monitor.
Set Frequency:
Enter the Frequency value to be set to the monitor.
5.2 Conditionals
5.2.1 If Action
Description:
This action marks the beginning of a conditional block of actions.
Properties:
© 2018 Softomotive
First Operand:
Enter a variable output defined by a previous action, or a literal value such as a text or
a number to compare with the second Operand.
Operator:
Choose the relationship of first Operand to second Operand.
Ignore Case:
If the comparison is between two text values or variables, this option will specify
whether any difference in case between the two operands will be taken into account.
This property is available only if the selected operator is any of the following: "Starts
with", "Does not start with", "Contains", "Does not contain", "Ends with" or "Does not
end with".
Second Operand:
Enter a variable output defined by a previous action, or a literal value such as a text or
a number to compare with the first Operand.
Remarks:
The operators "Is Empty" and "Is not Empty" have a special meaning depending on the
data type of the first operand. For example, if the first operand is a variable that holds
a text value, "Is Empty" is true if the text value is equal to the empty string. If the
operand is a variable that holds a list then "Is Empty" is true if the list contains no
items.
If the first operand is a value that holds a file (e.g. could be a variable populated by a
"Get Files in Folder" action) then "Is Empty" is true only if the file is an empty file (its
size equals to 0 bytes). Accordingly, if instead of a file is a folder variable "Is Empty"
will be true if the folder does not contain any files or subfolders.
Description:
This action marks the beginning of a conditional block of actions depending on whether
a file exists or not
Actions Reference 323
Properties:
If File:
Choose state of file to be checked.
File Path:
Set the full path where action will look for the file to be checked.
Description:
This action marks the beginning of a conditional block of actions depending on whether
a folder exists or not
© 2018 Softomotive
Properties:
If Folder:
Choose state of folder to be checked.
Folder Path:
Set the full path where action will look for the folder to be checked.
Actions Reference 325
Description:
This action marks the beginning of a conditional block of actions depending on whether
a service is running, paused or stopped. It can also be used to determine whether a
service is present on the computer or not.
Properties:
If Service:
Choose state of service to be checked. You can check whether the specified service is
running, paused or stopped as well as whether it is installed or not.
Service Name:
Choose a specific service installed on your computer to be checked.
© 2018 Softomotive
5.2.5 If Process Action
Description:
This action marks the beginning of a conditional block of actions depending on whether
a process is running or not
Properties:
If Process:
Choose state of process to be checked.
Process Name:
Choose a specific process to be checked.
Actions Reference 327
Description:
This action marks the beginning of a conditional block of actions depending on whether
a window is open or not or whether a window is the focused (foreground) window.
by Window Control
© 2018 Softomotive
by Window Instance/Handle
Actions Reference 329
Properties:
Get Window:
Choose whether the action gets the target window from a "Window Instance" variable,
or searches for it by Title and/or Class.
Window Instance:
Enter the variable that contains the Window Instance which you want to bring to
front. This must be a variable defined by a preceding “Get Window 450 ” action or a
valid Window Handle.
© 2018 Softomotive
Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.
Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.
Check if Window:
The state of window to be checked. Choose between: Open, Not Open, Focused, Not
Focused.
Description:
This action marks the beginning of a conditional block of actions depending on whether
a selected image is found on the screen or not.
Actions Reference 331
Properties:
If Image:
Choose whether you want to check for the existence or absence of the selected
image.
© 2018 Softomotive
Search for Image on:
Choose whether you want to search for the specified Image in the foreground Window
only, or the entire visible screen. Neither choice will find the Image if it is not clearly
visible on the screen.
Search Mode:
Specify whether you want to scan the entire screen (or window) to find the supplied
image or only a narrowed down subregion of it.
Tolerance:
Specify a value for how much the Image searched for can differ from the originally
chosen Image.
Description:
Checks whether a specific piece of text or a Window element exists inside a Window.
Actions Reference 333
You can select the window from your Control Repository or Add it in the Repository.
© 2018 Softomotive
Option 2: Check for Text (Exists/Does not Exist)
This option checks the text inside the Window to determine whether a specified
subtext exists or not.
Actions Reference 335
Properties:
Control:
Choose the Control for the element from your Repository or Add it if it is not already
there.
© 2018 Softomotive
5.2.9 If Web Page Contains Action
Description:
Checks whether a specific piece of text or a web page element exists in a Web Page.
This action operates on a Web Page that has been previously opened by a "Launch
New Internet Explorer 495 " action. The latter stores the Web browser instance into a
variable. This action accepts this variable and checks whatever page is currently
displayed in that Web Browser Instance.
Choose the Control for the element from your Repository or Add it if it is not already
there.
Actions Reference 337
This option checks the text of the Web page to determine whether a specified subtext
exists or not.
Properties
© 2018 Softomotive
Control:
Choose the Control for the element from your Repository or Add it if it is not already
there.
Description:
Marks the beginning of a block of actions that are executed if the condition specified in
the preceding If Action is not met
Properties:
This action does not have any configurable properties.
Description:
Marks the beginning of a block of actions that are executed if the condition specified in
the preceding If Action is not met and the condition specified in this action is met.
Actions Reference 339
This action can only be inserted within an If/End If block and always before the "Else"
action, if any. In all other aspects is similar to the "If" action 321 .
© 2018 Softomotive
5.2.12 End If Action
Description:
Properties:
This action does not have any configurable properties.
5.3 Loops
5.3.1 Loop Action
Description:
This action iterates a block of actions for a specific number of times
© 2018 Softomotive
Properties:
Start From:
Sets the starting point for your Loop counter
End To:
Sets the ending point for your Loop counter
Increment By:
Sets the increments your Loop counter increases by
Description:
Properties:
First Operand:
Enter a variable output defined by a previous action, or a literal value such as a text or
a number to compare with the second Operand.
Operator:
Choose the relationship of first Operand to second Operand.
© 2018 Softomotive
Second Operand:
Enter a variable output defined by a previous action, or a literal value such as a text or
a number to compare with the first Operand.
Description:
This action loops through the items of a list
Properties:
Variable to Iterate:
Enter a previously created variable that contains a list, data table, or data row. The
actions in the loop will be executed once for each item in the list, each row of the
table, or each column (cell) of the data row.
Actions Reference 345
Description:
This action exits the current Loop
Properties:
This action does not have any configurable properties.
Description:
This action marks the end of a Loop
© 2018 Softomotive
Properties:
This action does not have any configurable properties.
5.4 Wait
5.4.1 Wait Action
Description:
This action suspends the execution of the robot for a specified amount of seconds
Actions Reference 347
Properties:
Wait for:
Enter the number of seconds that you want the robot to pause.
Description:
This action suspends the execution of the robot until a file is created or deleted
© 2018 Softomotive
Properties:
File Path:
Set the full path of file to be checked.
Continue Anyway:
Choose whether the robot continues after a set number of seconds, regardless of
whether the file has been created/deleted.
Actions Reference 349
Description:
This action suspends the execution of the Robot until a specific HotKey is pressed by
the user.
There are cases where you want the Robot to pause and continue only when the user
says so. For example, a Robot may open a number of documents for the user to review
and needs to know when the user has completely reviewed each document to open
the next one.
This is where the "Wait for HotKey" action can be used. You can specify a HotKey and
the Robot will continue only when this Hotkey is pressed.
To further elaborate our previous example, let's assume that the user, after reviewing
each document, has the choice to either archive it or delete it. In this case it would
be convenient for the user to be able to press different hotkeys, and the Robot to
keep track of the hotkey pressed to interpret the user's intention.
© 2018 Softomotive
If you specify more than one hotkeys to wait for, the action populates a variable
(%PressedHotKey% in the example above) with the ordinal number of the pressed
hotkey. In the example above, if the user pressed Control-D the %PressedHotKey%
would hold the value 1 while if the user pressed space the %PressedHotKey% variable
would hold the value 2. Then you can check for the hotkey pressed by the user as
shown below:
Actions Reference 351
Enter the name of the variable that will hold the ordinal position of the HotKey pressed
by the user. If the user presses the second HotKey the variable will hold the value
two.
Description:
This action suspends the execution of the robot until a process starts or stops running
© 2018 Softomotive
Properties:
Process Name:
Choose or enter the process name to be checked.
Continue Anyway:
Choose whether the robot continues after a set number of seconds, regardless of
whether the process has started or stopped.
Actions Reference 353
Description:
This action suspends the execution of the robot until a service starts, stops or pauses
Properties:
Service Name:
Choose or enter the name of a service to be checked.
© 2018 Softomotive
Continue Anyway:
Choose whether the robot continues after a set number of seconds, regardless of
whether the service has started, stopped, or paused.
Description:
This action suspends the execution of the robot until a specific window opens, closes,
gets or loses the focus.
Actions Reference 355
© 2018 Softomotive
Properties:
Get Window:
Choose whether the action gets the target window from a "Window Instance 254 "
variable, or searches for it by Title and/or Class.
Window Instance:
Enter the variable that contains the Window Instance which you want to bring to
front. This must be a variable defined by a preceding “Get Window 450 ” action or a
valid Window Handle.
Actions Reference 357
Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.
Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.
Description:
This action waits until a specific image appears on the screen or on the foreground
window. This action uses the Image Recognition 281 feature.
© 2018 Softomotive
Properties:
Search Mode:
Specify whether you want to scan the entire screen (or window) to find the supplied
image or only a narrowed down subregion of it.
Tolerance:
Specify a value for how much the Image searched for can differ from the originally
chosen Image.
© 2018 Softomotive
5.4.8 Wait for Mouse Action
Description:
This action suspends the execution of the robot until the mouse pointer changes,
usually to or from the 'wait cursor' or hourglass.
Properties:
Continue Anyway:
Choose whether the robot continues after a set number of seconds, regardless of
whether the mouse pointer has changed or not.
Actions Reference 361
Description:
This action operates on a UI Automation Window Instance that has been previously
acquired by a "Get Window 450 " action. The latter stores the Window instance into a
variable. This action accepts this variable and waits until the supplied Window
Instance contains or does not contain a specific text or Element.
© 2018 Softomotive
Option 2: Wait for Text (Exists/Does not Exist)
This option waits until the specifies text appears or disappears from the Window
Contents.
Properties:
Window Instance:
Enter the variable that contains the parent Window Instance of the Element or text
you are waiting for. This must be a variable defined by a preceding “Get Window 450 ”
action or a valid Window Handle.
UI Selector of Element:
Enter the UI Selector of the Window Element you want to check for. You do not need
to manually enter a value here; this field will be populated automatically when you
select an element on any Window, by right-clicking on it while having the action's
properties dialog open.
Fail On Timeout:
Choose whether the action will throw an exception after a set timeout of waiting. Then
go to the Exception Handling tab to specify how the Exception will be handled,
otherwise the robot will stop and issue an error message.
Description:
Waits until a specific text or Element appears or disappears from a Web Page.
This action operates on a Web Page that has been previously opened by a "Launch
New Internet Explorer 495 " action. The latter stores the Web browser instance into a
variable. This action accepts this variable and waits until the page is currently
displayed in that Web Browser Instance contains or does not contain a specific
element or text.
© 2018 Softomotive
Option 1: Wait for Web Element (Contained/Not Contained in Page)
Actions Reference 365
This option waits until the specifies text appears or disappears from the Web page.
Properties:
© 2018 Softomotive
Fail On Timeout:
Choose whether the action will throw an exception after a set timeout of waiting. Then
go to the Exception Handling tab to specify how the Exception will be handled,
otherwise the robot will stop and issue an error message.
Description:
This action places a label at a specific robot location that can be referenced by a Go
To Action
Properties:
Actions Reference 367
Label Name:
Enter a Label, to be used by a Go To action, to find at a later point in the robot.
5.5.2 Go To Action
Description:
This action jumps the execution flow to the specified label
Properties:
Label Name:
Enter an existing Label Name that this action will find and jump to.
© 2018 Softomotive
5.5.3 Run Function Action
Description:
Properties:
Function Name:
Enter the Name of the function to run.
Description:
This action causes the current function to return immediately to the point it was called
from, as if it exhausted all its actions.
Actions Reference 369
Properties:
This action does not have any configurable properties.
Description:
This action stops the execution of the robot
© 2018 Softomotive
Properties:
End Robot:
Choose whether this action ends the robot with an error message or not.
Error Message:
Enter text to be a descriptive error message explaining why the robot was ended.
Exit Code:
Enter a number to be the exit code of the Robot. This applies only to Robots that are
compiled to exe; for Robots that run within WinAutomation this setting will have not
effect.
Actions Reference 371
Description:
Properties:
Name:
Enter the name of the Exception Block for virtual purposes only.
© 2018 Softomotive
Set Variable - into Variable:
Enter the variable into which the value should be set when exception in any action
occurs.
Run Function:
Set a function to run when exception in any action occurs.
Continue Execution:
Set to continue the robot execution with a selected command when exception in any
action occurs.
Description:
This action sets the end of an exception handling block
Properties:
Description:
This action blocks user mouse and keyboard input events, so the robot can perform
mouse and keyboard actions without interference from the user.
Properties:
Action to Perform:
Choose whether this action will block or unblock Mouse and Keyboard input.
Cautions:
If your robot fails while your mouse and keyboard input is locked, your control will not
be unlocked. To regain control, press ctrl + alt + delete on your keyboard. This works
even if the robot has not failed.
© 2018 Softomotive
5.6.2 Get Mouse Position Action
Description:
Retrieves the current position of the mouse cursor on the screen in pixel coordinates.
Properties:
Description:
Properties:
Relative to:
Choose whether the new Mouse position will be relative to the top left corner of the
screen, or of the foremost Window, or relative to the current mouse position.
© 2018 Softomotive
Move Mouse From Previous Position:
Choose the style of movement in which the mouse will move from it's previous position
to the beginning of the recorded route (or to it's final position). The mouse can move
instantly (jump) to the new position or navigate smoothly at three different speeds
(slow/normal/fast).
Description:
This action moves the mouse over an image found on the screen or on the foreground
window. This action uses the Image Recognition 281 feature.
Actions Reference 377
© 2018 Softomotive
Properties:
Search Mode:
Specify whether you want to scan the entire screen (or window) to find the supplied
image or only a narrowed down subregion of it.
Offset X:
Offset the mouse from the Position by this many pixels to the right.
Offset Y:
Offset the mouse from the Position by this many pixels down.
Tolerance:
Specify a value for how much the Image searched for can differ from the originally
chosen Image.
© 2018 Softomotive
Wait for image to appear:
Choose whether you want the action to wait if the image is not found on the screen or
foreground window. If this property is not checked and the image is not found the
action will through an exception, otherwise the action will wait until the image appears.
In the next property you can specify the maximum number of seconds (timeout) to
wait.
Description:
This action sends a mouse click event
Actions Reference 381
Properties:
Wait:
Set a time for the action to delay before sending the mouse event, in 1/1000 of a
second. In other words, 1000 means one second, 1500 means one and a half seconds,
2250 means two and a quarter seconds and so on.
© 2018 Softomotive
Move Mouse to:
Set the position of the mouse in X and Y pixel coordinates. Press CONTROL + SHIFT
keys if you wish to grab the current cursor position.
Relative to:
Choose whether the new Mouse position will be relative to the top left corner of the
screen, or to the foremost Window, or to the current mouse position.
Description:
This action sends keystrokes to the Application that is currently active
Actions Reference 383
Properties:
Text to Send:
Insert keystrokes to send as text. Special key and modifiers can be accessed below
the box. Control is under Insert Modifier, and Control-a, for example, needs to appear
in the form {Control}({A}). Any Key, as compared to a character, must be written
here in braces and capitalized, such as {A}. Within Modifiers, Keys must be used, not
characters like 'a' or '$'. For a complete list of the Key Codes corresponding to the
keyboard keys, please consult the topic "Valid Key Codes for the Send Keys Action 286 ".
© 2018 Softomotive
5.6.7 Press/Release Key Action
Description:
This action presses (and holds) or releases one or more modifier keys (Alt, Control, or
Shift). This is useful mainly taking steps that call for a key to be pressed while
operating the mouse, and requires another use of this action to release the key(s)
being held.
Properties:
Action to Perform:
Choose whether to Press or Release keys with this action.
Actions Reference 385
Control:
Choose whether the CTRL key is pressed/released or not.
Alt:
Choose whether the Alt key is pressed/released or not.
Shift:
Choose whether the Shift key is pressed/released or not.
Win:
Choose whether the Windows key is pressed/released or not.
Description:
This action sets the state (on or off) for the keys CAPS LOCK, NUM LOCK or SCROLL
LOCK.
© 2018 Softomotive
Properties:
Description:
This action displays a message box
Actions Reference 387
© 2018 Softomotive
The Message Dialog in action
Properties:
Message To Display:
Enter the text, or a previously defined variable, to be displayed as the actual message.
Default Button:
Choose which button is highlighted by default. If the user presses {Enter}, this button
will be pressed.
Timeout:
Choose how many seconds to pause the robot while waiting for input, until continuing
automatically.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action displays a Customized Dialog.
© 2018 Softomotive
Properties:
Date Control:
Be forewarned that the formatting flags used by the Date Control inside the Custom
Dialog are different from the flags used for converting text-to-datetime by means of
the 'Convert Text to DateTime' action. Having said this, the date-format field in the
properties of the Date Control, supports the following flags:
For example in order to parse a date in ISO format like "2007-01-26" one would have to
set the date-format field of the Date Control to the pattern "yy-mm-dd".
© 2018 Softomotive
5.7.3 Display Notification Action
Description:
Properties:
Notification Message:
Enter the text, or a previously defined text variable, to be displayed in the Notification
Popup while the robot is being run from the WinAutomation Console Window (not Robot
Designer) or as a Console Application if the robot has been converted to .exe.
Actions Reference 393
Description:
This action displays a dialog box that prompts the user to enter text
Properties:
© 2018 Softomotive
Input Dialog Title:
Enter the text, or a previously defined text variable, to be used as the Dialog title.
Default Value:
Enter the text to be displayed by default. If the user wishes to change this, they can
type over it. Otherwise, the default text will be used.
Input Type:
Choose the format for the input text. Choose Single Line - Password if you wish to hide
the text, or Multi Line if you want a larger display box to make visible more than one
line of text. Otherwise choose Single Line.
Description:
This action displays a dialog box that prompts the user to enter a date or a date range
Actions Reference 395
© 2018 Softomotive
Properties:
Dialog Title:
Enter the text, or a previously defined text variable, to be used as the Dialog title.
Dialog Message:
Enter the text, or a previously defined variable, to be displayed as the actual message.
Dialog Type:
Choose whether the user will enter a single date or two dates to be the endpoints of a
range of dates.
Prompt for:
Choose whether the user will enter the date only or the date and time.
Default Value:
Enter a DateTime value, or a previously defined DateTime variable, to be used as the
default value.
Description:
This action displays a dialog box with options that lets the user select from a list
© 2018 Softomotive
Actions Reference 399
The Select From List Dialog in action with "Allow Multiple Selection" unchecked
The Select From List Dialog with "Allow Multiple Selection" checked
Properties:
Dialog Title:
Enter the text, or a previously defined text variable, to be used as the Dialog title.
Dialog Message:
Enter the text, or a previously defined text variable, to be displayed as a Prompt
Message for the user.
© 2018 Softomotive
Keep Select Dialog Always on Top:
Choose whether the Selection Dialog should always remain on top of all other windows.
Limit to List:
Deselect this box if you wish to allow the user to enter their own answer outside of
the list being displayed. This means the action will act more like the "Display Input
Dialog" action.
Description:
This action displays the Select File Dialog and prompts the user to select one or more
files
© 2018 Softomotive
The Select File Dialog in action (as displayed in Windows Vista)
Properties:
Dialog Title:
Enter the text, or a previously stored text variable, to be used as the Dialog title.
Initial Folder:
Enter or choose the initial folder to be opened when browsing for a file. This is where
the Select File Dialog action will start the user looking for the file(s).
File Filter:
Choose a filter to limit the files retrieved. This allows wild cards, for example "*.txt" or
"document?.doc" (without the quotes). If you want to allow for multiple file filters the
user can choose from, separate your choices with a semi-colon, for example,
"*.txt;*.exe".
Description:
This action displays the Select Folder Dialog and prompts the user to select a folder
© 2018 Softomotive
Properties:
Dialog Description:
Enter text to explain why you want the user to select a folder. For example, "Please
select the folder into which you wish to copy the files."
Initial Folder:
Enter or choose the initial folder to be opened. This will be the default folder unless the
user picks a new one.
5.8 Files
5.8.1 Get Files in Folder Action
Description:
This action retrieves the list of files in a folder and stores the files info into a "List of
Files" variable
© 2018 Softomotive
Properties:
Folder:
Enter or choose the full path of the folder, or a variable containing the folder, you wish
to get files from.
File Filter:
Choose a filter to limit the files retrieved. This allows wild cards, for example "*.txt" or
"document?.doc" (without the quotes). If you want to allow for multiple file filters,
separate your choices with a semi-colon, for example, "*.txt;*.exe".
Include Subfolders:
Check this if you wish to look into Subfolders as well.
Sort by:
Choose if this action will sort the results, and by what criteria.
Descending:
Does this action sort into ascending or descending order?
Description:
Properties:
© 2018 Softomotive
File to Copy:
Enter or choose the file(s) that will be copied. This can be a file path, or a variable
containing a file, a list of files, a text path, or a list of text paths. You can use the
'Get Files in Folder' action to populate a variable with a list of files.
Destination Folder:
Enter or choose the folder, or a variable containing a folder, that this action will use as
the destination for the copied files.
If File Exists:
Choose what will happen if a file with the same name already exists in the destination
folder.
Description:
This action moves one or more files into a destination folder
Actions Reference 409
Properties:
File to Move:
Enter or choose the the file(s) that will be moved. This can be a file path, or a variable
containing a file, a list of files, a textual path, or a list of text paths. You can use the
'Get Files in Folder' action to populate a variable with a list of files.
Destination Folder:
Enter or choose the folder, or a variable containing a folder, that this action will use as
the destination for the moved files.
If File Exists:
Choose what will happen if a file with the same name already exists in the destination
folder.
© 2018 Softomotive
5.8.4 Delete File(s) Action
Description:
This action deletes one or more files
Properties:
File(s) to Delete:
Enter or choose the file(s) that will be deleted. This can be a file path, or a variable
containing a file, a list of files, a text path, or a list of text paths. You can use the
'Get Files in Folder' action to populate a variable with a list of files.
Description:
This action changes the name of one or more files
Actions Reference 411
Properties:
File to Rename:
Enter or choose the the file(s) that will be renamed. This can be a file path, or a
variable containing a file, a list of files, a text path, or a list of text paths. You can use
the 'Get Files in Folder' action to populate a variable with a list of files.
Rename Scheme:
Choose how you wish to rename the file(s).
© 2018 Softomotive
Rename Scheme: Set New Name
Keep Extension:
Check this box if you wish to include the previous extension with the file name(s). If
this box is not checked, you must include the extension you wish the file(s) to have,
or it will have none.
Text to Add:
Enter the text, or a previously stored text variable, to add to the original file name(s).
Add Text:
Choose whether to add the text before or after the original name(s).
Text to Remove:
Enter the text, or a previously stored text variable, to remove from the original file
name(s). This will search each file name, and remove the entered text from anywhere
in the name. If this text exists more than once in the original name(s), it will be
removed every time.
Text to Replace:
Enter the text, or a previously stored text variable, to be replaced in the original file
name(s). This will search each file name, and replace the entered text anywhere in the
name, each time it occurs.
Actions Reference 413
Replace with:
Enter the text, or a previously stored text variable, to replace the original text.
New Extension:
Enter the text, or a previously stored text variable, to be the new extension for the
file(s).
DateTime to Add:
Choose what DateTime value to add to the file name(s).
Custom DateTime:
Enter a previously stored DateTime variable to be added to the file name(s).
Add DateTime:
Choose whether to add the DateTime before or after the original name(s).
Separator:
Choose what to use to separate the original file name and the DateTime value added,
including 'no separator'.
DateTime Format:
Enter or choose a Format this action will use to express the DateTime value that will
be added to the file name. You can custom format a DateTime as, for example,
MM/dd/yyyy for date, and hh:mm:sstt for time.
Example:
Here you can see an example of the final output.
© 2018 Softomotive
Rename Scheme: Make Sequential
New Name:
Enter the text, or a previously stored text variable, to be the new base name of the
file(s).
Add Number:
Choose whether to add the number before or after the original name(s) or a new base
name.
Increment by:
Enter a number, or a previously stored number variable, to be the increment this action
will count by.
Separator:
Choose what to use to separate the original file name and the number added, including
'no separator'.
Example:
Here you can see an example of the final output.
If File Exists:
Choose what will happen if a file with the same name already exists in the folder.
Actions Reference 415
Description:
This action reads the content of a text file and stores it into a variable
Properties:
File Path:
Enter or choose the the file to be read. This can be a file path, or a variable containing
a file or a textual path.
© 2018 Softomotive
Store Content As:
Choose how to store the text. If you choose Single Text Value, the entire text will be
stored as a single text value. If you choose to store as a List, each line of the original
text will be a text item in the list.
Encoding:
Select the encoding of the input text File.
Description:
This action writes or appends text to a file
Actions Reference 417
Properties:
File Path:
Enter or choose the file to be to be written to. This can be a file path, or a variable
containing a file or a textual path.
Text to Write:
Enter the text, or a previously stored variable, to be the content to write.
© 2018 Softomotive
Append New Line:
Defines whether a new line character should be appended at the end of the overall
text to be written to the file.
If File Exists:
Choose whether to overwrite the existing content, or to append to the end of the
existing content. If the file does not exist, this action will automatically create it.
Encoding:
Select the encoding used for the specified text to be written into the text file.
Description:
Reads a CSV file into a Data Table Variant.
Actions Reference 419
Properties:
File Path:
Enter or choose the CSV file to be read. This can be a file path, or a variable
containing a file or a textual path.
Encoding:
Select the encoding to be used for reading the CSV file.
Description:
Writes a Data Table Variant or Data Row Variant or List Variant to a CSV file.
© 2018 Softomotive
Actions Reference 421
Properties:
Variable to Export:
Enter the name of the Data Table Variable or Data Row Variable or List Variable which
must be written into the target CSV file.
File Path:
Enter or choose the CSV file to export the variable to. This can be a file path, or a
variable containing a file or a textual path.
Encoding:
Select the encoding to be used for writing to the CSV file specified.
If file exists:
Specify the desired behavior when the targeted CSV file is found to be already present
in the filesystem.
Columns Separator:
Specify the column separator to use in the CSV file to be created.
Description:
This action retrieves one or more parts (directory, filename, extension etc) from a text
that represents a FilePath
© 2018 Softomotive
Properties:
File Path:
Enter a previously defined text variable containing a file path to be used as the source.
Root Path:
Enter a name to be the variable that will contain the Root Path of the source file.
Directory:
Enter a name to be the variable that will contain the Directory of the source file.
File Name:
Enter a name to be the variable that will contain the name of the source file.
Actions Reference 423
Extension:
Enter a name to be the variable that will contain the Extension (for example, .doc) of
the source file.
Description:
This action creates a uniquely named, empty temporary file on disk, and returns the
file object (which is a representation, and can access the file and all its information).
Properties:
© 2018 Softomotive
Store Temporary File into:
Enter a name to be the variable that will contain the temporary file object.
5.9 Folders
5.9.1 Get Subfolders in Folder Action
Description:
This action retrieves the list of subfolders in a folder and stores the subfolders info into
a List of folders variable
Actions Reference 425
Properties:
Folder:
Enter or choose the full path of the folder, or a variable containing the folder, you wish
to retrieve the list of Subfolders from.
Include Subfolders:
Check this if you wish to look into the Subfolders, and retrieve their Subfolders (and so
on) as well.
Sort By:
Choose if this action will sort the results, and by what criteria.
© 2018 Softomotive
Descending:
Does this action sort into ascending or descending order?
Description:
This action creates a new folder
Properties:
Description:
This action deletes an existing folder and its contents (files and subfolders)
Properties:
Folder to Delete:
Enter or choose the full path of the folder, or a variable containing the folder, you wish
to delete. Remember that all contents of that folder, and its Subfolders, will be deleted
too.
© 2018 Softomotive
5.9.4 Empty Folder Action
Description:
This action deletes all the contents of a folder (files and subfolders) without deleting
the folder itself.
Properties:
Folder to empty:
Enter or choose the full path of the folder, or a variable containing the folder whose
contents you want to delete.
Description:
This action copies a folder into a destination folder
Actions Reference 429
Properties:
Folder to Copy:
Enter or choose the full path of the folder, or a variable containing the folder, you wish
to copy. If the folder path ends with a \ only the contents of the folder (files +
subfolders) will be copied. Otherwise, the folder itself (along with its contents) will be
copied as a subfolder into the destination folder
Destination Folder:
Enter or choose the full path of the folder, or a variable containing the folder, to be
the destination Folder.
If Folder Exists:
Choose whether to overwrite files or to not copy if the destination folder already
exists. If the folder exists, but the files have different names, the old files will still be in
the folder.
© 2018 Softomotive
Store Copied Folder into:
Enter a name to be the variable that will contain the copied folder object (which is a
representation, and can access the folder and all its information).
Description:
This action moves an existing folder into a destination folder
Properties:
Folder to Move:
Enter or choose the full path of the folder, or a variable containing the folder, you wish
to move.
Actions Reference 431
Destination Folder:
Enter or choose the full path of the folder, or a variable containing the folder, to be
the destination Folder.
Description:
This action changes the name of a folder
Properties:
© 2018 Softomotive
Folder to Rename:
Enter or choose the full path of the folder, or a variable containing the folder, to be
the Folder that will be renamed.
Description:
This action retrieves the path of a Windows' special folder (such as Desktop, My
Pictures, Internet Cache etc)
Actions Reference 433
Properties:
More Information:
This command is extremely useful if you plan to send a compiled robot to many people.
Let's say you're unzipping a file to the end user's desktop. The path would look
something like this: "C:\Users\Jane Doe\Desktop". Obviously, this will only work if "Jane
Doe" is the current user. If "John Doe" tried to run the robot it would fail. This action
© 2018 Softomotive
could be used to solve such problems by replacing the names of folders when needed
automatically.
5.10 Compression
5.10.1 Zip Files Action
Description:
This action compresses one or more files or folders into a Zip archive
Properties:
Actions Reference 435
Archive Path:
Enter the full path of zip file you wish to create. If this file already exists, the new
zipped files and/or folders will be added to the zip file. If the zip file already contains a
file or folder with the same name, the existing one will be overwritten by the one
brought in by this action.
File(s) to Zip:
Enter or choose the full path of a file or folder, or the name of a variable containing a
file, a folder, or a list of files or folders, that you wish to include in the zip file. A list
can be built with the 'Get Files in Folder' or 'Get Subfolders in Folder' actions. If you
create a list of files, all subfolder information will be lost, and these will be extracted to
the base folder. If you create a list of folders, subfolders will be kept, and the files will
be extracted to their same directory structure.
Compression Level:
Choose the level of compression you want to use. The higher the compression, the
smaller the file, though it takes longer to create or access.
Password:
Enter a password if you want the archive to be password protected. Otherwise leave
this field blank and it will not have a password.
Archive Comment:
Enter any comment you wish to be included in the zip file as a file property.
Description:
This action uncompresses one or more files or folders contained in a Zip archive
© 2018 Softomotive
Properties:
Archive Path:
Enter or choose the full path of a zip file, or the name of a variable containing a zip
file, to be extracted.
Destination Folder:
Enter or choose the full path of a folder, or the name of a variable containing a folder,
to extract the archive to. This will overwrite files in the folder with the same name as
a file in the archive.
Password:
Include the password, if any, that is used for this archive. If the zip file is not
password-protected, leave this blank.
Actions Reference 437
Include Mask:
Choose a filter to limit the files extracted to those entered here. This allows wild cards,
for example "*.txt" or "document?.doc" (without the quotes). If you want to allow for
multiple file filters, separate your choices with a semi-colon, for example, "*.txt;*.exe".
Other files will not be extracted.
Exclude Mask:
Choose a filter to limit the files extracted by excluding those entered here. This allows
wild cards, for example "*.txt" or "document?.doc" (without the quotes). If you want
to allow for multiple file filters, separate your choices with a semi-colon, for example,
"*.txt;*.exe". These files will not be extracted.
5.11 Clipboard
5.11.1 Get Clipboard Text Action
Description:
This action copies the text from the clipboard into a variable
© 2018 Softomotive
Properties:
Description:
This action copies text to the clipboard
Actions Reference 439
Properties:
Description:
This action clears the contents of the clipboard
© 2018 Softomotive
Properties:
This action does not have any configurable properties.
Description:
Perform desktop and taskbar related operations
Actions Reference 441
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Click-Type:
Set the click action you want to perform on the specified element by selecting the
click-type (left/right/double click). Quick-launch items will attempt to spawn a new
application window, whenever this is possible.
© 2018 Softomotive
5.12.2 Select Tab in Window Action
Description:
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Actions Reference 443
Description:
© 2018 Softomotive
Properties
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Description:
Selects an Option in a Menu of a Window
Actions Reference 445
Properties
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
i.e. To select the "Save As" menu option on a text file, once you select the control the
properties of the action will look like this:
© 2018 Softomotive
5.12.5 Drag and Drop Element in Window Action
Description:
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
© 2018 Softomotive
Advanced Properties Tab - Drag and Drop Targets Mouse Position
Relative to Element:
For occasions where the target element is part of a parent element and cannot be
identified as a separate control ( when selected from the General Properties tab), you
have to select the overall element and in the Advanced Properties Tab set the specific
area of the element you want to place your cursor and click.
To do so you may initially select one of the nine parts in which the element is divided
to place your the cursor, while for more fine tuning of cursor's position you may also
define the Offset (in pixels) for X and Y axes relative to the control element’s border or
corner (as defined by the red arrow in each part).
e.g. for the setting above the cursor will be placed in the middle right section of the
control element 2 px left from the right border and 5px lower from the middle.
Description:
Expands or Collapses a Node of a Tree view residing in a Window
Actions Reference 449
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Folders Path:
Enter a forward slash separated path made out of folders names leading to the Tree
Node you want to expand or collapse.
Note that you may also use a value of a variable (generated in an earlier step of the
robot) to specify the path to the tree node you wish to expand or collapse.
© 2018 Softomotive
Use Regular Expression:
In the case of using a value of a variable for Folder Path input and depending on its
notation, you may also need to check the ‘Use Regular Expression’ option so that
action will interpret the name of the folder as a regular expression.
Operation:
Select whether you want to expand or collapse the tree node.
5.12.7 Windows
5.12.7.1 Get Window Action
Description:
Gets a running window, for automating desktop applications.
Actions Reference 451
© 2018 Softomotive
Get Foreground Window
Properties:
Get:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.
Depending on the Get option you will have some of the following inputs
Window:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Description:
This action activates and brings a specific window to the foreground
© 2018 Softomotive
by Window Control
Actions Reference 455
by Window Instance/Handle
© 2018 Softomotive
by Title and/or Class
Properties:
Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.
Depending on the Get Window option you will have some of the following inputs
Actions Reference 457
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.
Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.
Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.
Description:
This action restores, maximizes or minimizes a specific window
© 2018 Softomotive
by Window Control
Actions Reference 459
by Window Instance/Handle
© 2018 Softomotive
by Title and/or Class
Properties:
Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.
Depending on the Get Window option you will have some of the following inputs
Actions Reference 461
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.
Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.
Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.
Description:
© 2018 Softomotive
by Window Control
Actions Reference 463
by Window Instance/Handle
© 2018 Softomotive
by Title and/or Class
Properties:
Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.
Depending on the Get Window option you will have some of the following inputs
Actions Reference 465
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.
Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.
Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.
Description:
© 2018 Softomotive
by Window Control
Actions Reference 467
by Window Instance/Handle
© 2018 Softomotive
by Title and/or Class
Properties:
Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.
Depending on the Get Window option you will have some of the following inputs
Actions Reference 469
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.
Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.
Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.
Description:
This action sets the size of a specific window
© 2018 Softomotive
by Window Control
Actions Reference 471
by Window Instance/Handle
© 2018 Softomotive
by Title and/or Class
Properties:
Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.
Depending on the Get Window option you will have some of the following inputs
Actions Reference 473
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.
Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.
Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank. this blank.
Description:
© 2018 Softomotive
by Window Control
Actions Reference 475
by Window Instance/Handle
© 2018 Softomotive
by Title and/or Class
Properties :
Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.
Depending on the Get Window option you will have some of the following inputs
Actions Reference 477
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.
Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.
Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank. this blank.
Description:
Sets the input Focus on a Text Box of a Window and scrolls it into view.
© 2018 Softomotive
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Description:
Fills a TextBox in a Window with the specified text.
Actions Reference 479
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
You may also use as input the value of a variable defined in a preceding action of your
Robot.
© 2018 Softomotive
5.12.8.3 Press Button in Window Action
Description:
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Actions Reference 481
Description:
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Description:
Checks or unchecks a Checkbox in a Window Form
© 2018 Softomotive
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Description:
Sets or clears the Selected Option from a Drop Down List in a Window Form
Actions Reference 483
© 2018 Softomotive
Operation: Select Option(s)
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Operation:
Set whether you want to select a value or clear the selected value from a dropdown
list.
Actions Reference 485
Depending on the dropdown list control element design you may be able to select a
single or multiple items.
For selection by name, multiple selection is available by entering more than one names
(one per line). For selection by index, multiple selection is available by entering more
than one items’ index separated by a space or a - e.g. 1-3-4.
Note that if the Dropdown list only supports single selection and you have specified
more than one items then only the first specified will be used.
Description:
Get a property of a Window, such as its title or its source text.
© 2018 Softomotive
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Operation:
Specify the information of the running Window that you want to retrieve. You have the
option to get details such as Window title,Window text, Window location and size.
Description:
© 2018 Softomotive
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Attribute Name:
You have the option to get details for element attributes such as element’s own text,
whether it exists or not, its location and size, and whether it is enabled or not. To
select the attribute for which the details you want to retrieve use the ‘Attribute Name’
property menu options in the Advanced Tab.
Description:
Retrieves the names of the Selected Checkboxes in a Checkbox Group or the State of
a specific Checkbox.
© 2018 Softomotive
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Operation:
Specify whether you want to retrieve the names of multiple Checkboxes in the running
window or just the State of a Specific Checkbox
Description:
Retrieves the names of the Selected Radiobutton in a Radiobutton Group or the State
of a specific Radiobutton.
Actions Reference 491
© 2018 Softomotive
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Operation:
Specify whether you want to retrieve the name of the Radiobutton that is selected
within a Radiobutton Group in the running window or just the State of a Single
Radiobutton.
Description:
Extracts Data from specific parts of a Window in the form of single values, lists or
tables.
Actions Reference 493
© 2018 Softomotive
Store data in a Variable
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Description:
Launches a new instance of IE or attaches to a running instance of IE for automating
web sites and web applications.
© 2018 Softomotive
Launch New Internet Explorer
Actions Reference 497
Attach to running IE
© 2018 Softomotive
Advnced tab of "Launch New Internet Explorer"
Properties:
Operation:
Select the type of Internet Explorer you wish to work with. Note that if you want to
use Internet Explorer to automate your web related tasks you will need to configure its
security settings 240 first.
Initial URL:
Enter the URL of the web site you want to visit as soon as the web browser is
launched.
Window State:
Specify whether the Web Browser window will be launched in normal, minimized of
maximized state.
Actions Reference 499
Tab Title:
Specify the title (or part of it) of the Internet Explorer Tab you want to attach to. In
the dropdown list you can choose between the titles of all the IE tabs that are
currently open.
Tab URL:
Enter the URL of the Internet Explorer Tab you want to attach to.
Clear Cache:
Specify whether to clear the entire cache of the web browser right after launching it.
Clear Cookies:
Specify whether to clear all stored cookies in the web browser right after launching it.
Description:
Navigates the Web Browser to a new page, back, forward or reloads the currently
loaded page.
© 2018 Softomotive
Actions Reference 501
Properties:
Navigate:
Specify whether you want to visit a new URL, refresh the page, move back or forward.
Description:
Clicks on a Link, or any other element, of a Web Page.
© 2018 Softomotive
Actions Reference 503
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Description:
Clicks on a link in a Web Page that results in downloading a file.
© 2018 Softomotive
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Destination Folder:
Enter the folder where you want the file to be saved.
Actions Reference 505
Description:
This action hovers the mouse over an element of a Web Page
Properties:
© 2018 Softomotive
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Description:
Closes a Web Browser window that has been previously opened by a "Launch New
Internet Explorer" 495 action.
Properties:
Description:
Sets the input Focus on a Text Box of a Web Page and scrolls it into view.
© 2018 Softomotive
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Description:
Fills a web form text field in a web page with the specified text.
© 2018 Softomotive
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Text To Fill-In:
Enter here the text you want to fill in the text field with.
Actions Reference 511
Emulate Typing:
Specify whether you want the text to be filled in at once by simply setting the value
of the text box, or emulate a user typing by sending characters one by one. The latter
method is slower, but required in some complex web pages.
If you are planning on scraping autocompletion lists, you most probably need to leave
this option unchecked.
Description:
Checks or unchecks a Checkbox in a Web Form.
© 2018 Softomotive
Actions Reference 513
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
© 2018 Softomotive
If a popup dialog appears:
Specify what you want the Robot to do if a popup dialog appears after setting the
checkbox state.
Description:
Selects a Radio Button on the Web Page.
Actions Reference 515
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
© 2018 Softomotive
5.13.7.5 Set DropDown List Value on Web Page Action
Description:
Set or clear the Selected Option for a Drop Down List in a Web Form.
Actions Reference 517
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Operation:
Select whether you want to select a value or clear the selected value of the dropdown
list.
© 2018 Softomotive
Selection Option(s) by:
Choose the method to use in order to select the options: By name or by ordinal
position (1 2 3 ...) inside the list.
Option Names:
Enter one or more options (one per line if more than one) you want to be selected in
the drop down list. Multiple options make sense only when working with multi-select
lists. If the list is single-selection, then only the first option specified will be used.
Options Indeces:
Type a space-separated list of 1-based indeces (e.g. 1 3 4), denoting which options of
the list should be selected.
Description:
Presses a button on a Web Page Form.
Actions Reference 519
© 2018 Softomotive
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Description:
Extracts Data from specific parts of a Web Page in the form of single values, lists, or
tables.
© 2018 Softomotive
Store extracted data into a Variable
Properties:
Description:
Get a property of a Web Page, such as its title or its source text.
© 2018 Softomotive
Properties:
Operation:
Specify the information of the Web Page that you want to retrieve.
Description:
Gets the value of an element's attribute on a Web Page.
Actions Reference 525
© 2018 Softomotive
Properties:
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Description:
Takes a screenshot of the Web Page (or an element of the Web Page) currently
displayed in the browser and saves the image into a file or to the clipboard.
Actions Reference 527
Properties:
Operation:
Specify whether you want to capture the entire web page or only a specific element of
it.
© 2018 Softomotive
Control:
Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Image File:
Set the full path for the file where the image capture will be saved.
Image Format:
Set the format for the image file to be saved.
Description:
This action downloads text from a web page, or a file from the web, and stores it.
Actions Reference 529
© 2018 Softomotive
Properties:
URL:
First choose http or https protocol, then enter the remainder of the web address.
Method:
Choose how you want to retrieve a website's information. Choose GET if all information
needed is in the URL, and choose POST if you need to enter more information
(passwords, etc).
Return Data:
Specify how the returned data will be stored. If you are downloading a webpage, you
can choose to Get Text so you can access it directly. Otherwise, or if you are
downloading a file, choose Save to Disk.
Actions Reference 531
Post Parameters:
Click here to Add, Edit, or Delete details for a Post's Parameter(s).
Connection Timeout:
Specify the time (in seconds) that the agent should wait for a connection to be
established with the server, before giving up.
Follow Redirection:
Choose whether you want to allow the web server to redirect you to another web
page or website.
Clear Cookies:
Choose whether you want to clear all cookies created by similar actions during this
Robot before this action. Note that WinAutomation does not interact with existing
cookies, and that old cookies are not used or affected by the Robot, and no new
cookies are made by the Robot. Therefore this only applies to cookies created by other
Actions in this Robot.
User Agent:
Choose which browser identity you wish to be seen as. Some web servers will not
allow you access unless you choose a browser identity.
Encoding:
Choose the encoding used for the web page. If you choose Auto-detect the encoding
to be used will be specified by the web server.
File Name:
Choose whether you want to keep the original name of the downloaded file, or you
want to specify a new name. In the first case you will need to provide just the
destination folder where the file will be saved. In the second case you will need to
provide the full path of the downloaded file (destination folder plus the new file name).
Destination Folder:
© 2018 Softomotive
Enter or choose a local folder, or a previously stored variable containing a folder, to
specify the folder where the file returned from the web server will be saved.
HTTP Authentication:
Specify whether or not the web server requires authentication. This property refers to
HTTP authentication (that is, when the browser displays a popup window asking for
user name and password).
User Name:
Enter the User Name for the web server here.
Enter Password:
If you choose 'directly', the password entered in the Password field will be hidden. If
you choose 'as variable' it will expect you to enter a variable and treat the '%' as an
indicator of a variable, not part of the password.
Password:
Enter the Password here. You may enter either a text, or a variable containing the
password depending on the selection of the previous property (Enter Password).
Description:
This action invokes a web service by sending data through HTTP and retrieving the
response from the web service.
Actions Reference 533
© 2018 Softomotive
Properties:
URL:
First choose http or https format, then enter the remainder of the web address.
Actions Reference 535
Method:
Choose the HTTP method you want to use to invoke the web service.
Accept:
Specify the acceptable content type for the response of the web service.
Content Type:
Specify the content type of the request that will be sent to the web service.
Custom Headers:
Specify any custom headers to be included in the request that will be sent to the web
service.
Request Body:
Specify the body of the request that will be sent to the web service.
Return Data:
Specify how the Web Service response will be stored. You can either store it into a
variable or (if the Web Service will return a file) store it into a file by choosing Save to
Disk.
File Name:
Choose whether you want to keep the original name of the downloaded file, as
provided by the Web Service, or you want to specify a new name. In the first case
you will need to provide just the destination folder where the file will be saved. In the
second case you will need to provide the full path of the downloaded file (destination
folder plus the new file name).
Enter or choose a file path, or a previously defined variable, to specify the full path
(folder plus filename) where the file returned by the Web Service will be stored.
Destination Folder:
© 2018 Softomotive
Enter a name to be the variable that will store the HTTP Headers of the response.
Enter a name to be the variable that will store the Web Service response.
Enter a name to be the variable that will store the file object.
Advanced tab
Connection Timeout:
Specify the time (in seconds) that the agent should wait for a connection to be
established with the server, before giving up.
Follow Redirection:
Choose whether you want to allow the web server to redirect you to another web
service.
Clear Cookies:
Choose whether you want to clear all cookies created by similar actions during this
Robot before this action. Note that WinAutomation does not interact with existing
cookies, and that old cookies are not used or affected by the Robot, and no new
cookies are made by the Robot. Therefore this only applies to cookies created by other
Actions in this Robot.
HTTP Authentication:
Specify whether or not the web server requires authentication. This property refers to
HTTP authentication (that is, when the browser displays a popup window asking for
user name and password).
Actions Reference 537
User Name:
Enter the User Name for the web server here.
Enter Password:
If you choose 'directly', the password entered in the Password field will be hidden. If
you choose 'as variable' it will expect you to enter a variable and treat the '%' as an
indicator of a variable, not part of the password.
Password:
Enter the Password here. You may enter either a text, or a variable containing the
password depending on the selection of the previous property (Enter Password).
5.14 FTP
5.14.1 Open FTP Connection Action
Description:
This action establishes a connection to a remote FTP server
© 2018 Softomotive
Properties:
Ftp Server:
Enter the FTP Server address here.
Port:
Choose which port to use for the FTP Server. Usually, this is Port 21.
Active Mode:
Uncheck this box if you want the connection to be made in passive mode. Default is
Active Mode, as that is most common.
Actions Reference 539
User Name:
Enter the User Name for this FTP Server here.
Enter Password:
If you choose 'directly', the password entered in the Password field will be hidden. If
you choose 'as variable' it will expect you to enter a variable and treat the '%' as an
indicator of a variable, not part of the password.
Password:
Enter the Password here. You may enter either a text, or a variable containing the
password depending on the selection of the previous property (Enter Password).
Description:
This action establishes a secure connection to a remote FTP server
© 2018 Softomotive
Properties:
Ftp Server:
Enter the FTP Server address here.
Port:
Choose which port to use for the FTP Server.
Authentication Method:
Choose the method you wish to use to authenticate yourself on the FTP server. You
have the choice between using username and password or username and a private key
file which may or may not protected by a passphrase.
User Name:
Enter the User Name for this FTP Server here.
Enter Password:
If you choose 'directly', the password entered in the Password field will be hidden. If
you choose 'as variable' it will expect you to enter a variable and treat the '%' as an
indicator of a variable, not part of the password.
Password:
Enter the Password here. You may enter either a text, or a variable containing the
password depending on the selection of the previous property (Enter Password).
© 2018 Softomotive
5.14.3 Close FTP Connection Action
Description:
Properties:
Description:
This action returns the subdirectories and files contained in the current directory of an
FTP connection
Actions Reference 543
Properties:
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to look
in. You must have previously specified this variable in an Open FTP Connection action.
© 2018 Softomotive
5.14.5 Change Working Directory Action
Description:
This action sets the current working directory for an FTP connection
Properties:
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to alter.
You must have previously specified this variable in an Open FTP Connection action.
Description:
Properties:
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to
download from. You must have previously specified this variable in an Open FTP
Connection action.
File(s) to Download:
Enter the name of the file(s), filepath(s), or a variable containing the file(s), that you
wish to download.
© 2018 Softomotive
Download into Folder:
Enter the full path of a folder, or the name of a variable containing a folder, to be the
destination of the file(s) you are downloading.
Transfer Type:
Enter ASCII or binary if you wish to specify the method for downloading a single file. If
you're not sure what type the file will be, or if you are downloading more than one,
choose Auto so WinAutomation will follow the transfer rules specified in Tools ->
Options -> FTP from the WinAutomation Console.
If File Exists:
Choose what you want to do if the file already exists. Overwrite writes over the
original file so you can't access it any more, and Download with Unique Name adds an
underscore and a sequential number to the end.
Description:
This action downloads one or more folders from an FTP server
Actions Reference 547
Properties:
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to
download from. You must have previously specified this variable in an Open FTP
Connection action.
File to Download:
Enter the name of the folder(s) path(s), or a variable containing the FTP folder(s),
that you wish to download.
© 2018 Softomotive
5.14.8 Upload File(s) to FTP Action
Description:
Properties:
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to upload
to. You must have previously specified this variable in an Open FTP Connection action.
File to Upload:
Enter the full path of the file(s), or a variable containing file(s), to upload.
Actions Reference 549
Transfer Type:
Enter ASCII or binary if you wish to specify the method for downloading a single file. If
you're not sure what type the file will be, or if you are downloading more than one,
choose Auto so WinAutomation will follow the transfer rules specified in Tools ->
Options -> FTP from the WinAutomation Console.
If File Exists:
Choose what you want to do if the file already exists. Overwrite writes over the
original file so you can't access it any more, and Download with Unique Name adds an
underscore and a sequential number to the end.
Description:
This action uploads one or more folders to an FTP server
Properties:
© 2018 Softomotive
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to upload
to. You must have previously specified this variable in an Open FTP Connection action.
Folder(s) to Upload:
Enter the full path of the folder(s), or a variable containing folder(s), to upload.
Description:
This action deletes one or more files from an FTP server
Properties:
Actions Reference 551
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.
File to Delete:
Enter the name of the file, filepath, or a variable containing a file, that you wish to
delete.
Description:
This action renames a file that resides on an FTP server
Properties:
© 2018 Softomotive
Ftp Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.
File to Rename:
Enter the name of the file, filepath, or a variable containing a file, that you wish to
rename.
Description:
This action creates a directory on an FTP server
Actions Reference 553
Properties:
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.
New Directory:
Enter a name, or a variable containing a name, to be the new directory. If this
directory already exists, nothing will happen. If you specify a path, all of the new
folders leading to the new directory will be created.
Description:
This action deletes a directory from an FTP server
© 2018 Softomotive
Properties:
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.
Directory to Delete:
Enter the name, or a variable containing the name, of a folder to be deleted.
Everything in the folder will be deleted as well.
Description:
Synchronizes the files and subdirectories of a given local folder with a given remote
FTP directory. This action can synchronize a local folder to the contents of a remote
FTP directory (download updates), or it can synchronize a remote FTP directory to the
contents of a local folder (upload updates).
Actions Reference 555
© 2018 Softomotive
Properties:
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.
Actions Reference 557
Synchronization Direction:
Choose the direction of synchronization, i.e., whether the local folder will be
synchronized to the remote directory (DOWNLOAD) or the remote directory will be
synchronized to the local folder (UPLOAD).
Files to Synchronize:
Choose whether you want to synchronize all files, or you want to use a file filter to
include or exclude a specific set of files.
File Filter:
Enter the File-name pattern that controls which files will be included to, or excluded
from the synchronization (depending on the setting of the 'Files to Synchronize'
property). This allows wild cards, for example "*.txt" or "document?.doc" (without the
quotes). If you want to allow for multiple file filters, separate your choices with
comma, for example, "*.txt,*.exe".
Local Folder:
Enter the name (or a variable) of the local folder to be synchronized. Depending on the
synchronization 'Direction' property, this will be either the source or the target
directory.
Include Subdirectories:
Choose whether you want the subdirectories of the specified directories to be included
in the synchronization process.
© 2018 Softomotive
Store Added Files into:
Enter the name to be the variable that will hold the list of files that initially existed only
in the source directory and after the synchronization were added to the target
directory.
If the target directory is the local folder (download direction selected), this variable
will hold a list of Files, otherwise, if the target directory is the remote FTP directory
(upload direction selected), this variable will hold a list of FTP Files.
Enter the name to be the variable that will hold the list of files that initially existed in
both the source and target directory and were transferred from source to target during
synchronization.
If the target directory is the local folder (download direction selected), this variable
will hold a list of Files, otherwise, if the target directory is the remote FTP directory
(upload direction selected), this variable will hold a list of FTP Files.
If the target directory is the local folder (download direction selected), this variable
will hold a list of Files, otherwise, if the target directory is the remote FTP directory
(upload direction selected), this variable will hold a list of FTP Files.
Description:
This action invokes the given literal FTP command on the server.
Actions Reference 559
Properties:
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.
FTP Command:
Enter the command, or a variable containing the command, that you wish to run along
with any arguments. For example, you could run FEAT, or CHMOD here.
© 2018 Softomotive
Store Reply Code into:
Enter a name to be the Variable that will contain the actual code that was returned.
5.15 Email
5.15.1 Retrieve Emails Action
Description:
This action retrieves email messages from an IMAP server.
Messages can be filtered based on various criteria, such as the sender's address, the
IMAP folder (location on server) or even the existence of specific keywords in the
body, subject or other fields of the email.
Actions Reference 561
Note that this action will mark the retrieved emails as read on the server. If you wish
to keep the emails marked as unread you can change their state back to unread
through the Process Emails Action. Only the messages that match all of the filters set
in the action will be included in the retrieval and marking.
© 2018 Softomotive
Properties:
Mail Folder:
In the Mail Folder property you can enter the name of the mail folder (also known as
`Mailbox') that you want to retrieve messages from.
You can select to retrieve emails from your INBOX or from any other folder of your
email account. To avoid confusion, you should keep in mind that in this action, by
using the term “Mail Folder”, we refer to the folders of your email server and not to the
folders where you store your files locally, in your PC.
If you have already set some values in the IMAP Server Properties Tab for this or a
previous Retrieve Emails action in the Robot, the drop-down menu will load and present
you all the available folders from your email server. However, even if you have not
already set IMAP Server properties, you can specify your preferred Mail Folder by just
typing its name in the Mail Folder property (provided that when you execute this
Robot, the specified folder will exist in the email server).
Actions Reference 563
Retrieve:
In the Retrieve property you can specify whether you want to retrieve all messages
from the Mail Folder, or only the unread ones. This could be important especially when
the Retrieve Emails Action is to be performed periodically and you want to get
feedback on only the updated conversations and unread emails from your mailbox.
From Contains:
Enter the full e-mail address of the Sender whose messages you want to retrieve.
Leave this field blank to retrieve all messages regardless of the sender.
To Contains:
Enter the full e-mail address(es) of the Receipient(s) (separated by space if more than
one) for the messages you want to retrieve. Leave this field blank to retrieve all
messages regardless of the recipient(s).
Subject Contains:
Enter the keywords to be found within the email Subject. Leave this field blank to
retrieve all emails regardless of the their subject.
© 2018 Softomotive
Body Contains:
Enter the keywords to be found within the email Body. Leave this field blank to retrieve
all emails regardless of the their content.
Of course, as with any other property in WinAutomation, you have the option to define
your criteria on all "Contains" properties using Robot Variables. You can, for example,
set the “From Contains” property to get its value from a variable where you have
stored email address information of the customers that bought a specific product and
you want to retrieve any feedback provided by them:
With this setting the Retrieve Emails Action will search your specified Mailbox (or your
email server inbox if not otherwise specified) for any emails sent by any of the email
addresses stored as the values of this Variable (unread or all according to your
preference) and retrieve them.
The use of Variables as the values of the Sender’s and/or Receiver’s properties also
gives you the option to include the Retrieve Emails Action in a Loop Section of a Robot
and iteratively check and retrieve emails for each one of this group of email addresses.
Below we present you a part of a script that uses a variable (here named %Contacts
%) as that input of "From Field Contains" property of Retrieve Emails Action, in order to
retrieve emails sent by each one of a group of contacts and display a message
informing you about the number of the unread messages you have from each one of
them.
Actions Reference 565
Attachments:
Specify whether you want to save the attachments of the emails retrieved or not.
Furthermore, as you may see below in the Mail Message Variable Properties, each
retrieved email variable is accompanied by a list of its attachments that are saved
locally (represented by the attachments property) to which you can refer in order to
track the email to which each file was attached to.
© 2018 Softomotive
Save Emails into:
Enter a name to be the variable that will store the retrieved e-mails for later
processing. The outcome of the Retrieved Email Action (%RetrievedEmails%) will be a
List of Mail Messages variable. As every list variable 254 , its only property is “Count”
that has as value the number of the retrieved emails according to our selections in the
Retrieve Emails Action properties fields:
Each item of this list will be a Mail Message 257 object. Since %RetrievedEmails%
Variable is a list type variable, each item of the list (i.e. each email) can be described
by the following notation:
%RetrievedEmails[n]%
with n referring to the index of each retrieved email of our action (e.g. 0 for the first
retrieved email, 1, for second).
Each Mail Message (included as an item in the List of Mail Messages) is itself a
variable with the respective properties 255 (populated by the Retrieve Emails action).
You can retrieve any of each email’s properties and use it as input in an action’s
properties by following the general notation:
%VariableName.PropertyName%
For example if you want to retrieve the Subject of the third retrieved email from you
action, you should use the notation:
%RetrievedEmails[2].Subject%
Below you can see an example of how the Retrieve Emails Action can be used inside a
loop. This section of the Robot’s script will search and retrieve all unread emails from
your Inbox that their subject contains the subtext "Order Form" (as specified in the
Retrieve Emails Action Properties window). If any of the retrieved emails has
attachments, those will be saved locally, inside the specified folder. For every
matching email, this Robot will append the corresponding emails of the sender(s) to a
specific text file.
In other words, the final outcome of this Robot will be a text file containing all the
sender addresses of messages with a subject containing the text "Order Form"
Actions Reference 567
Note that in order to record only the Sender’s address for each of the retrieved emails
we used (as presented in the Properties of “Write Text to File” action window below)
the notation :
%CurrentEmail.From%
requesting from this action to retrieve the value of the “From” property of the
retrieved email used as iterative variable (%CurrentItem%) in each loop.
© 2018 Softomotive
IMAP Server:
Enter the IMAP Server address here (e.g., imap.gmail.com).
Port:
Specify the port to be used for the IMAP Server. Usually, this is Port 993.
Enable SSL:
Specify whether you need to use a secure connection to communicate with the IMAP
Server.
Actions Reference 569
User Name:
Enter the User Name of the e-mail account you want to access.
Enter Password:
If you choose 'directly', the password entered in the Password field will be hidden. If
you choose 'as variable' you must enter a variable containing the password and the '%'
character will be treated as an indicator of a variable, not part of the password.
Password:
Enter the Password here. You may enter either a text, or a variable containing the
password depending on the selection of the previous property (Enter Password).
Description:
Moves, deletes or marks as unread an email (or a list of emails) retrieved by a "Retrieve
Emails 560 " action.
Process Emails Action is one of the three actions under the Email Actions category
(the other two being the Send Email 572 and Retrieve Emails 560 ). This particular group
of actions provides WinAutomation with the ability of automating any task typically
performed by email clients. With the Process Email Action you can manipulate the
retrieved emails from a previous Retrieve Emails action. You may delete the emails from
your Server, mark them as (un)read or move them to different folders inside your
Mailbox.
Note that when retrieved, messages are automatically marked as "read" on the server.
© 2018 Softomotive
Actions Reference 571
Properties:
Email(s) to process:
Enter a variable containing the email or list of emails to be processed. This should be a
variable populated by a "Retrieve Emails 560 " action.
Operation:
Specify which operation you want to perform on the specified email messages.
Mail Folder:
Enter the name of the mail folder you want to move the emails to.
IMAP Server:
Enter the IMAP Server address here (e.g., imap.gmail.com).
© 2018 Softomotive
Port:
Specify the port to be used for the IMAP Server. Usually, this is Port 993.
Enable SSL:
Specify whether you need to use a secure connection to communicate with the IMAP
Server.
User Name:
Enter the User Name of the e-mail account you want to access.
Enter Password:
If you choose 'directly', the password entered in the Password field will be hidden. If
you choose 'as variable' you must enter a variable containing the password and the '%'
character will be treated as an indicator of a variable, not part of the password.
Password:
Enter the Password here. You may enter either a text, or a variable containing the
password depending on the selection of the previous property (Enter Password).
Description:
This action creates and sends a new email message
Actions Reference 573
© 2018 Softomotive
The Send Email Action can be useful in a number of situations, such as:
Properties:
Actions Reference 575
From:
Enter the Sender's email address.
To:
Enter the email(s) of the recipient(s). If you enter more than one email, the list of
addresses should be separated by semi-colons.
CC:
Enter the email(s) of the CC recipient(s). If you enter more than one email, the list of
addresses should be separated by semi-colons.
BCC:
Enter the email(s) of the BCC (hidden) recipient(s). If you enter more than one email,
the list of addresses should be separated by semi-colons.
Subject:
Enter the subject of the email.
Body:
Enter the text of the body.
Body Is HTML:
Choose whether the body of the email is interpreted as HTML coding.
Attachment(s):
Enter or choose the full path of any attachment(s), or choose a variable that contains
a file or a list of files. Multiple files should be enclosed in double quotes (") and
separated by a space character.
SMTP Server:
Enter the SMTP Server address here.
© 2018 Softomotive
Server Port:
Choose which port to use for the Server. Usually, this is Port 25.
Enable SSL:
Choose whether or not to communicate with the Server through a secure connection.
User Name:
Enter the User Name.
Password:
Enter the Password. This entry will be hidden.
Description:
This action opens a new command line session. This session will remain open until you
close it with a "Close Cmd Session". In the meantime you can write commands or read
ouput from the Cmd session. This will be extremely usefully in cases where user input is
required on the Cmd or in case that you wish to run something like a batch file.
Actions Reference 577
Properties:
Working Folder: Enter the full path of the folder to work out of, if applicable
Store Cmd Session into: Enter a variable name that will hold the Cmd session, for
use in later Cmd Session actions.
© 2018 Softomotive
5.16.2 Close Cmd Session
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)
Properties: Enter the variable containing the previously opened Cmd Session you wish
to close. You must have previously specified this variable in an "Open Cmd Session"
action.
Properties:
Cmd Session: Enter the variable that will contain a previously opened Cmd Session.
© 2018 Softomotive
5.16.4 Read from Cmd Session
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)
Actions Reference 581
Properties:
Operation: Specify which Read operation you wish to perform on the specified Cmd
session.
There are three operations that you can choose from. Depending on the operation
chosen based on the output that you wish to have, the output variables may be
%CMdOutput%, %CmdError%.
Store output: Enter a name to be the variable that will store the Cmd session's
standard output
Store Error: Enter a name to be the variable that will store the Cmd session's
standard error
© 2018 Softomotive
5.16.5 Wait for Text on Cmd Session
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)
Description: This action waits for a specific text on a previously opened Cmd Session.
Properties:
Cmd Session: Enter the variable that will contain a previously opened Cmd Session.
Text to Wait: Enter the text or the Regular Expression that you want to wait to
appear on standard output or on standard error
Is Regular Expression: Check this box if you want to wait for for a regular
expression match instead of a plain text.
Ingore Case: Check this box if you wish to ingore the case of the text to wait.
Actions Reference 583
5.17 Database
5.17.1 Open SQL Connection
Description:
Properties:
Connection String: Enter how to connect with the database. The button on the
right (with ellipses) will allow you to build the connection string.
Store SQL Connection into: Enter a name to be the variable that will store the
specific SQL connection for use with later SQL statements.
Description:
This action connects to a database and executes a SQL statement
© 2018 Softomotive
Properties:
Connection String:
Enter how to connect with the database. The button on the right (with ellipses) will
allow you to build the connection string.
SQL Statement:
Enter the SQL Statement to be issued to the database here.
Timeout:
The Execute SQL Statement action waits for a result from the database. Choose a
maximum amount of time that the action will wait.
More about connecting to a database and executing SQL Queries on it, please visit:
Description:
This action closes an open connection to a database.
© 2018 Softomotive
Properties:
SQL Connection to close: Enter the variable containing the previously opened SQL
connection you wish to close. You must have previously specified this variable in an Open
SQL connection action.
5.18 Excel
5.18.1 Launch Excel Action
Description:
This action launches a new Excel Instance and opens an Excel document
Properties:
Launch Excel:
Choose whether you want to open a New Excel document, or an existing one.
Actions Reference 587
Document Path:
Enter the full path of the existing Excel document you wish to open
Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.
Description:
Attached to an Excel Document that's already open.
© 2018 Softomotive
Properties:
Document Name:
Enter either the name or the path of the Excel file you wish to attach to.
Description:
This action closes a previously launched Excel Instance
Actions Reference 589
Properties:
Excel Instance:
Enter the variable that contains the Excel Instance you want to close. You must have
previously specified this variable in a Launch Excel action.
Document Path:
Enter or choose the full path you want to save the document as.
Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.
© 2018 Softomotive
5.18.4 Set Active Worksheet Action
Description:
Properties:
Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.
Worksheet Index:
Enter the Index number of the Worksheet you wish to make active. The numbering
starts from 1, meaning that the index of the fist worksheet is 1, of the second is 2,
etc.
Actions Reference 591
Worksheet Name:
Enter the name of the Worksheet you wish to make active.
Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.
Description:
This action adds a new worksheet to the document of a previously launched Excel
Instance
Properties:
© 2018 Softomotive
Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.
Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action deletes a specific worksheet from a previously launched excel Instance.
Actions Reference 593
Properties:
Excel Instance: Enter the variable that contains the Excel Instance you want to
work with . You must have previously specified this variable in a Launch Excel action.
Delete Worksheet with: Choose whether you want to find the worksheet by Name
or Index
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action renames a specific worksheet from a previously launched excel Instance.
© 2018 Softomotive
Properties:
Excel Instance: Enter the variable that contains the Excel Instance you want to
work with . You must have previously specified this variable in a Launch Excel action.
Rename Worksheet with: Choose whether you want to find the worksheet by
Name or Index
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
© 2018 Softomotive
Properties:
Excel Instance: Enter the variable that contains the Excel Instance you want to
work with . You must have previously specified this variable in a Launch Excel action
Active Worksheet Name: Enter a name to be the variable that will store the
name of the active worksheet
Active Worksheet Index: Enter a name to be the variable that will store the
index of the active worksheet
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
Properties:
Excel Instance: Enter the variable that contains the Excel Instance you want to
work with . You must have previously specified this variable in a Launch Excel action
Worksheet Names: Enter a name to be the variable that will store the name of the
all worksheets
© 2018 Softomotive
5.18.10 Activate Cell in Excel Worksheet Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action activates a cell in the active worksheet of a previously launched Excel
Instance, given column, row and offset.
Properties:
Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.
Actions Reference 599
Activate:
Enter a name to be the variable that will store the numeric value of the first fully
empty column. This will be a number. For example, if column F is the first empty
column, it will be stored as '6'.
Cell Location Column: Enter a numeric value or letter to be the cell column.
Cell Location Row: Enter a numeric value to be the cell row. The numbering starts
from 1.
© 2018 Softomotive
5.18.11 Select Cells in Excel Worksheet Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Properties:
Excel Instance: Enter the variable that contains the Excel Instance you want to work with.
You must have previously specified this variable in a Launch Excel action.
Select: Choose whether to select an explicitly specified range of cells or a range of cells
relatively to the currently active cell.
Range Start at Column: Enter a numeric value or letter to be the first column.
Range Starts at Row: Enter a numeric value to be the first row number.
Range Ends at Column: Enter a numeric value or letter to be the last column.
© 2018 Softomotive
Range Ends at Row: Enter a numeric value or letter to be the last row. The numbering
starts from 1.
Range Ends at X Axis direction: Select x-axis offset direction. Select where to look
along the horizontal axis, based on currently activated cell's position.
Range Ends at Y Axis direction: Select y-axis offset direction. Select where to look
along the vertical axis, based on currently activated cell's position.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action retrieves the selected range of cells in a structure consisting of first
column, first row, last column and last row.
Actions Reference 603
Properties:
First Column Index: Enter a name to be the variable that will store the numeric
value of the range's first column.
First Row Index: Enter a name to be the variable that will store the numeric value
of the range's first row.
Last Column Index: Enter a name to be the variable that will store the numeric
value of the range's last column.
Last Row Index: Enter a name to be the variable that will store the numeric value
of the range's last row.
© 2018 Softomotive
5.18.13 Copy Cells in Exel Worksheet Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action copies a range of cells from the active worksheet of a previously launched Excel
Instance
© 2018 Softomotive
Operation: Selection
Properties:
Excel Instance: Enter the variable that contains the Excel Instance you want to
work with. You must have previously specified this variable in a Launch Excel action.
Copy Mode: Choose whether to copy a single cell, a range of cells or the current
selection of cells.
(The screenshots above show how the actions properties change depending on the
operation that you will choose. )
First Column: Enter a numeric value or letter to be the cell column or first column.
First Row: Enter a numeric value to be the cell row or first row number.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action pastes a range of cells to the active worksheet of a previously launched
Excel Instance
© 2018 Softomotive
Properties:
Excel Instance: Enter the variable that contains the Excel Instance you want to
work with. You must have previously specified this variable in a Launch Excel action.
Paste Mode: Choose whether to paste on a specified cell or the currently active
cell.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action inserts a row above a selected row of a previously launched Excel
Instance
Actions Reference 609
Properties:
Excel Instance: Enter the variable that contains the Excel Instance you want to
work with. You must have previously specified this variable in a Launch Excel action.
Row Index: Enter the Index number of the row you wish to add a new row above.
The numbering starts from 1.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action inserts a row above a selected row of a previously launched Excel
Instance
© 2018 Softomotive
Properties:
Excel Instance: Enter the variable that contains the Excel Instance you want to
work with. You must have previously specified this variable in a Launch Excel action.
Row Index: Enter the Index number of the row you wish to delete. The numbering
starts from 1.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
Actions Reference 611
This action inserts a column to the left of a selected column of a previously launched
Excel Instance
Properties:
Excel Instance: Enter the variable that contains the Excel Instance you want to
work with. You must have previously specified this variable in a Launch Excel action.
Column: Enter a column's index number or letter. A new column will appear on the
left side of the column indicated.
© 2018 Softomotive
5.18.18 Delete Column from Excel Worksheet Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action deletes a selected column from a previously launched Excel Instance
Properties:
Excel Instance: Enter the variable that contains the Excel Instance you want to
work with. You must have previously specified this variable in a Launch Excel action.
Delete Column: Enter the Index number or letter of the column you wish to delete.
Actions Reference 613
Description:
This action retrieves the first free column and/or row of the active worksheet. This is
useful for adding new data into a worksheet that already has data in it.
Properties:
Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.
© 2018 Softomotive
Store First Free Row into:
Enter a name to be the variable that will store the numeric value of the first fully
empty row.
Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.
5.18.20 Get First Free Row on Column from Excel Worksheet Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action retrieves the first free row, given the column of the active worksheet.
Actions Reference 615
Properties:
Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.
Column: Enter the index or the letter that identifies the column. Column numbering starts
from index 1.
Store Column's First Free Row into: Enter a name to be the variable that will store
the numeric value of the given column's first fully empty row.
Description:
This action reads the value of a cell or a range of cells from the active worksheet of a
previously launched Excel Instance
© 2018 Softomotive
Actions Reference 617
Properties:
Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.
Retrieve:
Choose whether to retrieve the value of a single cell or a table from a range of cells.
© 2018 Softomotive
Start Column:
Enter a numeric value to be the cell column or starting column number. This must be a
number. For example, Column F requires the entry of '6'.
Start Row:
Enter a numeric value to be the cell row or starting row number.
End Column:
Enter a numeric value to be the ending column number. This must be a number. For
example, Column J requires the entry of '10'.
End Row:
Enter a numeric value to be the ending row number.
Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.
Actions Reference 619
Description:
This action writes some value or the contents of a variable into a cell or a range of
cells of a previously launched Excel Instance
Properties:
Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.
© 2018 Softomotive
Value to Write:
Enter the text, number, or a previously stored variable, to be inserted. If the variable
contains a table, it will fill in cells to the right and below, writing over other cell data if
need be, and a list will fill in cells below.
Cell Column:
Enter a numeric value to be the column number for the cell this action will write to.
This must be a number. For example, Column F requires the entry of '6'.
Cell Row:
Enter a number to be the row for the cell this action will write to.
Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.
5.19 Outlook
5.19.1 Launch Outlook Action
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)
Description:
This action launches Outlook and creates a new Outlook Instance
Actions Reference 621
Properties:
Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.
Description:
This action retrieves email messages from an Outlook account
© 2018 Softomotive
Properties:
Outlook Instance:
Enter the variable that contains the Outlook Instance you want to work with. You
must have previously specified this variable in a "Launch Outlook" action.
Account:
Enter the name of the Outlook account (Data File name) you wish to work with (ex:
john@mail.com, John Tyler, Personal Folders).
Please find the name of your account by navigating to your Account Settings Data
Files Tab.
Actions Reference 623
Mail Folder:
Enter the name of the folder that you want to retrieve messages from. Enter the full
folder path for subfolders (ex. Inbox\Work).
Retrieve:
Specify whether you want to retrieve all messages in the folder, or only the unread
ones.
Mark As Read:
Specify whether you want to mark as read all the unread messages retrieved.
© 2018 Softomotive
"To" Field Contains:
Enter the full e-mail address(es) of the Receipient(s) (separated by space or semicolon
if more than one) for the messages you want to retrieve. Leave this field blank to
retrieve all messages regardless of the recipient(s).
"Subject" Contains:
Enter the key phrase to be found within the email Subject. Leave this field blank to
retrieve all email messages regardless of the their subject.
"Body" Contains:
Enter the key phrase to be found within the email Body. Leave this field blank to
retrieve all email messages regardless of the their content.
Attachments:
Specify whether you want to save the attachments of the email messages retrieved or
not.
Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.
Description:
This action creates and sends a new email message through Outlook
Actions Reference 625
Properties:
Outlook Instance:
Enter the variable that contains the Outlook Instance you want to work with. You
must have previously specified this variable in a "Launch Outlook" action.
Account:
Enter the name of the Outlook account (E-mail Account name) you wish to work with
(ex: john@mail.com, John Tyler, work, home).
Please find the name of your account by navigating to your Account Settings E-mail
Tab.
© 2018 Softomotive
To:
Enter the email address(es) of the recipient(s). If you enter more than one email
address, the list of addresses should be separated by spaces or semicolons.
CC:
Enter the email address(es) of the CC recipient(s). If you enter more than one email
address, the list of addresses should be separated by spaces or semicolons.
BCC:
Enter the email address(es) of the BCC (hidden) recipient(s). If you enter more than
one email address, the list of addresses should be separated by spaces or semicolons.
Subject:
Enter the subject of the email.
Actions Reference 627
Body:
Enter the text of the body.
Body is HTML:
Choose whether the body of the email is interpreted as HTML coding.
Attachment(s):
Enter or choose the full path of any attachment(s), or choose a variable that contains
a file or a list of files. Multiple files should be enclosed in double quotes (") and
separated by a space character.
Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.
Description:
Moves or deletes an email (or a list of email messages) retrieved by a "Retrieve Emails
From Outlook" action.
© 2018 Softomotive
Properties:
Outlook Instance:
Enter the variable that contains the Outlook Instance you want to work with. You
must have previously specified this variable in a "Launch Outlook" action.
Account:
Enter the name of the Outlook account (Data File name) you wish to work with (ex:
john@mail.com, John Tyler, Personal Folders).
Please find the name of your account by navigating to your Account Settings Data
Files Tab.
Actions Reference 629
Operation:
Specify which operation you want to perform on the specified email messages.
Mail Folder:
Enter the name of the folder that you want to move e-mail messages to. Enter the full
folder path for subfolders (ex. Inbox\Work).
Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.
© 2018 Softomotive
5.19.5 Save Outlook Email Messages Action
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)
Description:
This action saves Outlook email messages given an account
Properties:
Outlook Instance:
Enter the variable that contains the Outlook Instance you want to work with. You
must have previously specified this variable in a "Launch Outlook" action.
Account:
Enter the name of the Outlook account (Data File name) you wish to work with (ex:
john@mail.com, John Tyler, Personal Folders).
Please find the name of your account by navigating to your Account Settings Data
Files Tab.
Actions Reference 631
File Name:
Specify whether you want to save the mssages using the default name (Subject) or
provide your own.
Save Format:
Specify the format by which to save the messages.
Save As:
Specify custom name for messages' name which will differ from message to message by
an automatically added suffix.
© 2018 Softomotive
Save Email Message(s) to:
Enter here the folder to which you want the messages to be saved.
Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.
Description:
This action provides a response to an Outlook Message, by replying, replying to all or
forwarding
Actions Reference 633
Properties:
Outlook Instance:
Enter the variable that contains the Outlook Instance you want to work with. You
must have previously specified this variable in a "Launch Outlook" action.
Account:
Enter the name of the Outlook account (E-mail Account name) you wish to work with
(ex: john@mail.com, John Tyler, work, home).
Please find the name of your account by navigating to your Account Settings E-mail
Tab.
© 2018 Softomotive
Response Action:
Choose whether to reply (to sender or all) with a message or forward the received
message.
To:
Enter the email address(es) of the recipient(s). If you enter more than one email
address, the list of addresses should be separated by spaces or semicolons.
CC:
Enter the email address(es) of the CC recipient(s). If you enter more than one email
address, the list of addresses should be separated by spaces or semicolons.
BCC:
Enter the email address(es) of the BCC (hidden) recipient(s). If you enter more than
one email address, the list of addresses should be separated by spaces or semicolons.
Actions Reference 635
Mail Message:
Enter the variable that holds the mail message you wish to act upon. This should be a
variable populated by a "Retrieve Email Messages From Outlook" action.
Body:
Enter the HTML text of the body.
Attachment(s):
Enter or choose the full path of any attachment(s), or choose a variable that contains
a file or a list of files. Multiple files should be enclosed in double quotes (") and
separated by a space character.
Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.
Description:
This action closes a previously launched Outlook Instance
© 2018 Softomotive
Properties:
Outlook Instance:
Enter the variable that contains the Outlook Instance you want to close. You must
have previously specified this variable in a "Launch Outlook" action.
Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.
Actions Reference 637
5.20 Services
5.20.1 Start Service Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action starts a stopped Windows Service
Properties:
Service to Start:
Choose or enter the name of a Service to start.
© 2018 Softomotive
5.20.2 Stop Service Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action stops a running Windows Service
Properties:
Service to Stop:
Choose or enter the name of a Service to stop.
Actions Reference 639
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action pauses a running Windows Service
Properties:
Service to Pause:
Choose or enter the name of a Service to pause.
© 2018 Softomotive
5.20.4 Resume Service Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action resumes a paused Windows Service
Properties:
Service to Resume:
Choose or enter the name of a paused Service to resume.
Actions Reference 641
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action executes a specific Robot
Properties:
Robot to Run:
Choose or enter the name of a WinAutomation Robot. Usually, it will be a Robot other
than the current one.
© 2018 Softomotive
Wait for Robot to Complete:
Check this box if you want to pause this Robot until the called Robot is complete.
Otherwise both will run simultaneously.
Continue Anyway:
Choose whether the Robot continues after a set number of seconds, regardless of
whether the called Robot has finished or not.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action retrieves the command line arguments that can be provided if the robot is
compiled or started through the command line
Actions Reference 643
Properties:
Note: A backslash (\) character will "escape" the next control character, including
quotes ("") and itself. Therefore, when you need to include literal backslashes into one
of the parameters (e.g. "C:\My Data\etc\"), please remember to escape them first
("C:\\My Data\\etc\\").
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action retrieves the path of the currently running Robot. This is the folder where
the Robot is stored plus the Robot name. In a compiled Robot the action retrieves the
full path (directory and file name) of the executable file.
© 2018 Softomotive
Properties:
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action creates a custom Log Entry in the WinAutomation Event Log 101 .
Actions Reference 645
Properties:
Message to Log:
Enter the message you want to log.
Event Type:
Specify the event type that will be logged (informational, warning or error).
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action retrieves the last occurred exception.
© 2018 Softomotive
Properties:
Description:
This action retrieves the length (in characters) of a text value or variable
Properties:
Actions Reference 647
Text to Measure:
Enter the text, or a previously stored text variable, to be measured.
Description:
This action appends a new line of text to a text value or variable
Properties:
Original Text:
Enter the original text or a previously stored text variable.
© 2018 Softomotive
Line to Append:
Enter the text, or a previously stored text variable, to add on as a new line.
Description:
This action retrieves a subtext from a text value or variable
Actions Reference 649
Properties:
Original Text:
Enter the text, or a previously stored text variable, that contains the section of text
you want to retrieve.
Start Index:
Choose how you want to find the starting point for text retrieval.
Character Position:
Set the position of the first character you will retrieve. This is a zero-based index,
counting from zero for the first character. For example, the tenth character would be
9.
Length:
Choose whether the subtext continues to the end of the text, or includes only a
certain number of characters.
Number of Chars:
Set the number of characters to be retrieved.
Description:
This action creates a fixed length text by adding characters to the left or to the right
of an existing text
© 2018 Softomotive
Properties:
Text to Pad:
Enter the text, or a previously stored text variable, to be lengthened.
Pad:
Choose whether to add characters to the left or right of the existing text.
Total Length:
Set the total character length of the final padded text. This means that the Char or
Text for Padding will be repeatedly added until the final text is the right length. If it is
already the right length, no characters will be added.
Actions Reference 651
Description:
This action removes all occurrences of white space characters (such as space, tab, or
new line) from the beginning and/or end of an existing text.
Properties:
Text to Trim:
Enter the text, or a previously stored text variable, that you want to have trimmed.
© 2018 Softomotive
What to Trim:
Choose where white space characters will be removed from.
Description:
This action changes the casing of a text to uppercase, lowercase, title case or
sentence case.
Properties:
Actions Reference 653
Text to Convert:
Enter the text, or a previously stored text variable, that you want to convert.
Convert to:
Choose which text case style you want to use. Examples are given in their names.
Description:
This action converts a text representation of a number to a variable that contains a
numeric value
© 2018 Softomotive
Properties:
Text to Convert:
Enter a previously stored text variable containing only a number, that will be converted
to a numeric value variable. Spaces will be ignored, but non-number text will throw an
exception.
Description:
This action converts a number to text using a specific format that you determine.
Actions Reference 655
Properties:
Number to Convert:
Enter a number, or a previously stored numeric variable, that will be converted to text.
Decimal Places:
Choose the number of decimal places that will be included before truncation. Zeros can
also be added to the end to pad the text in this way.
© 2018 Softomotive
Example:
Here you can see an example of what your textual number will look like.
Description:
This action converts a text representation of a Date and/or Time value to a variable
that contains a DateTime value
Properties:
Actions Reference 657
Text to Convert:
Enter the text, or a previously stored text variable, to be converted to a DateTime
value. This text must be in a recognizably DateTime value format.
Custom Format:
Enter the format in which the date is stored in the text. You can express a custom
format as, for example, yyyyMMdd for date, and hhmmss for time. For more information
on how to specify a custom format see Custom Date Formats 262 .
Description:
This action converts a DateTime value to text using a specific format
© 2018 Softomotive
Properties:
DateTime to Convert:
Enter a DateTime value, or a previously stored DateTime variable, that will be
converted to text.
Format to Use:
Choose whether to use a standard DateTime format, or create a custom one.
Standard Format:
Choose which standard DateTime format this action will use to display the DateTime
value.
Actions Reference 659
Custom Format:
Set the custom Format this action will use to display the DateTime value. You can
express a DateTime as, for example, MM/dd/yyyy for date, and hh:mm:sstt for time.
For more information, see the Custom Date Formats 262 topic.
Example:
This is an example of how the action will display the DateTime value.
Description:
This action generates a text of specified length consisting of random characters. This
can be useful for generating passwords.
© 2018 Softomotive
Properties:
Characters to Use:
Choose which characters may be included in the generated Text.
Minimum Length:
Choose a minimum length for the random Text. If you want a certain length of Text,
set the minimum and maximum values to that number.
Maximum Length:
Choose a maximum length for the random Text. If you want a certain length of Text,
set the minimum and maximum values to that number.
Actions Reference 661
Description:
This action converts a list into a text value by separating its items with a specified
delimiter.
Properties:
List to Join:
Enter a previously stored list variable, to be converted to Text.
© 2018 Softomotive
Delimiter to separate list items:
Choose whether to use no Delimiter, a standard Delimiter or a custom one.
Standard Delimiter:
Choose the Delimiter and how many repetitions from the list.
Custom Delimiter:
Enter the character(s) to be used as Delimiter. Spaces at the beginning and the end
will be trimmed, unless in the format of %"xxx"%, where xxx is the text, and can
contain spaces anywhere.
Description:
This action creates a list containing the substrings of a text that are separated by a
specified delimeter or by regular expression
Actions Reference 663
Properties:
Text to Split:
Enter the text that contains delimiters, or a previously stored text variable, to be split.
Standard Delimiter:
Choose the Delimiter used from the list.
Custom Delimiter:
Enter the character(s) that were used as Delimiter.
© 2018 Softomotive
Is Regular Expression:
Check this box if your Delimiter is a Regular Expression. A Regular Expression creates a
range of possibilities for the Delimiter. For example \d means that the Delimiter could be
any digit.
Description:
This action parses a text to find the first or all occurrences of a specified subtext or a
regular expression pattern
Actions Reference 665
Properties:
Text to Parse:
Enter the text, or a previously stored text variable, to be parsed.
Text to Find:
Enter the subtext, a previously stored text variable, or a Regular Expression, to search
for.
© 2018 Softomotive
Is Regular Expression:
Check this box if your subtext is a Regular Expression. A Regular Expression creates a
range of possibilities to be the subtext. For example \d means that the subtext could
be any digit.
Ignore Case:
Choose whether you want this action to find the specified text using case-sensitive or
case-insensitive matching.
Description:
This action replaces all occurrences of a specified subtext, with another specified text.
It can also be used with Regular Expressions
Actions Reference 667
Properties:
Text to Parse:
Enter the text, or a previously stored text variable, to be parsed.
Text to Find:
Enter the subtext, a previously stored text variable, or a Regular Expression, to search
for.
© 2018 Softomotive
Use Regular Expressions for find and replace:
Check this box if the subtexts are Regular Expressions. A Regular Expression creates a
range of possibilities to be the subtext. For example \d means that the subtext could
be any digit.
Ignore Case:
Choose whether you want this action to find the subtext to be replaced using case-
sensitive or case-insensitive matching.
Replace With:
Enter the text, a previously stored text variable, or a Regular Expression, to replace
found text. For example '\t' in the replacement text will be interpreted as a tab.
Description:
This action escapes a minimal set of characters (\,*,+,?,|,{,[,(,),^,$,.,# and white
spaces) by replacing them with their escape codes of an existing test.
Actions Reference 669
Properties:
Text to Escape:
Enter the text, or a previously stored text variable, to be escaped.
Description:
This action retrieves the current date or the current date and time
© 2018 Softomotive
Properties:
Retrieve:
Choose whether to gather the date and time, or just the date. If you choose to gather
only the Date, the time value will be stored as midnight (0:00:00).
Description:
This action adds (or subtracts) a specific number of seconds, minutes hours or days to
a DateTime value stored into a variable
Actions Reference 671
Properties:
Add:
Enter a numeric value, or a previously stored numeric variable, and choose the unit of
time it represents. To subtract a time, this value would be negative. For example, add
-7 days here to go back one week.
To Variable:
Enter the name of a variable with a DateTime value that you wish to alter.
© 2018 Softomotive
5.23.3 Subtract Dates Action
Description:
This action finds the time difference between two given dates in days, hours, minutes,
or seconds.
Properties:
Subtract Date 1:
Enter a DateTime or the name of a variable that holds a DateTime value.
From Date 2:
Enter a DateTime or the name of a variable that holds a DateTime value. This will be
the base DateTime, so generally put the later date/time in this field.
Actions Reference 673
Description:
This action reads the contents of an XML file into a variable.
© 2018 Softomotive
Properties:
File path:
Enter or choose the XML document to be read. This can be a file path, or a variable
containing a file or a textual path.
Encoding:
Select the encoding used for the specified file.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action writes the contents of an XML Node variable into a file.
Actions Reference 675
Properties:
File path:
Enter or choose the file where the XML document to be written into.
XML to write:
Enter the variable that contains the XML Node or document to be written that you
want to write into the file.
Encoding:
Select the encoding used for the specified file.
© 2018 Softomotive
5.24.3 Execute XPath Expression Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action extracts values from an XML Document (a variable containing data in XML
format) based on the XPath Query provided.
Actions Reference 677
Properties:
XPath Query:
Specify whether you want to retrieve a single value (The first value only) or all the
values that match the provided XPath expression.
Enter the name of the variable that will store the extracted node(s) as an XML Node or
a list of XML Nodes (depending on your choice in “Get First Value Only” property)
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action gets the value of an attribute of an XML Element.
© 2018 Softomotive
Properties:
XML Document:
Enter the variable that contains the XML Document or XML Element whose attribute
you want to retrieve.
XPath Query:
Enter the XPath Expression to locate the sub-element whose attribute you want to
retrieve.
Attribute Name:
Enter the name of the attribute whose value you want to retrieve.
Enter the name of the variable that will store the retrieved value of the XML Attribute. The type of the
variable will depend on the selection of the “Get Value as” property.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action sets the value of an attribute of an XML Element.
© 2018 Softomotive
Properties:
Xml Document:
Enter the variable that contains the XML Document or XML Element whose attribute
you want to set.
XPath Query:
Enter the XPath Expression to locate the sub-element whose attribute you want to
set.
Attribute Name:
Enter the name of the attribute whose value you want to set.
Actions Reference 681
Attribute Value:
Enter the new value for the attribute.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action removes an attribute from an XML Element.
© 2018 Softomotive
Properties:
XML Document:
Enter the variable that contains the XML Document or XML Element whose attribute
you want to remove.
XPath Query:
Enter the XPath Expression to locate the sub-element whose attribute you want to
remove.
Attribute Name:
Enter the name of the attribute you want to remove.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action gets the value of an XML Element.
Actions Reference 683
Properties:
XML Document:
Enter the variable that contains the XML Document or XML Element whose value you
want to retrieve.
XPath Query:
Enter the XPath Expression to locate the sub-element whose value you want to
retrieve.
© 2018 Softomotive
5.24.8 Set XML Element Value Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action sets the value of an XML Element.
Properties:
XML Document:
Enter the variable that contains the XML Document or XML Element whose value you
want to retrieve.
Actions Reference 685
XPath Query:
Enter the XPath Expression to locate the sub-element whose value you want to
retrieve.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action inserts a new XML Element into an XML document
© 2018 Softomotive
Properties:
XML Document:
Enter the XML Document where you want to insert the new XML Element.
XPath Query:
Enter the XPath Expression to locate the parent XML element into which the new
element will be inserted.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action removes one or more XML Elements from an XML Document.
Properties:
XML Document:
Enter the XML Document that contains the XML element(s) you want to remove.
© 2018 Softomotive
XPath Query:
Enter the XPath expression to locate the element(s) you want to remove.
Description:
This action sets the value of a new or existing variable, and can be used to create a
new variable or overwrite a previously created variable.
Properties:
Set Value:
Enter a value or expression, or a previously stored variable, to be the value of this
variable.
Actions Reference 689
into Variable:
Enter a name to be the variable that will hold the value you set. This can be a new or
existing variable.
Description:
This action increases the value of a variable by a specific amount
Properties:
Variable Name:
Enter the name of the numeric variable you wish to increase.
© 2018 Softomotive
Increase by:
Enter a numeric value, or a previously stored numeric variable, to increase the variable
by.
Description:
This action decreases the value of a variable by a specific amount
Properties:
Variable Name:
Enter the name of the numeric variable you wish to decrease.
Actions Reference 691
Decrease By:
Enter a numeric value, or a previously stored numeric variable, to decrease the variable
by.
Description:
This action accepts a numeric value and returns its integral or fractional digits, or
rounds up the value to a specified number of decimal places.
© 2018 Softomotive
Properties:
Number to Truncate:
Enter the number or the name of the variable that holds the numeric value you want to
truncate/round up.
Operation:
Select the operation you want to perform on the given number.
Decimal Places:
Specify the number of decimal places you want to round the given number up. Enter 0,
do you want the result to be an integer.
Description:
Generates a random number or a list of random numbers that fall between a minimum
and maximum value
Actions Reference 693
Properties:
Minimum Value:
Enter a numeric value, or a previously stored numeric variable, to specify a lower
boundary for the random number(s) to generate.
Maximum Value:
© 2018 Softomotive
How Many Numbers:
Enter a numeric value, or a previously stored numeric variable, to specify how many
random numbers to generate.
Allow Duplicates:
Specify whether to permit or prevent the same number from appearing more than once
in the random numbers list.
Description:
This action retrieves the count of items of a variable that contains a list or a
datatable. A datatable will return the number of rows.
Actions Reference 695
Properties:
Variable Name:
Enter the name of the list or datatable variable to be counted.
Description:
This action creates a new empty list and assigns it to a variable
© 2018 Softomotive
Properties:
Description:
This action removes all items from a List contained into a variable.
Actions Reference 697
Properties:
List to Clear:
Enter the name of a variable that contains the list you wish to remove its items.
Description:
This action appends a new item of the same type to a variable that contains a List.
© 2018 Softomotive
Properties:
Add Item:
Enter a value, or the name of a variable, to be added. The new value must be a single
value and not a list of values. If the list you are adding to has a specific type of
elements, say all numeric or all file information, the new value must be of the same
type.
into List:
Enter the name of a variable that contains a list you wish to add to.
Description:
This action removes an item at a specified index from a variable that contains a List.
Actions Reference 699
Properties:
Description:
This action sorts the items of a List contained in a variable. The items on the list must
be of the same type.
© 2018 Softomotive
Properties:
List to Sort:
Enter the name of a variable that contains a list you wish to sort.
So, for example, if you have a list of files, using this option you can sort them, say, by
extension and then by size. If you don't use the option, the files will be sorted by their
full path.
Actions Reference 701
Description:
This action creates a random permutation of a List contained in a variable. The items
on the list must be of the same type.
© 2018 Softomotive
Properties:
List to Shuffle:
Enter the name of a variable that contains a list you wish to shuffle.
Description:
Properties:
Fisrt List:
Enter the name of a variable that is the first list of items to be merged.
Second List:
Enter the name of a variable that is the second list of items to be merged.
Output List:
Enter the name of the variable that will contain the merged list. The initial lists will not
be affected.
Description:
This action reverses the order of the items of a List contained into a variable.
© 2018 Softomotive
Properties:
List to Reverse:
Enter the name of the variable that contains the List, whose items order you want to
reverse.
Description:
This action removes the multiple occurrences of items in a list, so that in the resulting
list each item will be unique.
Properties:
Enter the name of a variable that contains a list you wish to remove duplicate items
from.
Actions Reference 705
Description:
This action compares two lists, and creates a new list with the items that are common
to both.
Properties:
List 1:
Enter the name of a variable containing a list, to be compared.
List 2:
Enter the name of a variable containing a different list, to be compared.
© 2018 Softomotive
5.25.17 Subtract Lists Action
Description:
This action compares two lists, and creates a new list with the items that are in the
first list but not in the second.
Properties:
List 1:
Enter the name of a variable containing a list to be compared.
List 2:
Enter the name of a variable containing a different list to be subtracted from the first
list. Subtracted items will shorten the resultant list. If two identical lists are compared,
the result will be an empty list.
Description:
This action converts the contents of a DataTable column into a List for further
processing
Properties:
DataTable:
Enter the name of a variable containing a data table.
© 2018 Softomotive
Store column contents as new list into:
Enter a name to be the variable that will hold the new list. This list will hold the
contents of the specified data table.
Actions Reference 709
© 2018 Softomotive
Description:
General Tab
Actions Reference 711
Advanced Tab
Properties:
PDF File: Enter or choose the PDF file, whose text will be extracted. It can be a file
path, a variable containing a file or a text path.
Page(s) To Extract: Choose how many pages will be extracted using OCR.. All,
Single or Range of pages
Single Page Number: Set the number of the single page that images will be
extracted.
From Page Number: Set the first page number from the range of pages that
images will be extracted.
© 2018 Softomotive
To Page Number: Set the last page number from the range of pages that images
will be extracted.
Image(s) Name: Enter how the image(s) will start. Extracted image(s) name
example: GivenName_1, GivenName_2
Save Image(s) To: Enter or choose a local folder, or a previously defined variable
containing a folder, to specify the folder where the extracted images from PDF will be
saved into as png files.
Use Password: Choose whether you want to use password for PDF that are
password protected.
Enter PDF Password: If you choose 'directly', the password entered in the
Password field will be hidden. If you choose 'as variable' you must enter a variable
containing the password and the '%' character will be treated as an indicator of a
variable, not part of the password.
Description:
This actions extracts the text from a PDF file.
Actions Reference 713
General
© 2018 Softomotive
Advanced
Properties:
PDF File: Enter or choose the PDF file, whose text will be extracted. It can be a file
path, a variable containing a file or a text path.
Page(s) To Extract: Choose how many pages will be extracted. All, Single or Range
of pages.
Single Page Number: Set the number of the single page that text will be
extracted.
From Page Number: Set the first page number from the range of pages that text
will be extracted
To Page Number: Set the last page number from the range of pages that text will
be extracted
Store Extracted Text into: Enter a name to be the variable that will store the
extracted text.
Actions Reference 715
Use Password: Choose whether you want to use password for PDFs that are
password protected.
Enter PDF Password: If you choose 'directly', the password entered in the
Password field will be hidden. If you choose 'as variable' you must enter a variable
containing the password and the '%' character will be treated as an indicator of a
variable, not part of the password.
Description:
Waits on the handle specified to become available for locking.
© 2018 Softomotive
Properties:
Handle:
Enter the name of the handle to wait on till it becomes eligible for locking.
Description:
Releases the lock on a handle.
Actions Reference 717
Properties:
Handle:
Enter the name of the handle to release the lock of. The handle must have been
locked within the same robot-instance, otherwise this action won't have any effect on
the handle whatsoever.
© 2018 Softomotive
718 WinAutomation Help
Index -=-
= 270
- %- ->-
% 276 > 270
%ButtonPressed% 164 >= 270
%EventTriggerEventID% 89
%EventTriggerEventLogName%
%EventTriggerEventMessage%
89
89
-1-
%EventTriggerEventSource% 89 1000 Separator 654
%EventTriggerEventType% 89
%FileTriggerEventType% 91 -A-
%FileTriggerFileName% 91
%FileTriggerFilePath% 91 access 126, 128
%FileTriggerOldFileName% 91 access the file 423
%LoopIndex% 265, 268 Action 164, 168, 171, 176, 178, 291, 299, 302,
%name% 276 303, 304, 305, 307, 308, 309, 310, 312, 314, 315,
%PingTriggerHostName% 94 316, 317, 318, 321, 322, 323, 325, 326, 327, 332,
336, 338, 340, 341, 343, 344, 345, 346, 347, 349,
%ProcessTriggerEventType% 96
351, 353, 354, 357, 360, 361, 363, 366, 367, 369,
%ProcessTriggerProcessName% 96 371, 372, 373, 374, 375, 376, 380, 382, 384, 386,
%ServiceTriggerServiceName% 95 389, 392, 393, 397, 403, 405, 407, 408, 410, 415,
%ServiceTriggerServiceState% 95 418, 419, 427, 428, 430, 431, 434, 435, 437, 438,
%TriggerName% 82, 83 439, 440, 444, 453, 457, 465, 469, 473, 477, 478,
480, 481, 482, 485, 487, 489, 490, 492, 505, 507,
%VariableName[ItemNumber]% 254
509, 511, 514, 516, 518, 523, 524, 526, 528, 532,
%VariableName[RowNumber][ColumnNumber]% 642, 643, 656, 672, 690, 692, 694
255
Action Icons 171
-\-
\% 276
© 2018 Softomotive
Index 719
Actions Reference 291, 293, 295, 298, 302, 303, Add to DateTime 670
304, 305, 307, 308, 309, 310, 312, 317, 318, 321, Add to DateTime Action 670
322, 323, 325, 326, 327, 330, 332, 336, 338, 340, Adding an Action 162
341, 343, 344, 345, 346, 347, 349, 351, 353, 354,
Adding Breakpoints 175
357, 360, 361, 363, 366, 367, 369, 371, 372, 373,
374, 375, 376, 380, 382, 384, 385, 386, 389, 392, Additional Data 102
393, 394, 397, 401, 403, 405, 407, 408, 410, 415, addon 250
416, 418, 419, 421, 423, 424, 426, 427, 428, 430, add-on 250
431, 432, 434, 435, 437, 438, 439, 440, 442, 443, Addons 114
446, 448, 453, 457, 461, 465, 469, 473, 477, 478,
add-ons 250
480, 481, 482, 485, 487, 489, 490, 492, 505, 507,
509, 511, 514, 516, 518, 523, 524, 526, 528, 532, Advanced 265, 268, 276, 279, 281, 282, 283
537, 539, 542, 544, 545, 546, 548, 549, 550, 551, Advanced Topics 276, 279, 281, 282, 283
552, 553, 554, 558, 560, 569, 572, 583, 585, 586, Agent 528, 532
587, 588, 590, 591, 592, 593, 595, 596, 598, 600, all 596
602, 604, 607, 608, 609, 610, 612, 613, 614, 615,
Allow 397
619, 620, 621, 624, 627, 630, 632, 635, 637, 638,
639, 640, 641, 642, 643, 646, 647, 648, 649, 651, Allow Empty Selection 397
652, 653, 654, 656, 657, 659, 661, 662, 664, 666, Allow Multiple Selection 397, 401
668, 669, 670, 672, 688, 689, 690, 692, 694, 695, Alt 382, 384
697, 698, 699, 705, 706, 707 amount 346
activate 598 amount of seconds 346
Activate cell in excel Worksheet 598 append 416, 418, 419
Activate cell in excel Worksheet Action 598 Append Line 647
Activate License 109 Append Line to Text 647
activates 453, 477, 478, 480, 481, 482, 507, 509, Append Line to Text Action 647
511, 514, 516, 590, 595, 596, 598 Application 266, 291, 293, 295, 298, 301, 382
active 382 Application Path 291
active cell 598 archive 434, 435
active foreground Window 179 Archive Comment 434
Active Mode 537, 539 Archive Path 434, 435
Active Worksheet 590, 595, 596, 598 Archive Robots 118
activities 178 Argument 283
Actual Internet Explorer 495, 499, 501, 503, 506 Arguments 291, 642
Add 170, 410, 528, 532, 608, 609, 610, 612, 670 artificial delay 171
add an Action 162 ascending 405
add breakpoints 175 ASCII 113, 545, 548
Add control 196 associated 291
Add Date or Time 410 Athens 53
Add DateTime 410 Attach 85, 495, 499, 506, 587
Add Item 254, 697 attach a Trigger 85
Add Item to List 697 Attach Excel 587
Add Item to List Action 697 Attach to Excel Action 587
Add New Trigger 85 Attachment 560, 569, 572, 620, 621, 624, 627,
Add New Variable 170 630, 632, 635
Add New Worksheet 591 attribute 681, 682, 684, 685, 687
Add New Worksheet Action 591 Audit 89
Add Number 410 Audit Failure 89
Add Text 410 Audit Success 89
© 2018 Softomotive
720 WinAutomation Help
© 2018 Softomotive
Index 721
© 2018 Softomotive
722 WinAutomation Help
© 2018 Softomotive
Index 723
Data type Properties 251, 255 delete 316, 410, 427, 528, 532, 550, 553, 592, 609,
Data Types 252 612
database 101, 108 delete all 428
Database Category 583, 585 delete column in excel action 612
DataRow 255 delete column in excel worksheet 612
datatable 694 Delete File 410
DataTable column 707 Delete File(s) 410
DataTable variable 424 Delete File(s) Action 410
date 251, 262 Delete Folder 427
Date and Time 669 Delete Folder Action 427
date range 104 Delete FTP Directory 553
Date Time 252, 270 Delete FTP Directory Action 553
Date Time type 270 Delete FTP File 550
Dates 672 Delete FTP File Action 550
DateTime 148, 255, 410, 657, 670 Delete Function 161
DateTime Actions 669, 670, 672 delete items from list 696
DateTime Actions Category 669, 670, 672 delete row in excel action 609
DateTime Format 410 delete row in excel worksheet 609
DateTime to Add 410 Delete Worksheet 592
DateTime to Convert 657 Delete Worksheet Action 592
DateTime to Text 657 deleted 91, 283, 347, 349
Day 255 deletes 410, 550, 553
DayOfWeek 255 delimeter 662
DayOfYear 255 Delimiter 661, 662
days 670, 672 demonstrate 56, 61, 66
Debug 174, 176 denote 276
Debugger 171 Descending 405, 424
Debugger Options 171 Description 123, 170, 403
debugging 146 Design Time 155
Decimal 654 Design Time Errors 155
Decimal Places 654 Designer 144, 171, 173
declare 170 Designer Components 188
Decrease 690 Designer Elements 188
Decrease Variable 690 Designer Options 171
Decrease Variable Action 690 Desktop 126, 128, 306, 440
decreases 690 destination 407, 408, 428
default 276, 279 destination folder 407, 428, 430
default policies 129 Destination Folder: 435
Default Printer 303 details 102, 521
default response 276, 279 Dialog 79, 393, 394, 397, 401, 403
Default Value 164, 393, 394 dialog box 397
Define a new variable 251 Dialog Message 164
Defined in Action 170 Dialog Title 164, 397
delay 171, 276, 279, 380 differ 357, 376, 505
Delay Between Keystrokes 382 difference 672, 706
delays 179 different 276, 279
© 2018 Softomotive
724 WinAutomation Help
© 2018 Softomotive
Index 725
© 2018 Softomotive
726 WinAutomation Help
© 2018 Softomotive
Index 727
© 2018 Softomotive
728 WinAutomation Help
Handle 291, 354, 442, 443, 446, 448, 453, 457, If Folder Exists 271, 323, 428
461, 465, 469, 473, 514, 516 If Folder Exists Action 323
handle an exception 276, 279 If Image 271
Handling 276, 279, 354 If Image Action 330
hidden 442, 443, 446, 448, 461 If Process 271, 326
© 2018 Softomotive
Index 729
If Process Action 326 Instance 586, 590, 591, 592, 593, 595, 596, 598,
If Service 271, 325 600, 602, 604, 607, 608, 609, 610, 612, 613, 614,
If Service Action 325 615, 619
If Variations 271 instances 128
If Web page Contains 336 interact 144
If web page Contains Action 336 interacting 307
If Webpage contains 271 interactions 126, 128
If Window 271, 327 interactive 126, 128
If Window Action 327 Interactive Robot 178
If Window Contains 332 Interactive/Non Interactive Robots 282
If Window Contains Action 332 interacts 282
If/Else/EndIf 270 Internal Exception 101
image 201, 310, 330, 526 internet 312
image does not appear 357 Internet Cache 432
Image File 310, 526 Internet Explorer 210, 240, 244, 246, 495, 499,
501, 503, 506
Image Format 310, 526
internet protocol 312
Image Recognition 281, 330, 357, 376
interval 94, 101
Image Repository 159
into Variable 688
images 201
Introduction 12
implements 265, 268
Invoke 368, 532, 558
import 77, 418, 419
Invoke FTP Command 558
Import Robot 77
Invoke FTP Command Action 558
Include 405
IP 312
Include Mask 435
IP address 94
Include Subfolders 405, 424
Is Regular Expression 662
Increase 689
IsArchive 255
Increase Variable 689
IsHidden 255
Increase Variable Action 689
IsReadOnly 255
Increment 341, 410
IsSystem 255
indent 264, 267, 269
item 344
index 698
ItemNumber 254
information 251
items 254
Initial 403
Items Count 694
Initial Folder 401, 403
iterate 267
Initial Value 148, 170
iterates 341, 343
input 93, 126, 128, 251, 282
iterating 254
Input Dialog 393
iteration 264, 267
Input Type 164, 393
insert 608, 610, 685, 687
insert column 610
-J-
insert column in excel action 610
Java 298
insert column in excel worksheet 610
Javascript 298
insert row in excel action 608
Join 661
Insert row in excel worksheet 608
Join Text 661
installed 325
Join Text Action 661
© 2018 Softomotive
730 WinAutomation Help
© 2018 Softomotive
Index 731
Macro Recorder Settings Dialog 179 Mouse and Keyboard 178, 373, 374, 375, 376,
macro recording 180 380, 382, 384, 385
Main Window Handle 291, 457 Mouse and Keyboard Category 373, 374, 375, 376,
Make Instance Visible 586 380, 382, 384, 385
Make Sequential 410 Mouse Click 380
Manage 200, 201, 283 mouse clicks 179
Manage Functions 161 mouse events 282
Manage Repository 202 mouse movement 126, 128
Manage Robots 283 Mouse Moves 179
Manage Robots Database 283 Move 375, 376, 380, 408, 430, 465, 505
Manager 170 Move File 408
manually 82, 83 Move File(s) 408
Massive Rename 177 Move File(s) Action 408
match 281 Move Folder 430
matches 281 Move Folder Action 430
maximizes 457 Move Folders 77
Maximum 659 Move Mouse 375, 376, 505
Maximum Length 659 Move Mouse Action 375
menu 376, 442, 444, 505 Move Mouse to element 505
Menu Option 444 Move Mouse to Image 281, 376
Merge list 702 Move Mouse to Image Action 376
message 560, 569, 572, 620, 621, 624, 627, 630, Move Robots 77
632, 635 Move Window 465
Message Boxes 386, 389, 392, 393, 394, 397, Move Window Action 465
401, 403 moved 408
Message Boxes Category 386, 389, 392, 393, 394, MS outlook 620, 621, 624, 627, 630, 632, 635
397, 401, 403 multiple 264, 267
met 269 Multiple Instances 126, 128
Method 528, 532 multiple Robots 92
Microsoft's 130, 135 Multiple Selection 401
Minimize all Windows 306 My Pictures 432
minimizes 457
Minimum
Minimum Length
659
659
-N-
Minute 255 Name 72, 148, 170, 255, 325, 366, 485, 523, 524,
minutes 670, 672 590, 591, 592, 593, 595, 596, 598, 600, 602, 604,
mode 126, 128 607, 608, 609, 610, 612, 707
modified 91 name of a folder 431
modifier 384 NameWithoutExtension 255
Monitor 89, 91, 92, 93, 95, 96, 306, 317, 318 navigation 210, 246
monitor email accounts 87 network 312
Month 255 New 591, 695
Monthly 99 new data 613, 614
More Information 432 New Directory 552
Mouse 360, 373, 374, 375, 376, 380, 382, 384, New Extension 410
385, 505 New File Name 410, 551
© 2018 Softomotive
732 WinAutomation Help
© 2018 Softomotive
Index 733
© 2018 Softomotive
734 WinAutomation Help
© 2018 Softomotive
Index 735
© 2018 Softomotive
736 WinAutomation Help
Run Properties 79, 126, 128, 282 Select File Dialog 401
Run Robot 79, 641 Select Folder 403
Run Time Errors 155 Select Folder Dialog 403
running 148, 325, 326, 351, 639 Select From List 397
Run-Time Error 276, 279 Select menu option action 444
select option 444
-S- select radio 514
select radio button 514
same type 254 Select radio button Action 481
save 630 select radio button in window Action 514
Save File 528 select web element 212, 247
Save File to 528 selected 394, 397, 403, 489, 490
Save Screen Shot 310, 317, 318, 526 Selected Action 305
Save to Disk 528 selected cell 600
saves 310, 317, 318, 526 Selected Date 394
schedule 98, 99, 101, 135 Selected Folder 403
Schedule Expire 99 Selected Index 397
Schedule Trigger 99 Selected Item 397
Schedule Trigger Properties 99 selected Worksheet 600, 602, 604, 607
scheduler 98, 135 selection 397, 444, 600, 602, 604, 607
Scheme 410 selectors 272
screen 179, 281, 306, 310, 317, 318, 357, 376, 526 send 380, 382, 572, 621, 624
Screen Saver 312 Send an email 129
screensaver 312 Send Email 572
ScreenShot 310, 317, 318, 526 Send Email Action 572
Script 295, 298 Send Keys 286, 349, 382
scripts 283 Send Keys Action 382
SCROLL 385 Send Mouse Click 380
SCROLL LOCK 385 Send Mouse Click Action 380
Search 146, 357, 376 Sender 560, 569, 572, 621, 624, 627, 630, 632
Search for Actions 146 sends 560, 569, 572, 621, 624, 627, 630, 632
searched 376 sentence case 652
second 380 separate list items 661
Second Operand 321, 343 separates 662
seconds 346, 670, 672 Separator 410, 654
secure connection 539 Server 114
Secure FTP 252, 539 Service 95, 114, 130, 135, 325, 353, 532, 637, 638,
Secure FTP Connection 252 639, 640
Secure FTP Protocol 539 Service Category 637, 638, 639, 640
select 394, 397, 403, 444, 481, 501, 503, 514, 600 Service Monitor 95
select any variable 251 Service Monitor Trigger 95
select cells in excel Worksheet 600 Service Name 325, 353
select cells in excel Worksheet Action 600 Service to Pause 639
Select Date 394 Service to Resume 640
Select Desktop 440 Service to Start 637
Select File 401 Service to Stop 638
© 2018 Softomotive
Index 737
© 2018 Softomotive
738 WinAutomation Help
© 2018 Softomotive
Index 739
-T- Time
time range
669
104
Timeout 386, 389, 583, 585
tab 651
times 341
tables 255
title 327, 332, 336, 354, 386, 389, 393, 394, 397,
tabs 155
401, 442, 443, 446, 448, 453, 457, 461, 465, 469,
tabular 255 473, 485, 507, 509, 511, 514, 516, 523, 524
Take 310, 526 To 560, 569, 572, 621, 624, 627, 630, 632
Take ScreenShot 310, 526 To Variable 670
Take ScreenShot Action 310 Tolerance 357, 376
Take ScreenShot of web page 526 toolbar 174
Take ScreenShot of web page Action 526 Tools 97, 107, 283
technical 102 Topic 276, 279, 281, 282, 283
Temporary File 423 Total 649
terminate 299, 301 Total Length 649
Terminated 82, 83, 96 transfer 113
terminates 95, 96 transfer type 113
test 166 tree 448
Text 148, 252, 255, 361, 363, 382, 416, 437, 438, trigger 79, 85, 89, 91, 92, 93, 94, 95, 96, 98, 135
477, 478, 507, 509, 514, 516, 646, 648, 649, 651,
Trigger Types 85
656, 657, 661, 662, 664
Trigger Variables 82, 83, 170
Text Actions 646, 647, 648, 649, 651, 652, 653,
654, 656, 657, 659, 661, 662, 664, 666, 668 TriggerName 82, 83
Text Actions Category 646, 647, 648, 649, 651, Triggers 72, 82, 83, 89, 130, 135
652, 653, 654, 656, 657, 659, 661, 662, 664, 666, 668 Triggers tab 82, 83
Text Case 652 Triggers Window 85
text elements 662 Trim 651
text field 478 Trim Text 651
text file 129 Trim Text Action 651
Text Length 646 true 343
Text to Add 410 truncate number 691
Text to Convert 653, 656 two kinds of errors 155
© 2018 Softomotive
740 WinAutomation Help
© 2018 Softomotive
Index 741
© 2018 Softomotive
742 WinAutomation Help
wish 385
Working 99
Working Directory 544
Working Folder 291, 293
worksheet 613, 614
Worksheet Index 590, 595, 596
Worksheet Name 590, 595, 596
Workspace 144, 146, 148, 155, 162
Workstation 307
Write 416, 619
write cmd 578
write cmd session 578
write cmd session action 578
write command 578
write command line session 578
Write Text 416
Write Text to File 416
Write Text to File Action 416
Write to Excel Action 619
write xml 674
write xml to file 674
write xml to file action 674
-X-
xml 673, 674, 676, 677, 679, 681, 682, 684, 685,
687
xpath 673, 674, 676, 677, 679, 681, 682, 684, 685,
687
-Y-
Year 255
yellow 168
-Z-
Zip 434, 435
Zip archive 434, 435
Zip Category 434, 435
Zip Files 434
Zip Files Action 434
© 2018 Softomotive