WinAutomationHelp WAV8
WinAutomationHelp WAV8
Version 8
© 2018 Softomotive
Table of Contents
1 WinAutomation 12
1.1 About Softomotive ......................................................................... 13
1.2 Software Requirements ................................................................. 14
1.3 Editions ............................................................................................ 14
1.4 Release History ............................................................................... 16
2 Getting Started 62
2.1 Create a simple Process - Part 1 ................................................... 63
2.2 Create a simple Process - Part 2 ................................................... 69
2.3 Create a simple Process - Part 3 ................................................... 74
3 Using WinAutomation 80
3.1 The Console ..................................................................................... 81
3.1.1 Processs ............................................................................................................... 82
3.1.1.1 Processs Tab ..................................................................................................... 83
3.1.1.2 C reate a new Folder ........................................................................................... 84
3.1.1.3 C reate a new Process ......................................................................................... 85
3.1.1.4 Move Processs/Folders ....................................................................................... 87
3.1.1.5 Import/Export a Process ..................................................................................... 87
3.1.1.6 Run/Stop a Process ............................................................................................ 89
3.1.1.7 The Notification Popup Window ............................................................................ 90
3.1.1.8 Enable/Disable a Process .................................................................................... 91
3.1.1.9 Find Process ...................................................................................................... 92
3.1.2 Triggers ................................................................................................................ 93
3.1.2.1 What Triggers Are .............................................................................................. 93
3.1.2.2 Trigger Variables ............................................................................................... 94
3.1.2.3 Triggers Tab ...................................................................................................... 95
3.1.2.4 How to set a Trigger for a Process ....................................................................... 96
3.1.2.5 Trigger Types .................................................................................................... 98
Email Monitor Trigger ..................................................................................... 98
Event Log Monitor Trigger ............................................................................. 101
File Monitor Trigger ...................................................................................... 103
Hotkey Trigger ............................................................................................ 104
Idle Monitor Trigger ..................................................................................... 105
Ping Trigger ................................................................................................ 106
Service Monitor Trigger ................................................................................ 107
Process Monitor Trigger ................................................................................ 108
3.1.3 Scheduler ........................................................................................................... 109
3.1.3.1 Scheduler Tab .................................................................................................. 110
3.1.3.2 Schedule ......................................................................................................... 111
3.1.3.3 Recurring Schedule .......................................................................................... 114
3.1.4 Logs .................................................................................................................... 114
3.1.4.1 Logging in WinAutomation ................................................................................. 114
3.1.4.2 Logs Tab ......................................................................................................... 115
3
© 2018 Softomotive
3.5 The Debugger ............................................................................... 199
3.5.1 Run/Stop/Pause a Process from Process Designer .......................................... 199
3.5.2 Adding Breakpoints ............................................................................................ 200
3.5.3 Execute step by step ......................................................................................... 201
3.5.4 Full Error View ................................................................................................... 202
3.5.5 Rename a Variable ............................................................................................. 203
3.6 The Macro Recorder ...................................................................... 204
3.6.1 Simulating the activity of a user ....................................................................... 204
3.6.2 Recording vs Building a Process ........................................................................ 204
3.6.3 Starting the Macro Recoder ............................................................................... 205
3.6.4 Macro Recorder .................................................................................................. 206
3.7 The Custom Dialog Designer ........................................................ 212
3.7.1 Designing a Custom Dialog ................................................................................ 212
3.8 UI Automation .............................................................................. 221
3.8.1 UI Automation Overview .................................................................................... 221
3.8.2 UI Elements - Select Controls ............................................................................ 223
3.8.3 Manage Controls Repository .............................................................................. 227
3.8.4 Manage Images Repository ............................................................................... 228
3.8.5 Manage UI Selectors .......................................................................................... 230
3.8.6 Building UI Selectors ......................................................................................... 233
3.8.7 UI Data Extraction ............................................................................................. 236
3.9 Web Automation ........................................................................... 237
3.9.1 Web Automation Overview ................................................................................ 237
3.9.2 Building a WebAutomation Process ................................................................... 239
3.9.3 The Web Recorder .............................................................................................. 246
3.9.4 Web Data Extraction Part I ................................................................................ 255
3.9.5 Web Data Extraction Part II .............................................................................. 262
3.9.6 Web Data Extraction Part III ............................................................................. 265
3.9.7 Configure Internet Explorer for Web Automation ............................................. 267
3.9.8 Configure Internet Explorer for Servers ........................................................... 271
3.9.9 Configure Chrome and Firefox for Web Automation ......................................... 273
3.9.10 Actual Internet Explorer VS Automated Broswer .............................................. 280
3.9.11 Web Helpers Offset ............................................................................................ 281
© 2018 Softomotive
5.2.3 If Folder Exists Action ....................................................................................... 370
5.2.4 If Service Action ................................................................................................ 372
5.2.5 If Process Action ................................................................................................ 373
5.2.6 If Window Action ................................................................................................ 374
5.2.7 If Image Action .................................................................................................. 377
5.2.8 If Text on Screen (OCR) ..................................................................................... 379
5.2.9 If Window Contains Action ................................................................................. 383
5.2.10 If Web Page Contains Action ............................................................................. 387
5.2.11 Else Action ......................................................................................................... 389
5.2.12 Else If Action ...................................................................................................... 389
5.2.13 End If Action ...................................................................................................... 391
5.2.14 Switch ................................................................................................................. 392
5.2.15 End Switch .......................................................................................................... 393
5.2.16 Case .................................................................................................................... 394
5.2.17 End Case ............................................................................................................. 398
5.2.18 Default Case ....................................................................................................... 398
5.2.19 End Default Case ................................................................................................ 399
5.3 Loops ............................................................................................ 399
5.3.1 Loop Action ........................................................................................................ 399
5.3.2 Loop Condition Action ........................................................................................ 401
5.3.3 For Each Action .................................................................................................. 402
5.3.4 Exit Loop Action ................................................................................................. 403
5.3.5 End Loop Action ................................................................................................. 403
5.4 Wait ............................................................................................... 404
5.4.1 Wait Action ......................................................................................................... 404
5.4.2 Wait for File Action ............................................................................................ 405
5.4.3 Wait for HotKey Action ....................................................................................... 407
5.4.4 Wait for Process Action ..................................................................................... 409
5.4.5 Wait for Service Action ...................................................................................... 411
5.4.6 Wait for Window Action ...................................................................................... 412
5.4.7 Wait for Image Action ........................................................................................ 415
5.4.8 Wait for Text on Screen (OCR) ........................................................................... 418
5.4.9 Wait for Mouse Action ........................................................................................ 423
5.4.10 Wait for Window Content Action ........................................................................ 424
5.4.11 Wait for Web Page Content Action ..................................................................... 426
5.5 Flow Control .................................................................................. 429
5.5.1 Label Action ....................................................................................................... 429
5.5.2 Go To Action ....................................................................................................... 430
5.5.3 Run Function Action ........................................................................................... 431
5.5.4 Exit Function Action ........................................................................................... 431
5.5.5 Stop Process Action ........................................................................................... 432
5.5.6 Begin Exception Block Action ............................................................................ 434
5.5.7 End Exception Block Action ............................................................................... 435
5.6 Mouse and Keyboard .................................................................... 436
5.6.1 Block Input Action .............................................................................................. 436
5.6.2 Get Mouse Position Action ................................................................................. 437
5.6.3 Move Mouse Action ............................................................................................ 438
5.6.4 Move Mouse to Image Action ............................................................................. 439
5.6.5 Move Mouse to Text on Screen (OCR) ................................................................ 443
5.6.6 Send Mouse Click Action .................................................................................... 447
5.6.7 Send Keys Action ............................................................................................... 449
5.6.8 Press/Release Key Action ................................................................................. 451
5.6.9 Set Key State Action .......................................................................................... 452
7
© 2018 Softomotive
5.12.8 Form Filling ........................................................................................................ 544
5.12.8.1 Focus Text Field in Window Action ...................................................................... 544
5.12.8.2 Populate Text Field in Window Action .................................................................. 545
5.12.8.3 Press Button in Window Action ........................................................................... 547
5.12.8.4 Select Radio Button in Window Action ................................................................. 548
5.12.8.5 Set C heckbox State in Window Action ................................................................ 548
5.12.8.6 Set Dropdown List Value in Window Action .......................................................... 549
5.12.9 Data Extraction .................................................................................................. 552
5.12.9.1 Get Details of Window Action ............................................................................. 552
5.12.9.2 Get Details of Element in Window Action ............................................................. 554
5.12.9.3 Get Selected C heckboxes in Window Action ........................................................ 556
5.12.9.4 Get Selected Radiobutton in Window Action ......................................................... 557
5.12.9.5 Extract Data from Window Action ....................................................................... 559
5.13 Web Automation ........................................................................... 562
5.13.1 Launch New Internet Explorer Action ............................................................... 562
5.13.2 Launch New Firefox ........................................................................................... 567
5.13.3 Launch New Chrome ........................................................................................... 572
5.13.4 Create New Tab .................................................................................................. 578
5.13.5 Go to Web Page Action ....................................................................................... 581
5.13.6 Click Link on Web Page Action ........................................................................... 583
5.13.7 Click Download Link on Web Page Action .......................................................... 585
5.13.8 Hover Mouse over element on Web Page Action .............................................. 586
5.13.9 Close Web Browser ............................................................................................ 587
5.13.10 Execute Javascript Function On Web ................................................................ 589
5.13.11 Web Forms ......................................................................................................... 592
5.13.11.1 Focus Text Field on Web Page Action .................................................................. 592
5.13.11.2 Populate Text Field on Web Page Action .............................................................. 594
5.13.11.3 Set C heckbox State on Web Page Action ............................................................ 596
5.13.11.4 Select Radio Button on Web Page Action ............................................................. 599
5.13.11.5 Set DropDown List Value on Web Page Action ..................................................... 601
5.13.11.6 Press Button on Web Page Action ....................................................................... 603
5.13.12 Web Data Extraction .......................................................................................... 606
5.13.12.1 Extract Data from Web Page Action .................................................................... 606
5.13.12.2 Get Details of Web Page Action .......................................................................... 608
5.13.12.3 Get Details of Element on Web Page Action ......................................................... 609
5.13.12.4 Take Screenshot of Web Page Action ................................................................. 611
5.13.13 Direct Web Access ............................................................................................. 613
5.13.13.1 Download from Web Action ............................................................................... 613
5.13.13.2 Invoke Web Service Action ............................................................................... 617
5.14 FTP ................................................................................................ 622
5.14.1 Open FTP Connection Action .............................................................................. 622
5.14.2 Open Secure FTP Connection Action .................................................................. 624
5.14.3 Close FTP Connection Action ............................................................................. 627
5.14.4 List FTP Directory Action ................................................................................... 627
5.14.5 Change Working Directory Action ..................................................................... 629
5.14.6 Download File(s) from FTP Action ..................................................................... 630
5.14.7 Download Folder(s) from FTP Action ................................................................ 631
5.14.8 Upload File(s) to FTP Action .............................................................................. 633
5.14.9 Upload Folder(s) to FTP Action ......................................................................... 634
5.14.10 Delete FTP File Action ........................................................................................ 635
5.14.11 Rename FTP File Action ..................................................................................... 636
5.14.12 Create FTP Directory Action .............................................................................. 637
5.14.13 Delete FTP Directory Action .............................................................................. 638
5.14.14 Synchronize FTP Directory Action ..................................................................... 639
9
© 2018 Softomotive
5.20.6 Respond To Outlook Email Message Action ....................................................... 733
5.20.7 Close Outlook Action .......................................................................................... 736
5.21 OCR Actions .................................................................................. 737
5.21.1 Create Tesseract OCR Engine ............................................................................ 738
5.21.2 Create MODI OCR Engine .................................................................................... 740
5.21.3 Extract Text With OCR ........................................................................................ 742
5.22 Services ........................................................................................ 745
5.22.1 Start Service Action ........................................................................................... 745
5.22.2 Stop Service Action ............................................................................................ 746
5.22.3 Pause Service Action ......................................................................................... 747
5.22.4 Resume Service Action ...................................................................................... 748
5.23 WinAutomation Actions ................................................................ 749
5.23.1 Start Process Action .......................................................................................... 749
5.23.2 Get Command Line Arguments Action ............................................................... 751
5.23.3 Get Process' Path Action .................................................................................... 752
5.23.4 Log Message Action ........................................................................................... 753
5.23.5 Get Last Exception Action .................................................................................. 754
5.24 Text Actions .................................................................................. 755
5.24.1 Get Text Length Action ...................................................................................... 755
5.24.2 Append Line to Text Action ................................................................................ 756
5.24.3 Get Subtext Action ............................................................................................. 757
5.24.4 Pad Text Action .................................................................................................. 758
5.24.5 Trim Text Action ................................................................................................ 760
5.24.6 Change Text Case Action ................................................................................... 761
5.24.7 Convert Text to Number Action ......................................................................... 762
5.24.8 Convert Number to Text Action ......................................................................... 763
5.24.9 Convert Text to DateTime Action ...................................................................... 765
5.24.10 Convert DateTime to Text Action ...................................................................... 766
5.24.11 Create Random Text Action ............................................................................... 768
5.24.12 Join Text Action ................................................................................................. 770
5.24.13 Split Text Action ................................................................................................. 771
5.24.14 Parse Text Action ............................................................................................... 773
5.24.15 Replace Text Action ........................................................................................... 775
5.24.16 Escape Text for Regular Expression Action ...................................................... 777
5.25 DateTime Actions ......................................................................... 778
5.25.1 Get Current Date and Time Action ..................................................................... 778
5.25.2 Add to DateTime Action ..................................................................................... 779
5.25.3 Subtract Dates Action ........................................................................................ 781
5.26 XML Actions .................................................................................. 782
5.26.1 Read XML from File Action ................................................................................. 782
5.26.2 Write XML to File Action ..................................................................................... 783
5.26.3 Execute XPath Expression Action ...................................................................... 785
5.26.4 Get XML Element Attribute Action ...................................................................... 786
5.26.5 Set XML Element Attribute Action ...................................................................... 788
5.26.6 Remove XML Element Attribute Action .............................................................. 790
5.26.7 Get XML Element Value Action ........................................................................... 791
5.26.8 Set XML Element Value Action ........................................................................... 793
5.26.9 Insert XML Element Action ................................................................................. 794
5.26.10 Remove XML Element Action .............................................................................. 796
5.27 Variables Actions .......................................................................... 797
5.27.1 Set Variable Action ............................................................................................ 797
5.27.2 Increase Variable Action ................................................................................... 798
11
© 2018 Softomotive
1. WinAutomation
WinAutomation 13
1 WinAutomation
1.1 About Softomotive
Softomotive offers sharp Robotic Process Automation solutions, as one of the leading
worldwide providers of RPA products , 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.
More specifically:
© 2018 Softomotive
1.2 Software Requirements
Client Operating System: s Vista, Windows 7, Windows 8 or 8.1, Windows 10 (both
32 bit and 64 bit versions)
1.3 Editions
WinAutomation is available in three different editions:
Basic Edition:
Includes only the basic set of features, such as Triggers, Basic Actions, Daily Logging
etc, expect from the further features provided in the Professional and Professional Plus
editions only, which are listed below.
Professional Edition:
Includes all the features of the Basic Edition plus:
· The Process Compiler 148 which allows the user to compile any Process into a stand-
alone .net exe file that can be distributed and run on other computers.
· The Autologin 126 feature that will unlock or login to the workstation before running a
Process.
· The Secure Screen feature, which enhances Security for Processes 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 Process is running. The only
visible window will be the Notification Window.
· Password Protected Processes, which allows the user to set a password for a
Process and protect sensitive data. Once setting a password, the user will be able to
run the Process normally, however for editing it they will be prompted to enter the
password.
WinAutomation 15
· Maximum Running Time for Process(s), which allows the user to set a maximum
running time for a Process, to avoid situations where it is not executed as intended.
· Concurrency Policy and Queuing Processes, according to which the user can limit the
number of Process instances running concurrently and he is given the option for
queueing or discarding Processes once the set limit of instances is reached.
· Custom Dialog box designer, for generating any kind of input interface the user
needs.
· A wide variety or Triggers that can fire a Process upon a specific event's
occurrence.
· PDF actions, along with new ones for Merging and Splitting PDF files.
© 2018 Softomotive
· Outlook actions, for automating your Outlook account emails.
· Command Line sessions support for maintaining a cmd session to which the user can
send command lines.
http://www.winautomation.com/edition-comparison/
NOTE: Any process exported by an upper edition WinAutomation, cannot be imported to a lower edi
Version 8.0
o “Automatic Logging” to log ALL actions and their execution timing in the Logs
o The ability to get a Screenshot of the monitor(s) and add it in the logs, upon an
exception (Set from the Process Properties of from the Exception handling)
o Additional details of an error, available in the Process Designer and not only
through the Console Logs
o Add a WinAutomation shortcut while installing for easy and quick access
o Web Automation enhancement with supporting IE, Mozilla Firefox and Google
Chrome
Note: The term "Robot" which was used for the automated tasks/processes has
been replaced by "Process"
WinAutomation 17
Process Designer
o “Find Usages” for Functions, displaying a list of where each Function is being used
for ease of troubleshooting
o “Sort Images” in the Images Repository by Name or Date for ease of access
o “Text Search” within the Process Designer to search for any text present in the
actions, comments or regions
o Image magnifier tool is now showing in all Image related actions, for more
accuracy in Image capturing
o Mass Function delete. The option to select more than one Functions and delete
them all
New Actions:
o “Run Excel Macro” New Action in order ton Run an Excel Macro by its name
o “Save Excel” New Action, that will help in saving an Excel file without having to
close it
o “Extract PDF Pages to New PDF” New Action, for splitting a PDF file into smaller
parts
© 2018 Softomotive
Improvements & Fixes:
o “Wait for Hotkey” action was not throwing an exception if it failed to bind the key
in runtime
o “Event Log Trigger” issue for event id “4625” which was not triggering correctly
o "Invoke Web Service” action does not return Response and Headers in case of
Error code.
o Action “Read Text from File” was stuck due to special character
o In the Controls’ repository, the Desktop Icons items were not shown correctly
o “Get Files in Folder” and “Get Subfolders in Folder” were not erroneous in cases
where the root directory itself was denied
o “Stop Process” action is now stopping the Process even in an exception handle
block
o The ability to delete a folder that contains more than 2000 Process
o “If Process is late” in a schedule’s option was not working in some cases
o “Close Excel” action. There were cases where the excel process was still present
even after the file was closed
o The Hotkey for Stopping All Processes was failing to register correctly
o “Read From Excel” action was throwing an error when reading only one cell’s value
using a restricted cell range targeting only that one cell
WinAutomation 19
o Values of variables defined in the Variables Manager, were not show correctly
before running the Process
o Variables that were set in exception handling were not having their types
recognized correctly
o When using the option “Default Layout” the “Main” Function was not being
docked.
o Exception that was happening when adding control in action Expand/Collapse Tree
Node other than a Tree node control
o When copying action “Drag and Drop Element in Window”, controls were not being
copied along
o Reopening a Process with a variables search filter was only showing the filter's
variables
o If a process name contained any of Windows Invalid file name characters the
Process was not starting
o Improve the way temp files are used from WA when it needed
o “Run Process” action, to indicate and find the child Process by its path, then by
its guid and then by the same folder
o Adding a scroll bar in the “Find Usages” results for better navigation.
o Renaming a Processes Folder, the arrow keys to navigate to a certain letter in the
title had no effect.
o Improved the Options Tab in the WinAutomation Console for better User
Experience.
Version 7.0
o Find Process: A new option in the console, with which you are now able to search
for your Processes.
© 2018 Softomotive
o WinAutomation Controller: New option using the controller to export information
about a specific process or the full database in XML.
Process Designer
o Remove Unused Controls: New option, to remove unused controls from the control
repository. This option, is offered in the images repository as well.
o Reorder Selectors: Now, you have the ability to reorder the selectors in the
control repository.
o Find Usages: New feature with which actions are using a particular control.
o Exception Handling: New exception handling rules such as "Set Variable" and
option to set rules for "All Exceptions"
o Copying actions with their associated controls: Copying an action from one
process to another, copies the associated controls as well.
New Actions:
o 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.
o 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.
o Open - Close SQL Connection Actions: New actions, with which you can open and
close an SQL connection
o CMD Session Actions: Introducing the CMD session group of actions to execute
commands and get responses.
o Additional Excel actions: Introducing a group of new Excel actions such as options
to Insert or Delete columns on a spreadsheet.
o Outlook Actions: Introducing Outlook actions with which you can interact with MS
Outlook.
WinAutomation 21
o PDF Actions: Introducing this new group of actions with which you can extract
text and images from PDF files.
Version 7.0.2
Improvements and Corrections:
o Autologin improvement, as now the password is being checked for being valid or
not before proceeding to the autologin.
o Issue with gear icon window visibility, in the properties of an action, when panes
are undocked is now resolved.
o Invoke Web Service action works now as expected in case of Error Code.
o Action "If Image" while checking the option to "Find All Images in List", was taking
under consideration only the second image.
o Correction in the "Retrieve Email Messages From Outlook" action when the sender
is a user of the same domain.
o The error message thrown in action "Process Emails", while trying to move mails to
a folder that does not exist, is now refined.
o Action "Read Text from File" correctly handling special characters without breaking
the process.
o Invalid Windows file name characters, are no longer acceptable in process names.
o When copying "Drag and Drop Element in Window" action, controls were not
copied along
© 2018 Softomotive
Version7.0.1
Improvements:
o Default value in "Wait for Image" action, "Wait for Image to" action's input is now
"Appear".
Corrections
o "Find Usages" option in variables, was generating an error when double clicked, after
deleting a variable or its associated actions.
o Error in Logs, appearing when terminating a process from the Task Manager is now
fixed
o "Display Notification popup Window" option now preserves the users setting
(checked-unchecked) after restarting the machine.
o Closing all functions in a Process Designer, was not allowing the opening of other
functions.
o Action "Stop Process" with error message was not working correctly.
o Action "Get First Free Row on Column from Excel Worksheet" was not working
correctly.
o 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.
o The Tab button was not working correctly in some actions' properties window.
o When selecting the "Default Layout" option in the Process Designer, functions should
revert to their tab based view (or close).
o "Get Details of Window" action, when getting a Window's title was not returning any
value
WinAutomation 23
Version 6.0
New modern interface: New design Interface for the Console and the Process
Designer with new icons. The Process 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 Processes, Triggers,
Scheduler, Logs and Options.
Autologin (Pro Edition Only): A Process 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 Processes should have a user logged in, while running
unattended.
Status Monitor: A new Status Monitor Window is introduced which lists all the
running Processes and the Processes that are put in the queue, waiting to start.
Even more information, than just the running Processes' name is provided, like the
Instance id, the Start time and the Cause of execution (manual or triggered). An
option to stop all running Processes is also available.
Secure Screen (Pro Edition Only): Enhanced Security for Processes 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 Process is running. The only
visible window will be the Notification Window.
Password Protected Processes (Pro Edition Only): Option to set a password for a
Process and protect your sensitive data. Once setting a password, the user will be
able to run the Process 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
Process 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 Process instances than can run concurrently. Also, there is a
new option for queueing or discarding Processes once the set limit of instances is
reached.
© 2018 Softomotive
Triggers can be enabled/disabled independently: For Processes 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 Processes: Improved Logs viewer that can display logs for
more than one Processes.
Machine does not enter in idle state when a Process is running: A running Process is
considered a user activity postponing the screen saver timeout or AutoLogout.
Process Designer
Search for actions: Enhanced "Search for Actions" in the Actions pane of the
Process Designer where the user can search by keyword, action name or action
initials.
Variables pane: A dedicated pane for the Processes Variables where you can view
the variables’ values, search, pin, sort or rearrange the variables.
Pause Process: A new option in the Process Designer to pause the execution of the
Process while running. Very useful especially when one wants to review some
variables' values at the pause point.
Variables Viewer: By double clicking on a variable in the Variables pane while the
Process 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 Process. For very big Processes 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
Processes is being executed from the Process 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 Process 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
WinAutomation 25
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:
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 Process. A Process
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.
"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 Process 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 Process to wait before sending the mouse click.
© 2018 Softomotive
Version 6.0.5
Corrected: After upgrading to the latest Windows 10 Creators Update, not being able
to capture UI Controls is now fixed.
Corrected: "Get Processes Path" action returned a different text value when running
from the console from when running through the Process's Designer is now fixed.
Corrected: "Invoke Web Service" action does not fail when the Expect: 100-continue is
set as a header.
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
Corrected: Processes 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.
WinAutomation 27
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: Process 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 Processes when they run through the MachineAgent, are
now getting launched using the credentials of the user that owns the Process
Corrected: UI Selectors: contains word "~=" match method was not working if the
word is at the beginning or the end of value
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
© 2018 Softomotive
Improved: Data Table Variant Visualizer is now 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
Processes 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
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 Process" Action if "Wait Process to Complete" is set the caller
Process 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
WinAutomation 29
Corrected: "Input Dialog Message" field in "Display Input Dialog" action was not stored
correctly
Version 5.0
Functions: a Process can be now broken down into smaller parts (or functions) that
can be called by any other part of the Process. This leads to a more modular design
where different segments of a Process can be used over and over from different
points. It is also possible to jump to a function for handling an exception.
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:
“Get Window” action to retrieve a specific window or the foreground window (also
replaces the “Get Foreground Window” action)
© 2018 Softomotive
“Select Tab in Window” action to activate a tab in a tab group
“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)
“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.
WinAutomation 31
“Get Default Printer Name” action to get the name of the printer that is currently
set as default
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 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
© 2018 Softomotive
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
Process 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 Process 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 Process being exported.
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.
WinAutomation 33
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
action used to simply throw a cryptic error.)
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.
© 2018 Softomotive
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 Processes: 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
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
WinAutomation 35
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: 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
© 2018 Softomotive
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: “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: 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: 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.
WinAutomation 37
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.
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 4.0
New Actions:
o "Log Message" action to log a custom message into the WinAutomation Event Log.
© 2018 Softomotive
o "Wait for HotKey" action to pause the Process execution until the user presses a
specified hotkey.
o "Run VBScript" action to execute some custom VBScript code and retrieve its
output into a variable.
o "Retrieve Emails" action that retrieves emails and attachments from an IMAP
server based on specified criteria
o "Process Emails" action that moves emails into a mailbox folder, deletes them from
the server or marks them as unread.
o "Reverse List" action that reverses the order of the items of a list.
o "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.
o "Launch New Internet Explorer" action to open a browser for Web Automation or
attach to an already running browser window.
o "Go to Web Page" action, to navigate the browser to a web page, refresh it and
move back or forward.
o "Click Link on Web Page" action to send a mouse click on a link or to any other
web page element.
o "Click Download Link on Web Page" action to click on a link that results in a file
download.
o "Close Internet Explorer" action to close an IE window opened by the "Launch New
Internet Explorer" action for Web Automation.
o "Focus Text Field on Web Page" action to move the input focus to a text box of a
Web Page.
o "Populate Text Field on Web Page" action to type a value into a web form field.
WinAutomation 39
o "Select Radio Button on Web Page" action to select a radio button in a web form.
o "Set Dropdown List Value on Web Page" action to select one or more options for a
dropdown list in a web form.
o "Press Button on Web Page" action to press a button and submit a web form.
o "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.
o "Get Details of Web Page" action to retrieve info related to the web page such as
its title, its metadata, etc.
o "Get Details of Element on Web Page" action to retrieve an attribute value for a
specific HTML element of the page.
o "Take Screenshot of Web Page" action to capture the image of an entire web
page or of a specific web page element.
o "If Web Page Contains" action to check whether some text or element exist in a
web page or not.
o "Wait for Web Page Content" action to pause the execution of a Process until a
specific text or element appears or disappears on the Web Page.
Updated Actions:
o In "Write Text to File" action the user now has the choice whether a newline will
be appended or not after the text.
o In "Run Application" the action can be set to wait up to one hour for the
application to load or complete.
o The "Open Secure FTP Connection" action now supports authentication using a
private key, or a private key plus a passphrase.
o In "Display Select from List" dialog, when multiple selection is allowed, the user
can set some options of the list to appear preselected.
© 2018 Softomotive
o 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.
o In the "If" action the "Is Not Empty" operator has been added.
o 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).
o Window-related actions now handle correctly window titles than contain non-
English characters.
o The "Comment" action now supports different background colors and cannot be
disabled.
o 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.
o The "Download From Web" action is moved under the category "Web
Automation/Direct Access".
Process Designer:
o Web Recorder, to record the user's activity on the web and convert it into actions
for replaying them later.
o Keyboard interface added in Process Designer. The user can now move though the
actions and select them using the keyboard.
o While the Process is running from within the Process Designer the actions are
scrolled so that the action after the currently executing is always visible.
WinAutomation Console:
o New, redesigned dialog for the "Create New Process" option that includes the Web
Recorder.
WinAutomation 41
o When a Process execution is canceled by the user, the number of the last
executing action is displayed.
Triggers:
o New "Email Trigger" monitors an email account and runs a Process when an email
that matches some specified criteria arrives.
o Correction for Schedule Trigger; when it was set to fire only on the last day of
month it didn't work as expected.
Process Compiler:
o Compiled Processes can now have a custom icon and custom info such as
company, version number and copyright statement.
o Each Process remembers the information entered by the user in the last
compilation.
o When a Process contains a "Run Process" action it cannot be compiled and instead
a warning is displayed to the user to replace the "Run Process" with a "Run
Application" action.
o A compiled Process has the option to display a Notification Window (like the
Processes that run from within WinAutomation) to inform the user of the currently
executing action.
o A Process has the option to be compiled as "Single Instance" meaning that only
one instance of the Process can run at the same machine at any time.
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 Process 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.
© 2018 Softomotive
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.
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 Process execution.
Corrected: By manually selecting a collapsed region in the Process Designer using the
keyboard, only the "Start Region" action was selected, instead of the whole region.
Corrected: In the "Search Action" textbox of the Process Designer the Select, Copy,
Cut and Paste hotkeys (Ctrl-A, Ctrl-C, Ctrl-X, Ctrl-V) affected the Process's actions
and not the search textbox.
Corrected: Memory leak occurred in some rare cases when an exception occurred while
opening a Process.
Corrected: When opening a Process 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 Process Designer to close while a Process 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.
© 2018 Softomotive
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 Process Designer
are now disabled while a Process is being run from within the Process 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 Process 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.
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.
WinAutomation 45
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 Process 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 Process with triggers attached was copied, the triggers of the
newly copied Process 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.
© 2018 Softomotive
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 Process.
Corrected: A Schedule Trigger with the "Skip Process" option checked did not skip the
Process 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.
WinAutomation 47
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 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 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.
© 2018 Softomotive
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: Processes 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.
Corrected: Compiled Processes did not report their version number when inquired
through WMI in Windows XP.
Improved: Processes compiled as "Windows Application" now display the EXE file name
as the title of the form displayed when running the compiled Process.
Corrected: The notifications popup windows displayed by compiled Processes 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.
WinAutomation 49
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.
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 Process.
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
© 2018 Softomotive
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 Process.
Corrected: "Invoke Web Service" action did not handle correctly some custom headers.
After importing a .waj file the newly imported Process 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.
In the Error Handling tab of both the Options and Process Properties dialogs the
"Process to Run" was not visible if the path to the Process was to long.
If a Process 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 Process designer window and
within the screen boundaries.
WinAutomation 51
Version 3.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 Processes that are currently running with a
HotKey (General tab)
· You can now disable the system tray icon (Notifications tab)
· The "balloon" that used to notify the user whenever a process 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)
· There are some "Global Error Handling" options that you can set in the case
that your Processes 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.
© 2018 Softomotive
· You can now open multiple Processes and still be able to interact with the console
· You can view the logs for a specific process (Right click on the process and select
"View Logs for the specific process" option)
· The Processes are now saved in a database that you can backup, restore and
compact ("Tools - Manage Processes Database")
· The Processes 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)
Process 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 process. 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%).
· 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.
WinAutomation 53
· Get Process's Path (WinAutomation actions category): This action retrieves the
path to the executable (obviously works only if the process 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
· 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 process.
· Display Notification (Message Boxes category): This action can be used to print
useful information about the process execution in the Notification window that
pops up whenever you run the process 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 process 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
process 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
· 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)
© 2018 Softomotive
Changed Actions
· Start Process Action (WinAutomation actions category): There is now an option
to "Wait for process to complete". The process that is called through this action,
can now use the variables that are declared in the main process.
· 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
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.
WinAutomation 55
Corrected: When a Process was exported and the folder containing that Process was
deleted, the Process 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
Process failed to compile.
Corrected: The "Run Process" action failed with an error message when the Process
contained a variable of type DataRow that didn't contain any value at the moment
when the "Run Process" 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
Corrected: In some cases, while a Process had completed its execution, the
notification window remained open and in the WinAutomation Console the Process
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.
© 2018 Softomotive
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 Process.
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 Process.
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 Process 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 Process
from a specific action.
Added: Toolbar buttons and menu items in Process Designer are now disabled when a
process 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 Process Designer Options
dialog.
Added: While debugging the Process scrolls automatically so that the currently
executing action is always visible.
WinAutomation 57
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 Process.
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 Process 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.
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.
© 2018 Softomotive
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 Process Designer can now save the Process automatically upon running
the Process through the debugger. This option can be specified through the Process
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 Process's Path" action now retrieves the path (folder plus process
name) of non-compiled Processes 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 59
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 Process" action a new property has been added for specifying the
Exit Code for Processes that are compiled.
Corrected: When two or more Process 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 Process. For compiled Processes, 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 Process 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 Process" action the list of Processes to choose from, now
appears sorted.
© 2018 Softomotive
Version 3.0.3
Corrected: When deleting an action sometimes the window didn't refresh properly.
Corrected: An error occurred in the "Run Process" action if the Process had already
launched an Excel instance
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
Process 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: Processes performance deteriorated when variables contained large amount
of data.
Corrected: Exception occurred in very large Processes (more than 3000 actions).
Corrected: In some cases, a process would stop when the user pressed Enter because
the "Stop Process" 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)
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 Process 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.
© 2018 Softomotive
2. Getting Started
Getting Started 63
2 Getting Started
2.1 Create a simple Process - 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 process manually - you'll write a two-
step Process 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 Process 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 Process. Click on New Process:
and type in "Create New Folder" for the name of the new process. Click on the
"Process Designer" icon to open the new Process in the Designer Window and start
building it.
© 2018 Softomotive
Now to write the actual Process 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.
Getting Started 65
This opens the Create Folder property Window, and we enter a location ( C:\ ) and a
name ( "TestFolder" ) in the fields.
You won't need to store the Folder for later, so ignore the Action output for now. Hit
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.
© 2018 Softomotive
In that property Window, enter a Title ( "My First Process" ) and a Message ( "Folder
"TestFolder" has been created!" ) and then close the box.
Getting Started 67
© 2018 Softomotive
And done! Run the Process from the Process Designer Window to make sure everything
works as expected. The windows change as the Process runs, and then a Message Box
appears with, "Folder "TestFolder" has been created!". There is also a new folder at C:
\TestFolder, so the Process is now complete.
Getting Started 69
Close the Process Designer Window and save the Process. Congratulations - you have
created your first Process!
First, of course, create, name, and open the new Process. 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 Process.
© 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 71
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 Process to test it, and see that things work the way they should. If
everything works well, exit and save the Process.
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 75
The next dialog that open "Assign Process to Trigger" lists all the Processes that you
have created. You can choose the Process that you want to attach the trigger to.
© 2018 Softomotive
The newly created Trigger is now listed in the Triggers main pane.
Getting Started 77
Now try it out. When you press Ctrl+B, the Process 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
Process. 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 Process,
for example Daily at 3 p.m.
Getting Started 79
Decide whether you want the Process to run immediately or be skipped for the day if
the Process 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
Process to Schedule" dialog will appear to select the Process to which the Schedule
will be attached.
Now you have a Trigger and a Schedule attached to your Process. This way the
Process will run automatically every day at 3:00pm OR when you press Control+B.
© 2018 Softomotive
3. Using WinAutomation
Using WinAutomation 81
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 software. This is where you perform most of your
tasks other than building or editing a Process.
© 2018 Softomotive
1 - Processes Tab 83
2 - Triggers Tab 95
6 - Folders Pane: In this pane you are able to view your Processes folders structure.
7 - Processes Pane: In this pane you can see all the Processes that are saved in a
specific folder. You can click on a folder in the Processes' Folder pane and all its Processes
will be listed in the Process's pane.
3.1.1 Processs
In the Processes Tab in the WinAutomation console you will find all the options to
manage your Processes, explained in detail in the topics below.
Using WinAutomation 83
1. Create:
In the Create group you can create a New Process 85 , create a new folder 84 to save your
Processes in, Import/Export a Process 87 a Process in/out the console.
2. Edit:
In the Edit group you can Edit a Process in the Process Designer by clicking on the "Process
Designer" option, view its Properties 138 , delete a Process, Select all Processes in the folder
that you are currently in, Rename/Cut/Copy/Paste a Process and Enable or Disable 91 it.
3. Execution:
In the Execution group you can Execute-Run-Start 89 a Process from the Console and Stop
it at any time before its completion.
4. Find (Available with the Professional and Professional Plus Editions. N/A to
the Basic Edition):
In the Find 92 group you can search for your Processes in your Processes folder structure
simply by entering some text which is contained in a Process name.
© 2018 Softomotive
5. 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 148 that
can run on any machine. We will talk more about executable files in a bit.
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
Processes', 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.
© 2018 Softomotive
After setting the Process's name you have three options.
1. the Process Designer and start building your Process by dragging and dropping
actions in the workspace,
2. you can jump to the Macro Recorder to record your mouse clicks and
keystrokes or smart record any Desktop activity and then go back to the Process
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 actions when
you finish the recording and return to the Process Designer.
Using WinAutomation 87
Note that you can always enter the Process Designer and access the Recording tools
(Macro Recorder and Web Recorder) from within the Process Designer's window. The
tools are available in the Process Designer's toolbar and under the "Tools" menu.
To re-edit a Process later, double-click on it, or select it and click on the "Process
Designer" button on the Processes tab or right click on the Process and select Edit
Process.
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 Process, click on it in the Processes List
pane and drag it to the proper folder.
You can always cut (or copy) the process and paste it in the folder you wish.
© 2018 Softomotive
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 Process. This is
done through Import Process and Export Process on the Processes tab.
Import a Process:
To import a Process within your WinAutomation Console, please do launch the
WinAutomation Console, and from the Processes 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 Process'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 Processes panel you
shall see the Process you selected to import.
Export Process:
To export a Process, locate the Process you wish to export and from the Processes
List pane and select the "Export Process" option in the Create menu group. Having
done so, a dialog will appear and prompt you to select the folder where the Process
should be exported to.
Using WinAutomation 89
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 Process's name and with a *.waj extension.
highlighted, the Start " " and Stop " " options are not available.
If you start a Process that is already running, by default you will start another
Instance of that Process. If you do not wish a Process to be able to run multiple
instances concurrently, you can specify that through the Concurrency Policy 146 tab
(available in the Professional and Professional Plus editions only) of the Process
Properties Dialog for that Process.
You can stop a running Process by clicking on the Stop Icon in the Processes tab, or
by right-clicking on the Process and choosing Stop Process.
You can also stop one instance of a running Process by clicking on the Stop Processes
link found on the Notification Popup Window 90 , though this will close only that
instance of the Process.
© 2018 Softomotive
Finally, you can close all running Processes 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 > Settings > General" tab.
The Notification Window displays the status of the Process (Running or Completed),
which Action is currently being executed, the total running time and a small link which
says "Stop Process" (and stops that instance of this Process only).
You can also display custom messages through the Notification Window, using the
Display Notification Action 459 under Message Boxes. This is a great way to write
messages to the user without pausing the Process for a standard Message Box. Enter
the text (and/or Variable value) you want to display. As you go through the Process,
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 Processes simultaneously, the Windows will form a column.
Although the Notification Popup Windows provides you with information about the
Processes currently running, if they are distracting, you can disable this feature
through the Options tab > Settngs > General 140 as shown in the picture below:
Using WinAutomation 91
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
Process instance continues to run. To stop the Process itself, click on the "Stop
Process" link in the Notification Window.
You can enable or disable a Process by selecting it and choosing Enable Process or
Disable Process on the Processes Tab.
If you disable a Process, the text will appear in a lighter, grayed-out color:
© 2018 Softomotive
Enabled & Disabled Processes
Using the Find option, you can search for a process by its name and select it within all
the folders of your database.
3.1.2 Triggers
3.1.2.1 What Triggers Are
Triggers, help you to run a WinAutomation Process 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) 109 to work, the WinAutomation Services must be running
in the background, constantly checking and starting Processes if a Trigger is set off.
As long as they are running, WinAutomation Triggers will function normally. If you
© 2018 Softomotive
right-click on the Agent in the System Tray 327 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 95 after selecting "Select All"
and "Disable Triggers". This means that no Triggers will fire, until you change this
setting.
If you want to disable the Triggers for one Process without deleting them, right-click
on the Process and choose Disable Process. Now this Process will not run, manually or
through Triggers, until you Enable the Process again
You can find all Trigger Variables and their descriptions through Tools -> Variables
Manager in the Process Designer Window.
Using WinAutomation 95
Trigger Variables
You can assign a Trigger to a Process 96 by clicking on the "New" option in the Create
menu group.
© 2018 Softomotive
Edit the trigger of a Process: 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 Process: 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
Process 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 Process
Window" will pop-up, prompting you to select the Process 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 Process: Clicking on this option, after selecting a Trigger from the Trigger list
pane, you get you directly to the Processes tab highlighting the Process.
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
Process until you Enable it again. You can also disable a Trigger for a Process if you
right click on it and select "Disable Process".
In the Trigger list pane you can see the type of the Triggers, the Description, The
Process name that they are assigned to and they are Enabled or not.
To create a Trigger and attach it to an existing Process, 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 Process.
Using WinAutomation 97
All the Trigger Types are described in detail in the "Trigger Types" topic:
After selecting and configuring the Trigger you wish, a Dialog pops up where you are
prompted to select the Process to which you will attach the trigger.
© 2018 Softomotive
3.1.2.5 Trigger Types
3.1.2.5,1 Email Monitor Trigger
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)
The Email Monitor Trigger periodically checks an email account and executes a Process
when an email that satisfies the specified criteria arrives.
Using WinAutomation 99
Custom Description
Add a custom description to the trigger which will be shown in the Triggers tab under
"Description"
© 2018 Softomotive
Email Account Settings
For WinAutomation, to monitor the email messages on an email server (as also to
retrieve and process them), it must be able to access the server through the IMAP
protocol. For more information you may check the corresponding session at the
Retrieve Emails 645 action.
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 Process that is executed by the trigger you need to process the email(s)
that caused the Process to run, you should use the Retrieve Emails 645 and the Process
Emails 654 actions.
Using WinAutomation 101
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 Process:
%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 Process, this
would allow you to know which Event fired the Process. You can access this
information through Actions using those Variables.
Using WinAutomation 103
The File Monitor Trigger, when fired, assigns values to four Trigger Variables that are
made available to the Process:
%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 290 of every file object. For example you can retrieve the size of the file that
triggered the Process by specifying: %FileTriggerFilePath.Size%
and
You can create Actions in the Process to show this information, for example you can
create a Process Trigger that fires when an executable file in the Windows directory
(with subfolders) is changed, and the Process 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 Processes. This means that you could set up three
different Processes, 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 105
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 Process 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 Process.
Once the host fails to respond and Triggers the Process, subsequent failures will not
fire the Process 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 107
The Ping Trigger, when fired, assigns values to a Trigger Variable that is made available
to the Process:
%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 Process, this
would allow you to know which Ping Trigger fired the Process, 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 Process:
As you can have as many Triggers as you want attached to the same Process, this
would allow you to know which Service Trigger fired the Process, 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 109
The Process Trigger, when fired, assigns values to two Trigger Variables that are made
available to the Process:
As you can have as many Triggers as you want attached to the same Process, this
would allow you to know which Process Trigger fired the Process, 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 Process, in order to run it at specific days/times or keep it
running in time intervals using a recurring Schedule.
If you right-click on the Agent in the System Tray 327 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 Process will run on
its Schedule, until you change this setting. If you want to disable the Schedule for one
Process without deleting it, right-click on the Process and choose Disable Process.
Now this Process will not run, manually or on its Schedule, until you Enable it again.
In the Scheduler tab you can run Processes 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 Process.
Once you have assigned a Schedule to a Process, then you are able from the "Edit"
menu group to:
Using WinAutomation 111
5. "Go to Process" will get you to the Processes tab highlighting the selected Process.
6. "Collapse All Groups". It will collapse the "Recurring Schedule" and "Schedule" groups.
7. Select the Schedule (or Schedules if you hold down the ctrl button while clicking on
the them) that you wish to Disable or Enable.
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 Process 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 Process to run.
© 2018 Softomotive
Custom Description:
Schedule Type:
Once you are on the Schedule Properties, you can choose to have the Process 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 Process is late:
The next choice is what to do if Process is Late. You can choose to have the Process
run immediately (usually on start-up, and this is a good way to have a Process fire
once at the beginning of each day or whenever your computer is turned on), or to skip
that firing of the Process.
Finally, if you choose to have the Schedule Expire, after the date and time you enter
the Schedule will still be there, but will not fire a Process when the Schedule comes
up.
Using WinAutomation 113
If a Schedule is attached to a Process then the date/time for the next run of the
Process is displayed in the Next Scheduled Run column in the WinAutomation console
on the Processes Tab.
© 2018 Softomotive
3.1.3.3 Recurring Schedule
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)
A Recurring Schedule repeats at the given frequency. Once you have set this
schedule, the Process 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 Process then the date/time for the next run of
the Process is displayed in the Next Scheduled Run column in the WinAutomation
Console in the Processes Tab.
3.1.4 Logs
3.1.4.1 Logging in WinAutomation
In WinAutomation, all the Processes that run through the Console are logged into a
central log file for review ("C:\ProgramData\Softomotive\WinAutomation\Logs.dat" ). This
way, you can look at the history of any or all Processes.
To view the Logs for a Process you can either right click on it and select "Show Logs
for Process(s)" or hit Ctrl+L, or you can select it in the Select Processes pane in the
Using WinAutomation 115
Logs tab. When you want to see older Logs, or more details, simply set the options as
per the Logs Tab 115 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 Process can record a custom log entry through the "Log Message 753 " action. These
events are recorded both when the process runs through the Console and the Process
Designer
1. Event Types (Available with the Professional and Professional Plus Editions.
N/A to the Basic Edition):
From Event types group you can choose if you want to display the "Info" and/or the
"Warning" and/or the "Error" messages for the selected Processes.
Error: Happen mostly when a Process fails to run successfully and produces an error.
Warnings: Are expected problems like trying to run a Process that has known errors.
© 2018 Softomotive
Info: Lets you know when a Process 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 Process(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.
Using WinAutomation 117
Once you have specified all Types and the Date Range, the Processes 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 115 .
You can select the Process(s) for which you want to see the logs in the select
Processes pane by checking the corresponding checkbox(es).
© 2018 Softomotive
3.1.4.4 Viewing Log Messages for Process
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)
You can view the Logs of a specific Process by right-clicking on the Process, and
selecting Show Logs For Process(s). This will take you to the Logs menu Tab, with the
Filters for today and the selected Process are already chosen for you. Thus, this is a
short-cut to a filtered Log search for the Process you chose.
Using WinAutomation 119
© 2018 Softomotive
3.1.4.5 Clear Logs
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)
If you want to delete older events and keep in the Logs 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. Settings 121
2. License 129
4. Addons 134
Using WinAutomation 121
1. General 121
3. Exe 123
4. FTP 124
5. Authentication 126
(1) If you want to display the WinAutomation Icon in your System Tray 327 or not and
(3) Also, you can set your own Hotkey to stop all running Processes from the keyboard
with a combination of Keys.
(4) If the Triggers and Schedules are be enabled or not, for ALL your Processes,
(5) if you want the console to remember the Windows Size and Layout every time you
re-open a window and
(6) if you want to start the WinAutomation Service automatically on system Startup.
You should bear in mind that if you uncheck option (6), WinAutomation Service will not
start on system startup, which means that your Triggers and Schedules will not work,
unless you launch the WinAutomation Console, or start the WinAutomation service
manually from the Windows "Services".
© 2018 Softomotive
Options>Settings>General
In the "Processes File" tab in the Settings, you have the option to target the database
that your WinAutomation console will retrieve the Processes from. You are free to
change it at anytime if you want to work between more than one databases at
different times.
Right below you will find three three operations that concern your Processes Database:
1. Compact Database: By clicking on this option you are able to compact the
Processes Database and reduce its size. It is a good practice to do so every now and
then in order to clear the database from unnecessary data and keep its size relatively
small.
2. Backup Database: By clicking on this option you are able to create a copy of your
Processes Database to another location. WinAutomation does not 'protect' its
Using WinAutomation 123
Options>Settings>Processes File
The next tab is the "Exe" tab. This is where you can enter the compilation ID from your
acquired Tokens that will be used upon EXE compilation.
For more information about compilation Ids and for Exe creation, please, refer to the
topic about Tokens 153 and Compiled Processes 148
© 2018 Softomotive
Options > Settings > Exe
When working with FTP, downloaded and uploaded files always come as ASCII or
binary. Here, you can select which files will be transferred as ASCII - the rest will
default to binary. Just enter the file extension you wish to add and click Add File Type,
or Remove any File Type you don't wish to have on the list.
When downloading or uploading files (using the Download File(s) from FTP 630 and
Upload File(s) to FTP 633 actions) you can specify the transfer type to be ASCII,
BINARY or AUTO. If you select AUTO, WinAutomation will use this list to determine
whether the file will be transferred in ASCII or binary mode.
This list is also used by the Download Folder(s) from FTP 631 and Upload Folder(s) to
FTP 634 actions for deciding how to transfer the files contained into the folders.
Using WinAutomation 125
© 2018 Softomotive
3.1.5.1,5 Authentication Settings
(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.
In order to do so you have two options.
1. The first one is to enter the password directly by typing it. Note that the password
should be the password that the current user is using to login to his Windows
account. The user is retrieve by default and cannot be changed, as it is the user
that has opened the WinAutomation Console.
Options>Settings>Authentication
Passing the password manually
2. The second option is for WinAutomation to retrieve the password, upon Autologin,
through a command line output whose output will be the password to be used.
Using WinAutomation 127
Options>Settings>Authentication
Passing the password through a command line
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:
© 2018 Softomotive
Using WinAutomation 129
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.
© 2018 Softomotive
Entering your License Key
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".
Using WinAutomation 131
- 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 "Unassign license" option.
© 2018 Softomotive
3.1.5.3 Error Handling Tab
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)
In the Error Handling Tab you will see two sub-tabs. The Behavior and the the
Email/SMTP:
3.1.5.3,1 Behaviour
If a Process fails to execute successfully, you can specify what will happen in the
"Options > Error Handling > Behaviour" 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 Process failures.
4. Record to the Windows Applications Event Log. You can view the Windows Event
Logs through Control Panel -> Administrative Tools -> Event Viewer.
5. Add a Screenshot of the monitor(s) at the exact time that the exception occurred.
The screenshot will be visible in the Logs Tab and you will be able to open it with a
simple click.
Using WinAutomation 133
In any case, the execution of any Process along with the result of the execution will
always be recorder into the WinAutomation Log 115 .
Username, password might be needed and you must specify the Server and the Port.
© 2018 Softomotive
Options > Error Handling > Email/SMTP
You can open the WinAutomation Add-on Manager through "Options > Ad-dons" tab in the
console.
Using WinAutomation 135
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 Processes that contain actions from
that add-on will not work anymore. This does not apply to compiled Processes that are
independent but only to Processes 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
WinAutomation in the System Tray
or...
Clicking on the "Show Status Monitor" the Status Monitor Window will appear.
Using WinAutomation 137
· All the running Processes will be listed. You can expand each running Process to
display more information for it like Instance id, Start Time, Cause of running (manual
or trigger invocation).
© 2018 Softomotive
· Next to the Processes 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 Processes and
Queued Processes will be shown.
Form the Status Monitor Window you will be able to Stop all Running Processes or click
on a Process (or on more than one Processes, holding the Ctrl key down) and force
them to Stop running.
· by clicking on the Properties button on the Processes tab in the Edit group menu
or
· by right-clicking on the Process and choosing Edit Process Properties.
This brings up the Process Properties Dialog, on the first tab - General 140 .
© 2018 Softomotive
3.2.1 General
2. Automatic Logging: Check this option if you wish to log the execution of every
single action that the process is executing. In this case you will have all the actions
history from a single
3. 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
Using WinAutomation 141
blue upon running the Process and no one will be able to see what the Process
does. The only visible window will be the Notification Window.
To remove the password from a Process, 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.
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 Process in the future.
© 2018 Softomotive
Processes Properties [Encrypt process with password]
5. 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 Process after that time has passed. This
helps you stop Processes that you are certain they should not run after a
predefined period of time.
Using WinAutomation 143
© 2018 Softomotive
3.2.2 Run Policy
The second tab in the Processes Properties is the "Run Policy" tab (Available with the
Professional and Professional Plus Editions. N/A to the Basic Edition).
1. What should the Process do if you are logged in on the machine but the
workstation is locked.
· "Start Process Without Unlocking": The Robt will start without unlocking the
workstation, however, note that no interactive action can run in this case.
Using WinAutomation 145
Interactive means that the Process interacts with input/output system (the desktop).
So if a Process 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 Process" : The Process will not start at all if the workstation is locked.
· "Login and start Process": WinAutomation will log you in using the Password that you
have entered in the "Options > Settings > Authentication" 126 tab and start the
Process.
· "Start Process in Non-Interactive Mode": The Process will start but in Non-
Interactive Mode. Interactive actions will not be able to run in this case and the
Process will fail, if it contains any.
· "Start Process in Non-Interactive Mode": The Process will start, but in Non-
Interactive Mode. Interactive actions will not be able to run in this case and the
Process will fail if it contains any.
After the completion of the Process 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 Processes 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 Process instances that can run at the same time and set the
maximum instances number.
3. Set the minutes for an Process instance to wait before being rejected.
You can choose to use the same default policies you set in Options Tab -> Error
Handling in the Process Designer, or select new ones for this specific Process here. If
you wish to choose a new specific policy for this Process, choose from the following
which will replace the Error Handling Tab 132 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 Process 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.
5. Add Screenshots to Logs: At the moment when the error will occur, select if you
wish to take a screenshot of your monitor(s) and add it in the logs
© 2018 Softomotive
Process Properties > Error Handling
To compile a Process, highlight it, and click the Generate EXE button on the
Processes tab in the Compiler menu.
Once you click on the "Generate Exe" option in the Processes Tab 83 the Compile
Process 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 Process and will be generated on the user's desktop.
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 Process into a
© 2018 Softomotive
command line tool and the most important difference is that in command line
applications the "Display Notification 459 " 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
Process.
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 151
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 Process 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 Process 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 Process to run as a single instance. By
selecting this option, while a Process 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 Process is running on your computer at any time.
The second option is whether you want your application to display the Notification
window 90 on the bottom right corner of the screen, just like a Process running from
within WinAutomation would do.
The third option "Display In Task Bar" option allow you to select whether you want the
Process to display its own icon in the Windows taskbar while running, or not.
Note that the three options described above are available only to Processes that are
compiled as Windows Applications (see section 1).
The fourth option (available to any kind of compiled Process) is whether you want to
encrypt the persistent variables or not. For more info on this one please check the
page on Persistent Variables 293 .
Using WinAutomation 153
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 Process 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 Processes 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 two ways with which you may license your compiled Processes. 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 > Setting >
Exe tab.
In case the target machine has already WinAutomation 8 installed running under a valid
license, there will be no tokens consumed for that particular execution.
· Per Machine
Using the Per Machine method to generate your compiled Processes, you have the
ability to run as many compiled Processes 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 Processes, you have the
ability to run as many compiled Processes 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 process 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 process execution does not start. This activation code is
requested only the first time a process from this developer is being executed.
NOTES:
· An executable compiled without a Compilation ID, will only run on a machine with
WinAutomation 8 installed and the service running.
Using WinAutomation 155
· In case a process re-compiles after a change or edit, there will be no second token
consumed. Please note, that copying a process or saving a process as, creates a
new process in which case a second run, would consume one more token. The same
applies when one exports and imports a process in a database.
Once you do so, you will see that the available Tokens for purchasing are:
• Per machine
© 2018 Softomotive
• Per machine with activation code
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.
Once you have filled the Compilation Id field, then you can go to the Process you wish
to compile and hit the “Generate exe” option from the console’s menu in the
“Processes” 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 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.
© 2018 Softomotive
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 process 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.
Using WinAutomation 159
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.
Using the Per Machine method to generate compiled Processes provides the ability to
run unlimited number of compiled Processes 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 “Options >
Settings > Exe” Tab of your WinAutomation console.
2. Generate the executable, by selecting the Process and clicking on the “Generate
Exe” option in the Processes 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
Using the Per Machine method to generate compiled Processes provides the ability to
run unlimited number of compiled Processes 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 process 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 process execution does not start.
This activation code is requested only the first time a process from this developer is
being executed.
1. Enter the “Per Machine” Compilation Id, found in the User Area, in the “Options >
Settings > Exe” Tab of your WinAutomation console.
2. Generate the executable, by selecting the Process and clicking on the “Generate
Exe” option in the Processes 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
Process, 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 Process will pause on that step until you click to continue.
This can also be used while running a Process from the Process designer to pause while
you look at some part of the Process.
Disabled Actions: Actions can be disabled, so that they are ignored by the Process
but still exist. This is useful for trying different versions of a Process without deleting
Using WinAutomation 163
and re-writing Actions constantly. Disabled Actions become gray to differentiate them
from enabled Actions.
Disabled Action
In the Workspace, Actions, their Icons and their properties are displayed. A Process is
described in text in the Workspace and you can understand a Process just by reading
through the Actions' properties in the Workspace. To change the display of the icons
and text for this Process, click on Tools -> Process Designer Options 196 .
To manipulate the Actions within a Process, 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 Process 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
Process, 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
Process.
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)
Clear Values: After running the process from the Process Designer the variables
values remain in the Values column for you to see them. Youcan hit the "Clear Values"
button in order to clear them
The actions above can be performed while a Process is being executed or not apart
from the "Clear Values" Option.
© 2018 Softomotive
Search, Pin Variables
Clear Vlaues
Using WinAutomation 167
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.
© 2018 Softomotive
Text Variable
Using WinAutomation 169
File Variable
© 2018 Softomotive
List Variable
Email Variable
© 2018 Softomotive
Custom Object Variable
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 Process and hold the Process from running.
Run Time Errors, or Exceptions are not obvious errors in the design but come up
when you run the Process. Run Time Errors will cause the Process 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 Process, that is
a Run Time Error.
Using WinAutomation 175
It will hold all the controls from UI/Windows and Web Automation actions. All the
elements that your Process will access (buttons, elements, items, text fields,
checkboxes, radio buttons, windows etc... ) will be stored in the Control Repository.
Upon creating a new Process 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 process identifies if there is an unused control and deletes it.
In the topics Building a WebAutomation Process 239 and UI Automation > UI Elements -
Select Controls 223 , 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.
The Search Window allows you to find anything that contain the specified text
potentially across your functions.
1. Text to search: Enter here the text that you are looking for
2. Case Sensitive. Check this box if you want your search to be case sensitive. Un-
check this box if you are looking capitals or small letter do not matter to you
3. Search on: This option allow you to search for the text only in a specific action or
in all your Process
4. The results will be listed in the Search Results Pane. For each Funtion that the text
was found within, you will have an expandable arrow that will list all the
occurances.
© 2018 Softomotive
Search Results pane
You should have in mind that you can easily transition from Search Results to Errors
pane, Images or Control Repository at any time by clicking the appropriate option in
the Tab Menu [d] at the bottom. The pane even informs you on where the hits were
recorded [c] exactly in order to save you time from examining results that might be of
little interest to you.
Another thing that should not go unnoticed is that even if you search for some text
that is part of some longer sentence, the Search Window still will return a hit:
Using WinAutomation 179
3.4.8 Go to Line
The "Go To Line" functionality is very helpful on large Processes. It will help you
navigate to a specific line within your process in a Function. It can be accessed either
by the "Edit > Go To Line" option in the menu bar, or by simply hitting Ctrl + G on your
keyboard.
Go To Line
The Go To Line window will prompt you to enter the Line number that you wish to go
to the Function on which you wish to be transferred. Just hit go and you will be landed
in the action whose number you have entered in the Function of your selection, with
the action being highlighted.
© 2018 Softomotive
Go To Line Window
1. From within an Image related action should you select the "Capture Image" button.
2. From the "Capture Image" button from the Images Repository directly.
© 2018 Softomotive
Add an Image in the Images Repository
Additionally, the Images Repository pane, has the "Remove Unused Images" button,
with which the process identifies if there is an image not associated with an actions
and deletes it.
It is also equipped with a Sorting capability either by the Name of the Image or by the
Date that it was added (Ascending or Desceding). This sorting capability proves to be
very helpful in large processes where many images have been captured and makes it
much easier to find them.
Using WinAutomation 183
3.4.10 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 431 action anywhere in the Process. 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 431 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 Process.
New Processes, by default, contain only one function, the Main. The Main function is
always called when the Process first executes. Other functions may be called by
means of the Run Function 431 action, by the Exception Handling 322 mechanism of any
action, or as a result of a button press inside a Custom Dialog 456 .
Scope: Variables in a WinAutomation Process are global in the notion that every action
can access any variable of the Process from any function.
Go To 430 statements on the other hand, can jump to labels inside their own function
only.
© 2018 Softomotive
Recursion: A function cannot call itself; It can Exit 431 , Run 431 another function or
exhaust its actions and return automatically.
§ Enhanced readability
Note: Processes 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 Process from the designer then each
Function will be visible the moment that it is executed.
Using WinAutomation 185
When you right click on a Function in the Function's pane, you have 4 options:
4. "Find Usages" This will give you an extra tab in the bottom pane of the Designer
that will list the Functions and the actions that are using this Function:
© 2018 Softomotive
Funtion's Usages
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.13 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
Using WinAutomation 189
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 460 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 Process is running, but that is not
Action Input here - only your choices now are Action Input.
© 2018 Softomotive
Also notice that the Action Output is information stored as Variables. The Output is
determined by the Action as the Process 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 286 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%".
Using WinAutomation 191
This allows you to remove an Action from a Process without erasing it and having to
re-type everything if you want to use it again later. During execution, the disabled
actions will simply be ignored as if there were not part of the logic at all.
Often, this will be used to test different versions of a Process to see what works best
and has the desired results. You could also suspend usage of a part of a Process while
something has changed.
© 2018 Softomotive
3.4.15 Organize your Actions with Regions
In order to organize the actions in your Process and make long Processes or Functions
more manageable you can use the Regions feature of the Process Designer.
The Regions feature consists of two actions the "Start Region" and "End Region"
action.
These actions two actions have absolutely NO IMPACT in the behavior of the Process
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
Using WinAutomation 193
the region will not be visible, allowing you to review your Process 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 Process. 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 Process. The
background color of the regions is customizable and can be changed through the
Process Designer Options 196 dialog.
Regions can also be nested within other regions to represent submodules of your
Process 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 Process that is used for documentation and
for adding explanatory notes between the actions.
© 2018 Softomotive
The background color of each comment can be set in different color as a visual clue
for differentiating sections of the Process and giving more emphasis to some comments
that others.
Neither adding nor deleting Comments has any effect on the behavior of the Process.
Using WinAutomation 195
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 Process. 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 Process). 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 Process 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 286 .
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.
© 2018 Softomotive
The Variables Manager Window
In the first tab you can specify how the actions will be displayed in the Process
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 Process 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 192 . 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.
Using WinAutomation 197
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
Process through the Designer, when you run a Process through the Console then
the Process runs at full speed.
The second setting is the designated hotkey for performing Step by step execution 201
and Resuming the execution while debugging your Process. The hotkeys specified here
will execute the next action when the Process is paused in the Debugger or Resuming
the execution. This is useful especially for Processes 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 Process to
be saved automatically every time you run it through the debugger.
© 2018 Softomotive
3.4.19 Process Designer Custom Layout
You have the ability to customize the panes' location in the Process Designer. You can
click and hold on a pane and you can drop it in a location on the cross in order to pin it
in a specific position.
You can also select to View all or less of the panes in the Process Designer, by clicking
on the 'View' menu option and tick/untick the panes that you want to have visible on
your designer.
Using WinAutomation 199
2. You can execute a Process action by action by clicking on the button next to
"Start" .
3. You can pause a Process while it is running by clicking on the Pause button .
4. You can stop a Process while it is running by clicking on the Stop button .
Start-Pause-Stop a Process
Since Debugging is expected to involve running the program, making a change, running
it again, etc, no Logs are recorded when you run the Process from the Process
Designer. In the Process 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 Process.
© 2018 Softomotive
If you want to start running the Process 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
Process, 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 Process
from 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 Process will pause at the
beginning of that Action. Pressing the Run button will continue the Process, 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 201 , you can add a breakpoint at the first
Action of a Process and then use the Execute Next Action button to move through the
Process manually, one Action at a time.
Using WinAutomation 201
Breakpoints are considered, only when you are running the Process through the
Process Designer (debugging). When you run a Process through the Console all
breakpoints set in the Process are totally ignored.
Additionally, you can use this button after a Process being stopped by a breakpoint to
execute only the subsequent action instead of pressing the Start button that will
resume the execution of the Process.
You can examine a Process at a particular Action step by adding a breakpoint at that
step as mentioned above, or by moving through the Process 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 164 of the Process Designer Window.
© 2018 Softomotive
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 167 , set a
different one and resume the execution to see how the script will react to that value.
As a last note, instead of clicking on the button you may as well press the designated
Hotkey. This is especially useful when debugging Processes 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 Process
Designer Options 196 dialog.
Now, when a Process throws an exception, then you can go to the Errors pane at the
bottom of the Designer, and double click on the error. Once you do so, the Error
message window will popup. This window will have information about:
2. The action number in the Function that the Error took place
5. The additional details of the Error. These details are very helpful when debugging as
they are giving a clear message to the user about why the error happened and
what is it's real cause.
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 Process 328 , WinAutomation cannot
simulate a user (and run the Process) 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 Process.
These can be edited and added to later. If you use the Recorder with a Process that
Using WinAutomation 205
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.
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 Process, after you name the Process,
choose option 2: Open Macro Recorder and click OK.
© 2018 Softomotive
If you have already created the Process, you can open the Macro Recorder in the
Process Designer Window (that is, inside the Process 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 Process in WinAutomation by combining and configuring actions
from the list of ready made actions in Process 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 Process 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 Process. Of course, these can be
edited or added to other actions within the Process Designer.
Using WinAutomation 207
Using the Macro Recorder is a quicker and easier way to define Actions that compose a
Process than manually selecting them and inputting them in the Process Designer.
In order to create your Process using the Macro Recorder, choose option “Macro
Recorder” from the tools of the “Create a Process” window, or (if you are already
within the Process Designer) choose the Macro Recorder button on the toolbar of
Process Designer window (inside the Process 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.
© 2018 Softomotive
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 317 utilized
by Web Automation actions. This type of recording is the recommended one, since it
produces flexible and portable Processes.
Using WinAutomation 209
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 Process 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
© 2018 Softomotive
You can also take notes that will make the design of your Process more meaningful for
you and that may be useful if you chose to edit the actions later in the Process
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 Process Designer.
Using WinAutomation 211
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 Process Designer, click the Finish
button on the sidebar. The recorded Actions will be inserted into the Process Designer
Window within a region named “Region of Autogenerated, UI Automation Actions”
© 2018 Softomotive
Of course you can further edit each of the actions (e.g. use variables as input where
applicable) within the Process Designer.
You may also insert additional Actions to your Process 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).
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 183 , 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 456 " action will allow you create a fully
featured Graphical User Interface (GUI) for your Process, 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.
© 2018 Softomotive
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:
Using WinAutomation 215
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
© 2018 Softomotive
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 771 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:
Using WinAutomation 217
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.
© 2018 Softomotive
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:
Using WinAutomation 219
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.
© 2018 Softomotive
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 290 or even a list. You may
access the properties and the list items as well:
Using WinAutomation 221
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.
Processes can click on buttons, menu items, populate edit boxes directly, etc. and all
that without the use of absolute coordinates or image recognition!
© 2018 Softomotive
The UI Windows Actions
Using WinAutomation 223
UI Automation based Processes can be conveniently authored with the help of the
Macro Recorder 206 (with the Smart Recording option enabled). Alternatively, you can
build your Process manually by combining and configuring the appropriate actions in the
Process Designer.
Window handling actions, such as "Focus Window 520 ", "Move Window 532 " 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 510 "), 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.
© 2018 Softomotive
1. "Add Control":
OR...
Using WinAutomation 225
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,
© 2018 Softomotive
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 Process 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).
Using WinAutomation 227
You can go on adding more Controls in your Repository, building your Processes with
different actions until you have completed your Process.
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.
© 2018 Softomotive
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 Process will fall back to the second
one. If the second one still fails to access the element the Process 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.
Using WinAutomation 229
Images Repository
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.
Another option that you have is to sort the Images in your Repository, based on the
Name or the Date Added. In large processes where a lot of images are saved, this
option will be very beneficial for quick and east debugging.
Sort Images
© 2018 Softomotive
3.8.5 Manage UI Selectors
To manage the selectors of a control, you can either double click on it, or right click
and select "Manage Selectors".
*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.
Using WinAutomation 231
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
© 2018 Softomotive
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.
Using WinAutomation 233
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
Process will move on to the Menu Item:File for this window.
What if you want to get a text document with another specific name??
© 2018 Softomotive
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.
Using WinAutomation 235
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"]
© 2018 Softomotive
· Useful Tips for more efficient Selectors:
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 552 " and "Get Details of Element in Window 554 ", 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 556 " and "Get Selected
Radiobutton in Window 557 " are specialized actions, dedicated in extracting the current
selection state of Checkboxes and Radiobuttons.
Using WinAutomation 237
Last but not least, "Extract Data from Window 559 " extracts only the text displayed on
elements (and their visible children). For simple control elements, "Extract Data from
Window 559 " will get the exact same results as the equivalent "Get Details of Element
in Window 554 " 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 559 " allows the retention of the original
organization of the data extracted, making any further processing significantly easier.
1. Google Chrome
2. Mozilla Firefox
3. Internet Explorer
In the current Web Automation Topic we will focus on the Internet Explorer
browser to demonstrate the Web functionality, but, do keep in mind that
everything explained here, is 100% applicable to the other browsers also!
The usual sequence for creating a Web Automation Process is the following:
1. You launch a browser window (or attach to an existing one) using one of the
following three actions: "Launch New Internet Explorer 562 ", "Launch New Chrome 572 "
or "Launch New Firefox 567 ". These actions generate 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 a Web Browser instance is stored in %Browser%, 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 these actions,
should respond to this instance.
For example if you wish to use the "Click Link on Web Page" action, in the Web
© 2018 Softomotive
Browser Instance you should indicate the variable %Browser% (or the variable's
name that you gave to the instance in any of the Launch new Browser actions).
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 (for example %Browser%) to specify
the browser on which the action will be performed, as previously mentioned in [1].
3. Optionally, you may close the browser used for the automation using the "Close
Web Browser 587 " action.
In order to build your Process you have plenty of tools at your disposal. The easiest
way to start is to use the Web Recorder 246 that gives you the ability to record your
web activities as you perform them and convert them into a Process.
Alternatively, you can build your Process manually by combining (and configuring) the
appropriate actions in Process Designer. The rest of the overview will focus on the
Process Designer approach, for Web Recorder usage please refer to the corresponding
topic 246 .
Using WinAutomation 239
· 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 Process 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 267 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).
© 2018 Softomotive
· Whether you need the Process 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.
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.
Using WinAutomation 241
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.
© 2018 Softomotive
Using WinAutomation 243
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 583 " 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.
© 2018 Softomotive
Click on "Add" to add this control to your Repository.
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.
Using WinAutomation 245
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 317
topic.
© 2018 Softomotive
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 Process by combining and configuring actions
in the Process Designer, as you would do for any other other Process, it is much easier
to build your web related Processes by using the Web Recorder
You can open the web recorder either while creating a new Process 85 or from within
the Process Designer by clicking on the Web Recorder button on the toolbar.
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.
Using WinAutomation 247
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.
© 2018 Softomotive
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 583 " 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.
Using WinAutomation 249
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:
© 2018 Softomotive
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.
Using WinAutomation 251
While recording you may want to take notes that will be useful if you chose to edit the
actions later in the Process 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 Process Designer.
© 2018 Softomotive
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.
Using WinAutomation 253
As with the Data Extraction Web Helper 255 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.
© 2018 Softomotive
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 Process 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 Process. From this point
Using WinAutomation 255
you can continue editing and modifying your actions as you would for any other
Process 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 611 , retrieve
details of a web page 608 such as its title or its HTML source and finally retrieve any
HTML attribute of any web page element 609 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 606 " action comes into play:
© 2018 Softomotive
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.
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.
© 2018 Softomotive
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.
Using WinAutomation 259
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:
© 2018 Softomotive
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:
Using WinAutomation 261
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.
© 2018 Softomotive
3.9.5 Web Data Extraction Part II
The web data extraction can also take place on an actual IE if you have the "Extract
data from Web Page" action open while you move your mouse pointer to the page of
interest.
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.
Using WinAutomation 263
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.
© 2018 Softomotive
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
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 Process 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.
© 2018 Softomotive
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.
Using WinAutomation 267
Feel free to have a look at the Create CSS Selectors topic 317 .
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:
© 2018 Softomotive
Select the "Internet" zone and UNCHECK the "Enable Protected Mode" checkbox:
Using WinAutomation 269
Select the "Local intranet" zone and UNCHECK the "Enable Protected Mode" checkbox:
© 2018 Softomotive
Select the "Trusted Sites" zone and UNCHECK the "Enable Protected Mode" checkbox:
Using WinAutomation 271
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
Processes from properly launching an Internet Explorer or the Automation Browser via
the "Launch New Internet Explorer" action.
© 2018 Softomotive
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".
Using WinAutomation 273
You will now be able to control Internet Explorer through WinAutomation for
automating all kinds of web sites and web applications.
These addons are included in the WinAutomatoin installation where you will be
prompted to include the extensions.
However, should you not want to install the extensions right up front, you can do so
at a later point through the Process Designer.
This showcase scenario shows you how to install the add-ons and how to enable them
or disable them in your browser:
1. Open your "Process Designer>Tools> Browser Extensions" and select the Browser
you want to work with (Firefox or Chrome).
© 2018 Softomotive
This will launch (or bring to the foreground) Firefox or Chrome with the following
screen:
Firefox
Using WinAutomation 275
Chrome
© 2018 Softomotive
Firefox
Using WinAutomation 277
Chrome
What's left is to go through (b) "Additional Settings that Might Influence Automation
for Firefox or Chrome" and you'll be ready to start using Firefox or Chrome for your
web automation.
Another option would be to install the browsers from the WinAutomation Icon in the
System Tray:
© 2018 Softomotive
(b) Additional Settings that Might Influence Automation for Firefox or Chrome
For Firefox: Another thing you might want to know however regarding Firefox
is how to enable or disable (default seems to be enabled) alerts in "modal" dialog boxes
that freeze your browser and prevent you from switching to other tabs or windows.
This setting enabled can have a real impact on the viability of your automations so this
is how you can disable it:
1. Enter the text "about:config" on the URL bar of a new tab on Firefox and press Go:
2. Search for the "prompts.tab_modal.enabled " preference name in the resulting list
and double-click on it in order to change it to false:
Using WinAutomation 279
For Chrome:
© 2018 Softomotive
3.9.10 Actual Internet Explorer VS Automated Broswer
This action only works with the Automated browser regardless the IE version, while in
an actual IE, version 8 and below is a requirement.
Using WinAutomation 281
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 267 )
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.
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 Processes 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 Process.
© 2018 Softomotive
deepest one. You can press Control-Shift repeatedly to walk up the elements
hierarchy.
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!
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 Processes that contain actions from that add-on will not work
anymore. This does not apply to compiled Processes that are independent but only to
Processes 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 285
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 Processes.dat file 329 .
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 Processes, 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 Process’ 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 286 .
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”
action, you must write: %ClipboardText% in the “Text to store into Clipboard” field of
the specific action’s properties dialog box.
© 2018 Softomotive
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 195 ”.
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 Process. 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 Processes: 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 290 ”)
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 Process clear and have a full understanding of what kind of data each variable
contains at any given time of your Process’ 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 460
” 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 762 ”
action.
· Number:
This is the data type of a variable that holds a number.
Advanced Topics 287
· 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 290 ”).
· Custom Object:
Custom Objects are a type of Variable in WinAutomatoin that allows users to
generate and/or translate ("Convert Custom Object To Json") data in JSON format.
Custom Objects are essentially collections of pairs of Property Names and
corresponding Values. You can access these values using dot (.) notation or bracket
([]) notation since any two different Properties of a Custom Object may have the
same Value but not the same Name.
· 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 289 ”.
· 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 289
”.
· DataRow:
A data row is an iterable collection that contains all values corresponding to the
columns of a data table for a given row. It is the product of an iteration of a data
table.
· 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 766 "
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
© 2018 Softomotive
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).
· 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 290 ”.
· 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 290 ”.
· Browser Instance:
A variable of that type can be created through the “Launch New Internet Explorer 562
” action or the other web Launching actions. It is used to uniquely identify the
specific instance of Internet Explorer that was launched or attached to. Every other
action under “Web Automation” category (e.g. “Click Link on Web Page 583 ”) will
require you to specify an existing Internet Explorer instance (i.e. the specific browser
window that contains the link to be clicked). Variables of the "Internet Explorer
Instance" type can be used in place of a UI Automation "Window Instance" in UI and
Windows actions.
· Mail Message:
Represents an email. Email variables are populated by the "Retrieve Emails 645 " 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 290 ”.
· OCR Engine:
A variable of this type can be created through the "Create OCR Engine" group of
actions. It will hold the OCR's engine's instance created in a variable, in order to be
used into further OCR related actions that need the engine to be initialized, for them
to work. Such actions are: "Extract Text With OCR", "Extract text From PDF With
OCR" and any ocr related action.
· Window Instance:
A variable of that type can be created through the “Get Window 517 ” 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)).
Advanced Topics 289
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.
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]%.
© 2018 Softomotive
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:
· 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.
· 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)
© 2018 Softomotive
· 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 data types that represent the attachments of the
290
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).
· Columns: A list that contains the names of the columns of the DataTable
When you are creating a Process with WinAutomation, you may sometimes want to
keep the value of a specific variable available for the future executions of the Process.
Persistent Variables allow you to do exactly that: keep a variable’s value available for
the next time that the Process executes.
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 Process.
You can set a variable as persistent through the Tools Menu option > Variables
Manager 195 window while in the Process Designer.
© 2018 Softomotive
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.
Advanced Topics 295
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 Process and give the variable a specific value, you will be able
to see the currently stored value from the “Edit Variable” window in the Process
Designer’s Variable Manager.
If you compile a Process 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 Process has been executed for the
first time, are stored in a file that is located in the same directory with the compiled
Process and is named according to the following notation:
CompiledProcessName.config
So if, for example, you have a compiled Process 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 Process’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.
© 2018 Softomotive
In this case, you will have to select the “Encrypt Persistent Variables” checkbox in the
“Misc Options” tab of the “Compile Process” dialog.
This way, all the values from the persistent variables will be encrypted in the .config
file.
For Process B to access any of the external variables, the "ext:" prefix must be
included before the variable name. For example, if Process A defines a variable
%MyData%, Process 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
· ddd: The abbreviated day of the week (Fri)
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:
Advanced Topics 299
If you already know what JSON is please feel free to jump straight to c) The Custom
Object format.
These properties make JSON an ideal data-interchange language that is very popular
among web developers.
JSON stands for Javascript Object Notation and it is based on a subset of the
JavaScript Programming Language. You can read more about JSON on the Standard's
official page.
© 2018 Softomotive
{
"firstName": "John",
"lastName": "Locke",
"address": {
"streetAddress": "24 2nd Street",
"city": "Somerset",
"kingdom": "England",
"postalCode": 10210
},
"phoneNumbers": [
"212 555-1294",
"646 555-6567"
]
}
As you can see, the JSON format is inspired after two structures:
All names has to be strings (i.e. text values), while values can be almost anything,
from Boolean to another Object.
Another thing to note is the colon (:) used to separate the name from its
corresponding value.
ii) an Array, which is an ordered collection of values, like [1,2,3,4] inside brackets and
separated by commas.
The combination of these two structures is allowing the creation of ordered lists of
name/value pairs. You can access individual object values by using either the dot (.)
notation in the following manner:
x = myObj["name"];
Understanding the JSON format is important, because Custom Objects were created in order to allow
us to build and use data in that format within WinAutomation.
Just like JSON, custom objects in WinAutomation consist of a name and a value; they
are essentially a pair of two data:
1. A Property Name:
A Property name will be by default a Text Value. Given that fact it can consist of
almost any combination of characters.
However:
-We can use bracket notation in order to access the value corresponding to the
Property Name of the example Custom Object in the following manner.
© 2018 Softomotive
If we test this on Process Designer, it will produce the following Variable values:
-if we try to access the same value, using dot notation, we will get a Design error on
action 4, Set Variable %Newvar2%.
Advanced Topics 303
This means that in order to be able to access a value using dot notation, we need to
be careful to avoid producing syntax errors.
It also should be noted that two different Properties of a Custom Object may have the
same Value but not the same Name! (This will produce a Runtime Error informing us
that Property Name exists.)
2. A Property Value:
Just like in JSON, property values can be of almost any kind, from a Data Table to a
List.
This versatility allows you to use Custom Objects either as a medium that allows you
to translate data into JSON within WinAutomation, or as a custom variable type that
can increase your own convenience and capabilities in WinAutomation.
© 2018 Softomotive
If we test this on Process Designer, it will produce the following Variable values:
This combination of dot and bracket notation is very convenient for accessing list
items within the Property Value of a Custom Object and is definitely something you
should know in order to make the most of your custom object adventures.
It also should be noted that two different Properties of a Custom Object may have the
same Value but not the same Name! (This will produce a Runtime Error informing us
that Property Name exists.)
Advanced Topics 305
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 305 ”.
· Loop Condition: Repeats one or more actions until a specific condition is met. For
more information see “Loop Condition 306 ”.
· 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 307 ”.
Note: WinAutomation will automatically indent the block of actions that will be
repeated by a loop.
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).
© 2018 Softomotive
3.
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 307
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
4.4 Connecting to a Database
WinAutomation can connect to any Database and apply SQL queries to it. All you have
to do is find the correct connection string and pass it to the "Execute SQL
Statement 682 " action.
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.
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 309 section.
www.connectionstrings.com
Of course you are free to use variables in any connection string like for example:
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";
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
© 2018 Softomotive
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.
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 process 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 process will be executed is to
use the “If 368 ” 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.
Advanced Topics 311
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
© 2018 Softomotive
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 369 : 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 370 : Allows you to check if a folder exists (or does not exist) before
executing an action (or a block of actions).
3. If Service 372 : 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 373 : Allows you to perform an action (or a block of actions) if a specific
process is running (or is not running).
5. If Window 374 : Allows you to perform an action (or a block of actions) if a specific
window is open (or is not open).
6. If Image 377 : Allows you to perform an action (or a block of actions) if a specific
image is found/is not found on the screen.
7. If Web Page Contains 387 : 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.
This document provides methods you can follow to install MODI (Microsoft Office
Document Imaging) on your computer. It also describes the alternative
methods that you can use to regain the functionalities of certain MODI features.
To install Microsoft Office Document Imaging (MODI) for use with Microsoft Office
2010, use one of following methods.
To download and install MDI to TIFF File Converter, go to the following Microsoft
website:
http://www.microsoft.com/en-us/download/details.aspx?id=30328
SharePoint Designer 2007 is provided as a free download from the Microsoft Download
Center. To download SharePoint Designer 2007 and only include
4. On the Installation Options tab, click the down arrow and select Not Available
for these three sections:
• Office Tools
6. Click the down arrow for the Microsoft Office Document Imaging option, and then
select Run all from my computer.
© 2018 Softomotive
Screenshot displaying the location of MODI during a SharePoint Designer 2007 installation
To use MODI in the 2007 Office System together with Office 2010, follow these steps:
Advanced Topics 315
4. On the Installation Options tab, click the down arrow and select Not Available
for all sections.
6. Click the down arrow for the Microsoft Office Document Imaging option, and
then select Run all from my computer.
Screenshot displaying the location of MODI during the 2007 Office system installation.
© 2018 Softomotive
To start Microsoft Office Document Imaging, follow these steps:
The "Get details of element on web page" 609 action supports the
"waelementcentercoords" attribute which retrieves the X,Y coordinates of the
element relative to the browser. However, the X and Y coordinates will be given back
by WinAutomation in the form of a text with the two values being separated by a
comma like:
%Attribute%= 1021, 52
Therefore, should you wish to separately get the X,Y values you should split the text
using "," as a delimiter and then trim them. Also, as their data type is "Text" you will
need to convert them to "Number".
You should also note that based on the fact that each browser display area may be
different - because of the bookmarks or other bars that the user has chosen to display
- you should also use the:
%Browser.DisplayRectangleX%
%Browser.DisplayRectangleY%
variables and finalize the X,Y coordinates that the mouse should move to.
Below, there is an example that will send a right click on a Web Page element after
getting its coordinates:
Advanced Topics 317
© 2018 Softomotive
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 Process 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 Process 239 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
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).
Advanced Topics 319
Moreover, when extracting list-type data from a web-page, the CSS Selector has the
following structure:
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.
© 2018 Softomotive
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 255 , Web Data Extraction Part II 262 , Web Data Extraction Part
III) 265 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).
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
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 Process, so Variables can only run from one
Process to another if they run at the same time - see External Variables 296 .
© 2018 Softomotive
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 Process. 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 Process 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 .
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.
© 2018 Softomotive
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
process upon the exception. For example, a process could be triggered that would
email the user that the process failed. Moreover, the user can set the process 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 process to proceed with the process execution from
another point of the process.
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
Process to fail (the default behavior) are displayed in normal text.
Exception Handling is different the Error Handling Tab 132 in the Console as Error
Handling is what WinAutomation should do in the event that a Process failed,
while Exception Handling is what to do when something unexpected occurs in a
specific action so that the Process does not fail.
Advanced Topics 325
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 process to have upon an exception.
First, upon an exception, the process 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.
Last but not least, the "Exception Block" has the option to continue the process
execution, either with the next action, the first action after the block, repeating the
action, or even repeating the whole block execution.
© 2018 Softomotive
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 132 in the Console as
Error Handling is what WinAutomation should do in the event that a Process
failed, while Exception Handling is what to do when something unexpected
occurs in a specific action so that the Process does not fail.
Advanced Topics 327
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 Process 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 Process 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
Advanced Topics 329
A Process's interaction with the computer status can be set through the Run Policy
tab 144 of the Process Properties window.
The options that you have with the database are described in detail in the Options >
Settings > Processes File tab.
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 Process, using the following format:
· /stop - this will stop a specified Process, included as a Command Line Argument
· /ListRunning - this will list all running Processes at the moment. The information
that the command line will give back to you, will include the number of Processes
that are running and a list with all the running Processes instances.
© 2018 Softomotive
WinAutomation Controller /listrunning
'processCLA1' is the first Command Line Argument you include, 'processCLA2' is the
second, etc. Command Line Arguments are information you need to send to the
Process, such as a file path, URL or other needed information, and can be retrieved by
the WinAutomation Process with the "Get Command Line Arguments" Action, under
WinAutomation Actions.
The processPath is the path in the WinAutomation Console for the particular Process,
from a base directory of My Processes in the Folders Pane on the left side. So if your
Process is in the My Processes directory, the name of the Process is sufficient. If you
have put the Process in a subfolder, you will need to include that information in the
processPath.
Note: if the processPath contains spaces, it should be enclosed in double quotes (e.g.
WinAutomationController /start "My Process")
As an example, say you have created a Process that uploads a file that you specify to
an FTP site you designate. You want another program to call up this WinAutomation
Process, UploadFile, from the Command Line. The Process has not been compiled, and
is stored in the subfolder of My Processes called 'FileProcesses'. 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 Process. Your Command Line would look like this:
You can also import and export a Process to and from WinAutomation from the
command line using the following switches:
· /import - this will import the specified waj file into the WinAutomation Processes
database (within the specified folder)
· /export - this will export the specified Process into a waj file on the disk.
Furthermore, you can also enable and disable a Process in WinAutomation from the
command line using the following switches:
· /enable - this will enable the process specified in the process Path.
· /disable - this will export the specified Process into a waj file on the disk.
Additionally, you can also get all WinAutomation folders or a specific's folder Processes
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
© 2018 Softomotive
Last but not least, you can export the data from a server to a specific data path:
Exit Meaning
Code(s)
1 The syntax of the command is incorrect
2 Process not found
3 Process to be stopped was not found running
6 The file to be imported does not appear to be a Process (.waj) file
7 Cannot read from the file to be imported
8 Cannot find the Process to be exported
9 Cannot write the Process 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 340 " is suitable for both running the WinAutomation Controller,
as well as storing the returned Exit Code into a variable for later use.
Advanced Topics 333
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.
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
© 2018 Softomotive
Return MediaStop D F9
ShiftKe MediaPlay E F10
y Pause
F F11
Control LaunchMai
Key l G F12
In case a control or an image exists in the process with the same name, the control is
being renamed by getting an index number (n).
© 2018 Softomotive
Two Controls with the same name
Description:
This action executes an application or opens a document by executing the associated
application
Properties:
Actions Reference 339
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.
© 2018 Softomotive
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
Actions Reference 341
Properties:
Working Folder:
Enter the full path of the folder to work out of, if applicable.
© 2018 Softomotive
Store Error Output into:
Enter a name to be the variable that will store the Error Output. The Error Output will
be the text describing the errors occurred (if any) during the execution of the DOS
Command or Application.
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 Process. 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 Process.
Actions Reference 343
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:
© 2018 Softomotive
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.
Actions Reference 345
Description:
Executes some custom Javascript code and retrieves its output into a variable.
© 2018 Softomotive
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.
Actions Reference 347
Properties:
C:\\Windows\\SysWOW64
© 2018 Softomotive
Store Error Output into:
Enter the name for the variable to hold any errors that may occur during the execution
of the Powershell code.
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.
Actions Reference 349
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 285 or as a complete file path.
© 2018 Softomotive
5.1.8 Get Default Printer Action
Description:
Properties:
Description:
This action sets a printer as the default printer
Actions Reference 351
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
© 2018 Softomotive
Properties:
Description:
This action shuts down, reboots, suspends or hibernates the computer
Actions Reference 353
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.
© 2018 Softomotive
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
Actions Reference 355
Properties:
This action does not have any configurable properties.
Cautions:
This action will prevent your process from interacting with the Desktop. Make sure to
use this command only when you're sure the process 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
© 2018 Softomotive
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
Actions Reference 357
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
© 2018 Softomotive
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.
Actions Reference 359
Description:
Properties:
Description:
Sends a message to determine whether a remote computer is accessible over the
network.
© 2018 Softomotive
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.
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:
© 2018 Softomotive
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
Actions Reference 363
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.
© 2018 Softomotive
5.1.22 Get Screen Resolution Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)
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.
Actions Reference 365
Description:
This action returns the width, height, bit count and the frequency of the selected
monitor
© 2018 Softomotive
Actions Reference 367
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.
© 2018 Softomotive
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:
Actions Reference 369
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
© 2018 Softomotive
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
Actions Reference 371
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.
© 2018 Softomotive
5.2.4 If Service Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)
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.
Actions Reference 373
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.
© 2018 Softomotive
5.2.6 If Window Action
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
Actions Reference 375
by Window Instance/Handle
© 2018 Softomotive
by Title and/or Class
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 517 ” action or a
valid Window Handle.
Actions Reference 377
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.
© 2018 Softomotive
Properties:
If Image:
Choose whether you want to check for the existence or absence of the selected
image.
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
OCR Engine:
This text field with drop down menu options invites you to enter or choose the
instance of the OCR Engine 737 you want to work with.
Text to Find:
This text field allows you to enter the text you want the OCR Engine to search for as
text or as a Variable.
Actions Reference 381
Is Regular Expression:
Check this check box if you want to use a Regular Expression to find the text on
screen. A Regular Expression creates a range of possibilities and can return a number
of results that match your search. The order that the Engine is adding these matches
is from top to bottom, left to right as it finds them on the given source to analyze!
If Text:
Select if you want the action to check if the text exists or not on the given source to
analyze.
Two options on this drop down menu, Entire Screen or Foreground Window only.
Search Mode:
While the first option of this drop down menu is pretty straightforward (Search Whole
Screen or Foreground Window) the other two options that allow you to target a
specific subregion of your window or screen produce a whole different set of additional
Properties which will see in detail here:
By clicking the "Select a Different Subregion" button on the right of the red box, you
will be prompted to select firstly the window you want to work:
© 2018 Softomotive
and then you will be given the opportunity through an amazing interactive feature to
actually select the area you want to narrow down your scan (drag your mouse to
select the area). The X1 X2 Y1 Y2 co-ordinates are denoting the start and finish of
your dragging manoeuvre.
However, using the "Select a Different Subregion" button is not compulsory. You can
enter the values of the co-ordinates by hand or as a Variable (notice the Gear Icon
next to the text fields).
This search mode enables you to narrow down your scan through a region that is
defined relative to the top-left corner of an image from the Image Repository.
Description:
Checks whether a specific piece of text or a Window element exists inside a Window.
© 2018 Softomotive
Option 1: Check for Window Element (Exists/Does not Exist)
You can select the window from your Control Repository or Add it in the Repository.
Actions Reference 385
This option checks the text inside the Window to determine whether a specified
subtext exists or not.
© 2018 Softomotive
Properties:
Control:
Choose the Control for the element from your Repository or Add it if it is not already
there.
Actions Reference 387
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 562 " 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.
© 2018 Softomotive
Option 2: Check for Text (Exists/Does not Exist)
This option checks the text of the Web page to determine whether a specified subtext
exists or not.
Properties
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.
© 2018 Softomotive
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 368 .
Actions Reference 391
Description:
© 2018 Softomotive
Properties:
This action does not have any configurable properties.
5.2.14 Switch
Switch marks the beginning of a switch block. Unlike if-else or else-if conditional
statements, a switch block can address a number of possible execution paths. A
switch statement is a type of selection control mechanism used to allow the value of a
variable or expression to change the control flow of your scripts via a multiway branch:
Actions Reference 393
This action allows you to set a value [1] that will form the basis of any subsequent
comparisons with other values using the Case 394 /End Case 398 actions:
1. Value to Check:
This should be a variable that we expect its value to be derived out of a set of
predefined options.
© 2018 Softomotive
5.2.16 Case
This action specifies a condition on an existing Switch 392 block and marks the
beginning of a sequence of actions that will be executed if the conditional evaluates to
true.
The end of this sequence of actions is marked by the complimentary End Case 398
action.
Actions Reference 395
The action allows you to choose from a variety of Comparison Types [1] in order to
compare the value provided here [2] with that given in the Switch 392 statement.
© 2018 Softomotive
1. Comparison Type:
This property can have a wide variety of predefined values, designed to fulfill your
most sophisticated needs:
Actions Reference 397
2. Value to Compare:
The Value that you will enter here will be compared after the Comparison Type defined
in [1] with the value defined in the Switch 392 action. If this criterion is met, then the
sequence of actions within the <Case><sequence of actions><End Case> block will be
executed. If not, the flow will move to the next case condition.
© 2018 Softomotive
5.2.17 End Case
This action simply specifies the end of a Case 394 block.
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 403
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 process for a specified amount of seconds
Actions Reference 405
Properties:
Wait for:
Enter the number of seconds that you want the process to pause.
Description:
This action suspends the execution of the process 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 process continues after a set number of seconds, regardless of
whether the file has been created/deleted.
Actions Reference 407
Description:
This action suspends the execution of the Process until a specific HotKey is pressed by
the user.
There are cases where you want the Process to pause and continue only when the
user says so. For example, a Process 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 Process 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 Process 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 409
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 process 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 process continues after a set number of seconds, regardless of
whether the process has started or stopped.
Actions Reference 411
Description:
This action suspends the execution of the process 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 process 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 process until a specific window opens,
closes, gets or loses the focus.
Actions Reference 413
© 2018 Softomotive
Properties:
Get Window:
Choose whether the action gets the target window from a "Window Instance 286 "
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 517 ” action or a
valid Window Handle.
Actions Reference 415
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 327 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 Text on Screen (OCR)
This action waits (pauses the execution of your script) until a specific text [2]
appears/disappears [4] on the entire screen or foreground window [5] allowing you to
analyze either the whole of that image or a specific subregion of it [6]. You can also
specify whether you want the action to fail [7] if the text does not appear within a
custom set of seconds [8]. The action returns the location [9] (coordinates) of the
specified text's first occurence (or match if a regular expression [3] is used) from left
to right, top to bottom.
Actions Reference 419
1. OCR Engine:
This text field with drop down menu options invites you to enter or choose the
instance of the OCR Engine 737 you want to work with.
2. Text to Find:
This text field allows you to enter the text you want the OCR Engine to search for as
text or as a Variable (please be mindful of the fact that OCR is case sensitive).
3. Is Regular Expression:
Check this check box if you want to use a Regular Expression to determine the text
you are looking for. A Regular Expression creates a range of possibilities and can return
a number of results that may match your search. The order that the Engine is adding
these matches is from top to bottom, left to right as it scans the given source to
analyze.
This drop down menu allows you to specify whether you want to wait for the Text on
© 2018 Softomotive
5. Search for Text on:
Two options on this drop down menu, Entire Screen or Foreground Window only.
6. Search Mode:
While the first option of this drop down menu is pretty straightforward (Search Whole
Screen or Foreground Window) the other two options that allow you to target a
specific subregion of your window or screen produce a whole different set of additional
Properties which will see in detail here:
By clicking the "Select a Different Subregion" button on the right of the red box, you
will be prompted to select firstly the window you want to work:
Actions Reference 421
and then you will be given the opportunity through an amazing interactive feature to
actually select the area you want to narrow down your scan (drag your mouse to
select the area). The X1 X2 Y1 Y2 co-ordinates are denoting the start and finish of
your dragging manoeuvre.
However, using the "Select a Different Subregion" button is not compulsory. You can
enter the values of the co-ordinates by hand or as a Variable (notice the Gear Icon
next to the text fields).
© 2018 Softomotive
This search mode enables you to narrow down your scan through a region that is
defined relative to the top-left corner of an image from the Image Repository.
This checkbox allows you to produce an exception (which you can in turn handle
through the state of the art of exception handling mechanisms 322 PR is providing you
with) in case the specified Text appear or does not appear within a custom set of
seconds to be defined on [8].
The maximum number of seconds you can set in this box is 600.
This action returns the coordinates of the top-left corner of the text found on screen
or a specified window, stored in a couple of variables for later use.
Actions Reference 423
Description:
This action suspends the execution of the process until the mouse pointer changes,
usually to or from the 'wait cursor' or hourglass.
Properties:
Continue Anyway:
Choose whether the process continues after a set number of seconds, regardless of
whether the mouse pointer has changed or not.
© 2018 Softomotive
5.4.10 Wait for Window Content Action
Description:
This action operates on a UI Automation Window Instance that has been previously
acquired by a "Get Window 517 " 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.
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 517 ”
action or a valid Window Handle.
© 2018 Softomotive
Wait for Element to Become:
This property allows you to wait until the target element is present and in a specific
state (Enabled or Disabled). The Wait statement will only stop waiting when the target
element is both present and in the required state, if this property is checked.
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 process 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 562 " 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.
Actions Reference 427
© 2018 Softomotive
Option 2: Wait for Text (Exists/Does not Exist)
This option waits until the specifies text appears or disappears from the Web page.
Properties:
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 process will stop and issue an error message.
Description:
This action places a label at a specific process location that can be referenced by a
Go To Action
Properties:
© 2018 Softomotive
Label Name:
Enter a Label, to be used by a Go To action, to find at a later point in the process.
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.
Actions Reference 431
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.
© 2018 Softomotive
Properties:
This action does not have any configurable properties.
Description:
This action stops the execution of the process
Actions Reference 433
Properties:
End Process:
Choose whether this action ends the process with an error message or not.
Error Message:
Enter text to be a descriptive error message explaining why the process was ended.
Exit Code:
Enter a number to be the exit code of the Process. This applies only to Processes that
are compiled to exe; for Processes that run within WinAutomation this setting will have
not effect.
© 2018 Softomotive
5.5.6 Begin Exception Block Action
Description:
Properties:
Name:
Enter the name of the Exception Block for virtual purposes only.
Run Function:
Set a function to run when exception in any action occurs.
Continue Execution:
Set to continue the process execution with a selected command when exception in
any action occurs.
Description:
This action sets the end of an exception handling block
Properties:
© 2018 Softomotive
5.6 Mouse and Keyboard
5.6.1 Block Input Action
Description:
This action blocks user mouse and keyboard input events, so the process 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 process 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 process has not failed.
Actions Reference 437
Description:
Retrieves the current position of the mouse cursor on the screen in pixel coordinates.
Properties:
© 2018 Softomotive
5.6.3 Move Mouse Action
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.
Actions Reference 439
Description:
This action moves the mouse over an image found on the screen or on the foreground
window. This action uses the Image Recognition 327 feature.
© 2018 Softomotive
Actions Reference 441
Properties:
© 2018 Softomotive
Search for Image on:
Choose whether you want to search for the specified Image in the foremost 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.
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.
The action returns co-ordinates [8] of where the text is found relative to the top left of your screen or
the top left corner of the window you are working with. Along the position of the text it returns the
width and height of that image in two [9] corresponding Variables.
© 2018 Softomotive
General Tab
1. OCR Engine:
This text field with drop down menu options invites you to enter or choose the
instance of the OCR Engine 737 you want to work with.
2. Text to Find:
This text field allows you to enter the text you want the OCR Engine to search for as
text or as a Variable.
Actions Reference 445
3. Is Regular Expression:
Check this check box if you want to use a Regular Expression to find the text on
screen. A Regular Expression creates a range of possibilities and can return a number
of results that match your search. The order that the Engine is adding these matches
is from top to bottom, left to right as it finds them on target!
4. Occurrence:
This positive integer should point to the match that interests you, if your search
returns more than one occurences or a collection of values (through a regular
expression for example).
Two options on this drop down menu, Entire Screen or Foreground Window only.
6. Search Mode:
While the first option of this drop down menu is pretty straightforward (Search Whole
Screen or Foreground Window) the other two options that allow you to target a
specific subregion of your window or screen produce a whole different set of additional
Properties which will see in detail here:
By clicking the "Select a Different Subregion" button on the right of the red box, you
will be prompted to select firstly the window you want to work:
© 2018 Softomotive
and then you will be given the opportunity through an amazing interactive feature to
actually select the area you want to narrow down your scan (drag your mouse to
select the area). The X1 X2 Y1 Y2 co-ordinates are denoting the start and finish of
your dragging manoeuvre.
However, using the "Select a Different Subregion" button is not compulsory. You can
enter the values of the co-ordinates by hand or as a Variable (notice the Gear Icon
next to the text fields).
This search mode enables you to narrow down your scan through a region that is
defined relative to the top-left corner of an image from the Image Repository.
This drop down menu gives you a number of options in case the speed with which the
mouse will move is critical to your process.
It is important that you understand that OCR understands text as an Image. These co-
ordinates pin point the position of that image on the surface (screen or foreground
window) you are currently work with.
Enter the names to be the variables that will hold the X and Y coordinates of the point
where the image is found on the screen. If the image is being searched for on the
foreground window, the coordinates returned are relative to the top left corner of the
window.
Description:
This action sends a mouse click event
© 2018 Softomotive
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.
Actions Reference 449
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
© 2018 Softomotive
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 333 ".
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.
© 2018 Softomotive
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.
Actions Reference 453
Properties:
Description:
This action displays a message box
© 2018 Softomotive
Actions Reference 455
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.
© 2018 Softomotive
Timeout:
Choose how many seconds to pause the process 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.
Actions Reference 457
Properties:
© 2018 Softomotive
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".
Actions Reference 459
Description:
Properties:
Notification Message:
Enter the text, or a previously defined text variable, to be displayed in the Notification
Popup while the process is being run from the WinAutomation Console Window (not
Process Designer) or as a Console Application if the process has been converted to
.exe.
© 2018 Softomotive
5.7.4 Display Input Dialog Action
Description:
This action displays a dialog box that prompts the user to enter text
Properties:
Actions Reference 461
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
© 2018 Softomotive
The Select Date Dialog in action
Actions Reference 463
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.
© 2018 Softomotive
Store Button Pressed into:
The user will automatically be given the choice of OK or Cancel. Enter a name to be
the variable that will store the text of the button pressed by the user.
Description:
This action displays a dialog box with options that lets the user select from a list
Actions Reference 465
© 2018 Softomotive
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.
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.
© 2018 Softomotive
5.7.7 Display Select File Dialog Action
Description:
This action displays the Select File Dialog and prompts the user to select one or more
files
Actions Reference 469
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".
© 2018 Softomotive
Allow Multiple Selection:
Choose whether this action will allow the user to select more than one file or not.
Description:
This action displays the Select Folder Dialog and prompts the user to select a folder
Actions Reference 471
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.
© 2018 Softomotive
Store Selected Folder into:
Enter a name to be the variable that will store the selected folder.
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
Actions Reference 473
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.
© 2018 Softomotive
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:
Actions Reference 475
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
© 2018 Softomotive
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.
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
© 2018 Softomotive
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).
Actions Reference 479
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.
© 2018 Softomotive
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.
Actions Reference 481
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.
© 2018 Softomotive
Stored Renamed Files into:
Enter a name to be the variable that will store the renamed file(s) as a list of files.
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.
Actions Reference 483
Encoding:
Select the encoding of the input text File.
Description:
This action writes or appends text to a file
© 2018 Softomotive
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.
Actions Reference 485
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.
© 2018 Softomotive
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.
Actions Reference 487
© 2018 Softomotive
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
Actions Reference 489
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.
© 2018 Softomotive
File Name without Extension:
Enter a name to be the variable that will contain the file name (without the extension)
of the source file.
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:
Actions Reference 491
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
© 2018 Softomotive
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.
Actions Reference 493
Descending:
Does this action sort into ascending or descending order?
Description:
This action creates a new folder
Properties:
© 2018 Softomotive
Store Newly Created Folder into:
Enter a name to be the variable that will contain the created Folder object (which is a
representation, and can access the folder and all its information).
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.
Actions Reference 495
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
© 2018 Softomotive
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.
Actions Reference 497
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.
© 2018 Softomotive
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:
Actions Reference 499
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)
© 2018 Softomotive
Properties:
More Information:
This command is extremely useful if you plan to send a compiled process 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 process it would fail. This action
Actions Reference 501
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:
© 2018 Softomotive
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
Actions Reference 503
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.
© 2018 Softomotive
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
Actions Reference 505
Properties:
Description:
This action copies text to the clipboard
© 2018 Softomotive
Properties:
Description:
This action clears the contents of the clipboard
Actions Reference 507
Properties:
This action does not have any configurable properties.
Description:
Perform desktop and taskbar related operations
© 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.
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.
Actions Reference 509
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
5.12.3 Click 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.
Description:
Selects an Option in a Menu of a Window
© 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.
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:
Actions Reference 513
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.
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
© 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.
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
process) to specify the path to the tree node you wish to expand or collapse.
Actions Reference 517
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.
© 2018 Softomotive
Get Specific Window
Actions Reference 519
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
© 2018 Softomotive
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
Actions Reference 521
by Window Control
© 2018 Softomotive
by Window Instance/Handle
Actions Reference 523
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
© 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.
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
Actions Reference 525
by Window Control
© 2018 Softomotive
by Window Instance/Handle
Actions Reference 527
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
© 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.
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:
by Window Control
© 2018 Softomotive
by Window Instance/Handle
Actions Reference 531
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
© 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.
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:
by Window Control
© 2018 Softomotive
by Window Instance/Handle
Actions Reference 535
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
© 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.
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
Actions Reference 537
by Window Control
© 2018 Softomotive
by Window Instance/Handle
Actions Reference 539
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
© 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.
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:
by Window Control
© 2018 Softomotive
by Window Instance/Handle
Actions Reference 543
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
© 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.
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.
Actions Reference 545
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.
© 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.
You may also use as input the value of a variable defined in a preceding action of your
Process.
Actions Reference 547
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
5.12.8.4 Select Radio 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.
Description:
Checks or unchecks a Checkbox in a Window Form
Actions Reference 549
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
© 2018 Softomotive
Operation: Clear Selected Options
Actions Reference 551
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.
© 2018 Softomotive
Select Option(s) by:
Set the selection method for the value(s) of the Dropdown list.
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.
Actions Reference 553
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.
© 2018 Softomotive
5.12.9.2 Get Details of 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.
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.
© 2018 Softomotive
5.12.9.3 Get Selected Checkboxes in Window Action
Description:
Retrieves the names of the Selected Checkboxes in a Checkbox Group or the State of
a specific Checkbox.
Actions Reference 557
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.
© 2018 Softomotive
Actions Reference 559
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.
© 2018 Softomotive
Store data in an Excel Spreadsheet
Actions Reference 561
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
Store New Excel Instance Into:
In the case that you have selected to store the Extracted Data in an Excel
Spreadsheet, enter the name to be the variable that will hold the Excel Instance with
the Extracted Data. This instance can be used in consequent dedicated Excel Actions
to manipulate (or save and close) the spreadsheet.
Description:
Launches a new instance of IE or attaches to a running instance of IE for automating
web sites and web applications.
© 2018 Softomotive
Attach to running IE
Actions Reference 565
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 267 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.
© 2018 Softomotive
Attach to Internet Explorer Tab:
Choose whether the action will attach to an Internet Explorer Tab by it's Title, by it's
URL, or attach to the Active Tab of the Internet Exlorer running as the Foreground
Window.
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:
Launches a new instance of Mozilla Firefox or attaches to a running instance of Firefox
for automating web sites and web applications.
© 2018 Softomotive
Attach to running Firefox Instance
Properties:
Operation:
Select whether you wish to work with an existing running instance of your browser or if
you want to launch a new one. You can select either the 'Launch New Firefox' option
or the 'Attach to Running Firefox' option.
Actions Reference 569
The 'Attach to Running Firefox' option should be selected when we have (or we are
about to have through a running script ) an open Instance of Firefox and we want to
reference that Instance (or Tab) somewhere within our scripts via a Variable.
Initial URL:
If you have selected to work with a new Firefox Instance (Launch New Firefox) in the
Operation drop down menu, the Initial URL text box will invite you to enter the URL of
the web site you want to visit as soon as the web browser is launched.
Window State:
If you have selected to work with a new Firefox Instance (Launch New Firefox) in the
Operation drop down menu, the Window State text box will invite you to specify
whether the new web browser window will be launched in normal, minimized of
maximized state.
Select Firefox:
If you have selected to work with an already running Firefox Instance (Attach to
Running Firefox) the Select Firefox drop down menu will invite you to specify whether
you want to identify that instance via its Title, its URL or simply by the fact that the
Instance is running currently in the Foreground:
© 2018 Softomotive
Once more, according to our option we will have the opportunity to work with two
different text boxes, the Tab URL and Tab Title respectively, that will allow us to enter
the info necessary in order to locate the running Instance that is interesting us.
Tab Title:
If you have selected to work with a running Firefox Instance (Attach to Running
Firefox) this drop down menu allows you to specify the title (or part of it) of the
Firefox Window or Tab you want to use in your scripts. From this drop down list you
can choose between the titles of all the Firefox windows or tabs that are currently
open.
Tab URL:
Enter the URL of the Firefox Tab you want to use in your scripts.
The Advanced tab options are available to you only if you have previously selected to
work with a brand new Firefox Instance.
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.
© 2018 Softomotive
Wait for Page to Load:
Choose whether you want the Process to wait for the new web page to load
completely before proceeding to the next action.
Description:
Launches a new instance of Google Chrome or attaches to a running instance of
Chrome for automating web sites and web applications.
Actions Reference 573
© 2018 Softomotive
Attach to running Chrome Instance
Properties:
Operation:
Select whether you wish to work with an existing running instance of your browser or if
you want to launch a new one. You can select either the 'Launch New Chrome' option
or the 'Attach to Running Chrome' option.
Actions Reference 575
The 'Attach to Running Chrome' option should be selected when we have (or we are
about to have through a running script ) an open Instance of Chrome and we want to
reference that Instance (or Tab) somewhere within our scripts via a Variable.
Initial URL:
If you have selected to work with a brand new Google Chrome Instance (Launch New
Chrome) in the Operation drop down menu, the Initial URL text box will invite you to
enter the URL of the web site you want to visit as soon as the web browser is
launched.
Window State:
If you have selected to work with a brand new Google Chrome Instance (Launch New
Chrome) in the Operation drop down menu, the Window State text box will invite you
to specify whether the new web browser window will be launched in normal, minimized
of maximized state.
Select Chrome:
If you have selected to work with an already running Google Chrome Instance (Attach
to Running Chrome) the Select Chrome drop down menu will invite you to specify
whether you want to identify that instance via its Title, its URL or simply by the fact
that the Instance is running currently in the Foreground:
© 2018 Softomotive
Once more, according to our option we will have the opportunity to work with two
different text boxes, the Tab URL and Tab Title respectively, that will allow us to enter
the info necessary in order to locate the running Instance that is interesting us.
Tab Title:
If you have selected to work with a running Chrome Instance (Attach to Running
Chrome) this drop down menu allows you to specify the title (or part of it) of the
Chrome Tab you want to work with in your scripts. From this drop down list you can
choose between the titles of all the Chrome tabs that are currently open.
Tab URL:
Enter the URL of the Chrome Tab you want to use in your scripts.
The Advanced tab options are available to you only if you have previously selected to
work with a brand new Chrome Instance.
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.
© 2018 Softomotive
Wait for Page to Load:
Choose whether you want the Process to wait for the new web page to load
completely before proceeding to the next action.
This drop down menu will present to you a list with all the available variables of web
browser instance type. You have not but to select the one that interests you:
This text box allows you to either enter directly the URL you want to navigate to (for
example https://en.wikipedia.org/wiki/Domain_controller) or to simply press the
interactive gear control element that will allow you to select a variable as this
property's value.
© 2018 Softomotive
3. Start New Web Browser Instance into:
Here you have not but to enter a name as the name of the Variable that will store the
resultant web browser instance (the new Tab you have just created) for later use:
Actions Reference 581
Description:
Navigates the Web Browser to a new page, back, forward or reloads the currently
loaded page.
© 2018 Softomotive
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
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:
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.
Destination Folder:
Enter the folder where you want the file to be saved.
Description:
This action hovers the mouse over an element of a Web Page
Actions Reference 587
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:
Closes a Web Browser window that has been previously opened by a "Launch new
Internet Explorer 562 /Firefox 567 /Chrome 572 " action.
© 2018 Softomotive
Properties:
This drop down menu allows you to enter effortlessly the Browser Instance of your choice, by listing
all the variables of that type (web browser instance) in your script:
© 2018 Softomotive
It is worth noting here, that the drop down menu will list even browser instances that
haven't yet come up on your workflow, so you might want to be careful about that.
2. Javascript Function:
The Javascript Function text box, not only allows you to enter your javascript through
a variable, using the handy familiar gear next to the info bubble, but it also comes with
a little helper on its own, the Use Template button [a]. This button produces the
following Javascript template that helps you understand how you should structure your
code:
Actions Reference 591
In this template, you should replace the single line comments in green with your js
© 2018 Softomotive
3. Result:
This text box invites you to enter a new or existing variable in order to store in it the
result of the Javascript Function from [2] for later use.
Description:
Sets the input Focus on a Text Box of a Web Page and scrolls it into view.
Actions Reference 593
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.11.2 Populate Text Field on Web Page Action
Description:
Fills a web form text field in a web page with the specified text.
Actions Reference 595
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.
© 2018 Softomotive
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.
Actions Reference 597
© 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 a Radio Button on the Web Page.
© 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:
Set or clear the Selected Option for a Drop Down List in a Web 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.
Operation:
Select whether you want to select a value or clear the selected value of the dropdown
list.
Actions Reference 603
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.
© 2018 Softomotive
Actions Reference 605
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.12 Web Data Extraction
5.13.12.1 Extract Data from Web Page Action
Description:
Extracts Data from specific parts of a Web Page in the form of single values, lists, or
tables.
Properties:
© 2018 Softomotive
Store Extracted Records into:
Specify whether you want to store the extracted data into a variable for later
processing or you want it directly exported into an Excel spreadsheet (you need to
have Microsoft Excel installed for the latter option).
Description:
Get a property of a Web Page, such as its title or its source text.
Actions Reference 609
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.
© 2018 Softomotive
Actions Reference 611
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:
Select an attribute from the list or type in the attribute whose value you want to
retrieve.
NOTE: Should you wish to get the coordinates of an element in the web browser, you
may type "waelementcentercoords". The output of the action will be X and Y
coordinates of the element relative to the active window which is the browser.
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.
© 2018 Softomotive
Properties:
Operation:
Specify whether you want to capture the entire web page or only a specific element of
it.
Actions Reference 613
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.
© 2018 Softomotive
Actions Reference 615
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.
© 2018 Softomotive
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
Process before this action. Note that WinAutomation does not interact with existing
cookies, and that old cookies are not used or affected by the Process, and no new
cookies are made by the Process. Therefore this only applies to cookies created by
other Actions in this Process.
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:
Actions Reference 617
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.
© 2018 Softomotive
Actions Reference 619
Properties:
URL:
First choose http or https format, then enter the remainder of the web address.
© 2018 Softomotive
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:
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
Process before this action. Note that WinAutomation does not interact with existing
cookies, and that old cookies are not used or affected by the Process, and no new
cookies are made by the Process. Therefore this only applies to cookies created by
other Actions in this Process.
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).
© 2018 Softomotive
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
Actions Reference 623
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.
© 2018 Softomotive
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
Actions Reference 625
Properties:
Ftp Server:
Enter the FTP Server address here.
Port:
Choose which port to use for the FTP Server.
© 2018 Softomotive
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).
Description:
Properties:
Description:
This action returns the subdirectories and files contained in the current directory of an
FTP connection
© 2018 Softomotive
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.
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.
© 2018 Softomotive
5.14.6 Download File(s) from FTP 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.
Actions Reference 631
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
© 2018 Softomotive
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.
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.
© 2018 Softomotive
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:
Actions Reference 635
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:
© 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 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:
Actions Reference 637
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
© 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.
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
Actions Reference 639
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).
© 2018 Softomotive
Actions Reference 641
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.
© 2018 Softomotive
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.
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.
© 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.
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.
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.
© 2018 Softomotive
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.
Actions Reference 647
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 Process, 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
Process, the specified folder will exist in the email server).
© 2018 Softomotive
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.
Actions Reference 649
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 Process 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
Process 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.
© 2018 Softomotive
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.
Actions Reference 651
Each item of this list will be a Mail Message 291 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 290 (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 Process’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 Process will append the corresponding emails of the sender(s) to a
specific text file.
In other words, the final outcome of this Process will be a text file containing all the
sender addresses of messages with a subject containing the text "Order Form"
© 2018 Softomotive
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.
Actions Reference 653
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.
© 2018 Softomotive
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 645 " action.
Process Emails Action is one of the three actions under the Email Actions category
(the other two being the Send Email 657 and Retrieve Emails 645 ). 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.
Actions Reference 655
© 2018 Softomotive
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 645 " 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).
Actions Reference 657
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
© 2018 Softomotive
Actions Reference 659
The Send Email Action can be useful in a number of situations, such as:
Properties:
© 2018 Softomotive
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.
Actions Reference 661
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.
5.16 Exchange
5.16.1 Connect to Exchange Server
Description:
This action opens a new connection to an Exchange Server:
© 2018 Softomotive
Actions Reference 663
Properties:
Connection Type:
Select the way that you want to connect to your Exchange server
Server Address:
Enter your Exchange Server Address
© 2018 Softomotive
Credentials:
Choose the way that the user's Exchange credentials will be provided to the action
Domain:
Enter your Exchange account Domain. If you leave it empty, action will extract it from
the username
Username:
Enter your Exchange account username
Enter Password:
Select the way that you will provide your password.
Password:
Enter your Exchange account password directly
Timeout: Set the time in seconds that you want to wait for the connection to be
established before the action fails
Description:
This action retrieves email messages from an Exchange server.
© 2018 Softomotive
Messages can be filtered based on various criteria, such as the sender's address, the
Exchange folder or even the existence of specific keywords in the body, subject or
other fields of the email.
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 Exchange Email Messages" Action. Only the messages that match
all of the filters set in the action will be included in the retrieval and marking.
Actions Reference 667
Properties:
Exchange Connection:
Enter the variable that holds your exchange connection. Exchange connection can be
created from \"Connect To Exchange Server\" action.
Exchange Folders:
Select a predefined Exchange Folder to retrieve email messages from or add a custom
one.
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 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.
Of course, as with any other property in WinAutomation, you have the option to define
your criteria on all "Contains" properties using Process Variables. You can, for example,
set the “From Contains” property to get its value from a variable where you have
© 2018 Softomotive
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 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 Email Messages Action in a Loop Section
of a Process and iteratively check and retrieve emails for each one of this group of
email addresses.
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.
The outcome of the Retrieved Emails Action (%RetrievedEmails%) will be a List of Mail
Messages variable. As every list variable 289 , 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:
Actions Reference 669
Each item of this list will be a Mail Message 291 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 290 (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%
© 2018 Softomotive
Properties:
Exchange Connection:
Enter the variable that holds your exchange connection. Exchange connection can be
created from \"Connect To Exchange Server\" action.
Actions Reference 671
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.
© 2018 Softomotive
5.16.4 Process Exchange Email Messages
Description:
Moves, deletes or marks as unread an email (or a list of emails) retrieved by a "Retrieve
Exchange Email Messages 665 " action.
Actions Reference 673
© 2018 Softomotive
Properties:
Exchange Connection:
Enter the variable that holds your exchange connection. Exchange connection can be
created from \"Connect To Exchange Server\" action.
Operation:
Specify which operation you want to perform on the specified email messages
between:
If the selected Operation is "Move" then you will also get the...
Exchange Folders:
Enter the name or the path (e.g.folder1\\folder2) of the Mail-folder that you want to
move email messages to.
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.
© 2018 Softomotive
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.
Actions Reference 677
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.
© 2018 Softomotive
Properties:
Cmd Session: Enter the variable that will contain a previously opened Cmd Session.
© 2018 Softomotive
Description: This action read the output of a Cmd Session.
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
Actions Reference 681
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.
© 2018 Softomotive
5.18 Database
5.18.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
Actions Reference 683
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.
© 2018 Softomotive
More about connecting to a database and executing SQL Queries on it, please visit:
Description:
This action closes an open connection to a database.
Actions Reference 685
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.19 Excel
5.19.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.
© 2018 Softomotive
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 process will run.
Description:
Attached to an Excel Document that's already open.
Actions Reference 687
Properties:
Document Name:
Enter either the name or the path of the Excel file you wish to attach to.
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 689
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 process will run.
Actions Reference 691
1. 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.
2. Save Mode:
© 2018 Softomotive
5.19.5 Write to Excel Action
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.
Actions Reference 693
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 process will run.
Description:
This action closes a previously launched Excel Instance
© 2018 Softomotive
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 process will run.
Actions Reference 695
Description:
This action adds a new worksheet to the document 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
Add Worksheet As:
Choose whether the new Excel Worksheet will be added before or after the existing
Worksheets.
Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the process will run.
Description:
This action activates a specific worksheet of a previously launched Excel Instance
Properties:
Actions Reference 697
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.
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 process will run.
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.
© 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.
Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the process will run.
Actions Reference 699
This action runs a specified macro [2] on the document of a previously launched [1]
Excel Instance:
1. 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.
2. Macro:
© 2018 Softomotive
As the help bubble says, enter the text or a previously defined text variable, to be
used as the macro to run. The text should consist of the name of the macro, followed
by any arguments (optional), all separated by semicolons.
(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
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:
© 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
Worksheet Names: Enter a name to be the variable that will store the name of the
all worksheets
Actions Reference 703
(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.
© 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.
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.
Actions Reference 705
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
© 2018 Softomotive
5.19.10.6 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 707
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.19.10.7 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 711
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.19.10.9 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 717
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 719
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.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
© 2018 Softomotive
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.
(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 721
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.
© 2018 Softomotive
5.20 Outlook
5.20.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
Properties:
Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the process will run.
Description:
Properties:
© 2018 Softomotive
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:
[email protected], John Tyler, Personal Folders).
Please find the name of your account by navigating to your Account Settings Data
Files Tab.
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).
Actions Reference 725
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.
"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.
© 2018 Softomotive
Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the process will run.
Description:
This action creates and sends a new email message through Outlook
Properties:
Actions Reference 727
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: [email protected], John Tyler, work, home).
Please find the name of your account by navigating to your Account Settings E-mail
Tab.
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.
© 2018 Softomotive
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.
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 process will run.
Description:
Moves or deletes an email (or a list of email messages) retrieved by a "Retrieve Emails
From Outlook" action.
Actions Reference 729
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:
[email protected], John Tyler, Personal Folders).
Please find the name of your account by navigating to your Account Settings Data
Files Tab.
© 2018 Softomotive
Email Message(s) to Process:
Enter a variable containing the email or list of email messages to be processed. This
should be a variable populated by a "Retrieve Email Messages From Outlook" action.
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 process will run.
Actions Reference 731
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:
[email protected], John Tyler, Personal Folders).
Please find the name of your account by navigating to your Account Settings Data
Files Tab.
© 2018 Softomotive
Email Message(s) to Save:
Enter a variable containing the email message or list of email messages to be saved.
This should be a variable populated by a "Retrieve Email Messages From Outlook"
action.
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.
Actions Reference 733
Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the process will run.
Description:
This action provides a response to an Outlook Message, by replying, replying to all or
forwarding
© 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 (E-mail Account name) you wish to work with
(ex: [email protected], John Tyler, work, home).
Please find the name of your account by navigating to your Account Settings E-mail
Tab.
Actions Reference 735
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.
© 2018 Softomotive
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 process will run.
Description:
This action closes a previously launched Outlook Instance
Actions Reference 737
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 process will run.
© 2018 Softomotive
5.21.1 Create Tesseract OCR Engine
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)
WinAutomation allows you to work with a number of different OCR Engines through an
equal number of different actions 737 . Each of these actions has different Properties
and property Values according to each respective Engine's capabilities.
This action allows you to work with the Tesseract OCR Engine in order to extract text from Image
Files, in combination with the Extract Text With OCR 742 action.
Please Note: Tesseract is the only OCR Engine that it comes ready to use with
WinAutomation without the need to install it.
Tesseract Engine allows you to detect a number of different languages [1] and this
Action is giving you the option to select any of them. It also allows you to rescale your
image; you can resize width and height [2] of your image independently from one
another through the use of multipliers, since Tesseract works best on images which
have a DPI (Dots Per Inch) of at least 300. The Action returns an Ocr Engine Data
Type [3] stored within a variable:
Actions Reference 739
1. Tesseract Language:
This drop down menu allows you to select the language of the image's text that
Tesseract will detect:
3. OCR Engine:
This text field invites you to set the variable that will hold the value of the Ocr Engine
Data Type 286 produced from this action.
© 2018 Softomotive
5.21.2 Create MODI OCR Engine
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)
WinAutomation allows you to work with a number of different OCR Engines through an
equal number of different actions 737 . Each of these actions has different Properties
and property Values according to each respective Engine's capabilities.
This action allows you to work with the MODI (Microsoft Office Document Imaging)
OCR Engine in order to extract text from Image Files, in combination with the Extract
Text With OCR 742 action.
Please Note: MODI requires additional installations. Tesseract 738 is the only OCR Engine
that it comes ready to use with WinAutomation without the need to install it.
MODI allows you to detect a number of different languages [1] and this Action is giving
you the option to select any of them. It also allows you to rescale your image; you
can resize width and height [2] of your image independently from one another through
the use of multipliers, since that might help MODI read the text we want to extract.
The Action returns an Ocr Engine Data Type [3] stored within a variable:
Actions Reference 741
1. MODI Language:
This drop down menu allows you to select the language of the image's text that MODI
will detect:
3. OCR Engine:
This text field invites you to set the variable that will hold the value of the Ocr Engine
Data Type 286 produced from this action.
© 2018 Softomotive
5.21.3 Extract Text With OCR
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)
Description: This action extracts text from the image-source specified: A region of
the screen, a window, an image file on the disk and so on.
© 2018 Softomotive
Search Mode: Subregion relative to image
Properties:
OCR Engine: Select the Engine you want to use for the OCR operation.
OCR Source: Choose whether you want to search for the specified Image in the
foremost 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.
Actions Reference 745
Image: Specify the image to use as a Image for narrowing the scan down to a
subregion which is positionally relative to said Image.
Tolerance: Specify a value for how much the Image searched for can differ from the
originally chosen Image.
Sub-region relative to Image: Specify the subregion (relative to the top left
corner of the Image image you've specified) which you would like to have it scanned
for its text.
Scanned Text: Enter a name to be the variable that will store the text which got
extracted using OCR.
OCR Language: Select the language of the image that the OCR will be performed
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.
Fail if image does not appear within x seconds: Specify whether the action
should wait indefinitely for the image to appear or throw an exception after a set
number of seconds (if the specified Image does not get found).
5.22 Services
5.22.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
© 2018 Softomotive
Properties:
Service to Start:
Choose or enter the name of a Service to start.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action stops a running Windows Service
Actions Reference 747
Properties:
Service to Stop:
Choose or enter the name of a Service to stop.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action pauses a running Windows Service
© 2018 Softomotive
Properties:
Service to Pause:
Choose or enter the name of a Service to pause.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action resumes a paused Windows Service
Actions Reference 749
Properties:
Service to Resume:
Choose or enter the name of a paused Service to resume.
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action executes a specific Process
© 2018 Softomotive
Properties:
Process to Run:
Choose or enter the name of a WinAutomation Process. Usually, it will be a Process
other than the current one.
Continue Anyway:
Choose whether the Process continues after a set number of seconds, regardless of
whether the called Process has finished or not.
Actions Reference 751
(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 process
is compiled or started through the command line
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\\").
© 2018 Softomotive
5.23.3 Get Process' Path Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action retrieves the path of the currently running Process. This is the folder where
the Process is stored plus the Process name. In a compiled Process the action
retrieves the full path (directory and file name) of the executable file.
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 114 .
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).
© 2018 Softomotive
5.23.5 Get Last Exception Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action retrieves the last occurred exception.
Properties:
Description:
This action retrieves the length (in characters) of a text value or variable
Properties:
Text to Measure:
Enter the text, or a previously stored text variable, to be measured.
© 2018 Softomotive
5.24.2 Append Line to Text Action
Description:
Properties:
Original Text:
Enter the original text or a previously stored text variable.
Line to Append:
Enter the text, or a previously stored text variable, to add on as a new line.
Description:
Properties:
Original Text:
Enter the text, or a previously stored text variable, that contains the section of text
you want to retrieve.
© 2018 Softomotive
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
Actions Reference 759
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.
© 2018 Softomotive
Store Result into:
Enter a name to be the variable that will store the new, padded Text. As elsewhere,
this can be the name of the original variable, overwriting the original text with the new
text.
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.
Actions Reference 761
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:
© 2018 Softomotive
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
Actions Reference 763
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.
© 2018 Softomotive
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.
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:
© 2018 Softomotive
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 296 .
Description:
This action converts a DateTime value to text using a specific format
Actions Reference 767
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.
© 2018 Softomotive
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 296 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.
Actions Reference 769
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.
© 2018 Softomotive
Store Random Text into:
Enter a name to be the variable that will store the random Text.
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.
Actions Reference 771
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
© 2018 Softomotive
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.
Actions Reference 773
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
© 2018 Softomotive
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.
Actions Reference 775
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
© 2018 Softomotive
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.
Actions Reference 777
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.
© 2018 Softomotive
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
Actions Reference 779
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
© 2018 Softomotive
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.
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.
© 2018 Softomotive
Get Difference in:
Choose what unit of time to express the difference in.
Description:
This action reads the contents of an XML file into a variable.
Actions Reference 783
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.
© 2018 Softomotive
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.
Actions Reference 785
(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.
© 2018 Softomotive
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.
Actions Reference 787
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.
© 2018 Softomotive
Set the XML Attribute Value into:
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.
Actions Reference 789
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.
© 2018 Softomotive
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.
Actions Reference 791
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.
© 2018 Softomotive
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.
(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.
© 2018 Softomotive
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
Actions Reference 795
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.
© 2018 Softomotive
5.26.10 Remove XML Element Action
(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.
Actions Reference 797
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.
© 2018 Softomotive
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.
Actions Reference 799
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.
© 2018 Softomotive
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.
Actions Reference 801
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
© 2018 Softomotive
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:
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.
© 2018 Softomotive
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
Actions Reference 805
Properties:
Description:
This action removes all items from a List contained into a variable.
© 2018 Softomotive
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.
Actions Reference 807
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.
© 2018 Softomotive
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.
Actions Reference 809
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.
© 2018 Softomotive
First Property to Sort by:
Enter the name of a property of the items contained in the list that you want to sort
by. You can find the properties for some of the data types supported by
WinAutomation here 290 . For data types defined in Addons, please refer to the
corresponding Addon documentation.
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.
Actions Reference 811
Properties:
List to Shuffle:
Enter the name of a variable that contains a list you wish to shuffle.
Description:
© 2018 Softomotive
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.
Actions Reference 813
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.
© 2018 Softomotive
5.27.16 Find Common List Items Action
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.
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.
© 2018 Softomotive
5.27.18 Retrieve DataTable Column into List Action
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.
Description:
This action creates a new Custom Object 299 and stores it [1] into a variable for later use:
Properties:
This text field invites you to type the variable you wish to hold the new Custom
Object 299 .
© 2018 Softomotive
5.27.20 Add Property To Custom Object
Description:
This action allows you to add pairs of custom object Property Names [2] and Property Values [3] to
an existing Custom Object 299 . What is noteworthy is that the format of the action allows you to work
with a number of available custom objects through the drop down menu of the Custom Object [1]
action property:
Properties:
1. Custom Object:
Actions Reference 819
This is a text-field with drop down menu options. It allows you to enter the Name of
the Custom Object you want to work with, or simply find and select it effortlessly from
the drop down menu that lists all available custom objects in your script.
2. Property Name:
This is a text-field that allows you to enter the new Property Name of the Custom
Object of your choice [1]. If you have any questions on what is the Property Name of
a Custom Object, please refer to the Custom Object format of the following article 299 .
Please also know, that you can always use the Gear Icon to enter Property Name as a
variable:
© 2018 Softomotive
3. Property Value:
This is a text-field that allows you to enter the Property Value of the previously filled
Property Name [2]. If you have any questions on what is Property Name or Property
Value of a Custom Object, please refer to the Custom Object format of the following
article 299 . Please also know, that you can always use the Gear Icon to enter this
Property Value as a variable. This can be very helping in case you want to use a data
type that you have constructed earlier on in your script.
Description:
This action is giving you the ability to translate JSON [1] into a Custom Object and store it inside a
new variable for later use [2]:
Actions Reference 821
Properties:
1. JSON:
This action property allows you to enter either a multiple lines long JSON directly or
through a WinAutomation variable. If you have any questions on what JSON or Custom
Objects are, please refer to the appropriate section of the following topic 299 . Please
also know, that you can always use the Gear Icon to enter effortlessly an existing
variable.
In this text-field you should enter the name of the existing or new variable that you
wish to store the Custom Object.
Please note that you can access the values of your custom object almost exactly like
if they were JSON. Consider for example the following actions in Process Designer's
Workspace 162 :
© 2018 Softomotive
Testing this from Process Designer 199 will produce the following variable value for
%NewVar2%:
Description:
This action enables you to convert a Custom Object [1] to a JSON and store it into a WinAutomation
variable [2] for later use:
Actions Reference 823
Properties:
1. Custom Object:
This is a text-field with drop down menu options. It allows you to enter the Name of
the Custom Object you want to work with, but also find it and select it effortlessly
from the drop down menu that lists all available custom objects in your script.
2. Into JSON:
JSON is a text format, so it should not be a surprise that this action returns a Text Value. This text
field however allows you to enter the name of the variable (new or existing) in which you want to
store the JSON Text Value. Also, in case you wish to work with that Text Value, please do note that it
is JSON formatted, containing line breaks:
© 2018 Softomotive
Please also note that double clicking on the Value
on the Image above will produce the following pop-up (which is the Variables Visualizer
Window 167 ), showing us the format of the returned value.
Description:
This actions extracts the text from a PDF file.
© 2018 Softomotive
General
Actions Reference 827
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.
© 2018 Softomotive
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.
© 2018 Softomotive
Description:
General Tab
Actions Reference 831
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.
© 2018 Softomotive
Description: This action extracts text from a PDF file using OCR.
General Tab
Actions Reference 835
Advanced Tab
Properties:
OCR Engine: This text field with drop down menu options invites you to enter the OCR Engine
instance you want to work with.
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
© 2018 Softomotive
Single Page Number: Set the value of the page you want to extract text using
OCR.
The following two options will be available if you have chosen Range on the "Page(s)
To Extract" Property Value:
From Page Number: Set the first page number from the range of pages that text
will be extracted using OCR.
To Page Number: Set the last page number from the range of pages that text will
be extracted using OCR.
Store Extracted Text into: Enter a name to be the variable that will store the
extracted text using OCR.
Use Password: Choose whether you want to work with 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.
Password (Directly): Enter the Password here. The password will be hidden.
Description: This action extracts pages from a PDF file to a new PDF file.
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 Selection: Set the Index numbers of the pages you want to keep e.g.
(1,3,17-24)
Extracted PDF Path: Enter a path where the extracted PDF will be stored
If File Exists: Choose what to do in case Output PDF file already exists
© 2018 Softomotive
Store Extracted PDF File into: Select a variable where the new PDF File will be
stored
Description: This action merges a list of PDF files into a new one
Properties:
PDF Files: Enter the files to be merged. Multiple files should be enclosed in double
quotes (") and should be separated by a delimiter of your choice. You can also use a
variable that contains a list of files
Actions Reference 839
Merged PDF Path: Enter the path to the file that this action will use to store the
PDF file.
If File Exists: Choose what to do in case Output PDF file already exists
Store Merged PDF File into: Enter the Name of the Variable that will contain the
PDF File
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.
Properties:
Actions Reference 841
Handle:
Enter the name of the handle to release the lock of. The handle must have been
locked within the same process-instance, otherwise this action won't have any effect
on the handle whatsoever.
© 2018 Softomotive
842 WinAutomation Help
Index -=-
= 310
- %- ->-
% 321 > 310
%ButtonPressed% 188 >= 310
%EventTriggerEventID% 101
%EventTriggerEventLogName%
%EventTriggerEventMessage%
101
101
-1-
%EventTriggerEventSource% 101 1000 Separator 763
%EventTriggerEventType% 101
%FileTriggerEventType% 103 -A-
%FileTriggerFileName% 103
%FileTriggerFilePath% 103 access 144, 146
%FileTriggerOldFileName% 103 access the file 490
%LoopIndex% 305, 308, 309 Action 188, 193, 196, 201, 204, 338, 346, 349,
%name% 321 350, 351, 352, 354, 355, 356, 357, 359, 361, 362,
%PingTriggerHostName% 106 363, 364, 365, 368, 369, 370, 372, 373, 374, 383,
387, 389, 391, 399, 401, 402, 403, 404, 405, 407,
%ProcessTriggerEventType% 108
409, 411, 412, 415, 423, 424, 426, 429, 430, 432,
%ProcessTriggerProcessName% 108 434, 435, 436, 437, 438, 439, 447, 449, 451, 453,
%ServiceTriggerServiceName% 107 456, 459, 460, 464, 470, 472, 474, 475, 477, 482,
%ServiceTriggerServiceState% 107 485, 486, 494, 495, 497, 498, 501, 502, 504, 505,
%TriggerName% 93, 94, 95 506, 507, 511, 520, 524, 532, 536, 540, 544, 545,
547, 548, 549, 552, 554, 556, 557, 559, 586, 592,
%VariableName[ItemNumber]% 289
594, 596, 599, 601, 603, 608, 609, 611, 613, 617,
%VariableName[RowNumber][ColumnNumber]% 751, 752, 765, 781, 799, 801, 803
289
Action Icons 196
-\-
\% 321
© 2018 Softomotive
Index 843
Actions Reference 338, 340, 342, 345, 349, 350, Add to DateTime 779
351, 352, 354, 355, 356, 357, 359, 364, 365, 368, Add to DateTime Action 779
369, 370, 372, 373, 374, 377, 383, 387, 389, 391, Adding an Action 186
399, 401, 402, 403, 404, 405, 407, 409, 411, 412,
Adding Breakpoints 200
415, 423, 424, 426, 429, 430, 432, 434, 435, 436,
437, 438, 439, 447, 449, 451, 452, 453, 456, 459, Additional Data 115
460, 461, 464, 468, 470, 472, 474, 475, 477, 482, addon 284
483, 485, 486, 488, 490, 491, 493, 494, 495, 497, add-on 284
498, 499, 501, 502, 504, 505, 506, 507, 509, 510, Addons 134
513, 515, 520, 524, 528, 532, 536, 540, 544, 545,
add-ons 284
547, 548, 549, 552, 554, 556, 557, 559, 586, 592,
594, 596, 599, 601, 603, 608, 609, 611, 613, 617, Advanced 305, 308, 309, 321, 322, 325, 327, 328,
622, 624, 627, 629, 630, 631, 633, 634, 635, 636, 329
637, 638, 639, 643, 645, 654, 657, 682, 684, 685, Advanced Topics 321, 322, 325, 327, 328, 329
686, 687, 692, 693, 695, 696, 697, 700, 701, 703, Agent 613, 617
704, 706, 708, 710, 712, 715, 716, 717, 718, 719, all 701
720, 722, 723, 726, 728, 731, 733, 736, 745, 746,
Allow 464
747, 748, 749, 751, 752, 755, 756, 757, 758, 760,
761, 762, 763, 765, 766, 768, 770, 771, 773, 775, Allow Empty Selection 464
777, 778, 779, 781, 797, 798, 799, 801, 803, 804, Allow Multiple Selection 464, 468
806, 807, 808, 814, 815, 816 Alt 449, 451
activate 706 amount 404
Activate cell in excel Worksheet 706 amount of seconds 404
Activate cell in excel Worksheet Action 706 append 483, 485, 486
Activate License 129 Append Line 756
activates 520, 544, 545, 547, 548, 549, 592, 594, Append Line to Text 756
596, 599, 601, 696, 700, 701, 706 Append Line to Text Action 756
active 449 Application 306, 338, 340, 342, 345, 348, 449
active cell 706 Application Path 338
active foreground Window 205 archive 501, 502
Active Mode 622, 624 Archive Comment 501
Active Worksheet 696, 700, 701, 706 Archive Path 501, 502
activities 204 Argument 329
Actual Internet Explorer 562, 581, 583, 585 Arguments 338, 751
Add 195, 477, 613, 617, 716, 717, 718, 719, 779 artificial delay 196
add an Action 186 ascending 472
add breakpoints 200 ASCII 124, 630, 633
Add control 223 associated 338
Add Date or Time 477 Athens 13
Add DateTime 477 Attach 96, 562, 581, 587, 686
Add Item 289, 806 attach a Trigger 96
Add Item to List 806 Attach Excel 686
Add Item to List Action 806 Attach to Excel Action 686
Add New Trigger 96 Attachment 645, 654, 657, 722, 723, 726, 728,
Add New Variable 195 731, 733, 736
Add New Worksheet 695 attribute 790, 791, 793, 794, 796
Add New Worksheet Action 695 Audit 101
Add Number 477 Audit Failure 101
Add Text 477 Audit Success 101
© 2018 Softomotive
844 WinAutomation Help
© 2018 Softomotive
Index 845
© 2018 Softomotive
846 WinAutomation Help
Control Repository 175, 223, 230, 233 Create new tab 578
Control Screen Saver 359 Create Random Text 768
Control Screen Saver Action 359 Create Random Text Action 768
Controlling 329 Create UI 212
Controlling WinAutomation from the command line created 103, 405, 407
329 created on the fly 285
controls 227, 317, 335 created variable 797
convert 761, 820, 822 created/deleted 405, 407
Convert DateTime to Text 286, 766 creates 645, 654, 657, 722, 723, 726, 728, 731,
Convert DateTime to Text Action 766 733, 736
Convert Number 763 creates a new folder 493
Convert Number to Text 763 Creating 285
Convert Number to Text Action 763 Creating Variables 285
Convert Text to DateTime 765 CreationTime 286, 290
Convert Text to DateTime Action 765 criteria 472
Convert Text to Number 762 crosshair 374, 377, 383, 387
Convert to 761 crosshairs 374, 377, 383, 387
converted 459 css 317, 387, 456
converts 204, 762, 816 csv 485, 486
Cookies 613, 617 ctrl + alt + delete 436
coordinates 437, 438, 447, 532 Ctrl-Alt-S 205
copied cell 712, 715 Ctrl-Alt-T 89, 121
copies 329, 474, 505 Current 399, 778
copies a folder 495 Current Index 399
copy 162, 335, 495, 712, 715 Current Item 402
copy cells in excel Worksheet 712 current iteration 305, 308, 309
copy cells in excel Worksheet Action 712 current position 437, 438
Copy File 474 Current Value 164
Copy File(s) 474 cursor 423
Copy File(s) Action 474 Custom 456, 477, 766, 770, 771, 817
Copy Folder 495 custom date 296
Copy Folder Action 495 Custom Delimiter 770, 771
copy your actions 204 Custom Designer 215
copy/paste 712, 715 Custom Dialog 212
Count 290, 803 Custom Format 766
cpolumn 719 custom messages 90
Create 493, 637, 804 Custom Objects 817, 820, 822
create exe 156 Cut 162
Create Folder 493
Create Folder Action 493 -D-
Create FTP Directory 637
Create FTP Directory Action 637 Daily 111
Create Function 184 dat 329
Create New Folder into 493 data 236, 285, 402
Create New List 289, 804 data extraction 317
Create New Process 84, 85 data row 305, 308, 402
© 2018 Softomotive
Index 847
© 2018 Softomotive
848 WinAutomation Help
© 2018 Softomotive
Index 849
email message 645, 654, 657, 661, 722, 723, 726, Event Source 101, 117
728, 731, 733, 736 Event Type 117
empty 495, 804 Events list 115
Empty Folder 495 EventTriggerEventID 101
Empty Folder Action 495 EventTriggerEventLogName 101
empty list 804, 805 EventTriggerEventMessage 101
Empty Recycle Bin 356 EventTriggerEventSource 101
Empty Recycle Bin Action 356 EventTriggerEventType 101
empty temporary file 490 every item 307
empty text 93, 94, 95 exact number 305, 308, 309
Enable 91, 92, 191 example 63, 69, 74
Enable Action 191 Excel 286, 685, 686, 687, 692, 693, 695, 696, 697,
Enable Process 91, 92 700, 701, 703, 704, 706, 708, 710, 712, 715, 716,
Enable/Disable Actions 191 717, 718, 719, 720
Enabled/Disabled 81 Excel Category 685, 686, 687, 692, 693, 695, 696,
enables 359 697, 700, 701, 703, 704, 706, 708, 710, 712, 715,
716, 717, 718, 719, 720
end 587, 760
Excel document 685
End If 310, 391
excel file 286
End If Action 391
Excel Instance 164, 286, 685, 692, 696, 697, 700,
End Loop 403
701, 706, 708, 710, 712, 715, 716, 717, 718, 719, 720
End Loop Action 403
Exception 322, 325, 412
end of a conditional 391
Exception Block 325
End Process 432, 434, 435
Exception Handling 322, 325, 415
End Process Action 432, 434, 435
exceptions 172, 322, 325, 754
End To 399
Exchange 661, 665, 669, 672
EndIf 310
exchange connect 661
endless loop 306
exchange retrieve 665
Engine 738, 740
exchange server 661, 665, 669, 672
Enter License 129
Exclude Mask 502
Enter Password 622
exe 149, 153
entire screen 357, 364, 365
executable 87, 93, 94, 95, 148, 149, 153, 156, 752
environmental 361, 362, 363
execute 201, 431, 589, 682, 684, 785
environmental variable 361, 362, 363
Execute Next 200, 201
equal 310
Execute Next Action 200, 201
error 114, 115
Execute SQL Statement 682, 684
Error Handling 132, 147, 322, 325
Execute SQL Statement Action 682, 684
error icons 199
Execute step by step 201
error list 120
executed 310, 402
Error Message 432, 434, 435
executes 338, 749
Errors 132
executing 338
Errors Pane 160, 164, 172
execution 196, 432, 434, 435
event 103, 447
existing folder 494, 495, 497
Event Details 115
existing text 760
Event Log 101
Exists 290, 369, 370
Event Log Monitor 101
Exit 403
Event Log Monitor Trigger 101
© 2018 Softomotive
850 WinAutomation Help
© 2018 Softomotive
Index 851
© 2018 Softomotive
852 WinAutomation Help
© 2018 Softomotive
Index 853
© 2018 Softomotive
854 WinAutomation Help
© 2018 Softomotive
Index 855
logged in 105 Message Boxes Category 453, 456, 459, 460, 461,
logged on 204 464, 468, 470
logged out 328 met 310
logged-in 144 Method 613, 617
Logging 114 Microsoft 740
Logs 81, 120, 121 Microsoft's 148, 153
logs off 351 Minimize all Windows 353
Logs Window 114, 115 minimizes 524
Loop 200, 305, 306, 308, 399, 401, 403 Minimum 768
Loop Action 399 Minimum Length 768
Loop Condition 305, 306, 308, 401 Minute 290
Loop Condition Action 401 minutes 779, 781
LoopIndex 305, 308, 309 mode 144, 146
Loops 305, 308, 309, 399, 401, 402, 403 MODI 740
Loops Category 399, 401, 402, 403 modified 103
lowercase 761 modifier 451
Monitor 101, 103, 104, 105, 107, 108, 353, 364,
-M- 365
monitor email accounts 98
Macro Recorder 84, 85, 204, 205 Month 290
Macro Recorder Setting 205 Monthly 111
Macro Recorder Settings Dialog 205 More Information 499
macro recording 206 Mouse 423, 436, 437, 438, 439, 447, 449, 451,
452, 586
Main Window Handle 338, 524
Mouse and Keyboard 204, 436, 437, 438, 439,
Make Instance Visible 685
447, 449, 451, 452
Make Sequential 477
Mouse and Keyboard Category 436, 437, 438, 439,
Manage 227, 228, 329 447, 449, 451, 452
Manage Functions 184 Mouse Click 447
Manage Processes 329 mouse clicks 205
Manage Processes Database 329 mouse events 328
Manage Repository 230 mouse movement 144, 146
Manager 195 Mouse Moves 205
manually 93, 94, 95 Move 438, 439, 447, 475, 497, 532, 586
Massive Rename 203 Move File 475
match 327 Move File(s) 475
matches 327 Move File(s) Action 475
maximizes 524 Move Folder 497
Maximum 768 Move Folder Action 497
Maximum Length 768 Move Folders 87
menu 439, 509, 511, 586 Move Mouse 438, 439, 586
Menu Option 511 Move Mouse Action 438
Merge list 811 Move Mouse to element 586
message 645, 654, 657, 661, 665, 722, 723, 726, Move Mouse to Image 327, 439
728, 731, 733, 736
Move Mouse to Image Action 439
Message Boxes 453, 456, 459, 460, 461, 464,
Move Processes 87
468, 470
© 2018 Softomotive
856 WinAutomation Help
© 2018 Softomotive
Index 857
© 2018 Softomotive
858 WinAutomation Help
© 2018 Softomotive
Index 859
© 2018 Softomotive
860 WinAutomation Help
© 2018 Softomotive
Index 861
© 2018 Softomotive
862 WinAutomation Help
© 2018 Softomotive
Index 863
Store Result 756, 758, 762, 763, 765, 766, 770, System Startup 134
771, 775, 777, 781 System Tray 327
Store Result into 758, 762, 763, 765, 766, 771
Store Result Text
Store Retrieved DateTime
775, 777
778
-T-
Store Retrieved Subfolders into 491 tab 578, 760
Store Selected File 468 tables 289
Store Selected Folder 470 tabs 172
Store Special Folder Path into 499 tabular 289
Store Subdirectories into 627 Take 357, 611
Store Subtext 757 Take ScreenShot 357, 611
Store Temporary File 490 Take ScreenShot Action 357
Store Temporary File into 490 Take ScreenShot of web page 611
Store Text 761 Take ScreenShot of web page Action 611
Store Text with New Case 761 technical 115
Store Text with New Case into 761 Temporary File 490
Store the result into 779 terminate 346, 348
Store Trimmed Text into 760 Terminated 93, 94, 95, 108
Store User Input 460 terminates 107, 108
Store Web Page Text 613, 617 Tesseract 738
Store Zip File into 501 test 191
stored 164 Text 164, 286, 290, 424, 426, 449, 483, 504, 505,
Stored Renamed Files 477 544, 545, 592, 594, 599, 601, 755, 757, 758, 760,
String 682, 684 765, 766, 770, 771, 773
Subdirectories 627 Text Actions 755, 756, 757, 758, 760, 761, 762,
763, 765, 766, 768, 770, 771, 773, 775, 777
subfolders 494, 495
Text Actions Category 755, 756, 757, 758, 760,
Subject 645, 654, 657, 723, 726, 728, 731, 733
761, 762, 763, 765, 766, 768, 770, 771, 773, 775, 777
subnet 359
Text Case 761
substrings 771
text elements 771
subtext 773, 775, 777
text field 545
Subtract 781, 815
text file 147
Subtract Dates 781
Text Length 755
Subtract Dates Action 781
Text to Add 477
Subtract Lists 815
Text to Convert 762, 765
Subtract Lists Action 815
Text to Convert: 761
subtracts 779
Text to DateTime 765
success 106
Text to Find 773
suspends 352, 404, 405, 407, 409, 411, 412, 423,
Text to Measure 755
424, 426
Text to Number 762
sync 639
Text to Pad 758
synchronization 639
Text to Parse 773, 775, 777
synchronize 639
Text to Remove 477
System 338, 340, 349, 350, 351, 352, 354, 355,
356, 357, 359, 364, 365 Text to Replace 477
System Category 338, 340, 349, 350, 351, 352, Text to store into Clipboard 505
354, 355, 356, 357, 359, 364, 365 Text to Trim 760
© 2018 Softomotive
864 WinAutomation Help
© 2018 Softomotive
Index 865
© 2018 Softomotive
866 WinAutomation Help
© 2018 Softomotive
In the Process Designer, variable management has been enhanced by allowing users to close the 'Variables Manager' dialog with the Esc key, streamlining the user experience . Additionally, error handling has improved by introducing informative exception messages for FTP-related actions and throwing exceptions if both window name and class are not set in Windows-related actions . In regex operations, the 'Parse Text' action now throws an exception if an invalid regex is provided . These enhancements collectively refine user interaction and error management within the process design workflow.
Enhancements to FTP actions in the latest WinAutomation release include the introduction of descriptive exception messages for errors encountered during secure FTP connections . Corrections have been made to ensure the 'Download Folder from FTP' action no longer alters the working directory . Additionally, issues with certain servers where 'Open Secure FTP Connection' failed are now resolved . These changes improve reliability and ease of troubleshooting in FTP operations.
Enhancements to 'Extract Data From Web' improve data extraction efficiency by ensuring pager elements like 'Next Page' are recognized even in complex configurations, addressing issues of incomplete data collection from multi-page sources . Further improvements corrected the action to handle dropdowns by extracting all options rather than just the selected ones, enhancing data comprehensiveness . Additionally, the extraction process now omits excess information injected by the Skype plugin, focusing only on relevant data . These updates streamline data extraction tasks, increase action reliability, and ensure cleaner, more comprehensive data retrieval.
Changes to the Process Designer interface include allowing users to specify hotkeys for renaming variables and conducting step-by-step execution during debugging . Panes within the Process Designer can now be relocated, providing users the flexibility to customize their workspace layout to their preferences . Furthermore, a dedicated comment action box now defaults to focus, encouraging documentation and context-keeping during process design . These changes improve usability by enabling personalization, enhancing the debugging workflow, and promoting clearer process documentation.
The latest version of WinAutomation introduced several improvements for handling web element extraction errors. Firstly, the "Extract Data From Web Page" action now identifies complex pager elements like "Next Page" to prevent missing information in data extraction . Additionally, errors in element extraction due to incorrect div element recognition on Yahoo-powered websites have been corrected, addressing mistaken rich text editor identification . Furthermore, phantom variable errors caused by unescaped percentage signs in table headers are now automatically handled . These updates collectively enhance accuracy and reliability in web element data extraction, resolving prior issues with improper content extraction and unhandled exceptions.
The modifications to the 'Display Notification' action enhance its functionality in console-based WinAutomation processes by ensuring that notification messages are now consistently output to the command prompt console, even when the 'Display Notifications' option is unchecked in the Compiler dialog . This change guarantees visibility of important process messages and addresses issues of communication reliability by maintaining notification integrity irrespective of dialog settings, thus providing more robust logging and debugging opportunities for developers.
WinAutomation has added support for Internet Explorer 10 in its latest update. The "Launch New Internet Explorer" action's output variable now includes a .Handle property, which returns the handle of the browser's window. This property can be used with window-related actions (like move, resize, or focus) that require a window handle as input . These enhancements improve user control over browser instances for more efficient automation processes.
The updated version of WinAutomation addresses scheduling and trigger issues by refining how triggers function. Previously, copying a process with triggers necessitated a service restart for the new process's triggers to function; this has been corrected . Additionally, issues where scheduled triggers executed prematurely by several minutes have been addressed, enhancing accuracy and timing consistency . These improvements ensure reliable and precise process execution scheduling, reducing potential for human error and process mismanagement.
Design improvements to the Error Handling and Process Designer options include the addition of color coding for nested regions, offering a visually intuitive means to distinguish between different process structures . The Debugger Option allows for customizable delay times between actions, facilitating better visual tracking of process execution and improving debugging efficiency . These enhancements contribute significantly to user experience by increasing clarity in process visualization and allowing for customized debugging controls, which is particularly beneficial for complex automation workflows.
The updates to text actions enhance functionality by offering a broad array of operations for text manipulation. The 'Trim Text' action removes leading and trailing whitespaces efficiently, crucial for data sanitization and uniformity . The 'Change Text Case' action allows for comprehensive case transformations—uppercase, lowercase, title, or sentence case—accommodating diverse use-case requirements . Furthermore, the 'Convert Text to Number' action ensures accurate conversion of numeric text representations into a numeric variable, a critical function for arithmetic operations . These improvements provide a robust set of tools for handling and transforming text data, key for automating text-intensive tasks.