KEMBAR78
WinAutomationHelp V7 | PDF | File Transfer Protocol | Window (Computing)
0% found this document useful (0 votes)
35 views742 pages

WinAutomationHelp V7

help file

Uploaded by

mamie52876
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views742 pages

WinAutomationHelp V7

help file

Uploaded by

mamie52876
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 742

User manual for

Version 7

© 2018 Softomotive
Table of Contents

1 WinAutomation 11
1.1 Introduction .................................................................................... 12
1.2 Main Features ................................................................................. 12
1.3 Requirements ................................................................................. 13
1.4 Editions ............................................................................................ 13
1.5 What's New? ................................................................................... 15
1.6 About Softomotive ......................................................................... 53
1.7 Purchasing WinAutomation ............................................................ 54

2 Getting Started 55
2.1 Create a simple Robot - Part 1 ...................................................... 56
2.2 Create a simple Robot - Part 2 ...................................................... 61
2.3 Create a simple Robot - Part 3 ...................................................... 66

3 Using WinAutomation 71
3.1 The Console ..................................................................................... 72
3.1.1 Robots .................................................................................................................. 73
3.1.1.1 Robots Tab ........................................................................................................ 73
3.1.1.2 C reate a new Folder ........................................................................................... 74
3.1.1.3 C reate a new Robot ........................................................................................... 75
3.1.1.4 Move Robots/Folders .......................................................................................... 77
3.1.1.5 Import/Export a robot ........................................................................................ 77
3.1.1.6 Run/Stop a robot ............................................................................................... 79
3.1.1.7 The Notification Popup Window ............................................................................ 79
3.1.1.8 Enable/Disable a Robot ....................................................................................... 81
3.1.1.9 Find Robot ......................................................................................................... 81
3.1.2 Triggers ................................................................................................................ 82
3.1.2.1 What Triggers Are .............................................................................................. 82
3.1.2.2 Trigger Variables ............................................................................................... 83
3.1.2.3 Triggers Tab ...................................................................................................... 83
3.1.2.4 How to set a Trigger for a Robot .......................................................................... 85
3.1.2.5 Trigger Types .................................................................................................... 87
Email Monitor Trigger ..................................................................................... 87
Event Log Monitor Trigger ............................................................................... 89
File Monitor Trigger ........................................................................................ 91
Hotkey Trigger .............................................................................................. 92
Idle Monitor Trigger ....................................................................................... 93
Ping Trigger .................................................................................................. 94
Service Monitor Trigger .................................................................................. 95
Process Monitor Trigger .................................................................................. 96
3.1.3 Scheduler ............................................................................................................. 97
3.1.3.1 Scheduler Tab ................................................................................................... 98
3.1.3.2 Schedule ........................................................................................................... 99
3

3.1.3.3 Recurring Schedule .......................................................................................... 101


3.1.4 Logs .................................................................................................................... 101
3.1.4.1 Logging in WinAutomation ................................................................................. 101
3.1.4.2 Logs Tab ......................................................................................................... 102
3.1.4.3 Filtering Log Messages ...................................................................................... 104
3.1.4.4 Viewing Log Messages for Robot ........................................................................ 105
3.1.4.5 C lear Logs ....................................................................................................... 107
3.1.5 Options ............................................................................................................... 107
3.1.5.1 General Tab ..................................................................................................... 108
3.1.5.2 License Tab ..................................................................................................... 109
3.1.5.3 FTP Tab ........................................................................................................... 113
3.1.5.4 Email/SMTP Tab ............................................................................................... 114
3.1.5.5 Addons Tab ..................................................................................................... 114
3.1.5.6 Authentication Tab ............................................................................................ 116
3.1.5.7 Error Handling Tab ........................................................................................... 117
3.1.5.8 Maintenance tab ............................................................................................... 118
3.1.6 Robots Status Monitor ........................................................................................ 119
3.1.6.1 Status Monitor Window ...................................................................................... 119
3.2 Robot Properties .......................................................................... 122
3.2.1 General ............................................................................................................... 123
3.2.2 Run Policy ........................................................................................................... 126
3.2.3 Concurrency Policy ............................................................................................ 128
3.2.4 Error Handling .................................................................................................... 129
3.3 Generate EXE ................................................................................ 130
3.3.1 What is a compiled Robot .................................................................................. 130
3.3.2 Compiler Window ............................................................................................... 131
3.3.3 Compiled Robots and Triggers/Schedules ........................................................ 135
3.3.4 Tokens ................................................................................................................ 135
3.3.4.1 Get Tokens ...................................................................................................... 137
3.3.4.2 What is the C ompilation ID? .............................................................................. 139
3.3.4.3 What is the activation code and how can I set it? ................................................. 140
3.3.4.4 Why should I use the activation code? ................................................................ 141
3.3.4.5 How Tokens are being consumed? ..................................................................... 142
3.3.4.6 Available Tokens .............................................................................................. 142
3.4 The Robot Designer ...................................................................... 144
3.4.1 The Actions' Pane .............................................................................................. 146
3.4.2 The Workspace .................................................................................................. 146
3.4.3 The Variables Pane ............................................................................................ 148
3.4.4 The Variables Visualizer Window ....................................................................... 150
3.4.5 The Errors Pane ................................................................................................. 155
3.4.6 The Control Repository pane ............................................................................. 157
3.4.7 The Image Repository pane .............................................................................. 159
3.4.8 Functions ............................................................................................................ 160
3.4.9 Managing Functions ........................................................................................... 161
3.4.10 Adding an Action ................................................................................................ 162
3.4.11 Configuring an Action ........................................................................................ 164
3.4.12 Enable/Disable Actions ..................................................................................... 166
3.4.13 Organize your Actions with Regions .................................................................. 167
3.4.14 Adding Comments .............................................................................................. 168
3.4.15 The Variables Manager Window ......................................................................... 170
3.4.16 Robot Designer Options ..................................................................................... 171
3.4.17 Robot Designer Custom Layout .......................................................................... 173
3.5 The Debugger ............................................................................... 174

© 2018 Softomotive
3.5.1 Run/Stop/Pause a Robot from Robot Designer ................................................. 174
3.5.2 Adding Breakpoints ............................................................................................ 175
3.5.3 Execute step by step ......................................................................................... 176
3.5.4 Rename a Variable ............................................................................................. 177
3.6 The Macro Recorder ...................................................................... 178
3.6.1 Simulating the activity of a user ....................................................................... 178
3.6.2 Recording vs Building a Robot ........................................................................... 178
3.6.3 Starting the Macro Recoder ............................................................................... 179
3.6.4 Macro Recorder .................................................................................................. 180
3.7 The Custom Dialog Designer ........................................................ 185
3.7.1 Designing a Custom Dialog ................................................................................ 185
3.8 UI Automation .............................................................................. 194
3.8.1 UI Automation Overview .................................................................................... 194
3.8.2 UI Elements - Select Controls ............................................................................ 196
3.8.3 Manage Control Repository ................................................................................ 200
3.8.4 Manage Image Repository ................................................................................. 201
3.8.5 Manage UI Selectors .......................................................................................... 202
3.8.6 Building UI Selectors ......................................................................................... 206
3.8.7 UI Data Extraction ............................................................................................. 209
3.9 Web Automation ........................................................................... 210
3.9.1 Web Automation Overview ................................................................................ 210
3.9.2 Building a WebAutomation Robot ...................................................................... 212
3.9.3 The Web Recorder .............................................................................................. 219
3.9.4 Web Data Extraction Part I ................................................................................ 228
3.9.5 Web Data Extraction Part II .............................................................................. 235
3.9.6 Web Data Extraction Part III ............................................................................. 238
3.9.7 Configure Internet Explorer for Web Automation ............................................. 240
3.9.8 Configure Internet Explorer for Servers ........................................................... 244
3.9.9 Actual Internet Explorer VS Automated Broswer .............................................. 246
3.9.10 Web Helpers Offset ............................................................................................ 247

4 Advanced Topics 249


4.1 Add-ons ......................................................................................... 250
4.1.1 What is an Add-on? ............................................................................................ 250
4.1.2 Install and Remove Add-ons ............................................................................. 250
4.2 Variables ....................................................................................... 251
4.2.1 Data Types ......................................................................................................... 252
4.2.2 Lists .................................................................................................................... 254
4.2.3 Data Tables ........................................................................................................ 255
4.2.4 Data type Properties .......................................................................................... 255
4.2.5 Persistent Variables ........................................................................................... 258
4.2.6 External Variables ............................................................................................. 262
4.2.7 Custom Date Formats ........................................................................................ 262
4.3 Loops ............................................................................................ 264
4.3.1 Simple Loops ...................................................................................................... 265
4.3.2 Loop Condition ................................................................................................... 266
4.3.3 For Each ............................................................................................................. 267
4.4 Connecting to a Database ............................................................ 267
4.4.1 Connect to Excel or Access Database ............................................................... 268
4.4.2 Connection Strings and Drivers ......................................................................... 268
4.5 Conditionals .................................................................................. 269
5

4.5.1 If/Else/EndIf ..................................................................................................... 270


4.5.2 If Variations ....................................................................................................... 271
4.6 CSS Selectors ............................................................................... 272
4.7 % and \% Notation ...................................................................... 276
4.8 Exception Handling ....................................................................... 276
4.9 Exception Block ............................................................................. 279
4.10 WinAutomation on the System Tray ............................................ 281
4.11 Image Recognition ....................................................................... 281
4.12 Interactive/Non Interactive Robots ............................................ 282
4.13 Manage Robots Database ............................................................ 283
4.14 Controlling WinAutomation from the command line .................... 283
4.15 Valid Key Codes for the Send Keys Action .................................. 286
4.16 Copy/Paste Controls .................................................................... 289

5 Actions Reference 290


5.1 System .......................................................................................... 291
5.1.1 Run Application Action ....................................................................................... 291
5.1.2 Run DOS Command Action .................................................................................. 293
5.1.3 Run VBScript Action ............................................................................................ 295
5.1.4 Run Javascript Action ........................................................................................ 298
5.1.5 Run PowerShell Script ........................................................................................ 299
5.1.6 Terminate Process Action .................................................................................. 301
5.1.7 Print Document Action ....................................................................................... 302
5.1.8 Get Default Printer Action .................................................................................. 303
5.1.9 Set Default Printer Action .................................................................................. 303
5.1.10 Log Off User Action ............................................................................................ 304
5.1.11 Shutdown Computer Action ................................................................................ 305
5.1.12 Show Desktop Action ......................................................................................... 306
5.1.13 Lock Workstation Action .................................................................................... 307
5.1.14 Play Sound Action .............................................................................................. 308
5.1.15 Empty Recycle Bin Action .................................................................................. 309
5.1.16 Take ScreenShot Action ..................................................................................... 310
5.1.17 Control Screen Saver Action .............................................................................. 312
5.1.18 Ping Action ......................................................................................................... 312
5.1.19 Set Environmental Variable Action .................................................................... 314
5.1.20 Get Environmental Variable Action ................................................................... 315
5.1.21 Delete Environmental Variable Action .............................................................. 316
5.1.22 Get Screen Resolution Action ............................................................................ 317
5.1.23 Set Screen Resolution Action ............................................................................. 318
5.2 Conditionals .................................................................................. 321
5.2.1 If Action ............................................................................................................. 321
5.2.2 If File Exists Action ............................................................................................ 322
5.2.3 If Folder Exists Action ....................................................................................... 323
5.2.4 If Service Action ................................................................................................ 325
5.2.5 If Process Action ................................................................................................ 326
5.2.6 If Window Action ................................................................................................ 327
5.2.7 If Image Action .................................................................................................. 330
5.2.8 If Window Contains Action ................................................................................. 332
5.2.9 If Web Page Contains Action ............................................................................. 336

© 2018 Softomotive
5.2.10 Else Action ......................................................................................................... 338
5.2.11 Else If Action ...................................................................................................... 338
5.2.12 End If Action ...................................................................................................... 340
5.3 Loops ............................................................................................ 341
5.3.1 Loop Action ........................................................................................................ 341
5.3.2 Loop Condition Action ........................................................................................ 343
5.3.3 For Each Action .................................................................................................. 344
5.3.4 Exit Loop Action ................................................................................................. 345
5.3.5 End Loop Action ................................................................................................. 345
5.4 Wait ............................................................................................... 346
5.4.1 Wait Action ......................................................................................................... 346
5.4.2 Wait for File Action ............................................................................................ 347
5.4.3 Wait for HotKey Action ....................................................................................... 349
5.4.4 Wait for Process Action ..................................................................................... 351
5.4.5 Wait for Service Action ...................................................................................... 353
5.4.6 Wait for Window Action ...................................................................................... 354
5.4.7 Wait for Image Action ........................................................................................ 357
5.4.8 Wait for Mouse Action ........................................................................................ 360
5.4.9 Wait for Window Content Action ........................................................................ 361
5.4.10 Wait for Web Page Content Action ..................................................................... 363
5.5 Flow Control .................................................................................. 366
5.5.1 Label Action ....................................................................................................... 366
5.5.2 Go To Action ....................................................................................................... 367
5.5.3 Run Function Action ........................................................................................... 368
5.5.4 Exit Function Action ........................................................................................... 368
5.5.5 Stop Robot Action ............................................................................................... 369
5.5.6 Begin Exception Block Action ............................................................................ 371
5.5.7 End Exception Block Action ............................................................................... 372
5.6 Mouse and Keyboard .................................................................... 373
5.6.1 Block Input Action .............................................................................................. 373
5.6.2 Get Mouse Position Action ................................................................................. 374
5.6.3 Move Mouse Action ............................................................................................ 375
5.6.4 Move Mouse to Image Action ............................................................................. 376
5.6.5 Send Mouse Click Action .................................................................................... 380
5.6.6 Send Keys Action ............................................................................................... 382
5.6.7 Press/Release Key Action ................................................................................. 384
5.6.8 Set Key State Action .......................................................................................... 385
5.7 Message Boxes ............................................................................. 386
5.7.1 Display Message Action ..................................................................................... 386
5.7.2 Display Custom Dialog Action ............................................................................ 389
5.7.3 Display Notification Action ................................................................................ 392
5.7.4 Display Input Dialog Action ............................................................................... 393
5.7.5 Display Select Date Dialog ................................................................................. 394
5.7.6 Display Select From List Dialog Action .............................................................. 397
5.7.7 Display Select File Dialog Action ....................................................................... 401
5.7.8 Display Select Folder Dialog Action .................................................................. 403
5.8 Files ............................................................................................... 405
5.8.1 Get Files in Folder Action .................................................................................. 405
5.8.2 Copy File(s) Action ............................................................................................ 407
5.8.3 Move File(s) Action ............................................................................................ 408
5.8.4 Delete File(s) Action .......................................................................................... 410
5.8.5 Rename File(s) Action ....................................................................................... 410
7

5.8.6 Read Text from File Action ................................................................................ 415


5.8.7 Write Text to File Action .................................................................................... 416
5.8.8 Read From CSV File Action ................................................................................. 418
5.8.9 Write to CSV File Action ..................................................................................... 419
5.8.10 Get FilePath Part Action ..................................................................................... 421
5.8.11 Get Temporary File Action ................................................................................. 423
5.9 Folders .......................................................................................... 424
5.9.1 Get Subfolders in Folder Action ......................................................................... 424
5.9.2 Create Folder Action .......................................................................................... 426
5.9.3 Delete Folder Action .......................................................................................... 427
5.9.4 Empty Folder Action .......................................................................................... 428
5.9.5 Copy Folder Action ............................................................................................. 428
5.9.6 Move Folder Action ............................................................................................ 430
5.9.7 Rename Folder Action ........................................................................................ 431
5.9.8 Get Special Folder Action .................................................................................. 432
5.10 Compression ................................................................................. 434
5.10.1 Zip Files Action .................................................................................................. 434
5.10.2 Unzip Files Action .............................................................................................. 435
5.11 Clipboard ....................................................................................... 437
5.11.1 Get Clipboard Text Action .................................................................................. 437
5.11.2 Set Clipboard Text Action .................................................................................. 438
5.11.3 Clear Clipboard Contents Action ........................................................................ 439
5.12 UI and Windows ............................................................................ 440
5.12.1 Use Desktop Action ............................................................................................ 440
5.12.2 Select Tab in Window Action .............................................................................. 442
5.12.3 Click Element in Window Action ......................................................................... 443
5.12.4 Select Menu Option in Window Action ................................................................ 444
5.12.5 Drag and Drop Element in Window Action ......................................................... 446
5.12.6 Expand / Collapse Tree Node in Window Action ............................................... 448
5.12.7 Windows ............................................................................................................. 450
5.12.7.1 Get Window Action ........................................................................................... 450
5.12.7.2 Focus Window Action ........................................................................................ 453
5.12.7.3 Set Window State Action ................................................................................... 457
5.12.7.4 Set Window Visibility Action ............................................................................... 461
5.12.7.5 Move Window Action ......................................................................................... 465
5.12.7.6 Resize Window Action ....................................................................................... 469
5.12.7.7 C lose Window Action ........................................................................................ 473
5.12.8 Form Filling ........................................................................................................ 477
5.12.8.1 Focus Text Field in Window Action ...................................................................... 477
5.12.8.2 Populate Text Field in Window Action .................................................................. 478
5.12.8.3 Press Button in Window Action ........................................................................... 480
5.12.8.4 Select Radio Button in Window Action ................................................................. 481
5.12.8.5 Set C heckbox State in Window Action ................................................................ 481
5.12.8.6 Set Dropdown List Value in Window Action .......................................................... 482
5.12.9 Data Extraction .................................................................................................. 485
5.12.9.1 Get Details of Window Action ............................................................................. 485
5.12.9.2 Get Details of Element in Window Action ............................................................. 487
5.12.9.3 Get Selected C heckboxes in Window Action ........................................................ 489
5.12.9.4 Get Selected Radiobutton in Window Action ......................................................... 490
5.12.9.5 Extract Data from Window Action ....................................................................... 492
5.13 Web Automation ........................................................................... 495
5.13.1 Launch New Internet Explorer Action ............................................................... 495

© 2018 Softomotive
5.13.2 Go to Web Page Action ....................................................................................... 499
5.13.3 Click Link on Web Page Action ........................................................................... 501
5.13.4 Click Download Link on Web Page Action .......................................................... 503
5.13.5 Hover Mouse over element on Web Page Action .............................................. 505
5.13.6 Close Internet Explorer Action .......................................................................... 506
5.13.7 Web Forms ......................................................................................................... 507
5.13.7.1 Focus Text Field on Web Page Action .................................................................. 507
5.13.7.2 Populate Text Field on Web Page Action .............................................................. 509
5.13.7.3 Set C heckbox State on Web Page Action ............................................................ 511
5.13.7.4 Select Radio Button on Web Page Action ............................................................. 514
5.13.7.5 Set DropDown List Value on Web Page Action ..................................................... 516
5.13.7.6 Press Button on Web Page Action ....................................................................... 518
5.13.8 Web Data Extraction .......................................................................................... 521
5.13.8.1 Extract Data from Web Page Action .................................................................... 521
5.13.8.2 Get Details of Web Page Action .......................................................................... 523
5.13.8.3 Get Details of Element on Web Page Action ......................................................... 524
5.13.8.4 Take Screenshot of Web Page Action ................................................................. 526
5.13.9 Direct Web Access ............................................................................................. 528
5.13.9.1 Download from Web Action ............................................................................... 528
5.13.9.2 Invoke Web Service Action ............................................................................... 532
5.14 FTP ................................................................................................ 537
5.14.1 Open FTP Connection Action .............................................................................. 537
5.14.2 Open Secure FTP Connection Action .................................................................. 539
5.14.3 Close FTP Connection Action ............................................................................. 542
5.14.4 List FTP Directory Action ................................................................................... 542
5.14.5 Change Working Directory Action ..................................................................... 544
5.14.6 Download File(s) from FTP Action ..................................................................... 545
5.14.7 Download Folder(s) from FTP Action ................................................................ 546
5.14.8 Upload File(s) to FTP Action .............................................................................. 548
5.14.9 Upload Folder(s) to FTP Action ......................................................................... 549
5.14.10 Delete FTP File Action ........................................................................................ 550
5.14.11 Rename FTP File Action ..................................................................................... 551
5.14.12 Create FTP Directory Action .............................................................................. 552
5.14.13 Delete FTP Directory Action .............................................................................. 553
5.14.14 Synchronize FTP Directory Action ..................................................................... 554
5.14.15 Invoke FTP Command Action ............................................................................. 558
5.15 Email ............................................................................................. 560
5.15.1 Retrieve Emails Action ....................................................................................... 560
5.15.2 Process Emails Action ........................................................................................ 569
5.15.3 Send Email Action .............................................................................................. 572
5.16 Cmd Session ................................................................................. 576
5.16.1 Open Cmd Session .............................................................................................. 576
5.16.2 Close Cmd Session ............................................................................................. 578
5.16.3 Write to Cmd Session ......................................................................................... 578
5.16.4 Read from Cmd Session ..................................................................................... 580
5.16.5 Wait for Text on Cmd Session ............................................................................ 582
5.17 Database ....................................................................................... 583
5.17.1 Open SQL Connection ......................................................................................... 583
5.17.2 Execute SQL Statement Action .......................................................................... 583
5.17.3 Close SQL Connection ........................................................................................ 585
5.18 Excel .............................................................................................. 586
5.18.1 Launch Excel Action ........................................................................................... 586
9

5.18.2 Attach to Running Excel Action .......................................................................... 587


5.18.3 Close Excel Action .............................................................................................. 588
5.18.4 Set Active Worksheet Action ............................................................................. 590
5.18.5 Add New Worksheet Action ................................................................................ 591
5.18.6 Delete Excel Worksheet Action ......................................................................... 592
5.18.7 Rename Excel Worksheet Action ....................................................................... 593
5.18.8 Get Active Excel Worksheet Action ................................................................... 595
5.18.9 Get All Excel Worksheets Action ....................................................................... 596
5.18.10 Activate Cell in Excel Worksheet Action ........................................................... 598
5.18.11 Select Cells in Excel Worksheet Action ............................................................. 600
5.18.12 Get Selected Cell Range From Excel Worksheet Action .................................... 602
5.18.13 Copy Cells in Exel Worksheet Action ................................................................. 604
5.18.14 Paste Cells to Excel Worksheet Action .............................................................. 607
5.18.15 Insert Row in Excel Worksheet Action .............................................................. 608
5.18.16 Delete Row from Excel Worksheet Action ......................................................... 609
5.18.17 Insert Column to Excel Worksheet Action ......................................................... 610
5.18.18 Delete Column from Excel Worksheet Action .................................................... 612
5.18.19 Get First Free Column/Row Action .................................................................... 613
5.18.20 Get First Free Row on Column from Excel Worksheet Action ........................... 614
5.18.21 Read from Excel Action ...................................................................................... 615
5.18.22 Write to Excel Action ......................................................................................... 619
5.19 Outlook ......................................................................................... 620
5.19.1 Launch Outlook Action ....................................................................................... 620
5.19.2 Retrieve Email Messages From Outlook Action ................................................. 621
5.19.3 Send Email Through Outlook Action .................................................................. 624
5.19.4 Process Email Messages in Outlook Action ....................................................... 627
5.19.5 Save Outlook Email Messages Action ................................................................ 630
5.19.6 Respond To Outlook Email Message Action ....................................................... 632
5.19.7 Close Outlook Action .......................................................................................... 635
5.20 Services ........................................................................................ 637
5.20.1 Start Service Action ........................................................................................... 637
5.20.2 Stop Service Action ............................................................................................ 638
5.20.3 Pause Service Action ......................................................................................... 639
5.20.4 Resume Service Action ...................................................................................... 640
5.21 WinAutomation Actions ................................................................ 641
5.21.1 Start Robot Action .............................................................................................. 641
5.21.2 Get Command Line Arguments Action ............................................................... 642
5.21.3 Get Robot's Path Action ..................................................................................... 643
5.21.4 Log Message Action ........................................................................................... 644
5.21.5 Get Last Exception Action .................................................................................. 645
5.22 Text Actions .................................................................................. 646
5.22.1 Get Text Length Action ...................................................................................... 646
5.22.2 Append Line to Text Action ................................................................................ 647
5.22.3 Get Subtext Action ............................................................................................. 648
5.22.4 Pad Text Action .................................................................................................. 649
5.22.5 Trim Text Action ................................................................................................ 651
5.22.6 Change Text Case Action ................................................................................... 652
5.22.7 Convert Text to Number Action ......................................................................... 653
5.22.8 Convert Number to Text Action ......................................................................... 654
5.22.9 Convert Text to DateTime Action ...................................................................... 656
5.22.10 Convert DateTime to Text Action ...................................................................... 657
5.22.11 Create Random Text Action ............................................................................... 659
5.22.12 Join Text Action ................................................................................................. 661

© 2018 Softomotive
5.22.13 Split Text Action ................................................................................................. 662
5.22.14 Parse Text Action ............................................................................................... 664
5.22.15 Replace Text Action ........................................................................................... 666
5.22.16 Escape Text for Regular Expression Action ...................................................... 668
5.23 DateTime Actions ......................................................................... 669
5.23.1 Get Current Date and Time Action ..................................................................... 669
5.23.2 Add to DateTime Action ..................................................................................... 670
5.23.3 Subtract Dates Action ........................................................................................ 672
5.24 XML Actions .................................................................................. 673
5.24.1 Read XML from File Action ................................................................................. 673
5.24.2 Write XML to File Action ..................................................................................... 674
5.24.3 Execute XPath Expression Action ...................................................................... 676
5.24.4 Get XML Element Attribute Action ...................................................................... 677
5.24.5 Set XML Element Attribute Action ...................................................................... 679
5.24.6 Remove XML Element Attribute Action .............................................................. 681
5.24.7 Get XML Element Value Action ........................................................................... 682
5.24.8 Set XML Element Value Action ........................................................................... 684
5.24.9 Insert XML Element Action ................................................................................. 685
5.24.10 Remove XML Element Action .............................................................................. 687
5.25 Variables Actions .......................................................................... 688
5.25.1 Set Variable Action ............................................................................................ 688
5.25.2 Increase Variable Action ................................................................................... 689
5.25.3 Decrease Variable Action .................................................................................. 690
5.25.4 Truncate Number Action .................................................................................... 691
5.25.5 Generate Random Number Action ..................................................................... 692
5.25.6 Get Items Count Action ...................................................................................... 694
5.25.7 Create New List Action ....................................................................................... 695
5.25.8 Clear List Action ................................................................................................. 696
5.25.9 Add Item to List Action ...................................................................................... 697
5.25.10 Remove Item from List Action ........................................................................... 698
5.25.11 Sort List Action ................................................................................................... 699
5.25.12 Shuffle List Action .............................................................................................. 701
5.25.13 Merge Lists ......................................................................................................... 702
5.25.14 Reverse List Action ............................................................................................ 703
5.25.15 Remove Duplicate Items from List Action ......................................................... 704
5.25.16 Find Common List Items Action ......................................................................... 705
5.25.17 Subtract Lists Action .......................................................................................... 706
5.25.18 Retrieve DataTable Column into List Action ...................................................... 707
5.26 PDF Actions ................................................................................... 709
5.26.1 Extract Images From PDF Action ...................................................................... 709
5.26.2 Extract Text From PDF ....................................................................................... 712
5.27 Synchronization Actions ............................................................... 715
5.27.1 Lock Handle Action ............................................................................................ 715
5.27.2 Release Handle Action ....................................................................................... 716
1. WinAutomation
1 WinAutomation
1.1 Introduction
WinAutomation is your complete solution for automating all your repetitive tasks. It has
the ability to launch and use applications as if it were you yourself doing the work.

It can monitor and process your incoming emails or send email on your behalf, cutting
your time spent organizing and communicating in half. It can manipulate files, create,
copy, delete, rename, compress, read and write to them. It can also interact with
Excel to read and write data to worksheets.

WinAutomation can also navigate to web sites; fill in web forms with your data and
screen-scape web pages. You can use it to extract any kind of data and create all
kind of reports. You can use it to migrate data from one application to another or even
from one website to another. You can automate FTP transfers and talk to your
databases.

You can instruct it to make decisions just as you would. It can handle unexpected
situations by implementing actions prepared by you. If a task is not successfully
completed it can send you an email. Gone is the worry about a mindless machine
carrying out illogical actions or making errors should one step of the usual routine be
off. WinAutomation smartly uses your preferences and direction to ensure that all
tasks and issues that come its way are dealt with exactly as you want them to be.

The list goes on and on but the conclusion is straightforward: WinAutomation can
handle all of the repetitive and mundane work that you currently do on your
computer.

1.2 Main Features


WinAutomation includes numerous powerful features that make it the ideal tool for
automating your repetitive tasks. The most important features are:

· Visual Robot Editor that lets you build automation Robots using Drag & Drop.

· 200+ predefined actions to combine for easy Robot-building.

· Macro Recorder that lets you record user interaction to automate tasks easily.

· UI Automation technology that allows direct handling of the different controls within
a window.

· Web Recorder that lets you record your activities while you navigate the web and
convert them into a Robot.

· Task Scheduler that lets you schedule and execute Robots while you are away.
WinAutomation 13

· Triggers that let you monitor your system, and respond to events (e.g., when a file
is created or modified, when a HotKey is pressed, when system is idle and more).

· Integrated Debugger to inspect and debug your tasks while running.

· Support for Variables and Data Types.

· Autologin to unlock/login to a workstation upon running a Robot.

· Advanced Flow Control capabilities, Conditionals, Loops, nested Loops and


Functions.

· Advanced Error Handling to create Robots that compensate for and handle errors
gracefully.

· Image Recognition technology that literally "sees the screen" to help you automate
non-standard interfaces or applications over remote sessions.

· Robot Compiler (Pro Edition only) for compiling your tasks into autonomous exe files
that you can distribute and run without having WinAutomation installed.

· Control Repository for storing all the accessible controls of a Robot and advanced
editing.

· Real Time Robot Status monitoring.

· Dynamic debugging with the ability to change variable values on the run.

1.3 Requirements
Client Operating System: Windows Vista, Windows 7, Windows 8 or 8.1, Windows 10
(both 32 bit and 64 bit versions)

Server Operating System: Windows 2008 or Windows 2012 or Windows 2016

Internet Explorer version: 8.0 or higher

1.4 Editions
WinAutomation is available in three different editions:

WinAutomation 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.

© 2018 Softomotive
WinAutomation Professional Edition:
Includes all the features of the Basic Edition plus:

· The Robot Compiler 130 which allows the user to compile any Robot into a stand-alone

.net exe file that can be distributed and run on other computers.

· The Autologin 116 feature that will unlock or login to the workstation before running a
Robot.

· The Secure Screen feature, which enhances Security for Robots that are scheduled
to run unattended, in order to run without the user being able to see the screen.
This option will turn the screen blue while the Robot is running. The only visible
window will be the Notification Window.

· Password Protected Robots, which allows the user to set a password for a Robot and
protect sensitive data. Once setting a password, the user will be able to run the
Robot normally, however for editing it they will be prompted to enter the password.

· Maximum Running Time for Robot(s), which allows the user to set a maximum running
time for a Robot, to avoid situations where it is not executed as intended.

· Concurrency Policy and Queuing Robots, according to which the user can limit the
number of Robot instances running concurrently and he is given the option for
queueing or discarding Robots once the set limit of instances is reached.

· Error Handling in robots that allow performing specific action upon the failure of a
robot.

· Find Robot feature to search for robots within the database.

· Schedules which allows users to set robots run on a specific time period.

· Vast variety of some more advanced actions.

WinAutomation Professional Plus Edition:


Includes all the features of the Professional Edition plus:

· A range of actions being used only in the Professional Plus edition.

The differences between the three Editions can be found at:

http://www.winautomation.com/edition-comparison/
WinAutomation 15

NOTE: Any robot exported by an upper edition WinAutomation, cannot be imported to


a lower edition.

1.5 What's New?


Version 7.0.2

Added: Compiled Robots files under the User’s folder are removed after installing a new version.

Improved: WinAutomation Console is now remembering the layout changes.

Improved: Handling temp files in a much more efficient way, creating a WinAutomation subfolder in
the Temp.

Improved: Autologin improvement, as now the password is being checked for being valid or not
before proceeding to the autologin.

Corrected: Issue with gear icon window visibility, in the properties of an action, when panes are
undocked is now resolved.

Corrected: Invoke Web Service action works now as expected in case of Error Code.

Corrected: Action "If Image" while checking the option to "Find All Images in List", was taking under
consideration only the second image.

Corrected: Correction in the "Retrieve Email Messages From Outlook" action when the sender is a
user of the same domain.

Corrected: Images captured from WinAutomation version 6 or earlier can now be opened.

Corrected: The error message thrown in action "Process Emails", while trying to move mails to a
folder that does not exist, is now refined.

Corrected: "Run Dos Command" action is not hanging anymore on specific commands.

Corrected: Action "Read Text from File" correctly handling special characters without breaking the
robot.

Corrected: Invalid Windows file name characters, are no longer acceptable in robot names.

Corrected: When copying "Drag and Drop Element in Window" action, controls were not copied along.

Version 7.0.1

© 2018 Softomotive
Improved: Default value in "Wait for Image" action, "Wait for Image to" action's input is now
"Appear".

Improved: Special characters in a robot's title are not allowed,when creating one.

Improved: Outlook accounts are now being read by name, case insensitive.

Corrected: Certain Robots' properties in General, Run&Concurrency Policy were not being saved
correctly.

Corrected: "Find Usages" option in variables, was generating an error when double clicked, after
deleting a variable or its associated actions.

Corrected: Error in Logs, appearing when terminating a process from the Task Manager is now fixed

Corrected: "Display Notification popup Window" option now preserves the users setting (checked-
unchecked) after restarting the machine.

Corrected: Closing all functions in a Robot Designer, was not allowing the opening of other functions.

Corrected: Action "Stop Robot" with error message was not working correctly.

Corrected: Action "Get First Free Row on Column from Excel Worksheet" was not working correctly.

Corrected: In action "Set DropDown List Value on Web Page", in Advanced tab, field "If a Pop-Up
Dialog Appears", when choosing option "Press a Button" the value set in the menu that was not being
saved.

Corrected: The Tab button was not working correctly in some actions' properties window.

Corrected: When selecting the "Default Layout" option in the Robot Designer, functions should revert
to their tab based view (or close).

Corrected: "Get Details of Window" action, when getting a Window's title was not returning any value

Version 7.0

General New Features


Added: Find Robot: A new option in the console, with which you are now able to search for your
robots.

Added: WinAutomation Controller: New option using the controller to export information about a
specific robot or the full database in XML.

Robot Designer
Added: Images Repository: Introducing the images repository. Similar to the control repository, now
all the images are being stored in the images repository.

Added: Remove Unused Controls: New option, to remove unused controls from the control repository.
This option, is offered in the images repository as well.
WinAutomation 17

Added: Reorder Selectors: Now, you have the ability to reorder the selectors in the control
repository.

Added: Find Usages: New feature with which actions are using a particular control.

Added: Exception Handling: New exception handling rules such as "Set Variable" and option to set
rules for "All Exceptions"

Added: Copying actions with their associated controls: Copying an action from one robot to another,
copies the associated controls as well.

Actions:
Added: Exception Block Actions: Introducing the Exception Block actions, with which you can set an
exception handling rule for all the actions located within the block.

Added: Set & Get Screen Resolution Actions: New actions, with which you have the ability to get the
resolution of your screen or set another resolution to your screen.

Added: Open - Close SQL Connection Actions: New actions, with which you can open and close an
SQL connection

Added: CMD Session Actions: Introducing the CMD session group of actions to execute commands
and get responses.

Added: Additional Excel actions: Introducing a group of new Excel actions such as options to Insert or
Delete columns on a spreadsheet.

Added: Outlook Actions: Introducing Outlook actions with which you can interact with MS Outlook.

Added: Synchronization Actions: Introducing Synchronization actions and Lock Handles with which
you can avoid one robot affecting another while execution.

Added: PDF Actions: Introducing this new group of actions with which you can extract text and
images from PDF files.

Version 6.0.5
Improved: Reduced the time of execution of the "Zip Files" action.

Improved: Improved the "Email" group of actions.

Corrected: After upgrading to the latest Windows 10 Creators Update, not being able to
capture UI Controls is now fixed.

Corrected: "Get Robots Path" action returned a different text value when running from
the console from when running through the Robot's Designer is now fixed.

Corrected: "Unzip action" is able to unzip empty folders.

Corrected: "Invoke Web Service" action does not fail when the Expect: 100-continue is
set as a header.

© 2018 Softomotive
Version 6.0.4

Improved: Adding a control with the same name in a control repository add the suffix (2), (3)
and so on
Improved: Better screenshots are now taken for the controls in the control repository

Improved: Autologin for Professional Edition supports usernames and passwords containing
spaces.

Corrected: Robots not being able to run due to error message with multiple conditionals not
being ended correctly (if-else-end if) is now fixed.
Corrected: If more than one label had the same name case sensitive e.g 'Foo' and 'foo' an
internal exception was occurring.
Corrected: While on the Schedule Properties window, after clicking on the "Add Date" option,
clicking OK while leaving the date field empty was generating an “Oops” exception.
Corrected: “Run PowerShell” action was hanging after its completion on certain machines, not
moving forward to the next action.

Version 6.0.3

Improved: "If Window" action when the window is set to "is open". If Window is not found the
correct value is returned.
Corrected: Fixed password encryption Robot issue

Corrected: "Connecting to Server..." state upon installation fixed. The connection to the Server
is totally restored upon installation.
Corrected: "Schedule Type: Monthly" option "Last day of Month" or "Last Working Day of
Month" selected, was showing nothing in the "Next Scheduled Run" field.
Corrected: In the time stored in the scheduler, the 12hour format was always used regardless
of the user's date pre-set format.

Version 6.0.2
Improved: Robot Error Messages: The name of the action is now mentioned in the error
message displayed in the notifier and also in the log-entry
Improved: WinAutomation Robots when they run through the MachineAgent, are now getting
launched using the credentials of the user that owns the Robot
WinAutomation 19

Improved: UserAgent, MachineAgent, Console: Fixed a long-standing issue which was causing
memory consumption of these processes to increase considerably every time a Robot with
Web or UI Automation Actions would run
Improved: Robots crashing, are no longer crashing the whole WinAutomation Console

Improved: The Properties Dialogs of the UI Automation Actions, is no longer becoming too
large when the title of the targeted Window is too lengthy
Corrected: UI Selectors: contains word "~=" match method was not working if the word is at the
beginning or the end of value
Corrected: Robot Error Handling Settings: If a Robot gets auto-terminated due to having
reached the MaxRunningTime threshold (specified in its Robot-Properties), the error-handling
settings (either global or robot-specific) were not activated
Corrected: UI Elements in the QuickLaunchBar of the Windows Taskbar should now appear as
such
Corrected: Boolean expressions such as %NewVar > 10% are now evaluating to
BooleanVariants as intended again

Version 6.0.1
Improved: XML Variant Visualizer: Make the visualizer resizable

Improved: Data Table Variant Visualizer is now resizable

Improved: TextVariant 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 robots
fails the body now also contains the error info

Improved: Invoke Web Service: Use advanced editor for the multiline-textboxes

Improved: When adding a control to Control Repository make UISpy an optional step

Improved: Improve Autogenerated Selectors while using "Add Control" to the repository

Corrected: Add "contains" operator in Visual Selector Builder

Improved: SecureScreen: added support for multiple screens

Improved: WinAutomation Server Module: Startup time optimized.

© 2018 Softomotive
Improved: Eliminate unnecessary attributes being retrieved in UISpy

Corrected: Options-Page v6 Autostart Setting: Even if the corresponding checkbox was


unchecked the User-Agent still auto-started on user-login

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: Data Row/Table Variants Visualizers: Unhandled Exception error fixed.

Corrected: WinAutomationController: Command Line Arguments were not getting passed


on to Robots as they ought to

Corrected: In "Start Robot" Action if "Wait Robot to Complete" is set the caller Robot
would not wait more than 3 minutes

Corrected: Read From Excel Action: When the action is set to use the first row for
setting column names, then the resulting column names were not named as intended if
3 or more column-names have the same name

Corrected: "Get Environment Variable": failed to retrieve some of the environment


variables

Corrected: "Input Dialog Message" field in "Display Input Dialog" action was not stored
correctly

Version 6.0

General New Features

New modern interface: New design Interface for the Console and the Robot Designer
with new icons. The Robot Designer has now configurable panes for Variables, Errors,
Control Repository, Functions and Actions. You can customize the layout as you wish
by hiding or making visible different panes. Also the Console is changed and equipped
with a ribbon bar containing tabs for Robots, Triggers, Scheduler, Logs and Options.

Autologin (Pro Edition Only): A Robot can unlock/login to a workstation upon its
running time when initiated by a trigger of a scheduler. This is a very helpful feature
especially when interactive Robots should have a user logged in, while running
unattended.

Status Monitor: A new Status Monitor Window is introduced which lists all the running
Robots and the Robots that are put in the queue, waiting to start. Even more
information, than just the running Robots' name is provided, like the Instance id, the
Start time and the Cause of execution (manual or triggered). An option to stop all
running Robots is also available.
WinAutomation 21

Improved Performance-UIAutomation v3.0:Using the new UIAutomation v3.0 makes the


UI/Windows more efficient and improves the overall performance making the actions
more powerful, while more elements in desktop applications are now visible and
accessible with WinAutomation.

Secure Screen (Pro Edition Only): Enhanced Security for Robots that are scheduled
to run unattended in order to run without the user being able to see the screen. This
option will turn the screen blue while the Robot is running. The only visible window will
be the Notification Window.

Password Protected Robots (Pro Edition Only): Option to set a password for a Robot
and protect your sensitive data. Once setting a password, the user will be able to run
the Robot normally, however for editing it they will be prompted to enter the password.

Maximum Running Time (Pro Edition Only): Setting a maximum running time for a
Robot to avoid situations where it is not executed as intended.

Concurrency Policy and Queueing (Pro Edition Only): You now have the ability to limit
the number of Robot instances than can run concurrently. Also, there is a new option
for queueing or discarding Robots once the set limit of instances is reached.

Triggers can be enabled/disabled independently: For Robots with more than one
triggers attached, there is now the option to enable/disable a specific trigger, instead
of removing it.

View logs for specific Robots: Improved Logs viewer that can display logs for more
than one Robots.

Machine does not enter in idle state when a Robot is running: A running Robot is
considered a user activity postponing the screen saver timeout or AutoLogout.

Improved command-line control: WinAutomationController for ListRunning returns more


information; when running multiple instances or a Robot ALL the instances will be
listed.

Robot Designer
Search for actions: Enhanced "Search for Actions" in the Actions pane of the Robot
Designer where the user can search by keyword, action name or action initials.

Variables pane: A dedicated pane for the Robots Variables where you can view the
variables’ values, search, pin, sort or rearrange the variables.

Pause Robot: A new option in the Robot Designer to pause the execution of the Robot
while running. Very useful especially when one wants to review some variables' values
at the pause point.

© 2018 Softomotive
Variables Viewer: By double clicking on a variable in the Variables pane while the Robot
is being executed step by step, or stopped at a breakpoint or paused, the user has the
option to view the details of a variable in the variable window and also edit its value.
The variable viewer window will depend on the variable's data type.

Rename Variables: An helpful new option to massively rename variables, either within a
specific function or in the whole Robot. For very big Robots with many functions
renaming a variable used to be a difficult and time consuming task. Not anymore.

Variables Live Editor: New option to change a variable's value dynamically while the
Robots is being executed from the Robot Designer, after pausing it or executing it step
by step.

Control Repository: A repository that will hold all the controls (Windows, Browsers,
Buttons, Elements, etc...) that the Robot will access through its different actions. The
user also has the ability to modify any control, its selectors by using variables, its
name, remove existing, add new and keep them all neat.

UI Spy: Ability to preview the UI or Web Control’s tree and attributes in the
WinAutomation UISpy window while accessing it and before adding it to your Control
Repository. This gives an overview of the control’s information, as well its location
within the application (web or desktop).

Resizable action properties: "Write text to file", "Execute SQL statement", "Run
JavaScript", "Run VBScript", "Run PowerShell Script", "Send Email", "Write XML to File"
Actions Properties window are now resizable for readability purposes.

Actions advanced editor: "Execute SQL statement", "Run JavaScript", "Run VBScript",
"Run PowerShell Script" Actions now include advanced Text editor which enables
syntax highlighting.

Actions:
XML Actions: Introducing the XML group of actions to manipulate XML files, apply
XPath queries on them, retrieve or set attributes or elements values.

Environment Variables Actions: Introducing OS Environment variables actions that can


set, get or delete an Environment variable. They can be used to store or retrieve
global data, reachable from multiple Robots simultaneously.

"Read from CSV File" and "Export to CSV File" Actions: The new "Read CSV File" and
"Export to CSV File" action allow direct read from a csv file storing data into a data
table type variable and direct export a table variable to a CSV file.

"Attach to running Excel" Action: New action for automating an already opened Excel
spreadsheet, without having to launch it through the Robot. A Robot attach to an
open Excel document by its name or full path, store its instance into a variable and
apply further Excel actions on to it.
WinAutomation 23

"Escape Text for Regular Expression" Action: This action will escape a minimal set of
characters by replacing them with their escape codes of an existing test.

"Merge Lists" Action: A new action that will merge two lists into one, appending the
items of the second list after the first one. The two the initial will remain unmodified.

"Hover Mouse over Element on Web Page" Action: There are cases in web pages where
elements/menus appear, or buttons get enabled, only after the mouse is over them.
This new action will cope with situations as such.

"Run PowerShell Script" Action: This action allows for PowerShell scripts to run directly
through the Robot and store their output to a variable for further use.

Move mouse to image: When sending the mouse to an image, there is an option for the
Robot to wait before sending the mouse click.

Version 5.0.4
Improved: "Use Desktop" action: A new option has been added in the advanced settings
of the action so that users can specify if left-clicking on an app's icon on the taskbar
should cause a new instance of the application to be launched.

Improved: "Extract Data From Web Page" action & "Get Details of Element on Web Page"
action: The text-extraction mechanism has been fortified to handle certain corner-
case scenarios more elegantly, which should result in more accurate text being
produced.

Improved: Web Automation actions: Users now have the ability to suppress a broader
range of errors that might occur while these actions are being executed. More
specifically javascript errors should no longer cause the actions to terminate the Robot
if/when the user has put exception-suppression in place, say, in actions like Extract
Data From Web Page.

Improved: Custom Dialog: The help-entry for the action has been enriched to mention
which flags are supported by the datepicker control.

Corrected: "Retrieve Emails" action: The internal email-handling mechanism has been
improved to detect the main-content of an email. This should address an issue in
certain kinds of emails where the .BodyText property of the EmailInstanceVariant was
not reporting the text of the main-content of the underlying emails correctly.

Corrected: "Retrieve Emails", "Download From Web", "Take Screenshot of Web Page":
These actions should now be able to handle saving to files using filenames more than
230 characters long. Such filenames get automatically clipped to 230 characters so as
to work along the limitations imposed by the underlying filesystem.

Corrected: Console: Exporting a Robot with a name longer than 230 characters should
now be working as intended. The name of the resulting .waj file is set to the first 230
characters of the Robot being exported.

© 2018 Softomotive
Corrected: Console: Moving a folder into another folder which contains a sub-folder with
the same name as the one being moved should now be working as intended.

Corrected: "Wait for Window" action: Fixed an issue which was causing the action to fail
with an error message when set to wait for an excel application to reach a certain
window-state.

Corrected: "Press Button in Window" action: The exception-handling for this action
should now be working as intended when the button is not found when the action gets
executed.

Corrected: All Window-Manipulation actions: Fixed an issue which was causing these
actions to hang indefinitely -especially under Windows10- regardless of which window
they were instructed to target.

Corrected: "Get Window" action: Fixed a bug which was causing the wrong window to
be picked in certain corner cases.

Corrected: "Get Window" action: Fixed a bug which was causing the action to fail in
finding the window of the 'Edge' browser under Windows10.

Corrected: "Use Desktop" action: The helper of the action should now be able to select
the start button in the taskbar of Windows10.

Corrected: Web Automation Helpers & Web Recorder: Fixed an issue affecting certain
websites, which was preventing the options-menu to pop-up when the 'appskey' would
be pressed on the keyboard.

Corrected: Web Automation Helpers & Web Recorder: Fixed a bug which was causing
these components to get clogged when attempting to select specific elements in the
product-results of Ebay.

Corrected: Web Automation Helpers & Web Recorder: Fixed an issue which was causing
highlighters to disappear permanently unless the webpage was scrolled up or down.

Corrected: "Extract Data From Web Page" action: Fixed a bug which was preventing the
action from successfully navigating from one page of results to the next when the
next-page element would be based on <img>.

Corrected: "Extract Data From Web Page" action & "Get Details of Element on Web
Page" action: The text-extraction mechanism has been fortified to handle certain
corner-case scenarios more elegantly, which should result in more accurate text being
produced.

Corrected: Web Automation actions: Manually setting the selector of any web
automation action to a custom selector which contains nested selectors ala div:has(>
a:contains('foo'), > a:contains('bar')) should no longer be causing the action to error
out when executed.

Corrected: "Rename File" action: Fixed a bug by which, when the action was set to
overwrite-mode, the original file was getting deleted if/when the eventual filename
specified was the same as the original file name, only different casing-wise. (The
WinAutomation 25

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.

Improved: “Open Secure FTP Connection” action: Upon setting 'SFTP' as the type of
the connection, the 'Active Mode' checkbox should now be getting hidden as intended,
since it's not applicable to 'SFTP'.

Corrected: “Read from Excel” action: The action should no longer throw an exception
when attempting to read the value of a cell containing a number written in scientific
notation like 602E23.

Corrected: “Open FTP Connection” action: Now has 'Passive' as its default mode (used
to be 'Active').

Corrected: “Custom Dialog” action: Fixed an issue which was causing the delete key to
not be handled properly by 'Multiline Textbox' controls.

Corrected: “Run VBScript” action: Printing non-ASCII characters -such as the pound
sign (£)- to standard output/error streams should no longer cause the output variants
of the action to contain garbled text.

Corrected: “Invoke FTP Command” action: Should no longer be failing when/if the
“acceptable return codes” list is left empty.

Corrected: “Move Mouse” action: Should now be working as intended when set to move
the mouse instantly in relation to the active window.

Corrected: Compiled .exe Robots: Custom dialog was falsely not present on the taskbar
after getting minimized for the first time. It should now be visible as intended.

Corrected: Fixed an issue affecting certain websites, which was causing the Web
Automation actions and the Web Helpers to not work as intended.

Version 5.0.2

© 2018 Softomotive
Improved: Macro Recorder. Filling forms by typing into textboxes and pressing tab in
between is now resulting in alternating distinct Populate Text Field / Send Key {Tab}
activities

Improved: The “Populate Text Field in Web Page” action now can optionally de-focus
the populated element as in some web pages this is required for the new element value
to be accepted

Improved: UI selectors, introduce the :disabled, :visible and :enabled Selectors and also
the :password selector which will target elements with the password attribute set

Improved: The CSS Theming textbox in Display Custom Dialog Action Properties UI, now
accepts Tab and Enter keystrokes

Improved: Macro Recorder’s better handling of Arrow Up/Down keystrokes when sent to
spinner controls

Improved: “Extract Data from Window” action. When getting the file names from a File
Explorer window, file titles are now extracted correctly

Improved: Caching mechanism implemented in Macro Recorder and UI Automation


Helpers so that subsequent clicks to the same elements are sped up

Improved: In UI Automation the :is pseudo-selector is introduced ad works like it's


counterpart :not selector

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: Better logging support for File Monitor Trigger

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: Better generated description for “Press button in Window” action

Improved: “Click Element in Window Action”, “Get details of element in Window” actions.
When the element of a File Explorer window is out view, the action scrolls the view to
scan the data-grid and find the element.

Improved: Macro Recorder is now creating more efficient UI selectors for element of the
File Explorer window

Improved: Macro Recorder now records the entire trajectory of the mouse when in
coordinates mode and one of the mouse buttons is pressed.

Corrected: Installation errors on Windows Servers & XP fixed

Corrected: “Invoke FTP” action, correction in the second-line description


WinAutomation 27

Corrected: Visibility and positioning issues resolved for web content when displayed in
Web Helpers

Corrected: Mathematic calculations within expression that provided false results, due to
regional settings, have now been corrected

Corrected: “Wait for hotkey” action timeout would sometime result in a runtime error

Corrected: Custom dialog, now takes into account the enter/escape buttons

Corrected: Better second-line description for the “Create Folder” action

Corrected: The “:eq()” Operator now selects the correct window, when two or more
windows are of the same class/title

Corrected: Consistency of “Close Internet Explorer” action. There were incidents where
the targeted browser stayed open despite this action

Corrected: UI Automation. Better detection of scroll up/down buttons of the Windows 7


File Explorer window

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: UI/Automation. Better handling of spinner controls

Corrected: Web Automation, unhandled exceptions have been addressed on certain web
pages and web page elements.

Corrected: Macro Recorder, switch keyboard layout activity is now captured correctly

Corrected: Custom Dialog. When set to be initially maximized the Custom Dialog scrollbar
is more accurate to the window limits.

Corrected: Web Automation, better waiting mechanism to wait for all frames of a web
page to be loaded completely

Corrected: Macro Recorder now captures accurately CTRL+Letter key combinations

Corrected: Better generated error messages in Custom dialog

Corrected: WinAutomation can now convert text representing numbers written in exotic
formats (such as Scientific Notation) to the proper Numeric Variants

Corrected: Output of “Subtract Lists” action. The result list is of the same type, as the
original ones

Corrected: Custom Dialog Designer. Pasting text into a control now works correctly for
every type of control.

© 2018 Softomotive
Corrected: Custom Dialog size from compiled exe is shown as specified

Corrected: Macro Recorder is now generating the correct action when accessing
windows preview in the task bar.

Corrected: Select Menu option is now generated when clicking on the menu options of
the System Tray Icons

Version 5.0.1
Improved: in "Display Custom Dialog" action an option has been added for a password
text control to be required, i.e. to be mandatory for the user to enter e value.

Improved: The Macro Recorder now generated better and more reliable selectors for UI
Elements.

Improved: The exit codes of the WinAutomationController have been rearranged to


report all possible exceptions.

Improved: A hotkey for resuming the execution of a Robot stopped by a breakpoint has
been introduced.

Improved: The Macro Recorder now operates as an independent process resulting in a


more stable application execution.

Corrected: The File Monitor Trigger permanently stopped watching a remote folder if the
connection to the folder was temporary unavailable.

Corrected: In Web Automation, some web pages failed to be automated in v5 although


they worked fine in previous versions.

Corrected: The "Click Link on Web Page" action failed for some links that contained
Javascript

Version 5.0

Major New Features


Functions: a Robot can be now broken down into smaller parts (or functions) that can
be called by any other part of the Robot. This leads to a more modular design where
different segments of a Robot can be used over and over from different points. It is
also possible to jump to a function for handling an exception.

UI Automation: WinAutomation is now capable of distinguishing among the different


controls within a window. A large set of actions has been added under the
“UI/Windows” category for directly manipulating Windows Applications and their
controls, as well as extracting data from them.
WinAutomation 29

Macro Recorder: The Macro Recorder leverages the “UI Automation” technology
described above and now has a “Smart Recording” mode enabled by default. In this
mode the recorder records the interactions of the user with the various controls of an
application instead of just recording mouse coordinates. Of course, the simpler mode of
recording coordinates is still available for use when appropriate.

Live Helpers: In all Web Automation actions the user can now select a web page
element by clicking on any open Internet Explorer window. Respectively, for UI
Automation actions the user can specify a Windows control by clicking on the target
application.

Custom GUI: The new “Display Custom Dialog” action includes a Form Designer tool
that allows the user to design and present custom dialogs with all kinds of controls in
them.

New Actions:
“Use Desktop” action to perform taskbar related operations

“Get Window” action to retrieve a specific window or the foreground window (also
replaces the “Get Foreground Window” action)

“Select Tab in Window” action to activate a tab in a tab group

“Click Element in Window” action to click on a specific control in a window

“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

“Expand/Collapse Tree Node in Window” action to expand/collapse nodes in a tree


control.

“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

“Press Button in Window” action to click on a button control in a window

“Select Radio Button in Window” action to select a radio button in a button group

“Set Checkbox State in Window” action to check or uncheck a checkbox in a window

“Set DropDown List Value in Window” action to select a value in a dropdown list (aka
combobox)

© 2018 Softomotive
“Get Details of Window” action to get the value of properties of a specific window (or
its text)

“Get Details of Element in Window” action to get the properties of a specific control in
a window

“Get Selected Checkboxes in Window” action to retrieve the state of a checkbox or


the names of the selected checkboxes in a group

“Get Selected Radiobutton in Window” action to retrieve the state of a radiobutton or


the name of the selected radiobutton in a group

“Extract Data from Window” action to retrieve the text of a window or a specific
control in the form of a single value, a list or a table

“Run Javascript” action to execute some custom Javascript code and retrieve its
output into a variable.

“Get Default Printer Name” action to get the name of the printer that is currently set
as default

“Show Desktop” action to minimize all windows

“Display Custom Dialog” action to design a custom dialog for requesting or presenting
data to the end user

Improved Actions:
In “Wait for Hotkey” action a new option allows for setting a maximum time to wait for

In “Read Text from File” action it is now possible to specify the encoding of the file to
be read

In “Write Text to File” action two new encodings (Unicode without BOM and UTF-8
without BOM) have been added

In “Send Keys” action the Period and the Comma have been added in the Special Keys
menu

In “Send Email” action variables are now accepted for SMTP Server properties

In “Replace Text” action an option is added to enable the interpretation of escape


sequences like '\t', '\xA0', '\u' as actual characters

In “Add to DateTime” action it is now possible to add/subtract months or years to/from


a date time value
WinAutomation 31

Plus numerous performance improvements, various bug fixes (mostly obscure ones) and
minor improvements.

Version 4.0.6
Improved: Performance improvement when selecting an option from a SELECT element in
a web page, through the "Set Drop Down List Value on a Web Page" action

Improved: When WinAutomation fails to open a Robot because it has been created with
a newer version of the application, a descriptive message is displayed.

Corrected: The "emulate typing" checkbox in the "Populate Text Field on Web Page"
action properties dialog defaulted to true every time a new textbox was selected using
the Web Helper.

Corrected: CSS Selectors in Web Automation actions that included a comma within the
:contains selector where not interpreted correctly.

Corrected: The WinAutomation installation process now makes sure that the service is
up before any other process is launched. Additionally it refuses to proceed if the
WinAutomation Console of the previously installed version is still running.

Version 4.0.5
Improved: The error message produced by the "Wait for Web Page" action when a
timeout occurred has been changed to a more descriptive one.

Corrected: The "Invoke Web Service" action failed to transmit the cookies correctly
when specified in the Custom Headers property.

Corrected: The highlighter of the Web Helper window of every Web Automation action
failed to locate the correct element when the user manually inserted the * selector in
the "CSS Selector" property of the action.

Corrected: The "Take Screenshot of Element on Web Page" action failed to capture the
correct picture when the element is at the bottom of a web page and the vertical
scrollbar is part of a nested frame instead of a the top most document.

Corrected: "Focus Text Field" action does not work properly for non focusable-elements
such CAPTCHA images that lie at the bottom of a web page and the one of the
scrollbars is part of a nested frame/div while the other scrollbar is part of the top most
document.

Improved: When using a WebBrowser Instance or Excel Instance type variable without
having been initialized a null reference exception occurred. This is now replaced by a
descriptive error message.

© 2018 Softomotive
Improved: Any Web Automation action not set to wait for the web page to load, does
not impose a 3 seconds delay any more before moving the the next action, resulting to
a faster Robot execution.

Corrected: By manually selecting a collapsed region in the Robot Designer using the
keyboard, only the "Start Region" action was selected, instead of the whole region.

Corrected: In the "Search Action" textbox of the Robot Designer the Select, Copy, Cut
and Paste hotkeys (Ctrl-A, Ctrl-C, Ctrl-X, Ctrl-V) affected the Robot's actions and not
the search textbox.

Improved: A Robot created by a newer edition of WinAutomation that the one installed
is now prohibited from running and being edited by the older edition.

Corrected: Memory leak occurred in some rare cases when an exception occurred while
opening a Robot.

Corrected: When opening a Robot that contained external actions from an addon that
was not installed, the mouse pointer remained hourglass instead or reverting to default
style.

Modified: The Cut/Copy/Paste menu items are now removed from the File Menu of the
Console.

Improved: Error message for opening a Robot containing unknown/missing actions


changed to a more descriptive one.

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: Actions related to windows manipulation matched a random window if only


the window class was provided to the action and the title was empty (instead of
matching a window with an empty title).

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: In Image Recognition based actions, specifying a zero-size subregion to


search in for the desired image resulted in an error.

Corrected: when the foreground window is momentarily unavailable, the error is


suppressed and the operation is repeated.
WinAutomation 33

Corrected: the "Invoke FTP Command" action failed in some cases when sending a
command to an SFTP server.

Corrected: forcing the Robot Designer to close while a Robot was running in debug mode
sometimes caused the WinAutomation Console to crash.

Corrected: FtpFile/FolderVariants that start with Double Forward Slashes, cause errors
when attempting to retrieve the base directory of the path via the .Directory property.

Corrected: the "Move Mouse" action, if the "Relative To Current Mouse Position"
property and an animation scheme is selected, moved the mouse to double the amount
of the offset needed.

Improved: communication mechanism between the WinAutomation agent and the


Notification window has been improved for the latter not to introduce a performance
bottleneck in tight loops.

Corrected: In some websites using yahoo libraries certain div elements get mistaken for
rich text editors resulting in erroneous extraction of their content by the "Extract data
from Web Page" action.

Improved: The save button and the insert new region button in the Robot Designer are
now disabled while a Robot is being run from within the Robot Designer.

Improved: In some cases the macro recorder failed to record a modifier key due to a
delay in the process of intercepting its state.

Modified: The text "Choose your weapon" in the Create New Robot dialog has been
changed to "Choose a tool".

Corrected: Web Recorder and Web Helper for Data Extraction: When a header of an html
table that's has been selected for extraction contains a % sign it is now automatically
escaped so as to avoid phantom errors about missing variables

Corrected: when multiple users were accessing the same WinAutomation service
instance through terminal services sometimes the notifications were routed to the
wrong user.

Version 4.0.4
Improved: Support added for new IE10.

Improved: The variable generated by the "Launch New Internet Explorer" action which
holds the web browser instance, now has a .Handle property that returns the handle of
the browser's window. The value can be passed to Window-related actions (move,
resize, focus window etc) which accept a window handle as input.

Corrected: The "Open Secure FTP Connection" action failed to establish connection with
certain FTP servers.

© 2018 Softomotive
Corrected: The web element selection engine can now handle the rare cases where the
browser returns an empty value instead of the tag of an element.

Improved: The "Extract Data From Web" action now identifies the pager element ("Next
Page") even in more complex configurations.

Corrected: "Take Screenshot" action did not perform as intended in some cases.

Modified: Windows related actions do not display the window picker icon in their
property dialogs when they are set to matching a window by its handle.

Corrected: All WinAutomation windows when restored from a minimized state, now make
sure that they are displayed in a visible portion of the screen.

Improved: The "Set Drop Down List Value on Web Page" action can now select options
even when their values is an empty text.

Corrected: The "Download Folder from FTP" action, now does not modify the working
directory.

Corrected: The utility that retrieves the email folders in the "Retrieve Emails" and
Process Emails" actions as well as in the Email Trigger would freeze the UI for a while if
wrong settings have been entered in the IMAP account section.

Modified: The "Parse Text" action now throws an exception if the regex provided is
invalid.

Corrected: The "Display Notification" action now always outputs its message to the
command prompt console when the Robot is compiled as a console application (even
when the "Display Notifications" option in the Compiler dialog is unchecked).

Corrected: Exception thrown by FTP actions when used through a secure FTP
connection, now have more descriptive messages.

Corrected: When a Robot with triggers attached was copied, the triggers of the newly
copied Robot were not functioning until the WinAutomation service was restarted.

Corrected: The highlighter of the Web Helper sometimes was displayed off-position when
highlighting an element within a frame.

Corrected: Rich Text Editors, in some cases were difficult to select using the Web
Helper.

Corrected: The "Extract Data from Web Page" action now extracts the data from the
first page only, when a negative value is provided to be the number of pages to
extract data from.

Improved: The "Set Drop Down List Value on Web Page" action now accepts a list
variable when more than one values need to be selected.

Improved: The extraction of the inner text of a Web Page element now removes any
additional info injected into the page by the Skype plugin.
WinAutomation 35

Improved: The "Focus Web Element" action now scrolls the web page to bring the
focused element into view.

Corrected: The "Extract Data from Web Page" action when instructed to extract all the
options of a drop down web element, it returned only the selected options.

Improved: The "Click download Link on Web Page" action is now able to handle
download dialogs that are already open, when the CSS selector property is empty.

Improved: There is now a way to execute arbitrary javascript code on the automation
browser.

Modified: Windows Related action now throw an exception if both window name and
window class are not set.

Corrected: In some extreme cases the "Retrieve Emails" action failed to parse the email's
body.

Corrected: "Download from Web" and "Invoke Web Service" actions fail for urls which
contain double quotes, or specify a port and are not explicitly preceded by http or
https

Corrected: When the "Send Keys" action was instructed to type a number preceded by
zeros the zeros were trimmed upon closing the properties dialog of the action.

Corrected: The "Synchronize FTP Directory" action sometimes fails if the working
directory was not explicitly set by a "Change Working Directory" action.

Corrected: In the "Invoke Web Service" action the "Connection Timeout" property
ignored the value set by the user and always defaulted to 30 seconds.

Version 4.0.3
Modified: The properties dialog of the Schedule Trigger cannot be dismissed any more if
no dates are specified.

Corrected: in some cases a Schedule Trigger fired a couple of minutes before the
scheduled time resulting to a double execution of the Robot.

Corrected: A Schedule Trigger with the "Skip Robot" option checked did not skip the
Robot in question when the machine is resuming from hybernation/suspension state.

Corrected: Execution of a WMIC command through the "Run DOS Command" action failed
when ran in Windows XP.

Corrected: The "Take Screenshot of Web Page" action produced images with black
areas when invoked through the Web Automation Browser and the scrollbars did not
appear properly.

Corrected: The "Take Screenshot of Web Page" action produced inaccurate screenshots
for elements residing within iframes or when zooming is applied.

© 2018 Softomotive
Corrected: The exception handling portion of the "Take Screenshot of Web Page"
action, when executed fired the wrong exception.

Corrected: The extraction of the inner text of a page or an element returned inaccurate
result when encountered HTML tags with attributes that had non-ascii characters
and/or digits or when an element contained exotic characters that were rendered as
whitespace.

Corrected: The extraction of the inner text of a page now takes into account the value
property for buttons and text boxes.

Improved: Actions that extract data from a web page or a web element can now
retrieve the inner HTML, the outer HTML and the new HTML5 data-related attributes of
an element.

Modified: The "Extract Data from Web Page" action now treats a a hidden element as
non-existent, Meaning that the "exists" attribute will return "FALSE" for an element
that exists in the page, but is hidden.

Improved: The "Extract Data from Web Page" action in order to identify which element
of the page acts as a pager, now is able to utilize information from parent elements of
the pager for more accurate results.

Improved: The Web Helper window for the "Extract Data from Web Page" action now
performs much faster when a large number of table cells need to be highlighted.

Corrected: The Web Helper window for the "Extract Data from Web Page" action failed
to highlight the selected pager element if this element was placed within an iframe.

Corrected: The Web Helper window for the "Extract Data from Web Page" action
highlighted all elements matching the specified CSS selector, even when in "Single
Value" mode.

Corrected: The Data Extraction Preview in the Web Helper window for the "Extract Data
from Web Page" action did not take into account any regular expressions specified in
the settings for generating the preview.

Corrected: The "Extract Data from Web Page" action did not apply any regular
expressions specified when extracting element values in "Single Value" or in "List"
mode.

Corrected: The "Extract Data from Web Page" action and the "Get Detail of Element on
Web Page" action failed to retrieve the STYLE attribute of an HTML element.

Improved: The "Single Instance" option is now available as an option in the Compiler
Properties Dialog when the application type is "Command Line Application". Moreover, it
is unchecked by default.

Improved: Robots compiled with the "Single Instance" option set, now return an exit
code of -1 when the user attempts to run them while another instance of the same
executable is already running.
WinAutomation 37

Corrected: In Windows XP the "Generate Exe" dialog produces an irrelevant warning


message when the Compile button is pressed.

Corrected: Compiled Robots did not report their version number when inquired through
WMI in Windows XP.

Corrected: Compiling Robots to executables failed if the Company Name or the Copyright
Notices contained double quotes or trailing backspaces.

Improved: Robots compiled as "Windows Application" now display the EXE file name as
the title of the form displayed when running the compiled Robot.

Corrected: The notifications popup windows displayed by compiled Robots were not
positioned correctly when the message to be displayed was too long.

Corrected: The "Populate Text Field on Web Page" action didn't respect the MaxLength
and Enabled attributes of the target INPUT element when "Emulate Typing" setting was
unchecked.

Corrected: The "Populate Text Field on Web Page" action, when handling File Upload
Inputs, always waited for the web page to complete loading even when the respective
option was unchecked.

Corrected: The "Populate Text Field on Web Page" action failed when instructed to set
the text in a Rich Text editor and the value to be written contained one or more
double quotes.

Improved: The "Populate Text Field on Web Page" action can now set the value of
hidden fields.

Improved: The "Populate Text Field on Web Page" action now supports INPUT elements
with TYPE=COLOR

Corrected: "Wait for Web Page Content" action threw an error when set to wait for an
element located within a frame.

Corrected: Attaching to the foreground Internet Explorer window through the "Launch
new Internet Explorer" action did not wait for the browser to complete loading the
current web page.

Corrected: All web automation actions that makes sense only in the context of HTML
pages now throw an exception when they are used on an Internet Explorer instance
that holds a non-HTML document (such as an image or a PDF document).

Corrected: The "Go to Web Page" action threw an exception when instructed to
navigate to a non-HTML document and the "Wait for Page to Load" option was
checked.

Corrected: The "Get Details of Web Page" action failed to return the correct when the
assigned browser instance displayed a non-HTML document

Corrected: The "Retrieve Emails" action failed to save any attachment if the
ContentType was set to text/plain.

© 2018 Softomotive
Improved: The "Retrieve Emails" and "Process Emails" action properties dialogs do not
attempt to retrieve the list of email folders when the mail account username or
password is given as a variable.

Modified: In the "Comment" action properties dialog the comments text box now has the
default focus.

Improved: The "Variables Manager" dialog closes when the Esc key is pressed.

Corrected: The "Open FTP Connection" and "Open Secure FTP Connection" actions failed
to execute when no password was provided.

Version 4.0.2
Corrected: When a web page produced a Javascript error the error message was not
suppressed preventing the normal execution of the Robot.

Corrected: "Set Checkbox State on Web Page" action changed the checkbox state
twice effectively resulting in no change.

Corrected: When retrieving the text of a web page the values of web form fields are
included in the resulting text.

Version 4.0.1
Web Automation actions now work in web pages that contain frames/iframes

Corrected: "Run VBScript" action failed in Windows XP and in later Windows versions
when the name of the logged in user contained spaces

Corrected: "Wait for Web Page Content" and "If Web Page Contains" actions in some
cases failed to return the correct value if the text to wait for was hidden.

A link to the generated file has been added in the message box displayed upon
successful compilation of a Robot.

Improved: Performance for "Extract Data from Web Page" action.

Corrected: "Invoke Web Service" action did not handle correctly some custom headers.

After importing a .waj file the newly imported Robot becomes selected in the
WinAutomation Console.

After creating a new folder in the WinAutomation console, this folder becomes
selected.

Corrected: In the "Wait for Image" action if set to wait indefinitely and search within a
subregion the action failed to find the image on the screen.
WinAutomation 39

In the Error Handling tab of both the Options and Robot Properties dialogs the "Robot
to Run" was not visible if the path to the Robot was to long.

Corrected: When a Robot is compiled as "Command-Line Application" the "Display Popup


on Error" setting now has no effect.

If a Robot compiled as "Command Line Application" fails to run, the executable's name
is now included in the error message.

Corrected: The "Open Secure FTP Connection" action failed to connect properly for
some SSH versions.

The dropdown list displayed by the "Select From List Dialog" action has become taller in
order to display more list items

Breakpoints on disabled actions are now rendered in gray.

Actions' properties dialogs now open centered to the Robot designer window and within
the screen boundaries.

Version 4.0

New Actions:
"Log Message" action to log a custom message into the WinAutomation Event Log.

"Wait for HotKey" action to pause the Robot execution until the user presses a
specified hotkey.

"Run VBScript" action to execute some custom VBScript code and retrieve its output
into a variable.

"Retrieve Emails" action that retrieves emails and attachments from an IMAP server
based on specified criteria

"Process Emails" action that moves emails into a mailbox folder, deletes them from the
server or marks them as unread.

"Clear List" action removes all the items of a list.

"Reverse List" action that reverses the order of the items of a list.

"Truncate Number" action that truncates a number or rounds it up to the closest


integer value.

© 2018 Softomotive
"Invoke Web Service" action that sends an HTTP request and retrieves its response
allowing the user to specify all the low-level details, such as custom headers of the
request body.

"Else If" action to allow more complex conditional structures

"Launch New Internet Explorer" action to open a browser for Web Automation or attach
to an already running browser window.

"Go to Web Page" action, to navigate the browser to a web page, refresh it and move
back or forward.

"Click Link on Web Page" action to send a mouse click on a link or to any other web
page element.

"Click Download Link on Web Page" action to click on a link that results in a file
download.

"Close Internet Explorer" action to close an IE window opened by the "Launch New
Internet Explorer" action for Web Automation.

"Focus Text Field on Web Page" action to move the input focus to a text box of a Web
Page.

"Populate Text Field on Web Page" action to type a value into a web form field.

"Set Checkbox State on Web Page" action to check or uncheck a checkbox in a web
form.

"Select Radio Button on Web Page" action to select a radio button in a web form.

"Set Dropdown List Value on Web Page" action to select one or more options for a
dropdown list in a web form.

"Press Button on Web Page" action to press a button and submit a web form.

"Extract Data from Web Page" action to retrieve different chunks of data from a web
page in the form of single values, lists or tables.

"Get Details of Web Page" action to retrieve info related to the web page such as its
title, its metadata, etc.

"Get Details of Element on Web Page" action to retrieve an attribute value for a
specific HTML element of the page.

"Take Screenshot of Web Page" action to capture the image of an entire web page or
of a specific web page element.
WinAutomation 41

"If Web Page Contains" action to check whether some text or element exist in a web
page or not.

"Wait for Web Page Content" action to pause the execution of a Robot until a specific
text or element appears or disappears on the Web Page.

Updated Actions:
In "Write Text to File" action the user now has the choice whether a newline will be
appended or not after the text.

In "Run Application" the action can be set to wait up to one hour for the application to
load or complete.

In "Download from Web" action a timeout property has been added.

The "Open Secure FTP Connection" action now supports authentication using a private
key, or a private key plus a passphrase.

In "Display Select from List" dialog, when multiple selection is allowed, the user can set
some options of the list to appear preselected.

In "Move Mouse" and "Move Mouse to Image" actions there is an additional option to
specify whether the mouse should jump or move smoothly to the new position.

In the "If" action the "Is Not Empty" operator has been added.

In the "If" action the "Is Empty" and "Is Not Empty" operators have now a different
meaning if the operand is a list (contains/does not contain any items), a datatable
(contains/does not contain any rows), a folder (contains/does not contain any files) or
a file (whether it is an empty file or not).

Window-related actions now handle correctly window titles than contain non-English
characters.

The "Comment" action now supports different background colors and cannot be
disabled.

In "If Image", "Wait for Image" and "Move mouse to image" actions property dialogs the
captured images are displayed over a colored background for their boundaries to
become visible.

The "Download From Web" action is moved under the category "Web Automation/Direct
Access".

In the "Run Robot" action if no action to run is specified, an error is displayed in the
editor, instead of when the Robot runs.

© 2018 Softomotive
Robot Designer:
Web Recorder, to record the user's activity on the web and convert it into actions for
replaying them later.

Collapsible Regions added for visually separating groups of actions.

Keyboard interface added in Robot Designer. The user can now move though the
actions and select them using the keyboard.

Disabled actions display their icon grayed out.

While the Robot is running from within the Robot Designer the actions are scrolled so
that the action after the currently executing is always visible.

WinAutomation Console:
New, redesigned dialog for the "Create New Robot" option that includes the Web
Recorder.

When a Robot execution is canceled by the user, the number of the last executing
action is displayed.

Triggers:
New "Email Trigger" monitors an email account and runs a Robot when an email that
matches some specified criteria arrives.

Correction for Schedule Trigger; when it was set to fire only on the last day of month
it didn't work as expected.

Robot Compiler:
New, redesigned "Compile Robot" dialog.

Compiled Robots can now have a custom icon and custom info such as company,
version number and copyright statement.

Each Robot remembers the information entered by the user in the last compilation.

When a Robot contains a "Run Robot" action it cannot be compiled and instead a
warning is displayed to the user to replace the "Run Robot" with a "Run Application"
action.

A compiled Robot has the option to display a Notification Window (like the Robots that
run from within WinAutomation) to inform the user of the currently executing action.
WinAutomation 43

A Robot has the option to be compiled as "Single Instance" meaning that only one
instance of the Robot can run at the same machine at any time.

Version 3.1.6
Corrected: Numbers with trailing sign (e.g. 12-) were incorrectly parsed as legal
negative numbers.

Modified: All numbers are now parsed using en-US regional settings (i.e. the decimal
separator is always the dot).

Corrected: "If Window" action did not function correctly when "Is focused" was selected
and a window class was specified.

Corrected: When a Robot was exported and the folder containing that Robot was
deleted, the Robot failed to import correctly into the same database.

Modified: The upper limit for the number or retries in the Exception Handling portion of
an Action has been increased (from 5 to 25), along with the seconds to wait for,
between retries (from 120 secs to 3600 secs).

Modified: The limit for the OffsetX and OffsetY properties in the "Move Mouse to Image"
Action has been increased from 300px to 1000px.

Version 3.1.5
Corrected: Numbers with a decimal point were not accepted in expressions. The Robot
failed to compile.

Corrected: The "Run Robot" action failed with an error message when the Robot
contained a variable of type DataRow that didn't contain any value at the moment
when the "Run Robot" action was executed.

Modified: In the "Exception Handling" tab of the action properties' dialog, the selected
action is now displayed in white text for better readability.

Corrected: The "Wait for Window" action in some cases failed to wait for a window if
configured to wait for the "Lose Focus" event.

Corrected: The WinAutomation icon in the system tray remained visible after a restart
and until the WinAutomation Console window opened, even when set to not visible.

Version 3.1.4

© 2018 Softomotive
Corrected: In some cases, while a Robot had completed its execution, the notification
window remained open and in the WinAutomation Console the Robot continued to
appear as running.

Version 3.1.3
Corrected: Under certain circumstance an error occurred when opening the properties
dialog of the "Delete Files" action.

Version 3.1.2
Corrected: A syntax error with the message "Division by zero" occurred in expressions
that included a division, regardless of the value of the operands.

Version 3.1.1
Corrected: When a copy/paste operation was followed by an undo/redo sequence in
some cases an extra action would be added in the Robot.

Corrected: The text value returned by the "Download from Web" action is now stripped
from all non-printable characters.

Corrected: In certain cases a "Cannot Unload Domain" exception would occur when
stopping a running Robot.

Modified: The Numeric data type now holds larger values with more precision.

Version 3.1.0
Added: Support for add-ons - external action packs.

Added: The "Write Text to File" action has an additional property for specifying the
encoding used for the text to be written into the file.

Added: The "Download from Web" action has a new "Encoding" property for specifying
the encoding used for the web page. If the value is set to "Auto-detect" the action
uses the encoding specified by the web server.

Added: The "Download from Web" action has a default value for the "User Agent"
property.

Added: In Robot Designer, a "Start from Here" menu item has been added in the
Context Menu (right click menu) allowing the user to start the execution of a Robot
from a specific action.
WinAutomation 45

Added: Toolbar buttons and menu items in Robot Designer are now disabled when a
robot is executing through the Debugger.

Added: While debugging the "Execute Next Action" button can be pressed with a
hotkey. The designated hotkey can be specified in the Robot Designer Options dialog.

Added: While debugging the Robot scrolls automatically so that the currently executing
action is always visible.

Modified: The File Monitor Trigger variable %FileTriggerFilePath% now contains a file
object instead of text making easier to retrieve info regarding the file that triggered
the Robot.

Modified: The Dialog box displayed by the "Display Select From List Dialog" action is now
resizable to facilitate the selection of long list items.

Corrected: The "Send Mouse Click" action presses the correct mouse button when the
functions of the left and right mouse buttons have been swapped.

Modified: The "Get Special Folder" action now contains a label that displays the path for
the selected special folder.

Added: In the "Action Properties" dialog the F1 key is now used for opening the help
topic for the specific action.

Added: The "Wait for Window" action can now wait for a window to get the focus (to
become the foreground window) or lose the focus.

Added: The "If Window" action can now determine whether a specific window is
focused (is the foreground window) or not.

Added: The "If Service" action can now determine whether a specific service is installed
on the computer or not.

Added: New Action: "Get Foreground Window" action retrieves the title and handle of
the Window that has the focus.

Added: New Action: "Generate Random Number" action, to get a random number or a
list of random numbers.

Added: New Action: "Shuffle List" action, to randomly permute the items of a list.

Added: In the "Parse Text" action there is now an option to perform case-insensitive
matching

Corrected: In certain cases, some actions issued a "Reference not set to an instance of
an object" error when run through the debugger.

Modified: If a Robot runs for more than 24 hours, now the Notification dialog also
displays the total days in the running time field.

Added: New Action: "Get Mouse Position" action, to retrieve the position of the mouse
cursor on the screen.

© 2018 Softomotive
Added: The actions "Move Mouse" and "Send Mouse Click" now accept variables for
mouse coordinates and the new mouse position can be relative to the current mouse
position.

Added: New Action: "Terminate Process" action, to immediately stop a running process.

Added: New Action: "Ping" action, for sending a ping message to a remote computer.

Added: The "Sort List" action can now sort a list of objects, through specific properties

Corrected: When an IP address was entered in an action's property, depending on the


regional settings of the computer, sometimes it was mistakenly interpreted as a
number.

Added: New Action: "Synchronize FTP Directory" action, to synchronize the contents of
a local and remote directory.

Added: The "Move Mouse to Image" action has now an option to wait if the image is
not initially found as well as an option to send a click after the cursor is moved over
the image.

Added: New Action: "If Image" action, to check whether an image exists or not on the
screen.

Added: The "If" action now includes the following operators: "Starts with", "Does not
start with", "Contains", "Does not contain", "Ends with", "Does not end with" and "Is
Empty". All these new operators (except the last one) work both in case-sensitive and
case-insensitive mode.

Added: The Robot Designer can now save the Robot automatically upon running the
Robot through the debugger. This option can be specified through the Robot Designer
Options Dialog.

Corrected: In some cases the Console didn't close successfully, leaving a ghost process
running.

Added: New Action: "Remove Duplicate Items from List" action, to remove multiple
occurrences of the same item in a list.

Added: New Action: "Empty Folder" action, to delete the contents of a folder without
deleting the folder itself.

Modified: The "Get Robot's Path" action now retrieves the path (folder plus robot name)
of non-compiled robots too.

Modified: The "Download from Web" action can download a file and keep its original
name as specified by the web server. When this option is selected, only the
destination folder needs to be provided, instead of the full local path.

Added: In the "Replace Text" action there is now an option to perform case-insensitive
matching
WinAutomation 47

Modified: The "Replace With" property of the "Replace Text" action now accepts multi-
line values.

Added: The "Convert Text to DateTime" action has now an option for converting dates
that are represented in a non-standard format.

Corrected: The "Write Text to File" action crashed the designer when an extremely long
text was entered as the value to be written into the file.

Added: The "Clear Logs" dialog allows you to archive the events into a different file
before deleting them.

Corrected: In Windows Vista/7 for the event log to be cleared the Console should run
with elevated privileged (as administrator).

Added: In the "Run DOS Command" action a new output property has been added for
retrieving any error messages issued by the command or the console application.

Added: In the "End Robot" action a new property has been added for specifying the Exit
Code for Robots that are compiled.

Modified: In the "Exception Handling" tab of an action's properties dialog, exceptions


that are handled (have some behavior assigned) are displayed in bold.

Corrected: When two or more Robot designers were open simultaneously the same Undo
history was shared between the different designers.

Added: Support for persistent variables that keep their value between subsequent
executions of the same Robot. For compiled Robots, persistent variables are stored
into a satellite file and can be encrypted.

Added: A Welcome window is displayed when launching the WinAutomation console,


that contains video tutorials and educational material.

Added: In the Options window there is an additional option that sets the application to
remember the size and layout of the Console and Robot Designer windows.

Corrected: In the "Rename Files" action, when renaming a file and specifying as a new
name the name it already had, and the "Overwrite" selection was chosen, the file was
deleted.

Modified: In the "Run Robot" action the list of Robots to choose from, now appears
sorted.

Version 3.0.3
Corrected: When deleting an action sometimes the window didn't refresh properly.

Corrected: An error occurred in the "Run Robot" action if the Robot had already
launched an Excel instance

© 2018 Softomotive
Corrected: The "Unzip files" action would not unzip files that their names started or
ended with a dot (.)

Corrected: In rare cases the Notification Window was displayed below other windows. In
other cases it could steal the keyboard focus from the foreground window.

Corrected: The "Find Common List Items" action returned the first list instead of the
intersection of the two provided lists

Corrected: The "Capture" function in the "Move Mouse to Image" and "Wait for Image"
actions produced an error if an empty region was selected

Added: A message box is displayed to inform the user after an attempt to export a
Robot that contains illegal characters in its name.

Corrected: The "Rename File(s)" action in the Designer did not display correctly the "Add
DateTime before/after" property value in the designer.

Version 3.0.2
Corrected: Robots performance deteriorated when variables contained large amount of
data.

Corrected: SendKeys action failed to send correctly the characters ~, %, ^, (, ), +,


[ and ].

Corrected: Exception occurred in very large robots (more than 3000 actions).

Corrected: In some cases, a robot would stop when the user pressed Enter because the
"Stop Robot" in the notification window had the focus by default.

Version 3.0.1
Corrected: Schedule Trigger's "Monthly" option is now working as intended.

Corrected: Subtract Lists action bug corrected.

Added: Minimum Delay Between Keystrokes (Send Keys action) is now 0

Corrected: A known issue with "Send Keys" action where in rare cases duplicate
keystrokes were sent.

Added: Send Keys now works in remote desktop

Added: Send Keys now works in Console Window

Added: Multiple repetitive keystrokes can be sent in the format {X:n}

Corrected: "Delete FTP Directory" action now deletes directories even when they are
not empty (recursively)
WinAutomation 49

Corrected: A normal exception thrown by the "Unzip Files" action could result in an
unhandled exception

Corrected: When "Display Big Icons" setting was selected in Robot Designer the icons
failed to display properly.

Corrected: "Open FTP Connection" could fail if the agent was launched before the
service. It has now been fixed.

Version 3.0.0

Service
· WinAutomation's service is now more lightweight and more stable.

· All errors with 64bit versions of windows have been fixed.

· You can now stop WinAutomation's service by right clicking on the tray icon of the
Agent and selecting: "Exit WinAutomation"

· WinAutomation's service has been redesigned, to require less system resources.

· There is no longer an option to start and stop the service through the console.
Opening the console will automatically start the service and you cannot stop the
service through the tray icon if the console is open.

Console
· The general options have been enriched; check "Tools - Options" in the console
window to test the new options. Specifically:

· There is now an option to stop all robots that are currently running with a HotKey
(General tab)

· There is an option that allows you to control if WinAutomation's service will start
when the machine boots (Service tab)

· You can now disable the system tray icon (Notifications tab)

· The "balloon" that used to notify the user whenever a robot started or ended has
been replaced by a special Notification Popup Window that you can show or hide
(Notifications tab)

· You can globally decide which file types will be treated as ASCII files by the FTP
actions (FTP tab)

© 2018 Softomotive
· There are some "Global Error Handling" options that you can set in the case that
your robots fail to complete such as Write the Event to a log file or Send Email
(Error Handling tab). In the case that you decide to send an email, you will have
to set the SMTP options (SMTP Server tab)

· There is a new logging system; check "Tools - View Logs" to see the changes. You
can filter the log events based on date, type of event or source of event. There is
also a new pane in the console that shows the most recent Log Records.

· You can now open multiple robots and still be able to interact with the console

· You can view the logs for a specific robot (Right click on the robot and select "View
Logs for the specific robot" option)

· The robots are now saved in a database that you can backup, restore and compact
("Tools - Manage Robots Database")

· The robots are now exported to a new file type (*.waj), however, there is backward
compatibility (you can import old xml files but you can't open waj files with
WinAutomation 2)

· You can import multiple robots at once

· There is a special executable in WinAutomation's installation directory


(WinAutomationController.exe) that allows you to run and stop your robots through
the command line.

Robot Designer
· All actions have been redesigned and in their property dialogs the main tab is now
divided in 2 sections: "Action Input" and "Action Output".

· A new special "gear" icon has been introduced, that allows you to select from
variables that have been created/used earlier in the robot. This icon can be used
only in fields that reside in the "Action Input" section of the action's properties
window.

· There are a lot of internal features like automatic variable handling (automatically
create a new variable when it's declared and delete when it's not used) and the
addition of new types of variables (files, folders etc) that intend to make interaction
with variables much easier. For example, you do not need to use the "Define New
Variable" option now: you just place a variable name in the field and if it does not
exist, it is automatically created.

· There are no longer yellow and white background colors in forms: whenever you
want to use a variable, you will have to enclose it in percentages (e.g %MyVar%).
WinAutomation 51

· The image recognition system has been significantly changed: it is now more
accurate and stable, and the tolerance option is now more versatile (in version 3, it
does not only understand differences in color tones but it also indicates the amount
of different pixels that is allowed).

New Actions
· Download From Web (Web category): This action acts like a browser and can handle
http requests, supporting both, get and post method for posting data.

· Get Command Line Arguments (WinAutomation actions category): This action


retrieves the command line arguments that can be provided through the command
line or if the robot is compiled.

· Get Robot's Path (WinAutomation actions category): This action retrieves the path
to the executable (obviously works only if the robot is compiled)

· Wait For Mouse (Wait category): You can now use this action for specific type of
applications where the only indicator that you have for a complete task is the mouse
icon

· Press/Release Key (Mouse and Keyboard category): Presses (and holds) or releases a
moifier key. This new action allows you to combine any of the known modifiers
(Control, Alt, Shift) with a mouse move/click.

· Set Key State (Mouse and Keyboard category): You can use this key to ensure that
Caps Lock, Scroll Lock and Num Lock are on the state that you want them to be
during the execution of a specific robot.

· Display Notification (Message Boxes category): This action can be used to print
useful information about the robot execution in the Notification window that pops up
whenever you run the robot through the console (unless you have specified that this
window does not appear). Also, it will print the information that you specify in the
console window that will appear if you compile your robot as a "Console Application".

· Display Select Date dialog (Message Boxes category): Allows you to prompt the user
to select a date or a date range.

· Get Special Folder (Folders category): This action will return the path of special
Windows folders (e.g Desktop). It can prove really useful if you want to create a
robot that does not depend on the user's Windows version (XP/Vista).

· Open Secure FTP Connection (FTP category): Allows you to open a secure FTP
connection (sFTP or FTPs, implicit or explicit)

· Download Folder(s) (FTP category): Allows the download of a folder and its contents
through FTP

© 2018 Softomotive
· Upload Folder(s) (FTP category): Allows the upload of a folder and its contents
through FTP

· Invoke FTP Command (FTP category): Allows you to send a custom FTP command to
an FTP server

· Change Text Case (Text Actions category): Allows you to change the case of a
specific text (possible options to convert to: lowercase, UPPERCASE, Sentence case,
Title Case)

Changed Actions
· Start Robot Action (WinAutomation actions category): There is now an option to
"Wait for robot to complete". The robot that is called through this action, can now
use the variables that are declared in the main robot.

· Display Input Dialog (Message Boxes category): This action can now prompt the user
for a password, and accept multiple lines as input.

· Display Select from List Dialog (Message Boxes category): You can now allow the
user to select multiple items and disallow the empty selection.

· Get Files in Folder (Files category): Allows you to sort the files that you retrieve
based on specific attributes (e.g Size, Last Modified etc)

· Get SubFolders in Folder (Folders category): Allows you to sort the folders that you
retrieve based on specific attributes (e.g Creation Time, Last Modified etc)

· Download File(s) from FTP (FTP category): Allows you to select "Auto" as a transfer
type.

· Upload File(s) to FTP (FTP category): Allows you to select "Auto" as a transfer type.

· Open FTP Connection (FTP category): You can now use use a variable as password

Compile Robot to Exe


· There are new options to choose from when you are generating an executable: you
can specify how the exe will deal with a possible exception (e.g Return error code =
1) or if you want to compile the robot as a windows or a console application.
WinAutomation 53

1.6 About Softomotive

We Talk Automation

Softomotive offers sharp business solutions, premium support and the kind of professional services
you truly deserve.

The company is one of the leading worldwide providers of Robotic Process Automation products and
services, trusted by more than 6.000 companies worldwide.

With 10 years in the software automation market, Softomotive offers the most reliable and scalable
RPA solutions, bridging the gap between state-of-the-art technology and unparalleled ease of use.

Our automation solutions are proven to deliver operational efficiency, reduce costs and empower
brands.

· If you are experiencing any problems with WinAutomation please feel free to contact us at:

Email: info@softomotive.com

Our Offices:

United Kingdom
2 Eastbourne Terrace

WeWork Paddington

London, W2 6LG, United Kingdom

Phone: +44 207 048 2000

USA
700 Milam St, Ste 1300

Houston, TX 77002-2736, USA

Phone: +1 346 561 0854

© 2018 Softomotive
Greece

103 Kallirois St

117 45, Athens, Greece

Phone: +30 218 218 0000

India

Block 6A, 1st Floor, RMZ Ecoworld

Bellandur 560103

Bangalore Karnataka, India

Phone: +91 80614 29091

1.7 Purchasing WinAutomation


WinAutomation is provided for free as a 30-day trial. Registering WinAutomation
requires an activation key which is obtained after purchasing from:

http://www.winautomation.com/purchase/
2. Getting Started
2 Getting Started
2.1 Create a simple Robot - Part 1
We'll start with an overly simple example. In fact, it will be useless as it is not
automatic, nor is it faster than just doing the robot manually - you'll write a two-step
Robot that will create a Folder named TestFolder on drive C:, and then tell you that it
did that. You want it easy to start, so you'll also set up a Trigger so that it will run
when you enter a Hotkey. This Robot is an introductory statement; it is easier to do
without WinAutomation, but it will demonstrate how to get started, and use some key
features.

Now you know what you want to do, and you know that the Actions can do this
easily. A flowchart would look like: Create Folder and name it TestFolder; put up a
message to show it's done. So step one is to create the Robot. Click on New Robot:

and type in "Create New Folder" for the name of the new robot. Click on the "Robot
Designer" icon to open the new Robot in the Designer Window and start building it.
Getting Started 57

Now to write the actual Robot in two steps. First, open the Action category of Folders,
and drag the Action Create Folder and drop it to the Action Sequence. You could also
double-click on the Action Create Folder.

This opens the Create Folder property Window, and we enter a location ( C:\ ) and a
name ( "TestFolder" ) in the fields.

© 2018 Softomotive
You won't need to store the Folder for later, so ignore the Action output for now. Push
OK, and the properties Window closes.

For the second step, open the Action category of Message Boxes and Drag and Drop
the Action Display Message.
Getting Started 59

In that property Window, enter a Title ( "My First Robot" ) and a Message ( "Folder
"TestFolder" has been created!" ) and then close the box.

Your Robot Designer Window should look like this:

© 2018 Softomotive
And done! Run the Robot from the Robot Designer Window to make sure everything
works as expected. The windows change as the Robot runs, and then a Message Box
appears with, "Folder "TestFolder" has been created!". There is also a new folder at C:
\TestFolder, so the Robot is now complete.
Getting Started 61

Close the Robot Designer Window and save the Robot. Congratulations - you have
created your first Robot!

2.2 Create a simple Robot - Part 2


One of the most powerful features of WinAutomation is its use of Variables to carry
information from one Action to another. This allows you to get information and then
use it in later steps, copying data and using it, moving it, or incorporating it into other
Actions. Now you will create a Folder as in the first example. This time, the name of
the folder will be the time and date that it was created. This Robot has practical
applications: as you can create unique folders, differentiated by time - perhaps to
organize pictures. To do this, you will need four steps: get the current time; change it
from a time value to text, so it can be used as a name; create the folder with this
name; and then put up a message that the Robot is finished.

First, of course, create, name, and open the new Robot. The first Action is to Get
Current DateTime under the category DateTime Actions.

Once we've Dragged and Dropped this Action, we want to retrieve the information to a
Variable called "%CurrentDateTime%". This allows us to access the information later in
the Robot.

© 2018 Softomotive
As you'll learn in Data Types, a DateTime value is not text, although it be used as
such. But since a DateTime can be represented in many ways, to get it in the format
that you prefer you'll have to convert the DateTime value to text with Convert
DateTime to Text, under the category Text Actions.
Getting Started 63

In the Convert DateTime to Text property box, you will select the Variable you created
in the last Action, "%CurrentDateTime%". For the Format to Use, choose Custom and
look at how DateTimes are expressed: yyyy-MM-dd gives four digits for the year, two
for the month, and two for the day - experiment here to see how different formats
look - time is often hh:mm:ss). In this case enter yyyyMMdd-hhmmss to create a
sortable representation of the current date and time

© 2018 Softomotive
The output will be "%FormattedDateTime%" - now as text.

The final two Actions are the same as Example 1. You will Create a Folder with name
"%FormattedDateTime%", and store the output to "%NewFolder%" and then Display a
Message with a title, "New Folder Created" and the message,

"Folder:

%NewFolder%

has been created!"


Getting Started 65

Now, your Robot Designer Window should look like this:

© 2018 Softomotive
Again, run the Robot to test it, and see that things work the way they should. If
everything works well, exit and save the Robot.

2.3 Create a simple Robot - Part 3


Next, it is easy to add a Trigger or a Schedule. WinAutomation supports many different
kinds of Triggers and Schedules and this will allow the Robot to be run automatically,
for example when you enter a Hotkey, or, with Ping Trigger, whenever you are offline,
or at specific times. Today you'll set up the two most common ones - at a certain time
(Schedule) and at the touch of a Hotkey (Trigger). Make sure you have the
WinAutomation Console open, and have a finished Robot - the "Create New Folder with
DateTime" you created in Part 2 is good.

Click on the Triggers Tab and select "New". Form the Available Triggers select "Hotkey
Monitor Trigger" and select the hotkey you want, on the window that will popup:
Getting Started 67

The next dialog that open "Assign Robot to Trigger" lists all the Robots that you have
created. You can choose the Robot that you want to attach the trigger to.

© 2018 Softomotive
The newly created Trigger is now listed in the Triggers main pane.
Getting Started 69

Now try it out. When you press Ctrl-B, the Robot will run, you will get a folder with the
current date and time as the name and a Message that it was created. Press Ctrl-B
again, and you will get another folder with a different time, if only by a few seconds.

Apart from the Triggers you also have the option to attache a Schedule to a your
Robot. For this, you would have to click on the "Scheduler" tab, click on "New" select
the "Schedule".

© 2018 Softomotive
Enter a Custom Description and then choose a frequency and time to run the Robot,
for example Daily at 3 p.m.

Decide whether you want the Robot to run immediately or be skipped for the day if the
Robot is delayed (for example the computer wasn't on), and choose an expiration date
if you want one. We'll accept the default on both of these. Again the "Assign Robot to
Schedule" dialog will appear to select the Robot to which the Schedule will be
attached.

Now you have a Trigger and a Schedule attached to your Robot. This way the Robot
will run automatically every day at 3:00pm OR when you press Control-B.
3. Using WinAutomation
3 Using WinAutomation
3.1 The Console
The Console is the first Window you see when you start up WinAutomation. From here,
you will access all other parts of the program. This is where you perform most of your
tasks other than building or editing a Robot.

The 7 parts of the window are:

1 - Robots Tab 73

2 - Triggers Tab 83

3 - Scheduler Tab 98

4 - Logs Tab 102

5 - Options Tab 107

6 - Folders Pane: In this pane you are able to view your Robots folders structure.

7 - Robots Pane: In this pane you can see all the Robots that are saved in a specific
folder. You can click on a folder in the Robots' Folder pane and all its Robots will be listed in
the Robot's pane.
Using WinAutomation 73

3.1.1 Robots
In the Robots Tab in the WinAutomation console you will find all the options to manage
your Robots, explained in detail in the topics below.

3.1.1.1 Robots Tab


The Robots Tab has four menu groups and two panes as follows:

1. Create:
In the Create group you can create a New Robot 75 , create a new folder 74 to save your
Robots in, Import/Export a Robot 77 a Robot in/out the console.

2. Edit:
In the Edit group you can Edit a Robot in the Robot Designer by clicking on the "Robot
Designer" option, view its Properties 122 , delete a Robot, Select all Robots in the folder that
you are currently in, Rename/Cut/Copy/Paste a Robot and Enable or Disable 81 it.

3. Execution:
In the Execution group you can Execute-Run-Start 79 a Robot from the Console and Stop it
at any time before its completion.

© 2018 Softomotive
4. Compiler (Available with the Professional and Professional Plus Editions. N/A
to the Basic Edition):
With the Professional edition you are able to create stand alone executable files 130 that
can run on any machine.

5. Find (Available with the Professional and Professional Plus Editions. N/A to
the Basic Edition):
In the Find group you can search for your robots.

6. The Robots Folders List pane:


In this pane you are able to view your saved Robots folders structure.

7. The Robots List pane:


In this pane you can see all the Robots that are saved in a specific folder. You can click on a
folder in the Robots' Folder pane and all its Robots will be listed in the Robot's pane.
The Columns in the Robots List pane can be rearranged should you click and drag them
according to your desirable display.

3.1.1.2 Create a new Folder


You can create a new folder by the "Create" menu group in the Robots tab after
clicking "New Folder", or by right clicking on the folders pane and selecting "New
Folder". This creates a new folder that is waiting for you to rename it.
Using WinAutomation 75

The new folder will be created as a subfolder, under the folder which is selected in the
Folders List. It will always be a subfolder of whatever folder you have selected on the
left screen. Therefore you cannot create another folder at the same level as 'My
Robots', as you cannot select a higher folder to place the new one in.

You can also drag and drop a folders into another folder in the Folders' list pane.

Of course, you cannot have two folders with the same name under the same folder.

3.1.1.3 Create a new Robot


You can create a new Robot by pressing Ctrl+N or by clicking on the New Robot button

on the Robots tab. This will open the "Create New Robot" Dialog, prompting for a
name for the new Robot.

© 2018 Softomotive
After setting the Robot's name you have three options.

You can either open:

1. the Robot Designer and start building your Robot by combining actions,

2. you can jump to the Macro Recorder to record your mouse clicks and keystrokes
and then go back to the Robot Designer, or

3. finally you can open the Web Recorder and start navigating in a browser window
where all your web activities will be recorded and converted into action when you
finish the recording and return to the Robot Designer.

Note that you can always enter the Robot Designer and access the Recording tools
(Macro Recorder and Web Recorder) from within the Robot Designer's window. The
tools are available in the Robot Designer's toolbar and under the "Tools" menu.
Using WinAutomation 77

To re-edit a Robot later, double-click on it, or select it and click on the "Robot

Designer" button on the Robots tab or right click on the Robot and select Edit
Robot.

3.1.1.4 Move Robots/Folders


The Folders List and Robots List panes both use 'drag and drop', so moving folders and
Robots is easy.

Simply select the folder you want to move and drop it in the destination folder, in the
Folders' List pane. If you want to move a Robot, click on it in the Robots List pane and
drag it to the proper folder.

3.1.1.5 Import/Export a robot


WinAutomation stores all Robots in a database. Therefore, there are no obvious Robot
files to copy or move. To copy a Robot onto another computer that has
WinAutomation installed, export the Robot - this will create a file with the extension
.waj.

This file may be moved to another computer with WinAutomation and then imported
into its database. Now the new computer will also have a copy of the Robot. This is
done through Import Robot and Export Robot on the Robots tab.

© 2018 Softomotive
Import a Robot:
To import a Robot within your WinAutomation Console, please do launch the
WinAutomation Console, and from the Robots tab in the Create menu, please do select
the "Import Rob" option. Having done so, a dialog will appear and prompt you to select
the Robot's file you wish to import (*.waj)

Once the file has been selected and you have press the "Open" button the dialog
window will close and within the WinAutomation Console, in the Robots panel you shall
see the Robot you selected to import.

Export Robot:

To export a Robot, locate the Robot you wish to export and from the Robots List pane
and select the "Export Robot" option in the Create menu group. Having done so, a
dialog will appear and prompt you to select the folder where the Robot should be
exported to.

Once the folder has been selected and you press the "OK" button in the dialog, the
dialog window will close and within the folder you selected a new file will be created
named after the Robot's name and with a *.waj extension.
Using WinAutomation 79

3.1.1.6 Run/Stop a robot


You can start a Robot manually by clicking on the Start Robot Icon, clicking Start, by
right-clicking on the Robot and choosing Run Robot, or through the use of Triggers.
The Robot you want to start must be highlighted. If no Robot is highlighted, the Start "
" and Stop " " options are not available.

If you start a Robot that is already running, by default you will start another Instance
of that Robot. If you do not wish a Robot to be able to run multiple instances
concurrently, you can specify that through the Concurrency Policy 128 tab (available in
the Professional edition only) of the Robot Properties Dialog for that Robot.

You can stop a running Robot by clicking on the Stop Icon in the Robots tab, or by
right-clicking on the Robot and choosing Stop Robot.

You can also stop one instance of a running Robot by clicking on the Stop Robots link
found on the Notification Popup Window 79 , though this will close only that instance of
the Robot.

Finally, you can close all running Robots simultaneously by entering Ctrl-Alt-T. This
HotKey is a predefined Trigger that is especially useful if WinAutomation is controlling
your mouse so you can't click on anything, a "panic button," so to speak. You can
change this combination in the "Options tab > General".

3.1.1.7 The Notification Popup Window


The Notification Popup Window is the small window that opens in the bottom right
corner of the screen while a Robot is running (and for a short time thereafter) from the
WinAutomation Console, a Schedule or with a Trigger. It will not be displayed when you

© 2018 Softomotive
run a Robot from within the Robot Designer, as this is considered debugging, not
running.

The Notification Window displays the status of the Robot (Running or Completed),
which Action is currently being executed, the total running time, and a small link which
says "Stop Robot" (and stops that instance of this Robot only).

You can also display custom messages through the Notification Window, using the
Display Notification Action 392 under Message Boxes. This is a great way to write
messages to the user without pausing the Robot for a standard Message Box. Enter
the text (and/or Variable value) you want to display. As you go through the Robot,
you can change the message with further use of the Display Notification Action, and
using an empty message will remove the message you had previously displayed.

Additional Notification Windows will pop-up above the previous one, so if you run
several Robots simultaneously, the Windows will form a column.

Although the Notification Popup Windows provides you with information about the
Robots currently running, if they are distracting, you can disable this feature through
the Options tab > General 123 as shown in the picture below:
Using WinAutomation 81

You can close any open Window at any time by clicking on the red ( ) button on the
top right corner of the Window. This will hide only the Notification Window, while the
Robot instance continues to run. To stop the Robot itself, click on the "Stop Robot"
link in the Notification Window.

3.1.1.8 Enable/Disable a Robot


Enabled, the default setting, means a Robot can run. If you Disable a Robot, it cannot
be run either manually or by a Trigger. This is useful for making sure that a Robot that
is not supposed to run, for any reason, will not start accidentally. You can however
edit a disabled Robot and run it through the debugger.

You can enable or disable a Robot by selecting it and choosing Enable Robot or Disable
Robot on the Robots Tab.

If you disable a Robot, the text will appear in a lighter, grayed-out color:

3.1.1.9 Find Robot


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

Using the Find option, you can search for a robot by its name and select it within all
the folders of your database.

You can double click on a robot or a folder to find it in the Console.

© 2018 Softomotive
3.1.2 Triggers
3.1.2.1 What Triggers Are
Triggers, help you to run a WinAutomation Robot automatically without your
interference. For example, if you want something to happen when a system is down,
when a file is created, when a service is starting/stopping or when you press a key
combination, this is the way to set it up. Triggers work whenever they are set to,
even if there is no user logged onto the computer at that time.

For Triggers (and Schedules) 97 to work, the WinAutomation Services must be running
in the background, constantly checking and starting Robots if a Trigger is set off. As
Using WinAutomation 83

long as they are running, WinAutomation Triggers will function normally. If you right-
click on the Agent in the System Tray 281 and choose Exit WinAutomation, you will
disable all Triggers and close all functionality of WinAutomation until you run the
program again. This is different from the Console, so Triggers will still function normally
if the Console has been closed.

Triggers can be disabled universally from the Triggers tab after selecting "Select All"
and "Disable Triggers". This means that no Triggers will work until you change this
setting. If you want to disable the Triggers for one Robot without deleting the
Triggers, right-click on the Robot and choose Disable Robot. Now this Robot will not
run, manually or through Triggers, until you Enable the Robot again

3.1.2.2 Trigger Variables


All Robots have several built-in Variables that are filled in based on what Triggered
them. All Triggers will populate %TriggerName% with the name of the Trigger that fired
it. If a Robot is run manually (whether or not it has Triggers attached), the contents
of this Variable will be an empty text.

For example a Process Trigger will populate %TriggerName%,


%ProcessTriggerProcessName%, and %ProcessTriggerEventType% with the name of
the Trigger that fired the Robot (a Process Trigger), the name of the Process, and the
Event that fired it (Launched or Terminated). These Variables will be filled at the
beginning of the Robot, so you can access them throughout the Robot to notify the
user.

You can find all Trigger Variables and their descriptions through Tools -> Variables
Manager in the Robot Designer Window.

3.1.2.3 Triggers Tab


In the Triggers tab on the WinAutomation console you are able to assign Triggers to
Robots.

You can assign a Trigger to a Robot 85 by clicking on the "New" option in the Create
menu group.

© 2018 Softomotive
In the Edit menu group you can:

Edit the trigger of a Robot: Select the trigger that you want to edit from the Triggers
list in the pane below, click on edit and modify the Trigger.

Reassign a Trigger to a Robot: Select a trigger from the Trigger list pane and then
click on the "Reassign" option. This will pop-up a dialog, so that you will choose the
Robot on which you want to reassign the Trigger.

Copy/Paste/Delete Trigger: Select a trigger from the Trigger list pane and
copy/paste it. Once you select the paste option the "Assign Trigger to Robot Window"
will pop-up, prompting you to select the Robot to which you want to Paste the Trigger
to. To Delete a Trigger simply select it from the Triggers list pane and click on the
delete option.

Select All: This options allows you to select all the triggers in the Trigger list pane.

Go to Robot: Clicking on this option, after selecting a Trigger from the Trigger list
pane, you get you directly to the Robots tab highlighting the Robot.

Collapse All Groups: It will collapse the details of all the Trigger groups in the Trigger
list pane.

Enable/Disable Trigger: Click on a Trigger in the Trigger list pane and choose
whether you want to Enable or Disable it. By Disabling a Trigger it will no longer fire the
Robot until you Enable it again. You can also disable a Trigger for a Robot if you right
click on it and select "Disable Robot".
Using WinAutomation 85

In the Trigger list pane you can see the type of the Triggers, the Description, The
Robot name that they are assigned to and they are Enabled or not.

3.1.2.4 How to set a Trigger for a Robot


Triggers are attached to a Robot outside of the Action steps and so in the Console,
not in the Robot Designer.

To create a Trigger and attach it to an existing Robot, click on the "Triggers" tab and
in the Create menu group select "New". In the menu that pops up will have to choose
the type of the Trigger that you want to attach to a Robot.

All the Trigger Types are described in detail in the "Trigger Types" topic:

· Email Monitor Trigger 87

· Event Log Monitor Trigger 89

· File Monitor Trigger 91

· Idle Monitor Trigger 93

· Hotkey Trigger 92

· Ping Trigger 94

· Service Monitor Trigger 95

© 2018 Softomotive
· Process Monitor Trigger 96

After selecting and configuring the Trigger you wish, a Dialog pops up where you are
prompted to select the Robot to which you will attach the trigger.
Using WinAutomation 87

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 Robot
when an email that satisfies the specified criteria arrives.

© 2018 Softomotive
Custom Description
Add a custom description to the trigger which will be shown in the Triggers tab under
"Description"

Check Email Every


In the trigger's configuration dialog you specify how often the trigger should check for
new emails. The default value is every 5 minutes.

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 560 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

Check for Emails Where...


In the next group of fields, you need to specify the values of the email properties that
will fire the trigger. Leaving all the fields of this group empty will cause the trigger to
fire and the Robot will be executed for every email that arrives into the mailbox.

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:

· all emails or only for unread (Retrieve property field)


· for emails that end up into a specific folder (Mailbox Folder is: property field)
· for emails coming from a specific sender (“From” Field Contains: property field)
· for emails being addressed to a specific recipient (“To” Field Contains: property field)
· for emails that contains specific keywords in the subject (Subject Contains: property
field)
· for emails that contains specific keywords in the body (Body Contains: property field)
Using WinAutomation 89

Of course you may enter your preferences for more than one of the above properties
and combine trigger firing criteria.

Note that the Email Monitor Trigger will only check for the specified email types and
not retrieve them from the email server (where they will consequently remain marked
as “unread”).

So, if in the Robot that is executed by the trigger you need to process the email(s)
that caused the Robot to run, you should use the Retrieve Emails 560 and the Process
Emails 569 actions.

3.1.2.5,2 Event Log Monitor Trigger


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

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.

Event Log Name - Event Type - Event ID - Event Source:

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).

Event Message must (Not) contain:


Finally you can set the Trigger to fire only for events that contain a specific text
within their message or alternatively to ignore events that contain a specific text.

© 2018 Softomotive
The Event Log Monitor Trigger, when fired, assigns values to five Trigger Variables that
are made available to the Robot:

%EventTriggerEventLogName% which will contain the name of the Log where the
event was created,

%EventTriggerEventID% which will contain the Event ID of the event that was
created,

%EventTriggerEventType% which will contain the type of the event that was
created,

%EventTriggerEventSource% which will contain the source of the event that was
created, and

%EventTriggerEventMessage% which will contain the message of the event that


was created.

As you can have as many Triggers as you want attached to the same Robot, this
would allow you to know which Event fired the Robot. You can access this information
through Actions using those Variables.
Using WinAutomation 91

3.1.2.5,3 File Monitor Trigger


This Trigger monitors files in a Folder (and subfolders, if chosen), and fires if a file is
created, modified, changed, or deleted within the folder(s). Specify the event(s) to
look for, and file types you wish to include or exclude. With wildcards, this allows
monitoring of a folder to see if any folder of the type .doc is created, for example, or
any file other than an executable file is changed.

The File Monitor Trigger, when fired, assigns values to four Trigger Variables that are
made available to the Robot:

%FileTriggerFileName% which will contain the name of the file that fired the
Trigger,

%FileTriggerOldFileName% which will contain the original name of the file if it has
been renamed,

%FileTriggerFilePath% which will contain the complete path (along with the
filename) of the file. Note that this value is a File object meaning that has the

© 2018 Softomotive
properties 256 of every file object. For example you can retrieve the size of the file that
triggered the Robot by specifying: %FileTriggerFilePath.Size%

and

%FileTriggerEventType% which will contain 'Created' or 'Changed', 'Deleted' or


'Renamed'.

You can create Actions in the Robot to show this information, for example you can
create a Robot Trigger that fires when an executable file in the Windows directory
(with subfolders) is changed, and the Robot then puts up a Message Box informing you
of what happened.

NOTE:File Monitor Trigger doesn't support monitoring shared folders by mapped


directories. You need to use paths such as "\\someserver.com\some\path"

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.

3.1.2.5,4 Hotkey Trigger


With a Hotkey Trigger, you can cause your Robot to fire when you type, for example,
Ctrl-Shift-Y, or any other combination you want. As with any other Trigger, this only
works when you have the WinAutomation Service running.

One HotKey can fire multiple Robots. This means that you could set up three different
Robots, all with the HotKey Alt-F7, and at a press of the HotKey, all three would fire
together and run at the same time.
Using WinAutomation 93

On a related note, if you use a HotKey from another program there could be some
interaction. WinAutomation usually notes HotKeys first, and marks them as satisfied.
So, for example, if you set Ctrl-C to be a HotKey, then you can no longer use
Window's Copy HotKey function - Ctrl-C will fire the Robot and be satisfied, so
Windows won't see it. Other programs could have varying interaction, depending on
how they were written, so be ready to change a HotKey if you find your computer
responding different than you anticipated.

3.1.2.5,5 Idle Monitor Trigger


This Trigger fires once the computer has had no input for a set amount of time that
you choose in minutes, hours, or seconds. This can be useful for resource-intensive
Robots that you only want to run when you are not using the computer, for example.

© 2018 Softomotive
This Trigger will not fire if no user is logged in.

3.1.2.5,6 Ping Trigger


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

This Trigger will 'Ping' a host (usually an IP address or a URL) at the interval you set. If
the host does not respond within the timeout you set, this registers as a failed Ping
attempt, and Triggers the Robot.

Once the host fails to respond and Triggers the Robot, subsequent failures will not fire
the Robot again until a Ping attempt is successful. Thus, for example, if the host
responds 5 times, then fails 3 times, then responds once and fails again, this Trigger
will fire after the 6th attempt (first failure) and after the 10th attempt (first failure
after a new success).
Using WinAutomation 95

The Ping Trigger, when fired, assigns values to a Trigger Variable that is made available
to the Robot:

%PingTriggerHostName%, which will be filled with the name of the host that failed
to respond.

As you can have as many Triggers as you want attached to the same Robot, this
would allow you to know which Ping Trigger fired the Robot, and thus which host went
down. You can access this information through Actions using this Variable.

3.1.2.5,7 Service Monitor Trigger


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

The Service Monitor Trigger fires when the state of a specific Windows Service
changes. Enter or choose a Service that exists on your computer, and select for it to
Trigger when that Service starts, pauses, or terminates.

© 2018 Softomotive
The Service Trigger, when fired, assigns values to two Trigger Variables that are made
available to the Robot:

%ServiceTriggerServiceName%, which will be filled with the name of the Service


that Triggered the Robot, and

%ServiceTriggerServiceState%, which will contain 'Running', 'Paused', or 'Stopped'.

As you can have as many Triggers as you want attached to the same Robot, this
would allow you to know which Service Trigger fired the Robot, and why.

3.1.2.5,8 Process Monitor Trigger


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

This Trigger monitors a certain process and fires when this process starts or
terminates. Enter or choose a Process that exists on your computer, and select for it
to Trigger when that Process starts or terminates.
Using WinAutomation 97

The Process Trigger, when fired, assigns values to two Trigger Variables that are made
available to the Robot:

%ProcessTriggerProcessName%, which will be filled with the name of the Process


that Triggered the Robot, and

%ProcessTriggerEventType%, which will contain either 'Launched' or 'Terminated'.

As you can have as many Triggers as you want attached to the same Robot, this
would allow you to know which Process Trigger fired the Robot, and why. You can
access this information through Actions using those Variables.

3.1.3 Scheduler
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

A Schedule can be set for a Robot in order to run it at specific days/times or keep
running it using a recurring Schedule.

For Schedules to work, the WinAutomation Services must be running in the


background, constantly checking and starting Robots if a Schedule is set.

If you right-click on the Agent in the System Tray 281 and choose Exit WinAutomation,
you will disable all Triggers and Schedules and close all functionality of WinAutomation

© 2018 Softomotive
until you run the program again. This is different from the Console, so Schedules will
still run normally if the Console alone has been closed.

Schedules, like Triggers, can be disabled universally from the Schedulers tab after
selecting "Select All" and "Disable Schedule(s)". This means that no Robot will run on
its Schedule, until you change this setting. If you want to disable the Schedule for one
Robot without deleting it, right-click on the Robot and choose Disable Robot. Now this
Robot will not run, manually or on its Schedule, until you Enable it again.

3.1.3.1 Scheduler Tab


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

In the Scheduler tab you can run Robots on a Schedule using the "Schedule" and the
"Recurring Schedule".

If you click on "New" in the Create group, you can choose which Schedule to assign to
a Robot.

Once you have assigned a Schedule to a Robot, then you are able from the "Edit" menu
group to:
Using WinAutomation 99

The Edit menu group is the same as in the Triggers tab 83

1. "Edit" the schedule, should you wish to change its properties.


2. "Reassign" the schedule to a different Robot.
3. Copy, Paste, Delete the selected schedule.
4. "Select All" schedules.
5. "Go to Robot" will get you to the Robots tab highlighting the selected Robot.
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 Robot
Name, and whether the Schedule is Enabled or not.

3.1.3.2 Schedule
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

Attaching a Schedule allows you to set times for the Robot to run.

Custom Description:

A custom description that you want to set for this schedule.

© 2018 Softomotive
Schedule Type:

Once you are on the Schedule Properties, you can choose to have the Robot fire Daily,
Weekly, Monthly, or on Specific Dates. Each choice brings up several other choices,
and those must be fully filled in to work. The last Working Day of Month is the last
weekday, as a computer doesn't know the local holidays.

If Robot is late:

The next choice is what to do if Robot is Late. You can choose to have the Robot run
immediately (usually on start-up, and this is a good way to have a Robot fire once at
the beginning of each day or whenever your computer is turned on), or to skip that
firing of the Robot.

Schedule Expires on:

Finally, if you choose to have the Schedule Expire, after the date you enter the
Schedule will still be there, but will not fire a Robot when the Schedule comes up.
Using WinAutomation 101

If a Schedule is attached to a Robot then the date/time for the next run of the Robot
is displayed in the Next Scheduled Run column in the WinAutomation console on the
Robots Tab.

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 Robot will fire after that interval, so if you set a Recurring Schedule for
10 minutes, for example, it will fire for the first time 10 minutes after this schedule is
set, and every 10 minutes after that until you change it.

If a Recurring Schedule is attached to a Robot then the date/time for the next run of
the Robot is displayed in the Next Scheduled Run column in the WinAutomation Console
in the Robots Tab.

3.1.4 Logs
3.1.4.1 Logging in WinAutomation
In WinAutomation, all the Robots that run through the Console are logged into a
central log file for review. You can look at the history of any or all Robots in this way.
The events that are logged are:

© 2018 Softomotive
trigger fires, Robot starts, Robot stops, reason for stopping (and what error, at which
step).

Robot stops are listed as successful, unsuccessful, or stopped by user.

If a Robot is run through the Robot Designer, WinAutomation considers it debugging,


not a run, so the event is not recorded into the Log database. When you run the
Robot through the Console or due to a Trigger or Schedule, the Robot will be logged.

To view the Logs for a Robot you can either right click on it and select "Show Logs for
Robot(s)" or hit Ctrl+L, or you can select it in the Select Robots pane in the Logs tab.
When you want to see older Logs, or more details, simply set the options as per the
Logs Tab 102 description.

If WinAutomation itself encounters an error or bug, it is also logged into the log
database as an "Internal Exception". Open the Logs Window and review the error Log.
If you don't know what to do, WinAutomation tech support can use this information to
aid you quickly and efficiently.

The Archive Option in the Logs Tab opens another Window that allows you to archive
the log older than a specific date and save them in a .dat file in a location that you will
choose. Choose the date prior to which you wish to archive the logs and press OK.

A Robot can record a custom log entry through the "Log Message 644 " action. These
events are recorded both when the robot runs through the Console and the Robot
Designer

3.1.4.2 Logs Tab


The Logs Tab has three main group of options:
Using WinAutomation 103

1. Event Types (Available with the Professional and Professional Plus Editions.
N/A to the Basic Edition):

From Event types group you can specify if you wish to display the "Info" and/or the
"Warning" and/or the "Error" messages for the selected Robots.

Error: Happen mostly when a Robot fails to run successfully and produces an error.
Warnings: Are expected problems like trying to run a Robot that has known errors.
Info: Lets you know when a Robot run and completed or when a Trigger or Schedule is
fired.

2. Date Range (Available with the Professional and Professional Plus Editions.
N/A to the Basic Edition):

The Date Range option allows you to select the dates whose logs interests you, for
the selected Robot(s).

3. Maintenance.
The Archive option, opens another Window that allows you to archive logs older than a
specific date and save them in a .dat file, in a location that you will choose. Having
done so, those logs will be deleted from the "Logs.dat" file. Choose the date prior to
which you wish to archive the logs and press OK.

© 2018 Softomotive
In the Details pane you can see:

4. The error message that was thrown

5. The Additional details of the error

Once you have specified all Types and the Date Range, the Robots that match your
filter will be listed. This information will include the Type, the Source, a Message and a
Date-Time.
Selecting a Message will display the Details of that Log event. Most Info or Warning
events will only repeat the Message here, as there is no more useful information. In
the event of an Error, the Additional Details box will contain all appropriate information
to help solve the problem. As this area is highly technical, use this information if you
need to contact Technical Support.

3.1.4.3 Filtering Log Messages


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

If you want to limit the log messages for preview, you can use the Event Type group
menu to select the type of the event you wish to display (Info, Warning or Error).

You can also select the Date or Date Range from which you want to retrieve the Event
Types, as also described in the Logs Tab 102 .

You can select the Robot(s) for which you want to see the logs in the select Robots
pane by checking the corresponding checkbox(es).
Using WinAutomation 105

3.1.4.4 Viewing Log Messages for Robot


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

You can view the Logs of a specific Robot by right-clicking on the Robot, and selecting
Show Logs For Robot(s). This will take you to the Logs menu Tab, with the Filters for
today and the selected Robot are already chosen for you. Thus, this is a short-cut to
a filtered Log search for the Robot you chose.

© 2018 Softomotive
Using WinAutomation 107

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 log only the recent and relevant
events you may do so through the "Archive" option in the "Maintenance" group of the
Logs tab.

The Archive option opens another Window that allows you to archive logs older than a
specific date and save them in a .dat file, in a location that you will choose. Having
done so, those logs will be deleted from the "Logs.dat" file. Choose the date prior to
which you wish to archive the logs and press OK.

This dialog allows you to delete all events that have been logged within a specific date
range.

It also gives you the option to archive the events before deleting them. To do so, you
need to check the "Archive Events before delete" checkbox and specify a file path in
the following textbox. This way a file will be created that will contain all the events
that have been deleted from the main WinAutomation log.

3.1.5 Options
WinAutomation Options are accessed by clicking on the Option Tab in the console
Menu.

The Options tab includes seven tabs.

1. General

2. License

3. FTP

4. Email/SMTP

© 2018 Softomotive
5. Addons

6. Autologin

7. Error Handling

3.1.5.1 General Tab


In the Options > General tab you can specify:

1. The location of the Robots and Logs database. All you Robots file will be kept
there. This can be useful if you wish to have two Robots databases, or if you want to
move one or both of the databases. Simply copy the database file using Windows
Explorer and then re-assign the location of the database.

By default the platform places its Robots File (Robots.dat) into your "Documents"
Folder inside the sub-folder "WinAutomation". Typically the full path looks something
like:"C:\Users\...your username...
\Documents\WinAutomation\Robots.dat"

If the platform can't access the aforementioned path (insufficient permissions etc)
then "Robots.dat" will be placed by default into:"%LOCALAPPDATA%
\Softomotive\WinAutomation\Robots.dat"

The AppData folder is usually hidden so you might need to change the folder view
setting on your machine to access it. If %LOCALAPPDATA% proves to be inaccessible
as well, then "Robots.dat", as well as the "Settings.dat" and the rest of the
configuration files and folders created by the platform will be stored
into:"%ProgramData%\Softomotive\WinAutomation\...user Sid...\"

2. If the Triggers and Schedules are enabled or not, for ALL your Robots.

3. If you want the console to remember the Windows Size and Layout every time you
re-open a window.

4. If you want to start the WinAutomation Service automatically on system Startup.

5. Your own Hotkey to stop all running Robots from the keyboard. "Control+Alt+T" is
the default Hotkey. Feel free to change it.

6. If you want to display the WinAutomation Icon in your System Tray.

7. If you want to display the Notification Popup Window


Using WinAutomation 109

Options > General

3.1.5.2 License Tab

In the License Tab you can view your License info. It shows all the details of your
registered license.

© 2018 Softomotive
Options > License

Enter your License key to your WinAutomation Console:


Depending on whether the machine is equipped with an active internet connection or
not, entering your License key has as follows:

- Machine is connected to the internet: You can enter a License key in your
WinAutomation console by clicking on the "Enter License Key" button (in case you are
trialing WinAutomation) or the "Change License Key" (if you want to enter a different
License Key).

Enter your license key to the relative field and press the "OK" button as shown below.
Using WinAutomation 111

Entering your License Key

- Machine is NOT connected to the internet: Click on the Enter License Key option
and the window "WinAutomation Licensing Server Unreachable-Install License Manually"
will popup.

Click on the "Copy link" button and paste it on an internet browser on a machine that
is connected to the Internet. Having done so, copy the License string that the page
will provide to you; paste it in the relative field of the WinAutomation licensing window
and hit "OK".

© 2018 Softomotive
Offline License key

License key installed Successfully

Congratulations, WinAutomation is now successfully licensed!


Using WinAutomation 113

Unassing a License key from your WinAutomation console, in order to use it on


another machine:
There are two ways to Unassign a License key.

- You can either deregister a machine from its license key from the WinAutomation
console by navigating to Options > License > Deregister Machine, as shown in the
screenshot above,

-Or login to the User Area using the email under which your purchase was made and
click on the "Unassing license" option.

3.1.5.3 FTP Tab


When working with FTP, downloads and uploads 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 545 and
Upload File(s) to FTP 548 actions) you can specify the transfer type to be ASCII,
BINARY or AUTO. If you select AUTO, WinAutomation will use this list to decide
whether the file will be transferred in ASCII or binary mode. This list is also used by the
Download Folder(s) from FTP 546 and Upload Folder(s) to FTP 549 actions for deciding
how to transfer the files contained into the folders.

© 2018 Softomotive
3.1.5.4 Email/SMTP Tab
This can be useful depending on your settings for Error Handling tab 117 . If you specify
to send an email on the unsuccessful execution of a Robot, you will need to put details
here.

Username, password might be needed and you must specify the Server and the Port.

Options > Email/SMTP

3.1.5.5 Addons Tab


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

You can open the WinAutomation Add-on Manager through "Options > Ad-dons" tab in the
console.
Using WinAutomation 115

Options > Addons

In the central pane you will see the Ad-dons that are installed.

1. "Browse All Available Add-ons" .If you select to “Browse All Available Add-ons”, a new
browser window will open and you will be redirected to the “Add-ons” section of the
WinAutomation.com website. There you can search the collection of Add-ons that are
available and download the ones that you need

2. "Uninstall Add-ons". You can uninstall any Add-on that you no longer need, just by
selecting it in the list of installed add-ons and clicking on the “Uninstall Selected Add-on”
button. Note here that when you uninstall an add-on, any robots that contain actions from
that add-on will not work anymore. This does not apply to compiled Robots that are
independent but only to Robots that run within WinAutomation.

3. "Install New Add-ons". After you have downloaded an Add-on, you can install it by pressing
the “Install new Add-on” button and selecting the .wao file that you downloaded.

© 2018 Softomotive
3.1.5.6 Authentication Tab
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

In the Login Password field you may enter your password which unlocks your account.

Please, note that for the Standard edition this password will be used for running
Robots in non interactive mode, when the user is logged out or when the
machine is locked.

Note: In order to run Robots in non-interactive mode, and the Robots include
WebAutomation or Excel related actions, then in order for the Robots to run with no issue,
you would have to follow the screenshots below:

Open the "Local Group Policy Editor" by typing "gpedit.msc" in the Run window. In that
window select "Log on as a batch job" from the tree as shown in the screenshot below,
and add the user who is running WinAutomation:
Using WinAutomation 117

3.1.5.7 Error Handling Tab


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

If a Robot fails to execute successfully, you can specify what will happen here in the
Options > Error Handling tab. You can choose one of the following:

1. Send an email, possibly with multiple recipients (separated by semi-colons), with


details set in the SMTP Server tab.

2. Run another Robot from the list.

3. Write (append) to a text file that you specify. The Event will be written at the end,
so you can keep a running log of Robot failures.

4. Record to the Windows Applications Event Log. You can view the Windows Event
Logs through Control Panel -> Administrative Tools -> Event Viewer.

© 2018 Softomotive
Options > Error Handling

In any case, the execution of any Robot along with the result of the execution will
always be recorder into the WinAutomation Log 102 .

3.1.5.8 Maintenance tab


In the Maintenance Tab, you are able to manage your Robots database.

Robots are stored collectively in one database file (Robots.dat), which by default is
stored in a specific location. This location is:

"C:\Users\...your username goes here...


\Documents\WinAutomation\Robots.dat"

In the Maintenance tab you have three options:

1. Compact Database: By clicking on this option you are able to compact the Robots
Database and reduce its size.

2. Backup Database: By clicking on this option you are able to create a copy of your
Robots Database to another location. WinAutomation does not 'protect' its database
Using WinAutomation 119

folder, so this can also be accomplished by going to the WinAutomation database


directory and copying the file to another location in Windows Explorer.

It is strongly suggested that you Backup your Robots.dat frequently to avoid any
unfortunate situations.

3. Restore Database: By clicking on this option you overwrite the WinAutomation


Robots database with a database that you select. This should always be a
WinAutomation Robots database (Robots.dat), preferably one you have created as a
backup recently. You can also do this by copying and pasting files in Windows Explorer
as the folder is not protected.

Options > Maintenance

3.1.6 Robots Status Monitor


3.1.6.1 Status Monitor Window
The Status Monitor Window can be accessed by right clicking on the WinAutomation
icon in the system tray, as per the previous topic OR by clicking on "(details)" at the
bottom of the Console.

or...

© 2018 Softomotive
Clicking on the "Show Status Monitor" the Status Monitor Window will appear.

In this window you will find the following information:


Using WinAutomation 121

· All the running Robots will be listed. You can expand each running Robot to display
more information for it like Instance id, Start Time, Cause of running (manual or
trigger invocation).

· Next to the Robots name you will see how many instances are currently running and
how many are Queued.

· At the left bottom of the window the overall number of Running Robots and Queued
Robots will be shown.

Form the Status Monitor Window you will be able to Stop all Running Robots or click on
a Robot (or on more than one Robots, holding the Ctrl key down) and force them to
Stop running.

© 2018 Softomotive
3.2 Robot Properties
You can open the Robot Properties Dialog for a certain Robot:

· by clicking on the Properties button on the Robots tab in the Edit group menu or
· by right-clicking on the Robot and choosing Edit Robot Properties.

This brings up the Robot Properties Dialog, on the first tab - General 123 .
Using WinAutomation 123

3.2.1 General

The first tab in the Robots Properties is the "General" tab.

1. Description: Enter a description and notes, which is mostly used for documentation
purposes. If you need to remember something about the Robot, or tell someone else
about it, write it here.

2. Use a Secure Screen (Available with the Professional and Professional Plus
Editions. N/A to the Basic Edition): If you check this option, the screen will turn blue
upon running the Robot and no one will be able to see what the Robot does. The only
visible window will be the Notification Window.

© 2018 Softomotive
Using Secure Screen

3. Encrypted & Password protected (Available with the Professional and


Professional Plus Editions. N/A to the Basic Edition): You have the option to set a
password for a Robot. If you do so, you will be able to Run the Robot normally,
however for editing the Robot you will need to enter the password.

To remove the password from a Robot, you should again navigate to its properties and
uncheck the "Encrypted & Password Protected" option, at which point you will be
prompted to enter the password again to complete the procedure.
Using WinAutomation 125

ATTENTION: The password will not be stored and it cannot be retrieved, therefore, DO
remember it, otherwise you will not be able to edit the Robot in the future.

4. Max allowed running time (Available with the Professional and Professional
Plus Editions. N/A to the Basic Edition): A maximum running time (in minutes) can be
set in this option, in order to stop the Robot after that time has passed. This helps you
stop Robots that you are certain they should not run after a predefined period of
time.

© 2018 Softomotive
3.2.2 Run Policy

The second tab in the Robots Properties is the "Run Policy" tab (Available with the
Professional and Professional Plus Editions. N/A to the Basic Edition).

1. What should the Robot do if you are logged in on the machine but the
workstation is locked.

· "Unlock&Start Robot": WinAutomation will unlock the workstation using the Password
that you have entered in the Options > Autologin tab 116 .

· "Start Robot Without Unlocking": The Robt will start without unlocking the
workstation, however, note that no interactive action can run in this case.
Using WinAutomation 127

Interactive means that the Robot interacts with input/output system (the desktop).
So if a Robot has keystrokes, mouse movement, or shows up on the screen, it is
interactive and needs to run as the logged-in user and not in a locked workstation.
Copying/creating/renaming/deleting files, ftp, sending email, etc. is not interactive and
can run even if the workstation is locked.

· "Don't Start Robot" : The Robot will not start at all if the workstation is locked.

2. If you are not logged in:

· "Login and start Robot": WinAutomation will log you in using the Password that you
have entered in the Options > Autologin tab 116 and start the Robot.

· "Start Robot in Non-Interactive Mode": The Robot will start but in Non-Interactive
Mode. Interactive actions will not be able to run in this case and the Robot will fail, if
it contains any.

· "Don't Start Robot": The Robot will not start at all.

3. If a different user is logged in:

· "Start Robot in Non-Interactive Mode": The Robot will start, but in Non-Interactive
Mode. Interactive actions will not be able to run in this case and the Robot will fail if
it contains any.

· "Don't Start Robot": The Robot will not start at all.

After the completion of the Robot you can check the option to restore workstation to
the Logged out/Locked state it was initially.

© 2018 Softomotive
3.2.3 Concurrency Policy

The third tab in the Robots Properties is the "Concurrency Policy" tab (Available with
the Professional and Professional Plus Editions. N/A to the Basic Edition), where
you can:

1. Limit the number or Robot instances that can run at the same time and set the
maximum instances number.

2. Choose what should happen if the limit is reached.

3. Set the minutes for an Robot instance to wait before being rejected.
Using WinAutomation 129

3.2.4 Error Handling


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

You can choose to use the same default policies you set in Options Tab -> Error
Handling in the Robot Designer, or select new ones for this specific Robot here. If you
wish to choose a new specific policy for this Robot, choose from the following which
will replace the Error Handling Tab 117 general settings:

1. Send an email, possibly with multiple recipients (separated by semi-colons), with


details set in the Email/SMTP tab of the Option tab 114 .

2. Run another Robot from the list.

3. Write (append) to a text file that you specify. The Event will be written at the end,
so you can keep a running log of Robot failures.

4. Record the event to the Windows Applications Event Log. You can view the
Windows Event Logs through Control Panel -> Administration -> View Event Log.

© 2018 Softomotive
3.3 Generate EXE
3.3.1 What is a compiled Robot
A WinAutomation Robot is a representation of a task that instructs WinAutomation
what actions need to be performed for the task to complete. It is not an independent
entity and in order to execute a Robot you need to have WinAutomation installed on
your computer.

However the Professional Edition of WinAutomation features a Robot Compiler that


allows you to convert a Robot into a stand alone executable application. This way you
can build your own applications, distribute them and run them on other Windows
machines.
Using WinAutomation 131

To compile a Robot, highlight it, and click the Generate EXE button on the Robots
tab in the Compiler menu.

3.3.2 Compiler Window


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

Once you click on the "Generate Exe" option in the Robots Tab 73 the Compile Robot
dialog will appear:

This dialog contains a tab control on the left that allows you to navigate through its
four sections.

Section 1: Name & Type

In the first section (Name & Type) you may specify the name of the resulting
executable file as well as the folder under which it will be stored. By default the name
will be the name of the Robot and will be generated on the user's desktop.

© 2018 Softomotive
Next you may specify whether you want to generate a Windows application or a
command line application. The latter is mostly used for converting a Robot into a
command line tool and the most important difference is that in command line
applications the "Display Notification 392 " action will write its text in the command line
output window.

Section 2: Robot Info

In this section you can specify the name of your company, the version and a copyright
notice. This info will be embedded into the generated application for documentation
purposes only, meaning that they will not affect in any way the actual behavior of the
Robot.

You can also specify a custom icon for your application, which must be in the format
of an ICO file. If you leave this field empty, the default WinAutomation icon will be
used.
Using WinAutomation 133

Section 3: Error Handling

In this section you can specify the behavior of the application if an error (unhandled
exception) occurs. The available option depends on whether you have chosen to
create a Windows Application or a Command Line Application (see section 1). In the
former case you may choose whether you want a pop-up dialog to appear containing
the error, while in the latter case (command line application) you may choose whether
you want the error message to be written in the command line output window.

Note that a compiled Robot that ends with an error will always return an Exit Code = 1.
This is useful if you intend to run the generated application from another application or
a batch file, in which case the caller application (or batch file) will be able to tell
whether the compiled Robot completed its execution successfully or not.

© 2018 Softomotive
Section 4: Misc Options

In this section you may specify some additional settings for the application you are
about to generate.

The first option is whether you want your Robot to run as a single instance. By
selecting this option, while a Robot is running it will not start again on the same
computer even if you double click on it. This way you can make sure that only one
instance of the Robot is running on your computer at any time.

The second option is whether you want your application to display the Notification
window 79 on the bottom right corner of the screen, just like a Robot running from
within WinAutomation would do.

The third option "Display In Task Bar" option allow you to select whether you want the
Robot to display its own icon in the Windows taskbar while running, or not.

Note that the three options described above are available only to Robots that are
compiled as Windows Applications (see section 1).

The fourth option (available to any kind of compiled Robot) is whether you want to
encrypt the persistent variables or not. For more info on this one please check the
page on Persistent Variables 258 .
Using WinAutomation 135

The last option, is whether you want the user to fill in an activation code in order to
run the executable.

3.3.3 Compiled Robots and Triggers/Schedules


If a Robot has Triggers or a Schedule attached to it and is compiled, they will not be
included in the generated executable file.

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.

However, a compiled Robot is independent and totally detached from the


WinAutomation Service.

This means that while the compiled Robot is not running there is no possible way to
check whether a condition is met and whether a Trigger/Schedule should fire or not.

In order to schedule a compiled executable from WinAutomation you can always make
use of the Windows Task Scheduler.

3.3.4 Tokens
Compiling your robots so that to be executed on other machines is a very important
feature of WinAutomation.

Commencing from WinAutomation version 7, you are able to control the way you
distribute your executables by adding licenses.

There are four ways with which you may license your compiled robots. For these four
ways, you can purchase run-time tokens through our User Area.

In the screen-shot below you can see the purchased tokens and their status. Clicking
the "Add Tokens" button, you can purchase new tokens.

© 2018 Softomotive
After each purchase of tokens, you are being provided with a Compilation ID which
should be filled in the respective field of WinAutomation Console > Options > General
tab.

In case the target machine has already WinAutomation installed running under a valid
license, there will be no tokens consumed for that particular execution.

· Per Executable

Every time a compiled robot is being executed for the first time on a machine, a token
is being consumed.

· Per Executable with an activation code

Every time a compiled robot is being executed for the first time on a machine, a token
is being consumed. However, the robot requires an activation code provided from the
developer in order to be executed. In case the activation code is erroneous, no tokens
are being consumed and the robot execution does not start. This activation code is
requested only the first time the robot is being executed.

· Per Machine

Using the Per Machine method to generate your compiled robots, you have the ability
to run as many compiled robots as you wish on one machine consuming only one token
as long as it has been exported through the same developer's WinAutomation.

· Per Machine with an activation code

Using the Per Machine method to generate your compiled robots, you have the ability
to run as many compiled robots as you wish on one machine consuming only one token
as long as it has been exported through the same developer's WinAutomation.
However, the robot requires an activation code provided from the developer in order to
be executed. In case the activation code is erroneous, no tokens are being consumed
Using WinAutomation 137

and the robot execution does not start. This activation code is requested only the first
time a robot from this developer is being executed.

NOTES:

· In case WinAutomation 7 is installed on a machine running a compiled executable, it


is very important to make sure that the “WinAutomation Service” is running so that
no token is being consumed.

· In case a user reinstalls Windows on his machine, it is being identified as a new


machine. As a result, a new executable would have been consumed.

· An executable compiled without a Compilation ID, will only run on a machine with
WinAutomation 7 installed and the service running.

· In case a robot recompiles after a change or edit, there will be no second token
consumed. Please note, that copying a robot or saving a robot as, creates a new
robot in which case a second run, would consume one more token.

3.3.4.1 Get Tokens


From WinAutomation version 7 and on, with the Professional and the Professional Plus
editions, you are able to license your compiled executables. You can do so, using
Tokens.

Tokens can be purchased through WinAutomation’s website User Area


[http://www.winautomation.com/userarea/], by selecting the “Purchase Runtime
Tokens” option.

© 2018 Softomotive
Once you do so, you will see that the available Tokens for purchasing are:

• Per exe (costing 59 US$)

• Per exe with activation code (costing 59 US$)

• Per machine (costing 279 US$)

• Per machine with activation code (costing 279 US$)

When you purchase a Token -of any kind of the above-, then in your User Area in
“Your Runtime Tokens” section, you will be provided with a Compilation Id. You will also
be able to view the type of the Token and information about the Total Tokens
purchased, the Used and the Remaining ones.
Using WinAutomation 139

3.3.4.2 What is the Compilation ID?


In WinAutomation console in the “General” tab, you can find the “Compilation Id” field.
Here you can paste the Compilation Id, in order to generate executables with the
Token that corresponds to this Id.

© 2018 Softomotive
Once you have filled the Compilation Id field, then you can go to the Robot you wish to
compile and hit the “Generate exe” option from the console’s menu in the “Robots” tab.
Note that no Token will be consumed from the compilation at this point; the Token will
be consumed only when attempted to run on the target machine for the first time, as
described below.

3.3.4.3 What is the activation code and how can I set it?
There are two kind of Tokens on which the developer can attach an activation code. If
you have purchased “Per exe with activation code” or “Per machine with Activation
code” Tokens, then in the User Area you will see an option “Manage Activation codes”.
If you click on this option, you will be able to create new activation codes.
Using WinAutomation 141

Here, you can set the Quantity and an optional desired prefix. The quantity can be
less or equal to the total Tokens quantity that you have available for the time being.
You can generate codes for all the Tokens that you currently have, or for any number
of them. After setting the quantity you are able to set an optional case sensitive
prefix. Click on “Generate Codes” and a list of codes will automatically be generated for
you.

Every time you are compiling a robot using a Token with an activation code, then the
first time that the executable will run on a machine, it will prompt the user to enter the
activation code before starting the execution. Once the code is correctly passed in
the popup window, then you will see in the User Area that this code’s status will be
“Used”, the code will be striked out and one Token will be consumed.

3.3.4.4 Why should I use the activation code?


In case that your end-user decides to move an executable on another machine, then
another Token from the developer’s basket will be consumed. This may lead to
situations, where a user can inadvertently or on purpose “charge” the developer with
Tokens while distributing the executable without the developer’s permission.

The activation code is only known to the developer. Therefore, he will be the one
passing it on the first execution of the .exe. If the same exe is moved on another
machine, it will not run unless the activation code is correct.

The above being the case, the developer’s work is protected from accidental or
malicious usage.

© 2018 Softomotive
3.3.4.5 How Tokens are being consumed?
A Token WILL NOT BE CONSUMED when:

1. The machine on which the executable is about to run has WinAutomation installed
AND the WinAutomation Server service is up and running.

2. In the “C:\Users\...yourusername…
\AppData\Local\Softomotive\WinAutomation\Licenses” folder there is already a file
created that has already licensed the executable.

A Token WILL BE CONSUMED if:

1. WinAutomation is not installed on the machine

2. WinAutomation is installed on the machine but the WinAutomation Server service is


down (not running)

3. There is no file in the “C:\Users\...yourusername…


\AppData\Local\Softomotive\WinAutomation\Licenses” folder that can license this
executable.

3.3.4.6 Available Tokens


Per Exe – Description (59USD)

Every time a compiled robot is being executed for the first time on a machine, a Τoken
is being consumed. Each executable of this category is connected to a machine ID and
a Robot ID. The Robot ID is a number associated with the Robot from which the
executable was created. Hence, if the script of the same Robot is modified and an
executable is created out of it, the Robot ID will stay the same. In this case, no other
Τokens will be consumed.

1. Enter the “Per Exe” Compilation Id, found in the User Area, in the “General” Tab of
your WinAutomation console.

2. Generate the executable, by selecting the Robot and clicking on the “Generate Exe”
option in the Robots Tab.

3. Move it to the desired machine.

4. Run it.

If the machine will be changed/formatted, one Token will be consumed upon the first
run of the executable.

Per Exe with activation code – Description (59USD)


Using WinAutomation 143

Every time a compiled robot is being executed for the first time on a machine, a Τoken
is being consumed. Each executable of this category is connected to a machine ID and
a Robot ID. The Robot ID is a number associated with the Robot from which the
executable was created. Hence, if the script of the same Robot is modified and an
executable is created out of it, the Robot ID will stay the same. In this case, no other
Τokens will be consumed. However, the robot requires an activation code provided by
the developer in order to be executed. In case the activation code is erroneous, no
Τokens are being consumed and the robot execution does not start. This activation
code is requested only the first time the robot is being executed.

1. Enter the “Per Exe with activation code” Compilation Id, found in the User Area, in
the “General” Tab of your WinAutomation console.

2. Generate the executable, by selecting the Robot and clicking on the “Generate Exe”
option in the Robots Tab.

3. Move it to the desired machine.

4. Run it.

5. Enter one of the activation codes that are shown as “Available” in the User Area as
described above.

If the machine will be changed/formatted, one more Token will be consumed upon the
first run of the executable and the activation code will be needed again.

Per Machine – Description (279USD)

Using the Per Machine method to generate compiled robots provides the ability to run
unlimited number of compiled robots on one machine by consuming only one Token, as
long as it has been exported through the same Compilation ID. The "Per Machine"
Token is only assigned to a machine ID. Hence, if the machine ID changes, another
Token needs to be consumed.

1. Enter the “Per Machine” Compilation Id, found in the User Area, in the “General” Tab
of your WinAutomation console.

2. Generate the executable, by selecting the Robot and clicking on the “Generate Exe”
option in the Robots Tab.

3. Move them to the desired machine.

4. Run it.

Any executable compiled with the same Compilation Id and executed on the same
machine, will not consume any other Tokens.

© 2018 Softomotive
Per Machine with Activation code – Description (279USD)

Using the Per Machine method to generate compiled robots provides the ability to run
unlimited number of compiled robots on one machine by consuming only one Token, as
long as it has been exported through the same Compilation ID. The "Per Machine"
Token is only assigned to a machine ID. Hence, if the machine ID changes, another
Token needs to be consumed. However, the robot requires an activation code provided
by the developer in order to be executed. In case the activation code is erroneous, no
Tokens are being consumed and the robot execution does not start. This activation
code is requested only the first time a robot from this developer is being executed.

1. Enter the “Per Machine” Compilation Id, found in the User Area, in the “General” Tab
of your WinAutomation console.

2. Generate the executable, by selecting the Robot and clicking on the “Generate Exe”
option in the Robots Tab.

3. Move them to the desired machine.

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.

3.4 The Robot Designer


Once you have named a Robot in the WinAutomation Console, this is where you
actually create it. Robots are created by linking together Actions and setting Variables
so the Actions can interact. By setting the order of actions and writing Variables to
carry information from one step to the next, you can create a very complex path of
Actions to automate most tasks you regularly do on your computer.

There are four areas of the Robot Designer:

1. the Actions Pane 146 ,

2. the Workspace 146 ,

3. the Functions 160 pane,

4. the Variables 148 pane,


Using WinAutomation 145

5. the Control Repository Pane 155 ,

6 155 . the Errors 155 and

7. the Images Repository Pane.

© 2018 Softomotive
3.4.1 The Actions' Pane
In the Actions pane you will find all the Actions that can be chosen to build your
Robot, organized in Actions groups in a folder structure.

The Actions Pane of the Robot Designer

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.

3.4.2 The Workspace


This pane shows the flow of the Robot, displaying Actions in the order that they will be
executed. Numbers are displayed in the gray column before each Action, as well as
Icons to show errors, and breakpoints. If you are running (debugging) the Robot, the
current Action you are on will also be highlighted here.

Breakpoints : You can add a breakpoint by clicking to the left of an Action. A red
dot will show up and the Robot will pause on that step until you click to continue. This
can also be used while running a Robot from the Robot designer to pause while you
look at some part of the Robot.
Using WinAutomation 147

Disabled Actions: Actions can be disabled, so that they are ignored by the Robot but
still exist. This is useful for trying different versions of a Robot without deleting and re-
writing Actions constantly. Disabled Actions become gray to differentiate them from
enabled Actions.

In the Workspace, Actions, their Icons and their properties are displayed. A Robot is
described in text in the Workspace and you can understand a Robot just by reading
through the Actions' properties in the Workspace. To change the display of the icons
and text for this Robot, click on Tools -> Robot Designer Options 171 .

To manipulate the Actions within a Robot, treat them like any other icon setup in
Windows. Click on an action to select it, click on Actions with the Ctrl or Shift keys to
select multiples, right-click for the Action menu, and use any of the regular HotKeys to
Copy, Cut, and Paste. To change the order of Actions, Drag and Drop or right-click and
choose to Move Action Up or Move Action Down.

© 2018 Softomotive
The Workspace Pane of the Robot Designer Window

3.4.3 The Variables Pane


This pane is located by default next to the Workspace under the Functions pane.
Variables are defined through Actions or the Variables Manager

There are four columns: Pin Option, Name, Type, Value.

The Variables Pane in the Robot Designer Window


Using WinAutomation 149

· A Pin option is there to select one or more variables and pin them on top of the
Variables pane.

· Name is the name that was assigned to the Variable in an Action or in the Variables
Manager - Trigger Variables are never displayed here.

· In column three, the Type of Variable is displayed. Variable types can be: Text,
Numerical, DateTime, File, Folder, Data Row, Data Table, Excel Instance, FTP File, or
FTP Folder, as well as a list of the above, among others.
If you use the same Variable name as an output for two or more Actions that create
different Types of Variables, the Variable type will change during the running of the
Robot, so WinAutomation cannot determine a constant value, and will show
'<Unknown>' here. If both Actions determine an output Variable with the same type
of value, it will show that type, as there is no ambiguity. For this and other reasons,
we recommend that you use different Variable names for each Action output -
unless, of course, you want to overwrite the previous information.

· Value is the value set when a Variable is created through the Variables Manager
Window and only appear if you created the Variable there with an initial value.
Otherwise the Value will be filled for each variable during the execution of the Robot.

In the variables pane you are able to:

Search for variables by name. In the search field, type the name of the variable you
are searching for.

Pin Variables. You can pin a variable at the top of the display by clicking in the pin
column at the left side of the variables name. Once you pin the variable it will
automatically move to the top of the variables list.

Reorder Variables. Click on a variable to move it up or down and reorder the variables
list. (Of course, pinned variables cannot be moved)

The actions above can be performed while a Robot is being executed or not.

© 2018 Softomotive
3.4.4 The Variables Visualizer Window
The Variables visualizer window can be displayed for each of the variables in a Robot
upon running it step by step, or pausing it, or if it has paused by a breakpoint.
Using WinAutomation 151

Double click on a variable in the variables pane and the Variable Window will appear,
with information about the variable's value at this point. You can edit the variable and
change its value on the flow before resuming the execution.

The variable window fields and information will depend on the type of the variable that
you are accessing. Below you will find the different windows that will be displayed for
different variable data types.

Internet browser Instance

Text Variable

© 2018 Softomotive
File Variable
Using WinAutomation 153

List Variable

Data table Variable

© 2018 Softomotive
Window Instance Variable

Email Variable
Using WinAutomation 155

3.4.5 The Errors Pane


The Errors pane is combined with the Control Repository, in tabs. In the Robot Designer
mode, errors are shown here.

The Errors information is split to three columns: Function, Action, Error

Function: The Function Name that contains the action which threw the error.

Action: The Action number in the Function which threw the error.

Error: The error message.

Each Error is also displayed before the corresponding action.

The Errors Pane of the Robot Designer Window

© 2018 Softomotive
The Properties Dialog of an action that has a Design-Time error

There are two kinds of errors: Design Time and Run Time errors:

Design Time Errors which are also called configuration errors, are visible in the
configuration of the Action or Robot and hold the Robot from running.

Run Time Errors, or Exceptions are not obvious errors in the design but come up
when you run the Robot. Run Time Errors will cause the Robot to fail unless you plan
for it in the Exception Handling Tab of most Actions.

For example, you create a Copy File Action. If you leave the File to Copy field blank,
that is a problem with the configuration and immediately shows up as a Design Time
Error. If you put in a path and the file does not exist when you run the Robot, that is a
Run Time Error.
Using WinAutomation 157

3.4.6 The Control Repository pane


The Control Repository is by default placed in the bottom center part of the Robot
Designer.

It will hold all the controls from UI/Windows and Web Automation actions. All the
elements that your Robot will access (buttons, elements, items, text fields,
checkboxes, radio buttons, windows etc... ) will be stored in the Control Repository.
Upon creating a new Robot the Repository will, of course, be empty.

The Control Repository

To add controls, you should use UI/Windows or Web Automation actions or click on the
"Add Control" button.

The Control Repository pane, has the "Remove Unused Controls" button as well, with
which the robot identifies if there is an unused control and deletes it.

In the topics Building a WebAutomation Robot 212 and UI Automation > UI Elements -
Select Controls 196 , you will find a detailed explanation about how to add/manage
controls and edit their UI or CSS Selectors.

In some cases, there is need for more than one selectors to capture one element. The
element, is firstly being identified through the top selector. In case it fails, the second
selector tries to capture it. You can use the up and down arrows, in order to reorder
the selectors within the control.

© 2018 Softomotive
Reordering the controls

In some web applications, despite the fact that simple html and css is being used, some
particular actions cannot be captured using the web helpers. In such cases where you can
develop your own CSS selectors, you can add an empty root control by clicking on the arrow
next to "Add Control" or using the combination of "Ctrl + Shift + R".

Adding an empty root control

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.

Adding an empty child control


Using WinAutomation 159

3.4.7 The Image Repository pane


The Image Repository is by default placed in the bottom center part of the Robot
Designer.

It will hold all the images from Image actions. All the images used by your robot will be
stored in the Images Repository.
Upon creating a new Robot the Repository will, of course, be empty.

The Control Repository

To add controls, you should use Image actions such as "Move mouse to Image", "If
Image" etc or click on the "Capture" image button. Please note, that you can capture
an image instantly, or capture it with a delay if you need extra time before capturing
an image in cases such as you need to open a menu or a drop-down list.

Additionally, the Images Repository pane, has the "Remove Unused Images" button,
with which the robot identifies if there is an unused image and deletes it.

Last but not least, you can use the magnifier in order to modify the size that the
images are shown.

© 2018 Softomotive
3.4.8 Functions
A function in WinAutomation consists of actions grouped together so they can be
invoked by a function name.

To create a new function, click on the New Function button ( ). Alternatively, you
may also press Ctrl+N. Functions can be created, removed, renamed and have their
tabs re-ordered freely, with the sole exception of Main, from the Functions pane.

To invoke a function, place a Run Function 368 action anywhere in the Robot. When this
action is reached, the execution flow will jump to the first action of the invoked
function and continue from there. Sooner or later, the actions of the invoked function
will all be executed or an Exit Function will be reached. At that point, the execution
flow will return at its former position, namely the next action after the invoking Run
Function 368 action.

Functions usually perform a specific task and it is considered a good practice to name
them in a manner indicative of their purpose. A function name is unique, i.e. two
functions cannot share a common name while residing in the same Robot.

New Robots, by default, contain only one function, the Main. The Main function is
always called when the Robot first executes. Other functions may be called by means
of the Run Function 368 action, by the Exception Handling 276 mechanism of any action,
or as a result of a button press inside a Custom Dialog 389 .

Scope: Variables in a WinAutomation Robot are global in the notion that every action
can access any variable of the Robot from any function.
Using WinAutomation 161

Go To 367 statements on the other hand, can jump to labels inside their own function
only.

Recursion: A function cannot call itself; It can Exit 368 , Run 368 another function or
exhaust its actions and return automatically.

Some of the benefits of using functions are:

§ Enhanced readability

§ Code re-use without duplication

§ Modular testing capabilities

Note: Robots created with versions of WinAutomation prior to version 5 will have all
their actions moved inside Main when you first edit them.

3.4.9 Managing Functions


Functions work exactly like most Windows applications. You can select an Action by
clicking on it, or multiple Actions using Ctrl or Shift in conjunction with the mouse.
Once you have selected the Action(s), you may delete them using the Delete option;
or cut or copy them using the Edit menu, the Cut and Copy Icons. You may also Drag
them to another part of the Robot.

You can click on a function in the Functions pane and move it up or down for
reordering. You can also close them, if you do not want them to be visible in your
workspace. Keep in mind that if you run the Robot from the designer then each
Function will be visible the moment that it is executed.

© 2018 Softomotive
3.4.10 Adding an Action
You add an Action from the Actions pane to the Workspace pane by double-clicking on
it or dragging it and dropping it where you want. Double-clicking will always place the
Action at the end of the current Robot, but can be dragged or moved by highlighting
the Action and clicking on the Up or Down Arrows in the Toolbar.
Using WinAutomation 163

Inserting a new Action into a Robot by Drag & Drop

Once you have added the Action, the Action Properties Dialog Box will open
automatically if the Action has any configurable properties. As a counter-example, the
Empty Recycle Bin action has no properties to set, so will just appear in the Workspace
without opening a Properties Dialog Box.

© 2018 Softomotive
3.4.11 Configuring an Action
Adding an Action to the Workspace will automatically open the Action Properties Dialog
box if there are any properties to be determined. If you want to open a previously
created Action, double-click on it or right-click on it and click on Action Properties.

Once you have an open Properties Box, you will see Action Inputs and Action
Outputs:

Action Inputs require information from you, to determine what happens - text to be
displayed, a Variable to be used by the Action, a file path or URL, and so on.

Action Outputs will only be Variable names so that information generated or collected
by the present Action can be passed on to a later Action.

Please note that the "Action Output" refers to data and is not considered to be a
program run or a Message Box shown - those are effects of the Action, not Output.

To the right of a property field, you will see an " " Icon. This is a ToolTip Help that
you can access by pointing the cursor over it. You may also see a gear icon " ", a file
icon " ", or a folder icon " ". These show where you can browse for a file, a folder,
or a Variable (gear).

If there is an Error generated by one of the properties (a missing file name, improperly
written Variable, etc), there will also be a blinking red Error icon " " the next time this
Action Property Dialog Box is opened.

If the Action could cause an Error, you might want to look over the Exception Handling
options (click on the tab at the top) to make sure you like that result.

As an example, we will look at the Display Input Dialog 393 properties. There are four
different Input properties:

1. Input Dialog Title - what you want to show at the top of the Box, for example
"Enter Name"

2. Input Dialog Message - the text or question you want to show in the box, for
example "Hello user, what is your name?"

3. Default Value - do you want to have a default setting, or an example like "<Enter
Name Here>"

4. Input Type - how do you want their input formatted? This is a drop-down menu, so
choose whichever seems most appropriate to the information.

Notice that all of these fields require some information that you currently have - what
you want to write, how you will format, etc. This is Input - from you, now. Notice that
the Action will require input from the user when the Robot is running, but that is not
Action Input here - only your choices now are Action Input.
Using WinAutomation 165

Also notice that the Action Output is only information stored as Variables. The Output
is determined by the Action as the Robot is running and is used as Input in later
Actions - this is the definition in WinAutomation of a Variable: a 'container' used to
carry values from one Action to another.

Choose Variable names that mean something to you, so you can easily remember them
later. Also, read about Variable Types 252 so you are clear with your use later. Once
you have defined Variables through Output, you can browse them using the gear Icon
to use them as input in a later Action. In this case, we stored the text entered by the
user (which is supposed to be its name) in "%UserName%" and the Button pressed
into "%ButtonPressed%".

© 2018 Softomotive
3.4.12 Enable/Disable Actions
You can Disable or Enable Actions by right-clicking on the Action and select "Disable
Action" or "Enable Action".

This allows you to remove an Action from a Robot without erasing it and having to re-
type everything if you want to use it again later.

Often, this will be used to test different versions of a Robot to see what works best
and has the desired results. You could also suspend usage of a part of a Robot while
something has changed.
Using WinAutomation 167

3.4.13 Organize your Actions with Regions


In order to organize the actions in your Robot and make long Robots or Functions more
manageable you can use the Regions feature of the Robot Designer.

The Regions feature consists of two actions the "Start Region" and "End Region"
action.

These actions have absolutely NO IMPACT in the behavior of the Robot and their only
task is to mark the beginning and the end of a logically separate block of actions.

An expanded Region within a Robot

Each Region (as defined by the two aforementioned actions) may have a name to
describe the block of actions contained within. You can also collapse a region by
clicking on the [-] icon on the left of the "Start Region" action. This way the actions of

© 2018 Softomotive
the region will not be visible, allowing you to review your Robot at a higher level of
abstraction.

The same Region in collapsed state

To create a new Region you can click on the "Region" button on the toolbar. If no
action is selected this will insert the "Start Region" and "End Region" actions at the end
of the Robot. If one or more actions are selected the "Start Region" action will be
inserted right before the first selected action and the "End Region" will be inserted right
after the last selected action enclosing the selected actions into the newly created
region.

Regions have a different background color than the rest of the Robot. The background
color of the regions is customizable and can be changed through the Robot Designer
Options 171 dialog.

Regions can also be nested within other regions to represent submodules of your Robot
within other modules. In this case the background color of each nested region
becomes automatically a bit darker than the background color of the parent region.

3.4.14 Adding Comments

The yellow sticky-pad button in the Toolbar is used for adding comments. A
comment is a special kind of Action in the Robot that is used for documentation and for
adding explanatory notes between the actions.
Using WinAutomation 169

The background color of each comment can be set in different color as a visual clue
for differentiating sections of the Robot and giving more emphasis to some comments
that others.

Neither adding nor deleting Comments has any affect on the behavior of the Robot.

© 2018 Softomotive
3.4.15 The Variables Manager Window
You may access the Variables Manager through Tools -> Variables Manager while in
the Robot Designer. This is where you can find a list of all Variables used in the Robot.
If you want to define a new Variable and assign an initial value to it, you can do it
here, by pressing the Add New Variable button.

Keep in mind that an alternative way to declare a new variable is to simply enter a
variable name into an Output property of any Action of the Robot. If this variable name
does not refer to an existing variable, a new variable with that name will be created
automatically. A variable created this way can not be edited or deleted through the
Variables Manager Window

Once you open the Variables Manager Window, you will see two tabs - User Defined
Variables (ones you set) and Trigger Variables (predetermined to manage Triggers,
these will be empty unless you use that Trigger to start the Robot). The Trigger
Variable tab contains only the names of the Variable and a description. The User
Defined Variables have five columns:

1. Name - the name assigned to the Variable, such as "%UserName%"

2. Defined in Function - The function name where the Action that defined this variable
resides.

3. Action #. The number of the Action (in the Robot Designer Window) that defined
this Variable. If it was created in the Variables Manager, this field will be blank.

4. Type - the type of the Variable: text, numerical, DateTime, file, etc. See more
under Data Types 252 .

5. Initial Value - this will be empty unless you assign a value to the Variable by Adding
or Editing it in the Variables Manager.

6. Stored (persistent) value. The value stored if the variable is persistent.

7. Description - this will be empty unless you assign a value to the Variable by Adding
or Editing it in the Variables Manager.

8. Persistent - Yes/No depending on whether the variable is persistent or not.


Using WinAutomation 171

The Variables Manager Window

3.4.16 Robot Designer Options


Open the Options by clicking on Tools menu -> Robot Designer Options. There are two
tabs here: one for the Designer Options and one for the Debugger Options.

In the first tab you can specify how the actions will be displayed in the Robot
Designer. You can choose whether the action icon will be displayed as well as the size
of the icon. You can also specify whether you want to the action name to be
displayed for each action of your Robot on top of the action's description.

Additionally, in this tab you can also set a color for the background of the actions that
are contained within a region 167 . Nested regions will get an increasingly darker version
of this color to distinguish themselves from the parent regions they are contained
within.

You have the option to rename a Variable using a Hotkey of your choice.

© 2018 Softomotive
Robot Designer Options > Designer tab

The Debugger Option allows you to set a delay time between the execution of each
Action. This is an artificial delay, that is useful if you want to follow the actions
visually as they execute. This delay is taken into account only when you run the
Robot through the Designer, when you run a Robot through the Console then the
Robot runs at full speed.

Robot Designer Options > Debugger tab

The second setting is the designated hotkey for performing Step by step execution 176
and Resuming the execution while debugging your Robot. The hotkeys specified here
will execute the next action when the Robot is paused in the Debugger or Resuming
the execution. This is useful especially for Robots that control the mouse where it is
inconvenient to use the mouse in order to click the "Execute next action" button on
the toolbar.

The last option lets you specify whether you want any modifications of the Robot to
be saved automatically every time you run it through the debugger.
Using WinAutomation 173

3.4.17 Robot Designer Custom Layout


You have the ability to customize the panes' location in the Robot 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 Robot Designer, by clicking
on the 'View' menu option and tick/untick the panes that you want to have visible on
your designer.

© 2018 Softomotive
3.5 The Debugger
3.5.1 Run/Stop/Pause a Robot from Robot Designer
Running a Robot in the Robot Designer is considered Debugging.

1. You can run a Robot by clicking on the Run button .

2. You can execute a Robot action by action by clicking on the button next to "Start"
.

3. You can pause a Robot while it is running by clicking on the Pause button .

4. You can stop a Robot while it is running by clicking on the Stop button .

Since Debugging is expected to involve running the program, making a change, running
it again, etc, no Logs are recorded when you run the Robot from the Robot Designer.
In the Robot Designer Window, you can also see error icons to the left of any Action
that has errors " " and therefore cannot be run, and to the right of any property field
in the Action Property Dialog Box " " to help you pinpoint errors to Debug the Robot.

If you want to start running the Robot from a specific action: You can right-click on
this action and select "Start from Here" on the context menu that will appear. This will
start the debugging from the selected action as if it was the first action of the Robot,
ignoring all actions above it. Please note that this may lead to unexpected results, as
the ignored actions will not populate the variables that may be needed by the
executed actions. Keep in mind that you will not be able to start running a Robot from
Using WinAutomation 175

an action within a Loop, as it makes sense that this would not be applicable to the
logic of the script in terms of what we are looping through.

3.5.2 Adding Breakpoints


You can add breakpoints to stop the Robot at any Action. Simply click in the gray
column to the left of the Action you wish to pause at.

A red dot " " will appear to mark the breakpoint, and the Robot will pause at the
beginning of that Action. Pressing the Run button will continue the Robot, though if the
breakpoint is in a Loop, it will pause again when the process gets to that Action. Since
there is an Icon to Execute Next Action 176 , you can add a breakpoint at the first
Action of a Robot and then use the Execute Next Action button to move through the
Robot manually, one Action at a time.

© 2018 Softomotive
Breakpoints are considered, only when you are running the Robot through the Robot
Designer (debugging). When you run a Robot through the Console all breakpoints set in
the Robot are totally ignored.

3.5.3 Execute step by step


You can move through a Robot one step at a time by clicking Debug -> Execute Next
Action, or by clicking on the Execute Next Action button on the toolbar. This will
start the Robot, but pause before the first Action. You can then click Execute Next
Action to move through the Robot. By using the Variables Pane 148 , you can watch the
variable values as they change.

Additionally, you can use this button after a Robot being stopped by a breakpoint to
execute only the subsequent action instead of pressing the Start button that will
resume the execution of the Robot.

Variable inspection during execution:

You can examine a Robot at a particular Action step by adding a breakpoint at that
step as mentioned above, or by moving through the Robot manually with the Execute
Next Action Icon. Once you have stopped at the Action you want, you can view the
Variables through the Variables Pane 148 of the Robot Designer Window.

You are able to see what is the last value stored in each variable once the execution
is completed. Also, once the execution pauses on a breakpoint you have the option to
change a variable's value dynamically through the Variables Visualizer Window 150 , set a
different one and resume the execution to see how the script will react to that value.
Using WinAutomation 177

As a last note, instead of clicking on the button you may as well press the designated
Hotkey. This is especially useful when debugging Robots that control the mouse and
you don't want to use the mouse at the same time to click on the button. The default
key for executing the next action is F9, but you can change this through the Robot
Designer Options 171 dialog.

3.5.4 Rename a Variable


You have the option to massively Rename a variable in your Robot while in the Robot
Designer by clicking on Edit > Rename a Variable or by clicking on the Rename Variables
icon " " in the toolbar.

In the window that pops up you can select to rename the variable on in the 'Main'
function and also include disabled actions.

© 2018 Softomotive
3.6 The Macro Recorder
3.6.1 Simulating the activity of a user
A user (like YOU) inputs his/her commands and data through the Mouse and Keyboard.
Through Mouse, Keyboard and UI Automation Actions, WinAutomation can simulate you
(a user). You can create this simulation by choosing Mouse, Keyboard and UI
Automation Actions or by using the Macro Recorder - which will automatically generate
an appropriate set of Actions that mimic your own, recorded activity.

Remember - since you are creating an Interactive Robot 282 , WinAutomation cannot
simulate a user (and run the Robot) when no users are logged on. Here is where the
AutoLogin feature of the Professional edition comes handy.

3.6.2 Recording vs Building a Robot


In addition to building a Robot by combining and configuring Actions, you can also use
WinAutomation to simulate a user's activities by controlling the mouse and the
keyboard. When you open the Macro Recorder, it records your activities and creates a
set of Actions out of it, as a Robot.

Launch the Macro Recorder and it will record everything you do. When you finish
recording, WinAutomation then converts this to a set of Actions for your Robot. These
can be edited and added to later. If you use the Recorder with a Robot that already
has Actions, it will add the steps above the highlighted Action or at the bottom if you
don't have any highlighted. The Macro Recorder is really just a way to input Actions in
an easier interface than writing them all out would be.
Using WinAutomation 179

Keep in mind that you can use the Macro Recorder to record the backbone of your
script. Of course there are tasks that will have no issue running, only by recording
them once and not modify any of the actions generated. Still there are cases when
the generated script has to be modified to work as intended. For example you might
need to add a Loop in the script, or there are redundant actions generated that you
should remove. In cases as such we add/remove the appropriate actions from the ones
generated from the Recorder and if any error occurs while executing we identify the
problem or the error and we try to use alternative actions to cope with the situation
and have it run flawlessly.

3.6.3 Starting the Macro Recoder


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

To start the Macro Recorder when you create a Robot, after you name the Robot,
choose option 2: Open Macro Recorder and click OK.

© 2018 Softomotive
If you have already created the Robot, you can open the Macro Recorder in the Robot
Designer Window (that is, inside the Robot you wish to edit) by clicking Tools ->
Record Macro or by clicking on the Record Macro button on the toolbar.

3.6.4 Macro Recorder


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

While you can build a Robot in WinAutomation by combining and configuring actions
from the list of ready made actions in Robot Designer, you may find it more efficient to
use Macro Recorder to simulate your activities by just controlling the mouse and the
keyboard.

Launch the Macro Recorder and perform the activities you want your Robot to
reproduce. Macro Recorder will record everything you do and when you finish recording
it, it will convert this to a set of Actions for your Robot. Of course, these can be
edited or added to other actions within the Robot Designer.

Using the Macro Recorder is a quicker and easier way to define Actions that compose a
Robot than manually selecting them and inputting them in the Robot Designer.

While in previous versions of WinAutomation, Macro Recorder was using relative


coordinates on the screen (or the active window) to record mouse moves with
WinAutomation 5.0 on, the Macro Recorder by default recognizes the different
elements on the screen (such as buttons, text boxes and other standard
Windows controls) and injects the appropriate UI/Windows actions to build your
Robot with.

Starting the Macro Recorder

In order to create your Robot using the Macro Recorder, choose option “Macro
Recorder” from the tools of the “Create a Robot” window, or (if you are already within
the Robot Designer) choose the Macro Recorder button on the toolbar of Robot
Designer window (inside the Robot you wish to edit) or choose Tools > Macro
Recorder.
Launching the Macro Recorder opens the sidebar where you can preview the recording
while performing your activities.
Using WinAutomation 181

The Macro Recorder can record in two modes: Smart and Coordinate-based.

Smart Recording (Default): The actions produced by this type of recording will click
on elements such as windows, buttons and menu items based on UI selectors rather
than absolute locations. UI selectors are very similar to the CSS Selectors 272 utilized
by Web Automation actions. This type of recording is the recommended one, since it
produces flexible and portable robots.

© 2018 Softomotive
Coordinate Based: Coordinate based actions will move the mouse to the specific,
absolute recorded locations inside the active window. Consequently, any change in the
absolute positions of the target elements could potentially render the actions
inoperable. Absolute positions depend on screen resolution, operating system and
application settings as well as various other factors. This type of recording is only
recommended for users that face compatibility issues with the default recording
setting.

Each activity you perform will be recorded in the sidebar and once you have completed
the desired sequence of activities and click the “Finish” button, you will be transferred
back to the Robot Designer where it will have automatically been translated into a set
of UI Automation actions.

While recording, if you perform an activity unintentionally and you do not want it to be
included in the final sequence of actions, you can move the mouse over the action
that you want to delete in the sidebar and a red " " button will appear in the action's
top right corner, as shown below. By clicking on the button the action will be
removed from the list of recorded actions.

If you want to change parameters of the actions recorded (the actions’ parts you can
edit are displayed in blue) you can do so by clicking them and editing their text.
Note: Changing the description of an Element will not change the actual selector
Using WinAutomation 183

You can also take notes that will make the design of your Robot more meaningful for
you and that may be useful if you chose to edit the actions later in the Robot
Designer. To do so, you click on the "Insert Comment" button and a comment
action will be appended in the sidebar. Your comments will also be displayed (along
with the corresponding action) in the Robot Designer.

© 2018 Softomotive
To discard all the actions you have recorded and restart your recording from scratch,
press the "Reset Recorded Actions" button (which is located next to the “Insert
Comment” button). A message box will appear for you to confirm the delete.

To complete the recording session and return to the Robot Designer, click the Finish
button on the sidebar. The recorded Actions will be inserted into the Robot Designer
Window within a region named “Region of Autogenerated, UI Automation Actions”
Using WinAutomation 185

Of course you can further edit each of the actions (e.g. use variables as input where
applicable) within the Robot Designer.

You may also insert additional Actions to your Robot to be performed before or after
the Macro Recorded section Actions, either by manually selecting and configuring them
from the “Actions” pane, or by using once again the Macro Recorder.

3.7 The Custom Dialog Designer


3.7.1 Designing a Custom Dialog

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Dialog vs. Custom Dialog


WinAutomation offers a wide variety of dialog-producing actions, categorized under
"Message Boxes" in the Actions' Pane 146 . Selection dialogs allow you to assign a value
to a variable (be it Text 393 , Date 394 , List Selection 397 , File 401 or Folder 403 ) while the
Robot is running. Once the value is entered, the user can either press the "OK" or the
"Cancel" button. This button choice can also be assigned to a variable
(%ButtonPressed%). Simple, default dialogs come in handy when there is only one

© 2018 Softomotive
configurable parameter that needs to be set. For example, it is very common to
include a "Display Select File Dialog 401 " action at the beginning of a Robot and use the
value assigned to the %SelectedFile% throughout the remaining actions.

With a Custom Dialog on the other hand, you may configure multiple parameters in a
single action. Custom Dialogs buttons are not limited to "OK"/"Cancel" and can also
invoke Functions 160 , with the Dialog itself optionally persisting throughout the Function
execution. Nearly every aspect of the Custom Dialog and its controls is configurable
including, but not limited to, their general appearance, positioning and displayed text.

Given such flexibility, the "Display Custom Dialog 389 " action will allow you create a fully
featured Graphical User Interface (GUI) for your Robot, with the ease of drag and drop.

The Custom Dialog Designer


When you initially place a "Display Custom Dialog 389 " action into your Robot, the
Custom Dialog Designer automatically opens up:

To bring it up again for any consequent modifications, double click on the action and
press on the "Open Designer" button.

The Designer Window consists of two panes: Your Form on the left and the Drag &
Drop controls on the right. You may select any of the tabs of the Drag & Drop
controls pane, to reveal the controls of the corresponding category or edit the
Dialog's properties. Controls can be added or rearranged by drag and drop.
Using WinAutomation 187

For example, to add a "Title" control, select "Misc" and drag the Title from the pane on
the right, to your form on the left:

When a control is added to the form, the control's property editor comes up:

© 2018 Softomotive
With the help of the editor, you may modify the control's properties. As always, you
can insert preexisting variables in any of the fields by clicking on the gear ( ) icon.
When you are done editing, press the "Save" button. Saving also updates the live
preview of the dialog presented on Your Form.

If you need to modify any of the control's properties at a later point, left click on the
placed control so that the property editor reappears.

Control Types
Input
Using WinAutomation 189

Simple Holds a single-line text value, the most common form of input.
Input

Multiline Holds a multi line text value, suitable for short messages or lists. The value
Input returned is still a single Text variable containing line breaks, which can be
split 662 if necessary.
Password Similar to the Simple Input, but masks typed characters so that passwords
do not appear on the screen as plaintext.
Combobox The Combobox allows the user to either make a selection from a pre-
defined list or type their own, custom, value. The value returned is a list
variable containing the text of the selected item(s).
File Lets you select one or multiple Files or a Folder. The value returned is a
File/Folder variable for single items, or a File List Variable when you allow
multiple item selection.
Date Holds and returns a Date Time variable. If no value is entered by the user,
the current date and time is returned.

Radios / Checkboxes

Inline Select among a group of radio-buttons that are distributed horizontally.


Radios Only single item can be selected inside a group. The text/label of the
selected item is the value returned.
Multiline Select among a group of radio-buttons that are distributed vertically. Only
Radios single item can be selected inside a group. The text/label of the selected
item is the value returned.
Checkbox A single checkbox that the user can leave checked, or unchecked. Returns
a Boolean variable with the value %True% when the box is checked,
%False% otherwise.

Select

Select Similar to the Combobox, but does not allow the insertion of custom values:
the user can select only among the existing options.
Multiple Allows the selection of multiple items from the provided list. The value
Select returned is a single Text variable containing the text/labels of the selected
items, separated by linebreaks.

Button Groups

Button groups can contain one or more buttons, each one with its own name, style
and assigned operation. You may modify the buttons belonging to a group by bringing
up the property editor:

© 2018 Softomotive
You will find more information regarding the configurable button properties, in the Button
Properties subsection, below.

Miscellaneous

Title A Title control is a large text label, suitable for titling the entire form or
sections of it. Does not return any value.
Placeholder Simple text control. You can use it for displaying any desired text at any
Text part of the form. Does not return any value.

Link Adds a text control that when clicked, opens up the system's default
browser and navigates to the specified linked URL. Does not return any
value.
Horizontal Adds a horizontal dividing ruler, suitable for dividing controls into logical
Ruler groups. Does not return any value.

Control Properties
General Properties

ID / Name Used for retrieving the value entered/selection made for this specific
control. Must be unique and cannot contain spaces.
Using WinAutomation 191

Label / Text The text displayed as label to the control or on the control itself.

Link Specific to Link controls - The URL of the target page for this Link control.

Enter Specific to Password Inputs - Allows the entry of unescaped '%'


Password characters inside the default password property.

Default The value that the control will be prepopulated with, when the dialog is
Value first shown.

Default Specific to Password Inputs - Similarly to the default value, enter here the
Password value that the Password control will hold when the Custom Dialog opens.

File Selector Specific to File Inputs - The text to be used as title of the "Select File
Title Dialog" that emerges when the "..." button of the control is pressed.

Pick Specific to File Inputs - Specifies whether the file selection dialog will
allow File(s) or Folder selection.
Multiple Specific to File Inputs - When selecting files, specify whether the user is
Selection allowed to select only one or multiple.

Short A small, optional description that gets displayed the legend of the control.
Description

Popup Help The popup text to be displayed when the user hovers over the info icon
Text on the right of the control.

Size The size that the control should have. (Overrides CSS style)
Extra CSS You can assign an extra CSS class on the control, which is useful for
Class custom styling.

Button Properties

Button Defines name of the button and also the text displayed on it.
Name

Function to Select a Function from the drop down list to assign it to the button. Once
Run the User presses the button, the selected function will be invoked. You
may have only one function executing per custom dialog at a time.
Theme Select among various appearance styles for the button.

Close Choose whether the custom dialog should close when the button gets
pressed.

Whenever a button that has not be set as the "Cancel Button" gets pressed, all input
gets validated against the following rules, where they may apply:

© 2018 Softomotive
Validation

Required Specify whether populating this input field is mandatory.

Allowed Specify the accepted format of the user-supplied input value. You may
Value choose one of the pre-defined formats, or define your own, custom one.

File Filter Specific to File Inputs - The file filter applied to the "Select File Dialog"
that emerges when the "..." button of the control is pressed.

Check if File Specific to File Inputs - Specify whether the selected file(s) are required
Exists to exist.

Min/Max Specific to Date Inputs - Restricts the range of the date supplied.
Date

Validation fails will prevent function execution and Custom Dialog termination.
Moreover, a validation fail always produces an appropriate error message on the form.
Using WinAutomation 193

Dialog Properties

Title Specify the title to be used for the Custom Dialog.

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)

Height Specify the height of the Custom Dialog's Window.

Width Specify the width of the Custom Dialog's Window.

Accept Specify a button to be automatically pressed when the user presses Enter
Button with the dialog open.

Cancel Specify a button to be automatically pressed when the user presses


Button Escape with the dialog open. Validation of input is skipped.

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.

Allow Allow/Disallow resizing of the Custom Dialog's Window.


Resizing

Retrieving Entered Values from a Custom Dialog


The input controls of a Custom Dialog hold useful values, entered by the user in
runtime. All of the populated values get stored inside a Data Row variable as defined in
the "Display Custom Dialog 389 " action's properties (default variable name:
%CustomDialogResults%). Values are available to functions invoked by a button press
on the Dialog and actions following the "Display Custom Dialog 389 " action.

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:

%CustomDialogResults["Combobox1"]% (Assuming that the default names were


kept)

Some controls may hold a variable with additional properties 255 or even a list. You may
access the properties and the list items as well:

© 2018 Softomotive
%CustomDialogResults["File"].Size% is the size of the selected file and
%CustomDialogResults["MultipleSelect"][0]% is the first selected item.

Advanced Customization of the Dialog's appearance


You may add your own CSS rules applying to the Custom Dialog and its controls, in the
Advanced Tab of the "Display Custom Dialog" action. Styling rules entered inside the
"CSS Theming Overrides" box are effective immediately; you can preview them on the
Custom Dialog Designer, or view them directly at the resulting Dialog that is produced
during runtime.

Each control can be assigned an "Extra CSS Class" through the corresponding property.
A CSS class allows you to set a particular style for one or many HTML elements with
that particular class in your custom CSS rules.

3.8 UI Automation
3.8.1 UI Automation Overview
WinAutomation actions under the “UI/Windows” category are capable of directly
manipulating Windows applications, or any window for that matter (apart from web
application that can be automated with "Web Automation"), their controls, as well as
extracting data from them.

Robots can click on buttons, menu items, populate edit boxes directly, etc. and all that
without the use of absolute coordinates or image recognition!
Using WinAutomation 195

© 2018 Softomotive
UI Automation based robots can be conveniently authored with the help of the Macro
Recorder 180 (with the Smart Recording option enabled). Alternatively, you can build
your Robot manually by combining and configuring the appropriate actions in the Robot
Designer.

Window handling actions, such as "Focus Window 453 ", "Move Window 465 " etc. can both
act on a specific window from your Control Repository.

Control handling actions, on the other hand (e.g. "Click Element in Window 443 "), act on
a target control of your repository.

Using the "Select Control from Repository" in the UI/Windows actions' properties and
adding Controls using the "Add Control" option is the most convenient method for
specifying the target control(s) for your actions.

3.8.2 UI Elements - Select Controls


The "Select Control from Repository" or "Add Control" in the Control Repository pane,
allows you to easily select a desired target control, on any currently open application
window. To select a control simply click on the "Select Control from Repository" option
in the action's properties. Having done so you have two options:
Using WinAutomation 197

1. "Add Control":

OR...

© 2018 Softomotive
After selecting to Add a control with either ways mentioned above, you are able to
select the element you wish. The Live Helpers (orange boxes circulating the accessible
elements) will appear and you can navigate to the window of interest in order to
access the element. Once this element is highlighted by the helpers, then simply press
"LCtrl+LShift+Left Click" to select the control.

Having done so the WinAutomation UISpy window will appear with three panes.

1. the tree of the all open applications and their controls, on your machine,
Using WinAutomation 199

2. the attributes for the element that you are trying to access and

3. a screenshot of the element that you selected to add.

Click on the "Add" button to add the Control to your Repository. The Control Repository
pane in your Robot Designer will now have the Window and the element.

Should you wish the WinAutomation UISpy not to be displayed and have the control
directly passed into your repository, then instead of "LCtrl+LShift+Left Click" simply use
"LCtrl+Left Click" (without the LShift).

© 2018 Softomotive
You can go on adding more Controls in your Repository, building your Robots with
different actions until you have completed your Robot.

3.8.3 Manage Control Repository


You can right click on an item in the Control Repository to:

1. Manage the Selectors that were generated from WinAutomation to change them or
make your own if you believe that they can be more efficient. In case you want you
can also add variables in the selectors.

2. Find Usages of the control. You may want to identify which action is currently
using this control.

3. Rename the control. You may want to give a different name to the control.

4. Delete the control, in case you no longer wish to have it in your Repository.
Using WinAutomation 201

To manage the selectors of a control, you can either double click on it, or right click
and select "Manage Selectors". On the window that pops-up the selectors for the
element will be listed.They are usually more than one and they work in the notion that
if the first one fails to access the element, the Robot will fall back to the second one.
If the second one still fails to access the element the Robot will fall back to the third
one...an so forth. The action will error out only if all the selector fail.

You can click on the "Remove Unused Controls", in order to clear the "Control
Repository" from any controls that in the end where not used by your script.

3.8.4 Manage Image Repository


You can right click on an item in the Control Repository to:

1. Recapture the Images that you captured earlier.

2. Find Usages of the Images. You may want to identify which action is currently
using this image.

3. Rename the Image. You may want to give a different name to the Image.

4. Delete the Image, in case you no longer wish to have it in your Repository.

© 2018 Softomotive
You can click on the "Remove Unused Images", in order to clear the "Image Repository"
from any images that in the end where not used by your script.

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.*

In the window that pops up you are able to:

a) Add Selector. This button will give you two options.

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.

c) Delete. Click on the selector that you want to delete.


Using WinAutomation 203

d) Close. Close the Window.

When you choose to Edit a Selector the the "Selector Builder" window pops-up. In here
you can see the UI or CSS selector and you can choose the attributes that you want
to be included in the selector for the item.

You can also choose whether you want the Visual Selector Builder or the Custom
builder.

© 2018 Softomotive
Selector Builder

Notice that in the "Operation" column, you have the option to select what how the
value will relate to the checked attribute. While the "Value" column of the Selector
Builder is editable, you can click on the Operation arrow and choose the relation
between the attribute and the value to be:

-Equals
-Not Equals
-Contains
-Starts with
-Ends with
-Regex match
Using WinAutomation 205

If you choose the Custom builder, form the drop down list menu option on the top left
part of the window the the following window appears where you are free to build your
own selector and even use Variables from the gear icon.

© 2018 Softomotive
3.8.6 Building UI Selectors
The UI selectors are very useful when using UI/Windows actions, as they help you
access any windows/elements you want.

UI selectors are generated for each control you add in your Control Repository and can
be shown should you double click on a Control.

WinAutomation automatically generates one or more selectors. This means that, if the
first selector fails to access the element, then we fall back to the second selector;
and in case of a new failure we fall back to the third and so on. The action will error
out, if none of the selectors are able to get the element and there is no Exception
handling in the relative tab of the action.

You do have the option to modify the existing generated selectors (delete one or two
of them, enhance them, or build them yourself from scratch) so that you can get the
desired window or element.

Let’s say that you have an “Untitled – Notepad” window open on your desktop which
you wish to get.

Selectors are read from left to right using “>” to show that the element that follows in
contained within the previous one in a parent > child notion. Let’s say that you want
to access a Notepad Window and then click on the File Menu option.

You would have to use a "Click Element in Window" action and add the Control to the
Repository. You will end up with the control as follows:

The Window 'Untitled-Notepad' will have its selectors and once accessed the Robot
will move on to the Menu Item:File for this window.

What if you want to get a text document with another specific name??
Using WinAutomation 207

Double click on the Window 'Untitled-Notepad' and in the window that pops up hit the
Edit button for each selector.

In the selector builder Window that will appear you can check other attributes that
you want to include in the existing Selector for the window. Thus, the selector will
become more complex.

© 2018 Softomotive
OR, you can choose to build a Custom Selector form the drop down list menu option on
the top left part of the Selector Builder window.

In general the selector for a specific window with "n" attributes is:

window[Attribute1=”Attribute1Name”][Attribute2=”Attribute2Name”]...
[Attributen=”AttributenName”]

So, for the notepad with title "Untitled" the selector can be:

window[process="Notepad"][name="Untited - Notepad"][class="Notepad"]

...you can delete one or more attributes and you can just keep the ones that you
think will make your selector more efficient, in the Selector Builder Window.

· Using Variables in Selectors:

If you have a variable that holds the name of the text file then in the Custom Selector
you can insert that variable. Let's say that you are certain that the file you want to
access is named "Example.txt".
The selector to access that window can simply be:

window[process="Notepad"][name="Example"][class="Notepad"]
or
window[name="Example"][process="Notepad"]
Further on, if you have the name of the file in a variable like %FileName%=Example then the
selector can be:
window[process="Notepad"][name="%FileName%"][class="Notepad"]
Using WinAutomation 209

· 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.

3.8.7 UI Data Extraction


WinAutomation's UI Automation technology allows the extraction of textual data from
any open application window. You will find all the relevant actions under the "Data
Extraction" subcategory of the "UI and Windows" group, inside the Action's Pane 146 .

"Get Details of Window 485 " and "Get Details of Element in Window 487 ", are suitable for
extracting certain useful attributes from the target Window or Element, such as the
Window's Title or the Element's location. Both of the actions are also capable of
getting the text displayed by the element, including any text belonging to visible child
elements.

The following two actions, "Get Selected Checkboxes in Window 489 " and "Get Selected
Radiobutton in Window 490 " are specialized actions, dedicated in extracting the current
selection state of Checkboxes and Radiobuttons.

© 2018 Softomotive
Last but not least, "Extract Data from Window 492 " extracts only the text displayed on
elements (and their visible children). For simple control elements, "Extract Data from
Window 492 " will get the exact same results as the equivalent "Get Details of Element
in Window 487 " action. Certain controls, on the other hand, will yield data in the form of
List or Table variables. More specifically, Tree and Tree Item controls (e.g. the tree
view pane of Windows Explorer) as well as List controls produce the text data in a List
variable. Data Grid controls always get their data extracted in the form of a table. In
other words, "Extract Data from Window 492 " allows the retention of the original
organization of the data extracted, making any further processing significantly easier.

3.9 Web Automation


3.9.1 Web Automation Overview
With WinAutomation you are able to automate your web related tasks in an intuitive
manner with unprecedented speed and reliability. The Robot Designer includes a
number of actions under the "Web Automation" category, each of them corresponding
to an action that a user would manually perform within a web browser.

The usual sequence for creating a Web Automation Robot is the following:

1. You launch a browser window (or attach to an existing one) using the "Launch New
Internet Explorer 495 " action. This action generates a variable containing the
instance of the web browser that needs to be passed to subsequent actions (this is
useful when you need to automate more that one browsers concurrently). By
default Internet Explorer instance is stored in %InternetExplorer%, but you can
change the name of the variable to the most convenient name for you. Do keep in
mind that any web actions on this specific browser that you opened with the
"Lauch New Internet Explorer" action, should respond to this instance.
For example if you wish to use the "Click Link on Web Page" action, in the Web
Browser Instance you should indicate the variable %InternetExplorer% (or the
variable's name that you gave to the instance in the "Launch new Internet Explorer"
action)
Using WinAutomation 211

2. You add the appropriate actions based on the steps that you want to automate.
There are actions available for clicking on links, filling and submitting web forms,
extracting data from web pages, etc. In each action you will need to pass the
variable containing the web browser instance to specify the browser on which the
action will be performed, as previously mentioned in point 1.

3. Optionally, you may close the browser used for the automation using the "Close
Internet Explorer 506 " action.

In order to build your Robot you have plenty of tools at your disposal. The easiest way
to start is to use the Web Recorder 219 that gives you the ability to record your web
activities as you perform them and convert them into a Robot.

Alternatively, you can build your Robot manually by combining and configuring the
appropriate actions in the Robot Designer. The rest of the overview will focus on the
Robot Designer approach, for Web Recorder usage please refer to the corresponding
topic 219 .

© 2018 Softomotive
3.9.2 Building a WebAutomation Robot

Building a Web Automation Robot in the Robot Designer:


As mentioned before, you will start with the "Launch New Internet Explorer 495 " action
and specify the initial web address to visit:

In addition to the initial URL, you may also specify:

· 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 .

The Automation Browser may be preferred as it offers a minimal and fully-functional


browser interface, while allowing you avoid inconsistencies and delays that Internet
Explorer add-ons, toolbars and widgets may cause. (More information you can find
in the Actual Internet Explorer VS Automated Browser 246 topic)

· Whether the web browser window will be launched in normal, maximized or minimized
(in case you want the Robot to run in the background) state.

The main outcome of Launch New Internet Explorer action is to generate a


variable containing the instance of the web browser that will be passed as input
to the rest web-related actions of your script. Since it is possible that within the
same Robot you may need to automate more than one browsers concurrently
(if for example you may want to extract data from one web site and populate
some fields of another), you can include multiple “Launch New Internet
Explorer” actions and store the generated Internet Explorer Instances
appropriately, so that you can pass them to the respective subsequent web-
automation actions.

The most commonly selected option is to Launch a new Internet Explorer. However, by
default, IE comes with security settings disallowing any external applications
(WinAutomation in our case) from controlling it. Therefore, it is essential to configure
its security settings 240 first.

Alternatively, you can use the WinAutomation’s browser that does not require any
configuration changes.

When selecting to launch a new browser, you can specify some further options, found
in the Advanced tab of Properties of Launch New Internet Explorer action window:

· Whether to clear the browser's cache and/or any stored cookies right after launching
it (depending on the size of cache or stored cookies this procedure may take a
while).
· Whether you need the Robot to wait for the new web page to load completely before
proceeding to the next the action.
· How should the action respond if a pop-up dialog appears while loading the initial
web page (i.e. close, ignore or interact with it).
· Specify the user-agent string that you want the runtime web helper to advertise to
the website's that it is instructed to navigate to.
Using WinAutomation 213

If you set the action to attach to a running Internet Explorer (instead of launching a
new one) you are prompted to choose whether it will attach to an Internet Explorer
Tab based on its Title, URL, or just pick the Active Tab of the Internet Explorer running
as the Foreground Window.

© 2018 Softomotive
Next, you will append other actions to interact with elements in the web page.

There are actions available for clicking on links, filling and submitting web forms,
extracting data from web pages, etc.
Using WinAutomation 215

© 2018 Softomotive
Although each action has its specific features there is an overall mode in setting the
web-related actions’ properties.

Say, for example that you need to click on a link. For that you will need to use the
"Click Link on Web Page 501 " action:

As you can see in the screenshot above, you will first need to select the Browser
Instance on which the action will be performed. The next step is to specify the link
you want to click on and add it in your Control Repository. You can do this in two
ways:

1. Select the Control form your Repository, if it is already there from a previous
selections, or

2. Click "Select Control Repository" and then click "Add Control". This will open the Live
Helpers. Hover your mouse over the element that you want to access in the Internet
Explorer and hit LeftCtrl+LeftClick to select it.

Once you do the WinAutomation UISpy window will pop up, that it will show you the
HTML tree of the element as well as its attributes in the right pane of the window.
Using WinAutomation 217

Click on "Add" to add this control to your Repository.

Under the hood:

What the Web Helper does is extract the CSS Path of the selected element and a
meaningful description adding it to your Control Repository. Should you double click on
the control, the Selectors for it will pop up as per the screenshot below:

Should you click on "Add Selector" or "Edit" the Selector Builder will appear.

© 2018 Softomotive
In the Selector Builder you are able to add or remove attributes to the CSS selector by
checking or un-checking the relevant check-boxes. You can also choose to build a
custom Selector from the Custom Option.

In the Custom selector Builder window you can modify the Selector, insert variables, or
change it completely.

To learn more about the values you can enter in the "CSS Selector" field and how to
select a single element within a web page you may refer to the CSS Selectors 272
topic.
Using WinAutomation 219

This is the logic behind any web-related action where you need to specify an element
and perform an operation on it.

3.9.3 The Web Recorder


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

While you can create a Web Automation Robot by combining and configuring actions in
the Robot Designer, as you would do for any other other Robot, it is much easier to
build your web related Robots by using the Web Recorder

You can open the web recorder either while creating a new Robot 75 or from within the

Robot 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.

© 2018 Softomotive
Use the Web Automation browser for the recording
As with the Web Helper 247 , the fist step here is to enter in the address bar the URL of
the site you want to visit and press "Go" (or Enter). Immediately you will see that the
first action in the sidebar gets updated with the website address. This indicates that
the recording has started and in the sidebar you will see the corresponding actions
that get added as you interact with the web page.

Record the actions on an already open Internet Explorer window (Live


Web Recorder)
The Live Web Recorder does not require you type a URL. Instead, the starting web
page is determined by your selection of the Internet Explorer window. In other words,
the current address of the selected window is where the recording starts from.
Therefore, when there are more than one Internet Explorer windows open, you should
select the one displaying the site you want to visit before pressing the "Start" button:

With the correct browser window selected, press the "Start" button to start the
recording. The sidebar will now appear on the top right part of the selected Internet
Explorer and the Web Automation browser (which is now unnecessary) will hide.
Using WinAutomation 221

Note that while using the Live Web Recorder, clicks on the back, forward and refresh
buttons of the browser do not get recorded.

Making the Recording


As soon as you start the recording, the process is similar irregardless of your selection
between the Live Web Recorder and the Web Automation browser.

Whatever you do gets recorded. So, for example, if you click on a link a new "Click Link
on Web Page 501 " action will be appended on the sidebar. Enter some text into a text
field, submit a form, navigate back or click on another link; every activity you perform
will be translated into the appropriate action and added to the sidebar.

If you perform an action unintentionally and you do not want it to be included in the
final sequence of actions, you can move the mouse over the action that you want to
delete and a red button will appear in the action's top right corner, as shown
below. By clicking on the x button the action will be removed from the list of recorded
actions.

© 2018 Softomotive
Most actions have part of their text in blue. These pieces of text correspond to the
parameters of the action and can be edited by clicking on them. As an example we'll
click on the email address that we entered into the email field and change it:
Using WinAutomation 223

This feature is also useful for changing the name the Web Recorder assigns to each
element. WinAutomation makes its best effort to extract a name for every element you
interact with, however this may not always be possible or you may want to replace
the auto generated name with another one that makes more sense to you.

© 2018 Softomotive
While recording you may want to take notes that will be useful if you chose to edit the
actions later in the Robot Designer. To do so you need to click on the "Insert
Comment" button and a comment action will be appended in the sidebar. This
action, holding the comment that you entered, will be part of the recorded actions
that will be sent back to the Robot Designer.
Using WinAutomation 225

If, at any point you want to discard all the actions you have recorded so far and start
from scratch, you can press the "Reset Recorded Actions" button. A message box will
appear for you to confirm the delete.

© 2018 Softomotive
Extracting Data while Recording
The Web Recorder also includes the functionality of the Data Extraction Web Helper 228
so that while you are recording you can specify any data on the web page you are
visiting that you want to extract. This is done simply by right-clicking on the element
you want to extract and from the context menu that will appear select the "Extract
Element Value" and then the attribute that you want to extract.

As with the Data Extraction Web Helper 228 you may select multiple elements and the
Extraction action will be updated accordingly. The action will also include a link to a
preview of the selected data as it is going to be extracted.
Using WinAutomation 227

By right-clicking on an element you can also insert an action that takes a screenshot
of that element, or an action that waits until the text contained in that element
appears/disappears from the page. The latter is useful especially for dynamic/ajax-
powered websites that you need to make sure that the page has been updated before
moving on the the next action.

Finally, once you are happy with the process you have recorded you can press the
"Finish" button and all the actions will be transferred back to the Robot Designer:

As you can see from the screenshot above, all actions (along with any comments you
may have added while recording) have been inserted into your Robot. From this point

© 2018 Softomotive
you can continue editing and modifying your actions as you would for any other Robot
whether it has been generated by the Web Recorder or not.

3.9.4 Web Data Extraction Part I


Extracting data from web pages is a big part of Web Automation. In WinAutomation
there are four actions dedicated to this task, with the "Extract Data from Web Page 521

" being the more important and versatile.

The other actions allow you to take a screenshot of a web page element 526 , retrieve
details of a web page 523 such as its title or its HTML source and finally retrieve any
HTML attribute of any web page element 524 or even its text.

So far so good, however, very often, you want to retrieve information displayed into
the page in the form of tables or lists, rather than technical values. And this is where
the "Extract Data from Web Page 521 " action comes into play:
Using WinAutomation 229

As with any other web-related action you will first need to specify the web browser
instance containing the page you want to extract data from. The next step is to
specify the data itself and finally to select where the extracted data will be stored.
The default value is to be written into a newly generated Excel spreadsheet, but to do
so you need to have Microsoft Excel installed in your computer.

Alternatively you can have the data stored into a variable for further processing by
later actions. Note that the extracted data can be in any of the following forms:

1. Single Value:

Say that from a web page containing info about a product, your extract the product
name only. In this case, if the extracted data is stored into a variable this variable will
contain a text value.

2. Handpicked (multiple) values:

© 2018 Softomotive
Say that, in our previous example you select to extract not only the product name,
but also the description and its price. In this case three separate values will be
extracted and the resulting variable will hold a value of type DataRow.

You will be able to access each one of the retrieved values using the following form:
%DataFromWebPage[...]% where within the brackets you will enter either a number or
the name of the value.

3. Lists:

You are no longer in the page containing the product info, but in a page containing the
list of all products. If you choose to retrieve all the product names displayed in the
page then you'll end up with a list. Subsequently, the variable holding the extracted
data will be of type List.

4. Tables

In the previous example of the web page containing a list of products you select to
retrieve both the name and the price for each product. In this case the resulting
variable will hold a DataTable with a product in each row and two columns (with the
product name stored in the first column and the product price in the second one).

Selecting the Data to extract from a Web Page


To specify which data you want to extract from the web page you will need to use a
Data Extraction Web Helper 247 . The target data can be specified either by using the
live version of the Web Helper, or the standard one.

Live Web Helpers conveniently work on an existing Internet Explorer window. Just have
the action "Extract data from Web Page" open in your designer and click on the
Internet Explorer of your interest.

The standard Web Helper on the other hand, is a browser window itself and opens by
pressing the "Specify Web Data to Extract".

Should you click on the "Specify Data to Extract" button the Web Helper Window will
appear.
Using WinAutomation 231

this window consists of two parts, the left pane which is the web browser and the
right sidebar which displays a preview of the data selected for extraction.

As with the Web Helpers, the first step is to enter the URL in the address bar and
navigate to the page containing the data to be extracted.

Next, all you have to do is right click on any element of the page that you want to
retrieve and select the property you want to extract. Most often you will want to
extract the text of the element, but you have also the choice to specify any HTML
attribute you want to retrieve.

© 2018 Softomotive
At any point you can press the "Accept" button and finish the process of selecting the
data you want to extract, or you may continue by selecting more elements. Depending
on the elements you select, the web helper may or may not expand the selection. For
example, if the next element you select is the URL of the element chosen in the
previous screenshot (shown in green in the screenshots) you will have just two
elements selected:
Using WinAutomation 233

If, however, the second element you selected was another search result title,
WinAutomation would detect that you are extracting a list and would expand the
selection to all items of the list:

On the right sidebar you see the preview of the data to be extracted in the form of a
list.

So now you have specified that you want to extract a list. If you select an additional
element, WinAutomation will extract the corresponding data for each element already
in the list, returning the result in the form of a table:

© 2018 Softomotive
By selecting an additional element, the table would simply get an additional column.
You can edit the column names by clicking on them in the preview sidebar.

If the data spreads over multiple pages there will be a "Next" link somewhere that
points to the next page. You can right click on that link and select "Set This Element
As Pager". This way, WinAutomation at runtime will not retrieve the data just from the
first page but will continue and retrieve the same data from the next pages too.

At any point you can press the "Reset" button to discard the selection made so
far and start over. You can also examine and modify the CSS Selectors generated by
the Web Helper that specify which info needs to be extracted by pressing the

"Advanced Settings" button .

Finally you can press the "Recalculate Now" button to highlight which data will
be extracted from a web page based on the current selection. This can be useful if, for
example, you select some elements to extract from a web page containing info about a
product. You can then visit a page containing info on another product and click the
"Recalculate Now" button to make sure that appropriate info will be retrieved from the
second page too.

As mentioned before, after you have finished with selecting the data you want to
extract you can press the "Accept" button to return to the action's properties dialog.
Using WinAutomation 235

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.

© 2018 Softomotive
1. As you can see while extracting a list, we have the Base Selector and the CSS
selector. The Base selector is the root element in the HTML code, under which the
items of the list are listed. This means that the extraction starts from the
".....div:eq(1) > ul > li"

2. For each list item from the list "...div:eq(1) > ul > li" and then it gets the "h3 > a"
element.

3.The attribute that you are extracting is "Own Text" and it can be changed to "Title",
"Href", "SourceLink", "Exists" or any other Attribute is available in the HTML code of the
page for this element.

4. You also have the option to apply Regular Expressions on the extracted text, in
order to get just a part of it.

Changing the selector by hand, then you can click on the "Recalculate now"
button to see the extraction's Result.
Using WinAutomation 237

Extracting a Table:

In order to extract more than one piece of info for each result you would have to
extract a table.

Let's say that we want to extract the Title of the product, the link behind it and the
price.

For the first result we right click on the title, extract its "Text", then right click again
to extract the "Href" and finally we right click on the price element to extract its
"Text".

We move on to the second result/product to do the same and the table is


automagically created in the extraction preview window.

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

· h3 > a Attribute "Own Text"

· h3 > a Attribute "Href"

· ul:eq(0) > li:eq(0) > span Attribute "Own Text

© 2018 Softomotive
Attributes to extract:

In the Attribute field of the "Advanced Settings" of the "Extraction Preview" window,
other than the attributes that are listed in the drop down list, you can specify any
other attribute that the element has. For example if an element in the HTML code of
the page is:

<li class="sresult lvresult clearfix li shic" id="item463b90d307"


_sp="p2045573.m1686.l2210" r="3" listingid="301647057671">.......</li>

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.

3.9.6 Web Data Extraction Part III


Very often we want to extract data from a web page after a search, which has
returned more than one page of results. In this case we want to perform the
extraction to all, or to a number of pages.

This can be achieved with the "Extract Data from Web Page" action, if you select to
set an element as "Pager". As shown below, you can right click on the pager element
and select "Set This Element As Pager".

Having done so, upon extraction of the data, the Robot will keep clicking on the "next
page" button and extracting what you have set it to extract, up until when the pager
element is enabled and present on the web page.
Using WinAutomation 239

The CSS selector for the pager is shown in the "Advanced Settings" for the Extraction
Preview window. You can modify it and use your own if you are familiar with CSS
selector and maybe use its id and class attributes to make it 100% consistent.

Once you have set the data to extract, press "Commit". Back in the "Extract Data from
Web Page" action you can choose to extract the results from:

- All Available pages, which means that the extraction will finish once there are no
more result pages, or

- only first 'X' Web Pages, which means that the extraction will finish after extracting
the data from the X web page.

© 2018 Softomotive
Feel free to have a look at the Create CSS Selectors topic 272 .

3.9.7 Configure Internet Explorer for Web Automation


For automating your web related tasks you can either use the WinAutomation's
automation browser or an Internet Explorer window. The latter choice is especially
useful when you want the task to be performed through an IE browser window that is
already open.

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.

To change this, you perform the following steps

Open the Internet Options dialog in Internet Explorer and click on the "Security" tab:
Using WinAutomation 241

Select the "Internet" zone and UNCHECK the "Enable Protected Mode" checkbox:

© 2018 Softomotive
Select the "Local intranet" zone and UNCHECK the "Enable Protected Mode" checkbox:
Using WinAutomation 243

Select the "Trusted Sites" zone and UNCHECK the "Enable Protected Mode" checkbox:

© 2018 Softomotive
Finally click the OK button and restart Internet Explorer. You will now be able to
control Internet Explorer through WinAutomation for automating all kinds of web sites
and web applications.

3.9.8 Configure Internet Explorer for Servers


If you have WinAutomation installed on a Server, for automating your web related
tasks please note the following.

Windows Servers have the "Internet Explorer Enhanced Security Configuration" (IEESC
for short) feature turned "On" by default, which prohibits any and all WinAutomation
Robots from properly launching an Internet Explorer or the Automation Browser via the
"Launch New Internet Explorer" action.
Using WinAutomation 245

Likewise, as long as the IEESC feature is "On" any and all web-automation actions will
too fail to work as intended. Moreover, the design-time Web Helpers of the
aforementioned actions will not work either as long as the IEESC feature is "On".

In order to be able to overcome the above, you would have to change the Security
Configuration as per the screenshots below in 3 small steps.

1. Open the "Server Manager" and go to "Local Server"

2. Click on the "IE Enhanced Security Configuration"

3. Both for Administrators and Users select the "Off" radio button and click "OK".

© 2018 Softomotive
You will now be able to control Internet Explorer through WinAutomation for
automating all kinds of web sites and web applications.

3.9.9 Actual Internet Explorer VS Automated Broswer

Differences and limitations for using the WinAutomation Runtime Browser


versus the Actual Internet Explorer:

1. “Click Download link from Web Page” action:

This action only works with the Automated browser regardless the IE version, while in
an actual IE, version 8 and below is a requirement.

2. For the actual IE to work reliably with the Web Automation Actions one needs
to change its security options. (Configure Internet Explorer for Web
Automation 240 )

Such tweaks are not necessary when using the WinAutomation Runtime Browser. This
can come in handy for users working in companies having certain standards when it
comes to the security (thusly prohibiting users from changing the security settings of
IE). For these users the WinAutomation Runtime Browser is the way to go.
Using WinAutomation 247

3. The WinAutomation Runtime Browser suppresses any and all message


dialogs that may pop up unhindered in the actual IE.

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).

5. There is a small performance advantage with the Automated browser


because it does not load unnecessary elements and ad-ons like the actual IE
does.

6. When it comes to converting Robots to .exe files the actual IE is a bit more
handy than the embedded one if the .exe is to be distributed to computers that
WinAutomation has never been installed.

The reason for this is that for those machines that want to run a .exe with the
embedded IE the client must install (and then uninstall) WinAutomation in order for
certain registry-keys to be installed in the registry, instructing the Windows OS to run
the Runtime Web Helper of WinAutomation as the IE version of most recent vintage. If
this does not take place then the Runtime Web Helper will be running as IE6 by default
which can cause severe problems in certain websites, thus breaking the .exe Robot.

3.9.10 Web Helpers Offset


Sometimes, elements in a web page may be nested one into another, and still have the
same size. In this case you can only highlight the deepest element and by moving the
cursor out of it you also move it out of its parent elements (since they all have the
same size). In this case, to select a parent element, move the mouse cursor over it
and click Control-Shift to move the selection to its parent element instead of the
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!

© 2018 Softomotive
Helpers with offset.

Helpers with no offset.


4. Advanced Topics
4 Advanced Topics
4.1 Add-ons
4.1.1 What is an Add-on?
WinAutomation being a feature-rich automation platform, includes a vast collection of
actions that are available to you whenever you install the application. However, some
actions are a little too specialized to be included as part of WinAutomation’s core (e.g.
a group of actions that automates Twitter, does not interest everyone). This is why
WinAutomation allows you to use Add-ons.

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.

4.1.2 Install and Remove Add-ons


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

You can open the WinAutomation Add-on Manager through "Options > Addons" tab in the
console.

Browse All Available Add-ons

This button will get you to the WinAutomation official website where you can review
and download all the available addons.

Uninstall an Add-on

You can uninstall any Add-on that you no longer need, just by selecting it in the list of
installed add-ons and clicking on the “Uninstall Selected Add-on” button. Note here that when
you uninstall an add-on, any robots that contain actions from that add-on will not work
anymore. This does not apply to compiled Robots that are independent but only to Robots
that run within WinAutomation.

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.
Advanced Topics 251

Add-ons designed for WinAutomation version 5 will not work with WinAutomation version 6
and vice versa. If you accidentally installed an incompatible add-on, you can safely delete the
file Addons.dat, which is by default located in the same folder as your Robots.dat file 283 .
Having done that, you may proceed and download the latest compatible version of the add-on
by pressing the “Browse All Available Add-ons” button.

4.2 Variables
Throughout your robots, you will need to store useful information for passing them from
on action to another: the current date, the file that the user selected, the contents of
the clipboard. WinAutomation allows you to store this kind of data, for later use,
through variables. A variable simply acts like a storage bin that saves valuable
information for the Robot’s execution, so that you can use it later. You can stuff
different types of data into variables, such as text or numbers. For more information
about Data Types you can see here 252 .

In order to use variables, you will have to use the specific notation associated with
them: the variable’s name should be enclosed in percentage characters. For example,
in order to use a variable called “ClipboardText” as an input for “Set Clipboard Text”

© 2018 Softomotive
action, you must write: %ClipboardText% in the “Text to store into Clipboard” field of
the specific action’s properties dialog box.

Creating Variables

There are 2 main ways to create a new variable:

1. Through the “Variables Manager Window”. For more information about where to find
and how to use this method you can see: “Variables Manager Window 170 ”.

2. Variables can also be created by Actions. Most actions generate output based on
the input that has been provided to them. For example the “Get Text Length”
action under “Text Actions” category, will accept the text that you want to
measure as an input, and provide the number of chars that this text contains as an
output. This output will be stored in a variable for later use.

Using Variables

Variables can be used to store any specific type of information that may need to be
utilized throughout the Robot. Most of the variables that you will use are the “product
of a specific action’s labor”: the current date, the files contained in a specific folder,
the text that is stored in the clipboard, is information that you can retrieve and store
in variables through specific actions.

WinAutomation provides you with an easy and straightforward way to use variables
that have been previously created in your robots: there is a special “gear” icon
next to every input that accepts variables in the Action Properties Dialog box. By
clicking on that icon, you will be able to directly select any variable or variable
property (for information about properties you can check “Data type Properties 255 ”)
that you want to use as an input.
Notice that the gear icon is placed only next to the “Action’s Inputs” (there are
no gear icons next to “Outputs”). This does not mean that you cannot use a
variable that already exists, as an output, thus overwriting its contents and, possibly,
changing the type of data that the variable contains. However, it is suggested that
you use a new variable to store a different action’s output: it will help you to keep
your Robot clear and have a full understanding of what kind of data each variable
contains at any given time of your Robot’s execution.

4.2.1 Data Types


Every piece of information that you store in your variables, has a specific type. There
are 14 main data types that WinAutomation recognizes:

· Text:
A “Text” variable can contain any kind of text, from your email address to the text
contents of txt file. Notice that the user’s input through the “Display Input Dialog 393
” action will always be stored as text (even if the user enters a number). In order to
convert text into number you will have to use the “Convert Text to Number 653 ”
action.
Advanced Topics 253

· Number:
This is the data type of a variable that holds a number.

· Boolean:
Can be either True or False. For example the attributes of a file (such as "Hidden")
are of type Boolean. If a file is stored in a variable called %MyFile%,
%MyFile.IsHidden% will be True if the file is hidden and False if it is not (IsHidden is a
property of the File Data Type; for more information about the data type properties
see “Data Type Properties 255 ”).

· Custom Dialog Instance:


A variable of that type is created through the “Display Custom Dialog 389 ” action. It is
used to uniquely identify the specific custom dialog created by the action. Every
Custom Dialog Instance has properties (e.g. LastButtonPressed). For more
information about data type properties see “Data Type Properties 255 ”. Variables of
the "Custom Dialog Instance" type can be used in place of a UI Automation "Window
Instance" in UI and Windows actions.

· List:
A list contains a collection of values (it is the equivalent of single-dimensional arrays
in programming). Depending on the type of the items of the list we can have List of
Texts, List of Numbers, List of Files etc. For more information about lists, see
“Lists 254 ”.

· Data Table:
A data table contains data in a tabular form (it is the equivalent of two-dimensional
arrays in programming). For more information about data tables, see “Data Tables 255
”.

· Date Time:
Contains basic date and time information. The form that will be used to print a “date
time” variable (e.g. through a “Display message” action) depends on the machine’s
regional settings. To retrieve a special textual representation of a Date Time value
you need to convert the value into text with the "Convert DateTime to Text 657 "
action.

· Excel Instance:
A variable of that type can be created through the “Launch Excel” action. It is used
to uniquely identify the specific instance of Excel that was launched. Every other
action under “Excel” category (e.g. “Read from Excel”) will require from you to
specify an existing Excel instance (i.e. the specific excel file whose data will be
read). Variables of the "Excel Instance" type can be used in place of a UI Automation
"Window Instance" in UI and Windows actions.

· FTP Connection:
A variable of that type can be created through the “Open FTP Connection” and
“Open Secure FTP Connection” actions. It is used to uniquely identify the FTP
connection that was opened. Every other action under “FTP” category (e.g.
“Download File(s) from FTP”) will require from you to specify an existing FTP
connection (i.e. the specific FTP site where the file(s) will be downloaded from).

© 2018 Softomotive
· File:
Represents a file. Files can be used as input in any of the actions under “Files”
category. Every file has properties (e.g. Size). You can retrieve a file’s properties by
using the following notation: %VariableName.PropertyName%. For more information
about data type properties see “Data Type Properties 255 ”.

· Folder:
Represents a folder. Folders can be used as input in any of the actions under
“Folders” category. Every folder has properties (e.g. CreationTime). You can retrieve
a folder’s properties by using the following notation: %VariableName.PropertyName%.
For more information about data type properties see “Data Type Properties 255 ”.

· Internet Explorer Instance:


A variable of that type can be created through the “Launch New Internet Explorer 495
” action. 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 501 ”) 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 560 " action.
Every email has properties (e.g. Subject). You can retrieve an email’s properties by
using the following notation: %VariableName.PropertyName%. For more information
about data type properties see “Data Type Properties 255 ”.

· Window Instance:
A variable of that type can be created through the “Get Window 450 ” action. It is
used to uniquely identify an application window on the user's desktop. UI and
Windows actions will require you to specify a target Window instance (i.e. the
specific window which will be acted upon / contains the target element(s)).

4.2.2 Lists
Lists are collections of items of the same type. You can create a list through the
“Create New List” action (under “Variables” category) and add an item to that list
through the “Add Item to List” action. You can also create a list through actions that
generate lists as output (e.g. “Read text from file” will return a list if you select to
store the file’s contents as a list and "Get Files in Folder" action will return a List of
Files).

In order to retrieve a specific item of a list, you will have to use the following
notation:

%VariableName[ItemNumber]%

Keep in mind that the “ItemNumber” should be 0 for the first item of the list, 1
for the second and so on.
Advanced Topics 255

For example, if you have a list that is stored in the variable %MyList% and contains 10
items, you can retrieve the first item with: %MyList[0]% and the last item with
%MyList[9]%.

Very often the "For Each" loop is used for iterating through the items of a list.

4.2.3 Data Tables


Data tables contain data in a tabular form (it is the equivalent of two-dimensional
arrays in programming). A data table contains rows and columns and each item stored
in the data table can be retrieved through its unique row and column number. You can
think of data tables as lists: each item of the list is also a list.

There is no direct way to create a data table but there are 2 actions that generate a
data table as an output: the “Read from Excel” action and the “Execute SQL
Statement” action.

In order to retrieve a specific item of a data table, you will have to use the following
notation:

%VariableName[RowNumber][ColumnNumber]%

Keep in mind that “RowNumber” and “ColumnNumber” should be 0 for the first item (row
or column), 1 for the second and so on.

For example, if you have a data table that is stored in the variable %MyDataTable%,
you can retrieve the first item with: %MyDataTable[0][0]%.

Data Rows
If you loop through a data table with a “For Each” action, the variable that will contain
the current iteration’s data, is considered to be a “Data Row”. Data rows are basically
lists: they are no different than regular lists (they contain several items, their items
can be retrieved through the regular list notation), except for the part that they
represent a row in the data table’s scheme. Remember that you can still treat them as
if they were lists without any problem at all.

4.2.4 Data type Properties


Some of the built in WinAutomation data types have properties, which are values
associated to the value stored in the variable. The value of these properties can be
accessed directly through the following notation: %VariableName.PropertyName%.

Below you can find the available properties for the different built-in WinAutomation
data types:

© 2018 Softomotive
Data type Text has the following property:
· Length: the length (in characters) of the text stored into the variable.

Data type DateTime has the following properties:


· Year: The year part of the DateTime value.

· Month: The month part of the DateTime value.

· Day: The day part of the DateTime value.

· DayOfWeek: The name of the day (e.g. Sunday, Monday etc)

· DayOfYear: The day of the year part of the DateTime value (1-365/6)

· Hour: The hour part of the DateTime value.

· Minute: The minute part of the DateTime value.

· Second: The seconds part of the DateTime value.

Data type List has the following property:


· Count: the number of items stored into the list.

Data type File has the following properties:

· FullName: The full path to the file.

· RootPath: The root path of the file (e.g. C:\).

· Directory: The directory where the file is stored.

· Name: The name of the file, including the extension (e.g. MyFile.txt).

· NameWithoutExtension: The name of the file, without its extension.

· Extension: The extension of the file.

· Size: The size of the file (in bytes).

· CreationTime: The date when the file was created.

· LastAccessed: The date when the file was last accessed.

· LastModified: The date when the file was last modified.

· 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.

· IsArchive: This property is true if the file is an archive or false if it is not.

· Exists: This property is true if the file exists or false if the file does not exist.
Advanced Topics 257

Data type Folder has the following properties:


· FullName: The full path to the folder.

· RootPath: The root path of the folder (e.g. C:\).

· Parent: The parent directory of the folder.

· Name: The name of the folder.

· CreationTime: The date when the folder was created.

· LastModified: The date when the folder was last modified.

· 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.

Data type Mail Message has the following properties:


· MailFolder: the name folder the email message is retrieved from

· Uid: the unique identifier of the message

· From: the sender of the email message

· To: a list of values containing the recipients of the message

· Cc: a list of values containing additional recipients for the message (carbon copy)

· Date: the date and time in which the message was sent

· Subject: the subject of the message

· Body: the body of the message. This can be in plain text or in HTML form

· BodyText: if the previous property contains HTML, this property contains the body
of the message in plain text form.

· Attachments: a list of File 256 data types that represent the attachments of the

email message (if any) after they have been saved locally.

Data type FTPFile has the following properties:


· FullName: The full path to the file.

· 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).

· NameWithoutExtension: The name of the file, without its extension.

© 2018 Softomotive
· Extension: The extension of the file.

· Size: The size of the file (in bytes).

· LastModified: The date when the file was last modified.

Data type FTPFolder has the following properties:


· FullName: The full path to the folder.

· Parent: The parent directory of the folder.

· Name: The name of the folder.

· LastModified: The date when the folder was last modified.

Data type DataTable has the following properties:


· RowsCount: The number of rows of the DataTable

· Columns: A list that contains the names of the columns of the DataTable

Data type DataRow has the following property:


· ColumnsCount: The number of columns that the DataRow holds.

Data type Custom Dialog Instance has the following property:


· LastButtonPressed: The name of the button that was last pressed on the dialog.

· DialogWasForciblyClosed: This property is true if the dialog was closed by a close

window command or by pressing the "Cancel Button", false otherwise.


· Handle: The handle of the Window belonging to this specific Custom Dialog.

4.2.5 Persistent Variables

What Persistent Variables are and why do I need them?

When you are creating a Robot with WinAutomation, you may sometimes want to keep
the value of a specific variable available for the future executions of the Robot.
Persistent Variables allow you to do exactly that: keep a variable’s value available for
the next time that the Robot executes.
Advanced Topics 259

Before this feature was available, the standard way to keep values was to store them
into external files, a process which sometimes could be complicated. Now by simply
marking a variable as persistent we can be sure that its value will be kept between the
executions of the Robot.

You can set a variable as persistent through the Tools Menu option > Variables
Manager 170 window while in the Robot Designer.

If the variable that you want to make persistent already exists, you can just select it
in the “User Defined Variables” tab and then hit the “Edit Variable” option. If you want
to create a brand new variable and make it persistent, click on the "Add New Variable"
button.

© 2018 Softomotive
In the new dialog box, you will have to enter a name for the new variable and check
the “Variable is Persistent” option.

When you first create the persistent variable it will not have any stored value.
However, if you run the Robot and give the variable a specific value, you will be able
to see the currently stored value from the “Edit Variable” window in the Robot
Designer’s Variable Manager.
Advanced Topics 261

Persistent Variables in Compiled Robots

If you compile a Robot that includes persistent variables, there will still be persistent
variables available in the compiled executable, but the stored values will be reset.

The values of persistent variables, after a compiled Robot has been executed for the
first time, are stored in a file that is located in the same directory with the compiled
Robot and is named according to the following notation:

CompiledRobotName.config

So if, for example, you have a compiled Robot named: UploadFolder.exe, the persistent
variables will be stored in a file named UploadFolder.config that is located in the same
directory with UploadFolder.exe.

Notice, that the current value of a compiled Robot’s persistent variable can be read if
you open the .config file with a simple text editor (e.g. notepad). However, in some
cases, you may want to store sensitive data, like passwords, in a persistent variable.
In this case, you will have to select the “Encrypt Persistent Variables” checkbox in the
“Misc Options” tab of the “Compile Robot” dialog.

© 2018 Softomotive
This way, all the values from the persistent variables will be encrypted in the .config
file.

4.2.6 External Variables


If from a Robot (Robot A) you run a different Robot (Robot B) by using the "Start
Robot" action, all variables of Robot A are available to Robot B. These variables in
Robot B are considered "External Variables" and can be used for passing data from one
Robot to another.

For Robot B to access any of the external variables, the "ext:" prefix must be included
before the variable name. For example, if Robot A defines a variable %MyData%,
Robot B can access the value of that variable using the notation: %ext:MyData%

4.2.7 Custom Date Formats


You can customize the way that the date is represented in the Convert Date Time to
Text Action 657 by entering characters that represent various parts of the Date/Time
along with any other characters that can be used to link the Date/Time parts.

Various characters and combinations can be used, some of which are displayed below.

When displayed on their own these characters produce the following formats:

· d: The Short Date (04/02/2010)

· D: The Long Date (Friday, April 02, 2010)

· 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)

· g: General Date Time - short Time (04/02/2010 10:00 AM)

· G: The General Date Time - long Time: (04/02/2010 10:00:46 AM)

· M: The Month and day of the month: ( April 02)

· m: The Month and day of the month: ( April 02)

· r: A Shorter Full date (Fri, 02 Apr 2010 10:00:46 GMT)


Advanced Topics 263

· R: A Shorter Full date (Fri, 02 Apr 2010 10:00:46 GMT)

· s: The Sortable Date Time (2010-04-02T10:00:46)

· t: The short time (10:00 AM)

· T: The Long Time (10:00:46 AM)

· y: The Month and Year: (April, 2010)

When used as a combination the characters have the following representation:

· d: The day of the month as a number from 1 to 31 (2)

· dd: The day of the month as a number from 01 to 31 (02)

· ddd: The abbreviated day of the week (Fri)

· dddd: The full day of the week (Friday)

· gg: The period era (A.D.)

· h: The hour as a number from 1 to 12 (10)

· hh: The hour as a number from 01 to 12 (10)

· HH: The hour as a number from 00 to 23 (10)

· m: The minutes as a number from 0 to 59 (0)

· mm: The minutes as a number from 00 to 59 (00)

· M: The month as a number from 1 to 12: (4)

· MM: The month as a number from 01 to 12 (04)

· MMM: The abbreviated month (Apr)

· MMMM: The month (April)

· s: The seconds as a number from 0 to 59 (46)

© 2018 Softomotive
· ss: The seconds as a number from 00 to 59 (46)

· tt: The AM/PM designator (AM)

· y: The last digit of the year (0)

· yy: The last two digits of the year (10)

· yyyy: The year (2010)

· zz: The time zone (+02)

· zzz: The time zone in full format (+02:00)

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:

T\he \da\te i\s: d/M/yy

4.3 Loops
WinAutomation allows you to use “Loops”, a concept that is really important in
programming and proves to be invaluable when combined with WinAutomation’s
actions. The idea behind a loop is to make WinAutomation repeat one or more actions
multiple times. Loops in WinAutomation come in 3 flavors:

· Loop: Repeats one or more actions a specific number of times. For more information
see “Simple Loops 265 ”.

· Loop Condition: Repeats one or more actions until a specific condition is met. For
more information see “Loop Condition 266 ”.

· For each: Repeats one or more actions for every item contained in a list or data
table. A different item of the list (or data row of the data table) will be saved in a
variable during each iteration, allowing you to use it inside the actions of the loop.
For more information see “For Each 267 ”.

Note: WinAutomation will automatically indent the block of actions that will be
repeated by a loop.
Advanced Topics 265

4.3.1 Simple Loops


WinAutomation implements simple loops with the “Loop 341 ” action. Basically, a simple
loop will repeat the block of actions that it contains, for a set number of times. Note
that a specific variable can be created to keep track of the current iteration’s number.

Use
A simple loop is ideal to use in 2 cases:

1. If you know the exact number of times that action(s) should be repeated

2. If the %LoopIndex% variable must be used somewhere inside the loop (“LoopIndex”
is the default variable’s name that WinAutomation uses to store the current
iteration’s number).

3.

You can see an example of a simple loop usage in “Advanced” category of


WinAutomation’s examples: “8 - Rotate Excel Data”

© 2018 Softomotive
4.3.2 Loop Condition
A “Loop Condition” is implemented in WinAutomation through the homonym action 343 .
Basically, Loop Condition will repeat one or more actions while a certain condition is
true (for more information about conditions check “Conditionals 269 ”). Keep in mind that
at some point, inside the loop, you will have to make the loop’s condition false
otherwise it will keep on repeating and your robot will never end (this is called an
endless loop).

Example:
Suppose that you have an executable that you want to keep executing until it returns
a non-zero error code. All you have to do is create a Loop Condition that will repeat a
“Run Application” action while the %AppExitCode% equals to zero.
Advanced Topics 267

4.3.3 For Each


A “For Each 344 ” loop, iterates through every item of a list or data table, and stores the
current item in a variable. This kind of loop is extremely useful when you do not know
or you do not need to know the number of the iterations that will be needed, but you
do want to iterate through every item of a list (or or row of a data table) and use
each one of them in an action (or a series of actions).

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.

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 583 " action.

© 2018 Softomotive
In computing, a connection string is a string that specifies information about a data
source and the means of connecting to it. It is passed in code to an underlying driver
or provider in order to initiate the connection.

The connection string may include attributes such as the name of the driver, server
and database, as well as security information such as user name and password.

4.4.1 Connect to Excel or Access Database

Connect to an Excel Database:

To connect to an Excel database the most common connection string that one can
use is:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:
\myFolder\myExcelFile.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";

Where Data Source is the full path of the Excel File.

Connect to an Access Database:


To connect to an Access Database the most common connection string is the
following:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:
\myFolder\myAccessFile.accdb; Persist Security Info=False;

Where Data Source is the full path of your Access Database

For other Databases like SQL Server, Oracle, My SQL please, have a look at the
Connection strings 268 section.

4.4.2 Connection Strings and Drivers


More connection strings for any kind of Database can be found in the link below:

www.connectionstrings.com

Of course you are free to use variables in any connection string like for example:
Advanced Topics 269

Server=%ServerAddress%;Database=%myDataBase%;User Id=%Username
%;Password=%Password%;

or

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%ExcelFile%;Extended
Properties="Excel 12.0 Xml;HDR=YES";

Most common Drivers List:

You must download and install the appropriate drivers from the list below according to
the database that you want to connect to:

https://www.microsoft.com/en-us/download/details.aspx?id=5793

https://www.microsoft.com/en-us/download/details.aspx?id=13255

https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=23734

http://www.ch-werner.de/sqliteodbc/

https://dev.mysql.com/downloads/connector/odbc/

https://dev.mysql.com/downloads/connector/odbc/5.1.html (For previous generally


available ODBC connectors. Make sure that you download the correct one according to
your machine characteristics 32-bit or 64-bit)

An example on how the "Execute SQL Statement" action with excel and further on for
any kind of database do click on the following link:

http://www.winautomation.com/community/topic/sql-syntax-example/

4.5 Conditionals
Conditionals are very important concept WinAutomation, since they allow you to
execute specific actions or blocks of actions only if a certain condition is met. If the
condition is not met, the action(s) that the conditional structure contains will be
skipped.

© 2018 Softomotive
Usage Examples
There are tons of examples about where you might want to use a conditional: if you
want to delete only files that have not been modified during the last week, if you want
to know whether a specific process is running before launching an application, if you
want to verify that a file does not exist before creating it and so on. Practically,
conditionals are the first thing that you will have to use in order to automate tasks
through WinAutomation, since they give you the ability to choose whether some part
of your robot will be executed or not.

Note: WinAutomation will automatically indent the block of actions that is contained in
a conditional structure.

4.5.1 If/Else/EndIf
The most common way to control which actions of your robot will be executed is to
use the “If 321 ” action. This action checks whether or not a certain condition is true. If
so, the action or block of actions, that are included between “If” and “End If”, will be
executed.

An “If” statement consists of 2 operands (the operands are the pieces of information
that will be compared) and an operator. The operator can be:

Ψ “is equal to” (=),

Ψ “is not equal to” (<>),

Ψ “is greater than” (>),

Ψ “is greater or equal to” (>=),

Ψ “is smaller than” (<)

Ψ “is smaller or equal to” (<=)

Ψ Starts with

Ψ Does not Start with

Ψ Contains

Ψ Does not contain

Ψ Ends with

Ψ Does not End with


Advanced Topics 271

Ψ Is Empty

Ψ Is not Empty

and it defines how the first operand should relate with the second operand in order for
the condition to be met.

An “If” statement may optionally contain an “Else” action. This action should always be
placed between an “If” and an “End If” action, and it defines the action or set of
actions that will be executed if the condition that is defined by the “If” statement is
not met. Basically, you will have to place the actions that will be executed if the
condition is met between “If” and “Else”, and the actions that will be executed if the
condition is not met between “Else” and “End If”.

You can also use the "Else If" action (which can be placed within the If/End If block
and always before the Else action) to set mutually excluded conditions for which
different blocks of actions need to be executed.

Note: If the first and the second operands are variables, you will have to make sure
that they have the same data type or the condition will, most likely, not be met (or it
will always be met if you used the <> operator). For example, if your conditional
checks whether a variable of Date Time type is equal to a variable that contains a file,
this condition will never be met, hence the set of actions contained in the conditional
will never be executed.

4.5.2 If Variations
Apart from the standard If action, there are 5 additional conditional actions:

1. If File Exists 322 : Allows you to check if a file exists (or does not exist) before
executing an action (or a block of actions). This action can prove very useful if, for
example, you want to know if a specific file exists before performing an action on it.

2. If Folder Exists 323 : Allows you to check if a folder exists (or does not exist) before
executing an action (or a block of actions).

3. If Service 325 : Allows you to perform an action (or a block of actions) if a specific
service is running (or is paused or is stopped).

4. If Process 326 : Allows you to perform an action (or a block of actions) if a specific
process is running (or is not running).

5. If Window 327 : Allows you to perform an action (or a block of actions) if a specific
window is open (or is not open).

6. If Image 330 : Allows you to perform an action (or a block of actions) if a specific
image is found/is not found on the screen.

© 2018 Softomotive
7. If Web Page Contains 336 : Allows you to perform an action (or a block of actions) if
a web page contains/does not contain a specific element or some text.

4.6 CSS Selectors


Web Automation functionality is one of the most important and commonly used
features of WinAutomation. Web-related actions will allow you to automatically click on
links, fill and submit web forms, as well as scrape data from web pages. You can build
Web Automation Robots either by combining the appropriate Actions in the Robot
designer, or by recording your interaction with a webpage and automatically converting
it into Robot actions through the Web Recorder.

While WinAutomation provides you with quite a specific visual feedback (through the
Web Helper or the Extract Preview window) about the webpage elements you have
selected, it can also provide you with detailed information about the values used to
point to the position of these elements in the HTML page, found in the Control
Repository.

CSS (standing for Cascading Style Sheets) was introduced together with HTML 4, to
denote the presentation semantics (the look and formatting) of a document written in
a markup language. A CSS rule (essentially the statement that tells browsers how to
render particular elements on an HTML page) consists of two parts, the selector
(which "selects" the elements on an HTML page that are affected by the rule set) and
the declaration block (which defines the style to be applied to those elements). You
will find links to several external resources focusing on CSS, at the bottom of this
article.

In WinAutomation we use the CSS selectors to pinpoint the web page elements we
want to interact with. The information that is generated and displayed in the CSS
Selector field is based on the underlying tree structure of the HTML page.

For most of the cases, defining the desired webpage elements through the Web Helper
proves to be sufficient but there are exceptions for which the user has to manually
point to the html element. This may be necessary either due to specific design
characteristics of the HTML page structure or to subsequent -to our Robot design-
changes of it (although WinAutomation is adaptable to some of these variations and
can still track the initially user-defined elements).

To overcome this inconsistency, a user can manually include or remove attributes for a
selector, or build one from scratch that will uniquely and undoubtedly define the
desired element.

Just click on the control whose selector you want to edit, click on the selector, click
on "Edit", select the "Custom" option from the top left part of the Selector Builder
window and build your selector in the CSS Selector field. The steps are explained in
detail in the Building a WebAutomation Robot 212 topic.

Selecting controls - HTML elements with CSS Selectors, can be achieved relatively
easy within WinAutomation (with add control and a LeftCtrl+LeftShift+click), but it
Advanced Topics 273

requires a more advanced knowledge of HTML and CSS when you want to build your
own selectors.

Especially for the Extract Data from Web Page action, the CSS Selector can be edited
through the Advanced Settings Icon of the Web Helper window (opened by the Specify
Web Data to Extract button of the action’s Property Window).

Moreover, when extracting list-type data from a web-page, the CSS Selector has the
following structure:

© 2018 Softomotive
where the “Base CSS Selector” represents the route on the HTML tree that points to
the level of elements that constitute the list, while the “CSS Selector” part points to
the specific attribute of each element (or each descendent) we want to extract.

The same logic applies also when extracting data in table format, as also
explained in detailed in the Using WinAutomation > Web Automation (Web Data
Extraction Part I 228 , Web Data Extraction Part II 235 , Web Data Extraction Part
III) 238 topic.

In this case we have to specify as many CSS Selectors as the columns of the table
(the categories of data we want to retrieve for each item).
Advanced Topics 275

Similar to the inconsistencies that may appear when defining the desired elements
through the Web Helper, we may also have to manually input the “CSS Selector for
Next Page of Search Results” (used for cases of extracting records in forms other than
Single Variables).

Using manually inputted CSS selectors can be a powerful alternative in pointing to the
desired elements for the minority of cases that webpage ’s structure hinders
WinAutomation’s ability to automatically spot and interact with them.

Using classes (.) and ids (#) in the CSS Selectors:


To View the source HTML code of a web page, press F12. There you can see how the
page is structured and how each element is represented.

If the element you are trying to access contains a text i.e. it is a div and the html
shows the below:

<div class="someclass" id="someid">text</div>

Should you wish to use its id or class i.e. then you should have something like

...>...> div.someclass or ...>...> div[class="someclass"] if you want to use its


class or,

...> ...> 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")

External Links and Helpful Tutorials


http://www.w3schools.com/css/css_intro.asp

http://www.w3schools.com/cssref/css_selectors.asp

http://css.maxdesign.com.au/selectutorial

© 2018 Softomotive
http://benhowdle.im/cssselectors

https://api.jquery.com/category/selectors/

http://www.winautomation.com/community/topic/projeto-web-recorder-running-
extremely-slow/#post-62796

4.7 % and \% Notation


In WinAutomation, the % sign is used as brackets around a Variable. For example,
"%name%" is the Variable 'name'. When you use %name% as an input, the Action will
use the value that has previously been stored in that Variable, so you should have an
earlier Action that assigned a value to %name% as an output. By assigning output
values to Variables, and then using them as input in later steps, you can pass
information through a WinAutomation Robot.

All Variables are cleared at the end of a Robot, so Variables can only run from one
Robot to another if they run at the same time - see External Variables 262 .

There are two special situations to this notation. The first, if you want to use the
percent sign as a percent sign, special notation is needed so as not to call a Variable.
Therefore, write a backslash first to denote 'this is not a Variable'. Thus if you want
to, say, display the text "5%" you should write "5\%" instead.

If you want to access a file named by a Variable, you might write "C:\folder\%filename
%". This won't work, as "\%" means it isn't a Variable. Therefore, in this special
case, you would need to write, "C:\folder\\%filename%", as the double backslashes
mean the Variable is a Variable. Just remember:

· %filename% is the Variable 'filename'

· \%filename is the text %filename

· C:\folder\\%filename% is the path to a file named in the Variable 'filename' in the


folder C:\folder\

4.8 Exception Handling


Exceptions occur when a Robot finds itself in an unexpected situation. For example a
"Read Text from File" Action may attempt to read from a file that does not exist while
the Robot is running. It is also known as a Run-Time Error. The default response of
Advanced Topics 277

WinAutomation to Exceptions is to fail that Robot. However, WinAutomation also allows


for other options. By going into the Exception Handling tab of an Action Properties Box,
you can specify how the Action will handle an exception.

The Exception Handling Tab of an Action for a Selected Exception

In general, there are four responses an Action can have to an exception.

First, by default, it will fail the Action and thus the Robot. Next, you could tell it to
retry the Action after a specified delay, as many times as you want. For example, you
could set the Exception Handling to retry 8 times, once every 5 seconds.

Or, by clicking on a specific exception, you could specify how this exception should be
handled. The Action could run a different Robot and/or continue. If you choose to
continue, you can then tell the Action to go to the next action, a specific Label or
Function (set to create a certain response to the exception), to set a Variable, that
can give you a record of the exception for later Actions or even repeat that action .

© 2018 Softomotive
Once you have set a response to one specific exception, you can click on another to
record a different response. Thus the Action could handle three different exceptions in
three different ways after retrying four times.

It is very important, that you can select from a variety of four options in the exception
handling. First, you can set another value to a variable and retry the action using the
new values of the variable. One more option that the user has, is to run another robot
upon the exception. For example, a robot could be triggered that would email the user
that the robot failed. Moreover, the user can set the robot to run a function after the
exception occurs in order to complete part of the task. Last but not least, the user
can set the robot to proceed with the robot execution from another point of the robot.

Please note, that you can do the above for all the exceptions in one action, or
alternate them according to the nature of the exception thrown in one action.

The Exception Handling Tab of an Action for All Exceptions

Note that exceptions that have some custom behavior assigned, are displayed in bold
(as you can see in the first screen-shot above). Exceptions that simple cause the
Robot to fail (the default behavior) are displayed in normal text.

Exception Handling is different the Error Handling Tab 117 in the Console as Error
Handling is what WinAutomation should do in the event that a Robot failed,
Advanced Topics 279

while Exception Handling is what to do when something unexpected occurs in a


specific action so that the Robot does not fail.

4.9 Exception Block


As mentioned previously, the Exception Handling 129 , is being used when a Robot finds
itself in an unexpected situation. It is also known as a Run-Time Error. The default
response of WinAutomation to Exceptions is to fail that Robot. However,
WinAutomation also allows for other options. By going into the Exception Handling tab
of an Action Properties Box, you can specify how the Action will handle an exception.

The exception handling, can be placed either for an action, or for a group of actions
that are contained between the "Begin Exception Block" and "End Exception Block"
actions.

As in the single action's exception handling, the "Exception Block" provide the users
with three responses for the robot to have upon an exception.

First, upon an exception, the robot is able to set a value to a variable. This for
example could be prior to sending an email and the variable could state that the
execution failed.

Secondly, in case an exception occurs within the block, another function could be
triggered.

© 2018 Softomotive
Last but not least, the "Exception Block" has the option to continue the robot
execution, either with the next action, the first action after the block, repeating the
action, or even repeating the whole block execution.

In the above example, in case of an exception in any of the actions, the "Exception
Function" is going to be triggered.

Please keep in mind the fact, that in case an action that is contained in an "Exception
Block" already has an exception handling rule set and fails, both rules will apply, first
the actions' and second the exceptions'.

Exception Handling is different than Error Handling Tab 117 in the Console as
Error Handling is what WinAutomation should do in the event that a Robot
failed, while Exception Handling is what to do when something unexpected
occurs in a specific action so that the Robot does not fail.
Advanced Topics 281

4.10 WinAutomation on the System Tray


By right clicking on the WinAutomation icon in the system tray you will get the
following window.

From here you can

1. Open the WinAutomation Console

2. Show the Status Monitor Window 119

3. Stop All running Robots

4. Exit WinAutomation. By Exiting WinAutomation you are closing the WinAutomation


Console and Stopping all WinAutomation Services (Triggers and Schedules will not
apply if the WinAutomation Services are not running in the background)

4.11 Image Recognition


There are three actions based on Image Recognition: "Wait for Image", "If Image" and
Move Mouse to Image. Both of these Actions require the computer to recognize an
image on the screen.

How the Image Recongition works?

Image Recognition works by checking one pixel (in your image) to another (starting in
the top left corner and working across then down the screen). If that pixel matches, it
checks the second. If the first seven match, but the eighth doesn't, it checks the next
pixel against the first in its image.

To use Image Recognition, first you take a screenshot of the part of the screen that
you want. Once that image is stored, when the Robot gets to that Action, it will start
working on finding the stored image. Move Mouse to Image is useful if an image (like a
button you need to click) could move.

Since Image Recognition works by comparing one pixel to another, if your saved image
and most of the screen has a certain color in the upper left corner, it can take some
time to find the right image. To make this more efficient, start with a less-common

© 2018 Softomotive
color in the upper left corner. For example, with a white background for most of the
screen, this image

will take less time to find than this image.

Both will find the image, but the first will be quicker. The less of a color above and to
the left of your image's first pixel color, the faster the Action will work.

NOTE: Image recognition actions are unfortunately not applicable across different
screen resolutions. This is why its use, is suggested as a last resort, while at the same
time taking under consideration that the script will run on a certain screen analysis.
For, example should you wish to compile a Robot to a stand alone executable with the
Professional Edition, it is suggested that you refrain from using Image recognition
actions, unless you are 100% sure that the resolution will be the same across the
target machine that will run the application.

4.12 Interactive/Non Interactive Robots


Any time you use the keyboard or mouse, you are creating input for your computer;
and any time something shows on the monitor, your computer is showing output.
These are called interactive functions because the computer interacts with you.

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.

Since WinAutomation can make changes automatically, without input or output, a


Robot can be interactive (needing keystrokes or mouse events with or without Macros)
or non-interactive depending on the actions it contains.

As interactive functions can only work when a user is logged in, only non-interactive
Robots can be run when all users are logged out.
Advanced Topics 283

A Robot's interaction with the computer status can be set through the Run Policy
tab 126 of the Robot Properties window.

4.13 Manage Robots Database


Robots are stored collectively in one database file (Robots.dat), which by default is
stored in a specific location.

The options that you have with the database are described in detail in the
Maintenance tab 118 .

4.14 Controlling WinAutomation from the command line


Another way to access WinAutomation Robots is through the Command Line. This is
mostly useful if you write your own scripts or programs and you want to run
WinAutomation Robots from your programs.

You can control WinAutomation from the command line using the
WinAutomationController.exe that is located in the installation folder of WinAutomation.
WinAutomationController.exe has the following three switches:

· /start - this will start a specified Robot, using the following format:

Example: WinAutomationController /start robotPath robotCLA1 robotCLA2

· /stop - this will stop a specified Robot, included as a Command Line Argument

Example: WinAutomationController /stop robotPath

· /ListRunning - this will list all running Robots at the moment. The information that
the command line will give back to you, will include the number of Robots that are
running and a list with all the running Robots instances.

Example: WinAutomationController /listrunning

© 2018 Softomotive
WinAutomation Controller /listrunning

'robotCLA1' is the first Command Line Argument you include, 'robotCLA2' is the second,
etc. Command Line Arguments are information you need to send to the Robot, such as
a file path, URL or other needed information, and can be retrieved by the
WinAutomation Robot with the "Get Command Line Arguments" Action, under
WinAutomation Actions.

The robotPath is the path in the WinAutomation Console for the particular Robot, from
a base directory of My Robots in the Folders Pane on the left side. So if your Robot is
in the My Robots directory, the name of the Robot is sufficient. If you have put the
Robot in a subfolder, you will need to include that information in the robotPath.

Note: if the robotPath contains spaces, it should be enclosed in double quotes (e.g.
WinAutomationController /start "My Robot")

As an example, say you have created a Robot that uploads a file that you specify to
an FTP site you designate. You want another program to call up this WinAutomation
Robot, UploadFile, from the Command Line. The Robot has not been compiled, and is
stored in the subfolder of My Robots called 'FileRobots'. It will need to be told where
the file to be uploaded is located, but the URL to upload the file to was already set in
the Robot. Your Command Line would look like this:

WinAutomationController /start FileRobots/UploadFile C:


\NewFile\upload.txt

You can also import and export a Robot to and from WinAutomation from the command
line using the following switches:

· /import - this will import the specified waj file into the WinAutomation Robots
database (within the specified folder)
Advanced Topics 285

Example: WinAutomationController /import "c:\Users\Some


User\Documents\MyRobot.waj" "My Robots/Examples"

· /export - this will export the specified Robot into a waj file on the disk.

Example: WinAutomationController /export "My Robots/Examples/MyRobot" "c:


\Users\Some User\Documents\MyRobot.waj"

Furthermore, you can also enable and disable a Robot in WinAutomation from the
command line using the following switches:

· /enable - this will enable the robot specified in the robot Path.

Example: WinAutomationController /enable "/My Robots/Path to/Some


Folder/MyRobot"

· /disable - this will export the specified Robot into a waj file on the disk.

Example: WinAutomationController /disable "/My Robots/Path to/Some


Folder/MyRobot"

Additionally, you can also get all WinAutomation folders or a specific's folder robots
data under a specified folder in XML format and display the results in the console or via
a file:

· /getallfolders (console|file path) - this will get all WinAutomation folders in XML
format and display the results in the console or via a file

Parameters: console - print the data to the console

file path - print to the file specified by path

· /getrobotsoffolderPath (console|file path) - this will get a specific's folder


robots in XML format and display the results in the console or via a file

Parameters: folderPath - folder path containing the robots you want to


get. ID can be retrieved by executing the /getallfolders command

console - print the data to the console

file path - print to the file specified by path

Last but not least, you can export the data from a server to a specific data path:

· /exportserverdata fileToExportServerDataPath - this will export data from the


server and store them in fileToExportServerDataPath

Example: WinAutomationController /exportserverdata textFilePath

© 2018 Softomotive
Exit Codes of the WinAutomation Controller
It is a common practice for applications to return a certain code (number) upon
termination; this number is called the "Exit Code". The Exit Code is 0 (zero) when the
application terminates normally, while a non-zero value usually indicates that an error
was encountered during the execution. The WinAutomation Controller returns one of
the following non-zero values whenever an error is encountered:

Exit Meaning
Code(s)
1 The syntax of the command is incorrect
2 Robot not found
3 Robot to be stopped was not found running
6 The file to be imported does not appear to be a Robot (.waj) file
7 Cannot read from the file to be imported
8 Cannot find the Robot to be exported
9 Cannot write the Robot file to the specified path
100 General Exception while performing the requested operation*
101 Could not communicate with the WinAutomation Service / Service
Unavailable

* Additional information regarding this error will be produced and stored into
WinAutomation's Logs.

The "Run DOS Command 293 " is suitable for both running the WinAutomation Controller,
as well as storing the returned Exit Code into a variable for later use.

4.15 Valid Key Codes for the Send Keys Action


Consider the following scenario: You need to increase the font-size in a Word
document by pressing CTRL + SHIFT + '.', using the Send Keys Action.

In this case, you would want to simulate the dot key press, which is not the same as
sending the dot character. To simulate key-presses inside a Send Keys Action, use the
following notation:

{KeyCode}

where KeyCode is the capital form of the letter itself for letters A-Z, OemSemicolon for
';', Oemplus for '+', Oemcomma for ',', OemMinus for '-', OemPeriod for '.', OemQuestion
for '?', Oemtilde for '~', OemOpenBrackets for '[', OemPipe for '|', etc. You will find the
full list of the valid Key Codes at the bottom of this help topic.
Advanced Topics 287

To return back to the Word example, the font-size increase should be written as:

{Control}({Shift}({OemPeriod}))

To produce a colon ':' key press, you may use

{Shift}({OemSemicolon})

The same rule applies for other characters produced by pressing Shift + another key.

Full List of Valid Key Codes

LButton BrowserS D0 Add


earch
RButton D1 Separator
BrowserF
Cancel avorites D2 Subtract
MButtonBrowserH D3 Decimal
XButton ome D4 Divide
1 VolumeMu D5 F1
XButton te
2 D6 F2
VolumeDo
Back wn D7 F3

Tab VolumeUp D8 F4

LineFee MediaNext D9 F5
d Track A F6
Clear MediaPrev B F7
iousTrack
Enter C F8
MediaStop
Return D F9
MediaPlay
ShiftKe Pause E F10
y
LaunchMaiF F11
Control l
Key G F12
SelectMed
Menu ia H F13

Pause LaunchAp I F14

CapsLo plication1 J F15


ck LaunchAp K F16
Capital plication2 L F17
M F18

© 2018 Softomotive
Hangul OemSemi N F19
Mode colon
O F20
HanguelOem1
Mode P F21
Oemplus
KanaMo Q F22
de Oemcom
ma R F23
JunjaMo
de OemMinu S F24
s T NumLock
FinalMo
de OemPerio U Scroll
d
KanjiMo V LShiftKey
de Oem2
W RShiftKey
HanjaM OemQues
tion X LControlKey
ode
Y RControlKey
Escape Oem3
Z LMenu
IMECon Oemtilde
vert Oem4 LWin RMenu
IMENon OemOpen RWin BrowserBack
convert Brackets
Apps BrowserForward
IMEAcc OemPipe
Sleep BrowserRefresh
ept
Oem5 NumPad0 BrowserStop
IMEAce
ept OemClos NumPad1
eBrackets
IMEMod NumPad2
eChang Oem6
e NumPad3
OemQuot
Space es NumPad4

Prior Oem7 NumPad5

PageUp Oem8 NumPad6

PageDoOem102 NumPad7
wn OemBack NumPad8
Next slash
NumPad9
End ProcessK
Multiply
ey
Home
Packet
Left
Attn
Up
Advanced Topics 289

Right Crsel
Down Exsel
Select EraseEof
Print Play
ExecuteZoom
Snapsh NoName
ot
Pa1
PrintScr
een OemClear

Insert KeyCode
Delete Shift
Help Control
Alt
Modifiers

4.16 Copy/Paste Controls


Copying and Pasting an action from one robot to another, copies the Controls and the
Images that are connected with the selected action.

In case a control or an image exists in the robot with the same name, the control is
being renamed by getting an index number (n).

Two Controls with the same name

Two Images with the same name

© 2018 Softomotive
5. Actions Reference
Actions Reference 291

5 Actions Reference
5.1 System
5.1.1 Run Application Action

Description:
This action executes an application or opens a document by executing the associated
application

Properties:

© 2018 Softomotive
Application Path:
Insert executable file here, as a complete file path.

Command Line Arguments:


Add extra arguments that would go after the executable file name. For example, you
could enter notepad.exe in the Application Path, and a specific text file in the
Command Line Arguments.

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.

After Application Launch:


Choose whether the next action execute immediately, or wait until the program loads
or completes

Do not wait more than:


Determines whether there is a maximum wait time, and how long before forcing a
continue.

Store Process Id into:


Enter a name to be the variable that will store the Process ID output. This will be a
numeric value.

Store Main Window Handle into:


Enter a name to be the variable that will store the Window Handle. When opening a
new Window, this will catch the value of the Window Handle, and store it in this
variable. A Window Handle is useful to specifically identify a Window in a later action.

Store Exit Code into:


Enter a name to be the variable that will store the Application Exit Code as a numeric
value.
Actions Reference 293

Other uses:

Display the contents of a folder:


You can use this action to display a folder inside Windows Explorer. This can be useful
if, for example, the robot has just unzipped some files and needs to display them to
the user. Simply set "Application path" to "explorer" and "Command Line Arguments" to
the folder. (e.g., C:\unzipped).

5.1.2 Run DOS Command Action

Description:
This action executes a DOS command or a console application in invisible mode, waits
for the command or application to complete and retrieves its output into a text
variable

© 2018 Softomotive
Properties:

DOS Command or Application:


Enter the name of DOS command or a console application, with arguments if applicable.

Working Folder:
Enter the full path of the folder to work out of, if applicable.

Store Output into:


Enter a name to be the variable that will store the Command Output. The Command
Output will be the text output from the DOS Command or Application.
Actions Reference 295

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.

Store Exit Code into:


Enter a name to be the variable that will store the Command or Application Exit Code.
This will be a numeric value.

5.1.3 Run VBScript Action

Description:
Executes some custom VBScript code and retrieves its output into a variable.

Although WinAutomation offers a vast number of actions that will cover almost all your
automating needs there may be times that you want to inject some VBScript code into
your Robot. Maybe you already have a script in VBScript that you want to use, maybe
you need some really advanced features such as manipulating a COM object. Whatever
the need may be this is the action you can use to include VBScript code into your
Robot.

© 2018 Softomotive
Properties:

VBScript to run:
Enter here the VBScript code you want to execute. TIP: Within the script, you may
include WinAutomation variables, since they will be evaluated prior to the VBScript
code's execution. For example:
Actions Reference 297

If the %ExcelFile% variable holds the value, say, "c:\myexcel.xlsx", the last command
in line 8 will equal to

objExcel.ActiveWorkBook.Save "%ExcelFile%"

Store Output into:


Enter the name for the variable to hold the script's output. A script may write some
text to the windows console during its execution. In this case, all the text written by
the script is stored into this variable so that it can be processed by later actions.

Store Error Output into:


Enter the name for the variable to hold any errors that may occur during the execution
of the VBScript code.

NOTE:

Commands in VbScript will be highlighted accordingly so that you can read your script
easily. Also this action's window can be resized.

© 2018 Softomotive
5.1.4 Run Javascript Action
(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

Description:

Executes some custom Javascript code and retrieves its output into a variable.
Actions Reference 299

Properties:

Javascript to run:
Enter here the Javascript code you want to execute. TIP: Within the script, you may
include WinAutomation variables, since they will be evaluated prior to the Javascript
code's execution.

Store Output into:


Enter the name for the variable to hold the script's output. A script may write some
text to the windows console during its execution. In this case, all the text written by
the script is stored into this variable so that it can be processed by later actions.

Store Error Output into:


Enter the name for the variable to hold any errors that may occur during the execution
of the Javascript code.

NOTE:

Commands in Javascript will be highlighted accordingly so that you can read your script
easily. Also this action's window can be resized.

5.1.5 Run PowerShell Script


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

Description:
Executes some custom Powershell Script and retrieves its output into a variable.

© 2018 Softomotive
Properties:

Powershell Script to run:


Enter here the Powershell code you want to execute. TIP: Within the script, you may
include WinAutomation variables, since they will be evaluated prior to the Powershell
code's execution. In the example presented above, please remember to escape any
backslash inside the path variable (%DataDirectory%):

C:\\Windows\\SysWOW64

Store Output into:


Enter the name for the variable to hold the script's output. A script may write some
text to the windows console during its execution. In this case, all the text written by
the script is stored into this variable so that it can be processed by later actions.
Actions Reference 301

Store Error Output into:


Enter the name for the variable to hold any errors that may occur during the execution
of the Powershell code.

5.1.6 Terminate Process Action

Description:
This action immediately stops a running process.

Properties:

Specify Process by:


Choose whether you want to specify the process to terminate by its name, or by its
ID.

Process Name:
Enter the name of the process that you want to terminate. If more than one process
with the same name are running, all of them will be terminated.

© 2018 Softomotive
Process ID:
Enter the ID of the process that you want to terminate.

5.1.7 Print Document Action

Description:
This action prints a document on the default printer

Properties:

Document to Print:
Insert the file to print here, as File Variable 251 or as a complete file path.
Actions Reference 303

5.1.8 Get Default Printer Action

Description:

This action gets the Default Printer name

Properties:

Store Default Printer's Name into:


Choose the variable to hold the acquired default printer's name.

5.1.9 Set Default Printer Action

Description:
This action sets a printer as the default printer

© 2018 Softomotive
Properties:

Printer Name:
Choose a printer to be used as default. This will continue to be the default printer until
another default printer is chosen.

5.1.10 Log Off User Action

Description:
This action logs off the current user
Actions Reference 305

Properties:

Force Log Off:


Force Log Off, regardless of unsaved files or programs that won't close.

5.1.11 Shutdown Computer Action

Description:
This action shuts down, reboots, suspends or hibernates the computer

© 2018 Softomotive
Properties:

Action to Perform:
Choose which Shutdown action to perform.

Force Selected Action:


Force selected action, regardless of unsaved files or programs that won't close.

5.1.12 Show Desktop Action

Description:
This action minimizes or restores all open Windows to reveal or hide the Desktop
respectively.
Actions Reference 307

Properties:

Action to Perform:
Choose whether to minimize all Windows to reveal the Desktop or restore all Windows
to their original respective states.

Cautions:
Avoid minimizing any Window you are currently interacting with.

5.1.13 Lock Workstation Action

Description:
This action locks the workstation's display to protect it from unauthorized use

© 2018 Softomotive
Properties:
This action does not have any configurable properties.

Cautions:
This action will prevent your robot from interacting with the Desktop. Make sure to use
this command only when you're sure the robot won't need to use the mouse, keyboard
or request user input after the action has been executed.

5.1.14 Play Sound Action

Description:
This action plays a system sound or a wav file
Actions Reference 309

Properties:

Play:
Choose a type of sound to play.

Sound to Play:
Choose the specific sound to play.

File to Play:
Set the full path of the specific .wav file to play.

5.1.15 Empty Recycle Bin Action

Description:
This action permanently deletes all files from the Windows Recycle Bin

© 2018 Softomotive
Properties:
This action does not have any configurable properties.

5.1.16 Take ScreenShot Action

Description:
This action takes a screenshot of the foreground window or the entire screen and
saves the image in a file or to clipboard
Actions Reference 311

Properties:

Capture:
Choose an area to capture.

Save Screen Shot to:


Choose the location to save Screen Shot to.

Image File:
Set the full path of the file name where image capture will be saved.

Image Format:
Set the format for the image file to be saved.

© 2018 Softomotive
5.1.17 Control Screen Saver Action

Description:

This action enables, disables, starts or stops the screensaver.

Properties:

Screen Saver Action:


Sets the function of the screensaver.

5.1.18 Ping Action

Description:
Sends a message to determine whether a remote computer is accessible over the
network.
Actions Reference 313

Properties:

Host Name:
Enter the name of the remote computer or an IP address.

Timeout:
Enter the maximum number of milliseconds (after sending the echo message) to wait
for the Ping reply message.

Store Ping Result into:


Enter the name of the variable that will hold the status of the Ping message. The value
can be either "Success" or "Failure".

Store Roundtrip Time into:


Enter the name of the variable that will hold the number of milliseconds taken for the
Ping to complete.

© 2018 Softomotive
5.1.19 Set Environmental Variable Action

Description:
This action sets an environment variable with a given value.

Properties:

Set Environmental Variable:

Enter the name of the Environmental Variable that you want to set. Variable cannot be
greater than or equal to 255 characters

With value:

Enter the value that will be stored in the Environmental Variable

and Type:
Actions Reference 315

Select the type of the Environmental Variable that will be saved in.

5.1.20 Get Environmental Variable Action

Description:
This action retrieves the value of an environmental variable

Properties:

Environmental Variable Name:

Enter the name of the Environmental Variable that you wish to retrieve its value

Store Environmental Variable Value Into:

Enter a name to be the variable that will hold the environmental variable's value

© 2018 Softomotive
5.1.21 Delete Environmental Variable Action

Description:
This action deletes the environment variable from a given scope.

Properties:

Delete Environmental Variable:

Enter the name of the Environmental Variable that you want to delete. Variable cannot
be greater than or equal to 255 characters.

Environmental Variable Type:

Select the type of the Environmental Variable that will be deleted.


Actions Reference 317

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.

© 2018 Softomotive
Store Width into:
Enter the name of the variable that will hold the Width of the monitor value.

Store Height into:


Enter the name of the variable that will hold the Height of the monitor value.

Store Bit Count into:


Enter the name of the variable that will hold the Bit Count of the monitor value.

Store Frequency into:


Enter the name of the variable that will hold the Frequency of the monitor value.

5.1.23 Set 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
Actions Reference 319

© 2018 Softomotive
Properties:

Number of Monitor:
Enter the identification number of the monitor you want to set the resolution to.

Set Width:
Enter the Width value to be set to the monitor.

Set Height:
Enter the Height value to be set to the monitor.

Set Bit Count:


Enter the Bit Count value to be set to the monitor.
Actions Reference 321

Set Frequency:
Enter the Frequency value to be set to the monitor.

"Available Resolutions" button:


To select one of the predefined available resolutions please click on the "Available
Resolutions" Button.

5.2 Conditionals
5.2.1 If Action

Description:
This action marks the beginning of a conditional block of actions.

Properties:

© 2018 Softomotive
First Operand:
Enter a variable output defined by a previous action, or a literal value such as a text or
a number to compare with the second Operand.

Operator:
Choose the relationship of first Operand to second Operand.

Ignore Case:
If the comparison is between two text values or variables, this option will specify
whether any difference in case between the two operands will be taken into account.
This property is available only if the selected operator is any of the following: "Starts
with", "Does not start with", "Contains", "Does not contain", "Ends with" or "Does not
end with".

Second Operand:
Enter a variable output defined by a previous action, or a literal value such as a text or
a number to compare with the first Operand.

Remarks:
The operators "Is Empty" and "Is not Empty" have a special meaning depending on the
data type of the first operand. For example, if the first operand is a variable that holds
a text value, "Is Empty" is true if the text value is equal to the empty string. If the
operand is a variable that holds a list then "Is Empty" is true if the list contains no
items.

If the first operand is a value that holds a file (e.g. could be a variable populated by a
"Get Files in Folder" action) then "Is Empty" is true only if the file is an empty file (its
size equals to 0 bytes). Accordingly, if instead of a file is a folder variable "Is Empty"
will be true if the folder does not contain any files or subfolders.

5.2.2 If File Exists Action

Description:
This action marks the beginning of a conditional block of actions depending on whether
a file exists or not
Actions Reference 323

Properties:

If File:
Choose state of file to be checked.

File Path:
Set the full path where action will look for the file to be checked.

5.2.3 If Folder Exists Action

Description:
This action marks the beginning of a conditional block of actions depending on whether
a folder exists or not

© 2018 Softomotive
Properties:

If Folder:
Choose state of folder to be checked.

Folder Path:
Set the full path where action will look for the folder to be checked.
Actions Reference 325

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.

© 2018 Softomotive
5.2.5 If Process Action

Description:
This action marks the beginning of a conditional block of actions depending on whether
a process is running or not

Properties:

If Process:
Choose state of process to be checked.

Process Name:
Choose a specific process to be checked.
Actions Reference 327

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

© 2018 Softomotive
by Window Instance/Handle
Actions Reference 329

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 450 ” action or a
valid Window Handle.

© 2018 Softomotive
Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.

Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.

Check if Window:
The state of window to be checked. Choose between: Open, Not Open, Focused, Not
Focused.

5.2.7 If Image Action

Description:
This action marks the beginning of a conditional block of actions depending on whether
a selected image is found on the screen or not.
Actions Reference 331

Properties:

If Image:
Choose whether you want to check for the existence or absence of the selected
image.

Image to wait for:


Select the Image(s) that the action check if it exists or not by clicking Add Image from
Repository. Click Delete Image to remove an image from the list.

© 2018 Softomotive
Search for Image on:
Choose whether you want to search for the specified Image in the foreground Window
only, or the entire visible screen. Neither choice will find the Image if it is not clearly
visible on the screen.

Find All Images in List:


Choose whether you want to search if all image(s) on the list exist or does/do not
exist, or just one of them.

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.

5.2.8 If Window Contains Action

Description:
Checks whether a specific piece of text or a Window element exists inside a Window.
Actions Reference 333

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.

© 2018 Softomotive
Option 2: Check for Text (Exists/Does not Exist)

This option checks the text inside the Window to determine whether a specified
subtext exists or not.
Actions Reference 335

Properties:

Text to Check for:


Enter the text you want check for.

Check if Element is ("Contains Element"/"Does not Contain Element"


should be selected):
Sometimes the target element may be present, but disabled. This property allows you
to check whether the target element, if found, is also in a specific state (Enabled or
Disabled). The If statement will execute its actions only when the target element is
both present and in the required state when this property is checked.

Control:
Choose the Control for the element from your Repository or Add it if it is not already
there.

© 2018 Softomotive
5.2.9 If Web Page Contains Action

Description:

Checks whether a specific piece of text or a web page element exists in a Web Page.

This action operates on a Web Page that has been previously opened by a "Launch
New Internet Explorer 495 " action. The latter stores the Web browser instance into a
variable. This action accepts this variable and checks whatever page is currently
displayed in that Web Browser Instance.

Option 1: Check for Web Element (Exists/Does not Exist)

Choose the Control for the element from your Repository or Add it if it is not already
there.
Actions Reference 337

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

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

Check if Web Page:


Specify whether you want to check for the existence of some text or of an HTML
element.

Text to Check for:


Enter the text that you want to check for.

© 2018 Softomotive
Control:
Choose the Control for the element from your Repository or Add it if it is not already
there.

5.2.10 Else Action

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.

5.2.11 Else If Action

Description:
Marks the beginning of a block of actions that are executed if the condition specified in
the preceding If Action is not met and the condition specified in this action is met.
Actions Reference 339

This action can only be inserted within an If/End If block and always before the "Else"
action, if any. In all other aspects is similar to the "If" action 321 .

© 2018 Softomotive
5.2.12 End If Action

Description:

This action marks the end of a conditional block of actions


Actions Reference 341

Properties:
This action does not have any configurable properties.

5.3 Loops
5.3.1 Loop Action

Description:
This action iterates a block of actions for a specific number of times

© 2018 Softomotive
Properties:

Start From:
Sets the starting point for your Loop counter

End To:
Sets the ending point for your Loop counter

Increment By:
Sets the increments your Loop counter increases by

Store Current Index into:


Enter a name to be the variable that will store the Current Index, starting at the Start
From value. The value of this variable will change by the increment with each iteration.
Actions Reference 343

5.3.2 Loop Condition Action

Description:

This action iterates a block of actions while a condition is true

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.

5.3.3 For Each Action

Description:
This action loops through the items of a list

Properties:

Variable to Iterate:
Enter a previously created variable that contains a list, data table, or data row. The
actions in the loop will be executed once for each item in the list, each row of the
table, or each column (cell) of the data row.
Actions Reference 345

Store Current Item into:


Enter a name to be the variable that will store the Current Item (item, row, or cell), if
you wish to access it during later actions in the loop.

5.3.4 Exit Loop Action

Description:
This action exits the current Loop

Properties:
This action does not have any configurable properties.

5.3.5 End Loop Action

Description:
This action marks the end of a Loop

© 2018 Softomotive
Properties:
This action does not have any configurable properties.

5.4 Wait
5.4.1 Wait Action

Description:
This action suspends the execution of the robot for a specified amount of seconds
Actions Reference 347

Properties:

Wait for:
Enter the number of seconds that you want the robot to pause.

5.4.2 Wait for File Action

Description:
This action suspends the execution of the robot until a file is created or deleted

© 2018 Softomotive
Properties:

Wait for file to be:


Choose whether the robot pauses until a certain file is created or deleted.

File Path:
Set the full path of file to be checked.

Continue Anyway:
Choose whether the robot continues after a set number of seconds, regardless of
whether the file has been created/deleted.
Actions Reference 349

5.4.3 Wait for HotKey Action

Description:

This action suspends the execution of the Robot until a specific HotKey is pressed by
the user.

There are cases where you want the Robot to pause and continue only when the user
says so. For example, a Robot may open a number of documents for the user to review
and needs to know when the user has completely reviewed each document to open
the next one.

This is where the "Wait for HotKey" action can be used. You can specify a HotKey and
the Robot will continue only when this Hotkey is pressed.

To further elaborate our previous example, let's assume that the user, after reviewing
each document, has the choice to either archive it or delete it. In this case it would
be convenient for the user to be able to press different hotkeys, and the Robot to
keep track of the hotkey pressed to interpret the user's intention.

© 2018 Softomotive
If you specify more than one hotkeys to wait for, the action populates a variable
(%PressedHotKey% in the example above) with the ordinal number of the pressed
hotkey. In the example above, if the user pressed Control-D the %PressedHotKey%
would hold the value 1 while if the user pressed space the %PressedHotKey% variable
would hold the value 2. Then you can check for the hotkey pressed by the user as
shown below:
Actions Reference 351

Proceed anyway after:


Choose whether the action will proceed anyway whether the period of time, waiting for
a hotkey, expires.

Store HotKey Pressed into:

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.

5.4.4 Wait for Process Action

Description:
This action suspends the execution of the robot until a process starts or stops running

© 2018 Softomotive
Properties:

Wait for process to:


Choose whether the robot pauses until a certain process starts or stops.

Process Name:
Choose or enter the process name to be checked.

Continue Anyway:
Choose whether the robot continues after a set number of seconds, regardless of
whether the process has started or stopped.
Actions Reference 353

5.4.5 Wait for Service Action


(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition)

Description:

This action suspends the execution of the robot until a service starts, stops or pauses

Properties:

Wait for service to:


Choose whether the robot pauses until a certain service starts, stops, or pauses.

Service Name:
Choose or enter the name of a service to be checked.

© 2018 Softomotive
Continue Anyway:
Choose whether the robot continues after a set number of seconds, regardless of
whether the service has started, stopped, or paused.

5.4.6 Wait for Window Action

Description:
This action suspends the execution of the robot until a specific window opens, closes,
gets or loses the focus.
Actions Reference 355

© 2018 Softomotive
Properties:

Get Window:
Choose whether the action gets the target window from a "Window Instance 254 "
variable, or searches for it by Title and/or Class.

Window Instance:
Enter the variable that contains the Window Instance which you want to bring to
front. This must be a variable defined by a preceding “Get Window 450 ” action or a
valid Window Handle.
Actions Reference 357

Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.

Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.

Wait for Window to:


Choose the event that this action will wait for: you can choose to wait for a specific
window to open, close, become focused (i.e. become the foreground window), or lose
focus (stop being the foreground window).

Focus Window after it opens:


Bring the Window to the front after it opens, so later actions are directed at this
Window.

Fail if window does not appear/close within:


Choose whether the action will throw an exception after a set number of seconds if
the specified Window has not opened/closed/became focused/lost focus. Then go to
the Exception Handling tab at top to specify how the Exception will be handled.
Otherwise, the Robot will stop and issue an error message.

5.4.7 Wait for Image Action

Description:
This action waits until a specific image appears on the screen or on the foreground
window. This action uses the Image Recognition 281 feature.

© 2018 Softomotive
Properties:

Wait for Image to:


Select if you want the action to wait for the image(s) to appear or disappear.
Actions Reference 359

Image to wait for:


Select the Image(s) that the action waits to appear or dissapear by clicking Add Image
from Repository. Click Delete Image to remove an image from the list.

Search for Image on:


Choose whether you want to search for the specified Image in the foreground Window
only, or the entire visible screen. Neither choice will find the Image if it is not clearly
visible on the screen.

Search Mode:
Specify whether you want to scan the entire screen (or window) to find the supplied
image or only a narrowed down subregion of it.

X1, Y1, X2, Y2:


Specify the subregion of the screen or window to narrow down the scan for the
supplied image to. You can visually select a subregion of the screen or window by
pressing the "Select a Different Subregion" button.

Tolerance:
Specify a value for how much the Image searched for can differ from the originally
chosen Image.

Fail if image does not appear:


Choose whether the action will throw an exception after a set number of seconds if
the specified Image has not been found. Then go to the Exception Handling tab at top
to specify how the Exception will be handled. Otherwise, the robot will stop and issue
an error message.

Location of Image Found:


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.

© 2018 Softomotive
5.4.8 Wait for Mouse Action

Description:

This action suspends the execution of the robot until the mouse pointer changes,
usually to or from the 'wait cursor' or hourglass.

Properties:

Wait for mouse pointer to:


Choose what action of the mouse cursor you will wait for.

Continue Anyway:
Choose whether the robot continues after a set number of seconds, regardless of
whether the mouse pointer has changed or not.
Actions Reference 361

5.4.9 Wait for Window Content Action

Description:

Waits until a specific text or Element appears or disappears from a Window.

This action operates on a UI Automation Window Instance that has been previously
acquired by a "Get Window 450 " action. The latter stores the Window instance into a
variable. This action accepts this variable and waits until the supplied Window
Instance contains or does not contain a specific text or Element.

Option 1: Wait for UI Element (Contained/Not Contained in Window)

© 2018 Softomotive
Option 2: Wait for Text (Exists/Does not Exist)

This option waits until the specifies text appears or disappears from the Window
Contents.

Properties:

Window Instance:
Enter the variable that contains the parent Window Instance of the Element or text
you are waiting for. This must be a variable defined by a preceding “Get Window 450 ”
action or a valid Window Handle.

Wait Till Window:


Specify whether you want to wait for a UI element or a specific text.
Actions Reference 363

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.

Text to Wait for:


Enter text you want to wait for.

Description for Element:


Enter a short description for the Window Element you want to wait for. This is
optional, meant for documentation purposes and when possible it is auto-populated
along with the "UI Selector" property, during the UI Element Live Selection 196 .

UI Selector of Element:
Enter the UI Selector of the Window Element you want to check for. You do not need
to manually enter a value here; this field will be populated automatically when you
select an element on any Window, by right-clicking on it while having the action's
properties dialog open.

Fail On Timeout:
Choose whether the action will throw an exception after a set timeout of waiting. Then
go to the Exception Handling tab to specify how the Exception will be handled,
otherwise the robot will stop and issue an error message.

5.4.10 Wait for Web Page Content Action

Description:
Waits until a specific text or Element appears or disappears from a Web Page.

This action operates on a Web Page that has been previously opened by a "Launch
New Internet Explorer 495 " action. The latter stores the Web browser instance into a
variable. This action accepts this variable and waits until the page is currently
displayed in that Web Browser Instance contains or does not contain a specific
element or text.

© 2018 Softomotive
Option 1: Wait for Web Element (Contained/Not Contained in Page)
Actions Reference 365

Option 2: Wait for Text (Exists/Does not Exist)

This option waits until the specifies text appears or disappears from the Web page.

Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

Wait for Web Page to:


Specify whether you want to wait for an HTML element or a specific text.

Text to Wait for:


Enter text you want to wait for.

© 2018 Softomotive
Fail On Timeout:
Choose whether the action will throw an exception after a set timeout of waiting. Then
go to the Exception Handling tab to specify how the Exception will be handled,
otherwise the robot will stop and issue an error message.

5.5 Flow Control


5.5.1 Label Action

Description:
This action places a label at a specific robot location that can be referenced by a Go
To Action

Properties:
Actions Reference 367

Label Name:
Enter a Label, to be used by a Go To action, to find at a later point in the robot.

5.5.2 Go To Action

Description:
This action jumps the execution flow to the specified label

Properties:

Label Name:
Enter an existing Label Name that this action will find and jump to.

© 2018 Softomotive
5.5.3 Run Function Action

Description:

This action turns the execution flow to the specified function.

Properties:

Function Name:
Enter the Name of the function to run.

5.5.4 Exit Function Action

Description:
This action causes the current function to return immediately to the point it was called
from, as if it exhausted all its actions.
Actions Reference 369

Properties:
This action does not have any configurable properties.

5.5.5 Stop Robot Action

Description:
This action stops the execution of the robot

© 2018 Softomotive
Properties:

End Robot:
Choose whether this action ends the robot with an error message or not.

Error Message:
Enter text to be a descriptive error message explaining why the robot was ended.

Exit Code:
Enter a number to be the exit code of the Robot. This applies only to Robots that are
compiled to exe; for Robots that run within WinAutomation this setting will have not
effect.
Actions Reference 371

5.5.6 Begin Exception Block Action

Description:

This action sets the beginning of an exception handling region

Properties:

Name:
Enter the name of the Exception Block for virtual purposes only.

Set Variable - Set Value:


Enter the value to be set into the variable when exception in any action occurs.

© 2018 Softomotive
Set Variable - into Variable:
Enter the variable into which the value should be set when exception in any action
occurs.

Run Function:
Set a function to run when exception in any action occurs.

Continue Execution:
Set to continue the robot execution with a selected command when exception in any
action occurs.

5.5.7 End Exception Block Action

Description:
This action sets the end of an exception handling block

Properties:

This action does not have any configurable properties.


Actions Reference 373

5.6 Mouse and Keyboard


5.6.1 Block Input Action

Description:
This action blocks user mouse and keyboard input events, so the robot can perform
mouse and keyboard actions without interference from the user.

Properties:

Action to Perform:
Choose whether this action will block or unblock Mouse and Keyboard input.

Cautions:
If your robot fails while your mouse and keyboard input is locked, your control will not
be unlocked. To regain control, press ctrl + alt + delete on your keyboard. This works
even if the robot has not failed.

© 2018 Softomotive
5.6.2 Get Mouse Position Action

Description:

Retrieves the current position of the mouse cursor on the screen in pixel coordinates.

Properties:

Get Position Relative to:


Specify whether to retrieve the mouse position in screen coordinates or you want the
mouse position relative to the top left corner of the active window.

Store Mouse Position X value into:


Enter a name to be the variable that will store the horizontal (X) value of the mouse
position.

Store Mouse Position Y value into:


Enter a name to be the variable that will store the vertical (Y) value of the mouse
position.
Actions Reference 375

5.6.3 Move Mouse Action

Description:

This action moves the mouse to a specific position

Properties:

Move Mouse to:


Set the position of the mouse in X and Y pixel coordinates. Press CONTROL + SHIFT
keys if you wish to grab the current cursor position, or hold them both down to record
a mouse movement.

Relative to:
Choose whether the new Mouse position will be relative to the top left corner of the
screen, or of the foremost Window, or relative to the current mouse position.

© 2018 Softomotive
Move Mouse From Previous Position:
Choose the style of movement in which the mouse will move from it's previous position
to the beginning of the recorded route (or to it's final position). The mouse can move
instantly (jump) to the new position or navigate smoothly at three different speeds
(slow/normal/fast).

5.6.4 Move Mouse to Image Action

Description:

This action moves the mouse over an image found on the screen or on the foreground
window. This action uses the Image Recognition 281 feature.
Actions Reference 377

© 2018 Softomotive
Properties:

Image to move mouse on:


This is the list of Image(s) that the action will move the mouse to. Press 'Add Image
From Repository' to select the image(s) from the images repository.
Actions Reference 379

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.

X1, Y1, X2, Y2:


Specify the subregion of the screen or window to narrow down the scan for the
supplied image to. You can visually select a subregion of the screen or window by
pressing the "Select a Different Subregion" button.

Mouse position relative to image:


Choose which section of the image the mouse will be moved to.

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.

Move Mouse From Previous Position:


Choose the style of movement in which the mouse will move from it's current position
to the position of the image found. The mouse can move instantly (jump) to the new
position or navigate smoothly at three different speeds (slow/normal/fast).

Location of Image Found:


Enter the names to be the variables that will hold the X and Y coordinate 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.

© 2018 Softomotive
Wait for image to appear:
Choose whether you want the action to wait if the image is not found on the screen or
foreground window. If this property is not checked and the image is not found the
action will through an exception, otherwise the action will wait until the image appears.
In the next property you can specify the maximum number of seconds (timeout) to
wait.

Fail if image does not appear within x seconds:


Choose whether the action wait indefinitely for the image to appear or it will throw an
exception after a set number of seconds if the specified Image has not been found.
You can then go to the Exception Handling tab at top to specify how the Exception will
be handled, otherwise, if the image is not found within the timeout, the robot will stop
and issue an error message.

Send a Left Click after moving mouse:


Choose whether you want the action to send a left click after the mouse is positioned
over the image.

5.6.5 Send Mouse Click Action

Description:
This action sends a mouse click event
Actions Reference 381

Properties:

Move Event to Send:


Choose what form of mouse event to send.

Wait:
Set a time for the action to delay before sending the mouse event, in 1/1000 of a
second. In other words, 1000 means one second, 1500 means one and a half seconds,
2250 means two and a quarter seconds and so on.

© 2018 Softomotive
Move Mouse to:
Set the position of the mouse in X and Y pixel coordinates. Press CONTROL + SHIFT
keys if you wish to grab the current cursor position.

Relative to:
Choose whether the new Mouse position will be relative to the top left corner of the
screen, or to the foremost Window, or to the current mouse position.

Move mouse from previous position:


Choose the style of movement in which the mouse will move from its previous position
to the beginning of the recorded route (or to its final position)

5.6.6 Send Keys Action

Description:
This action sends keystrokes to the Application that is currently active
Actions Reference 383

Properties:

Text to Send:
Insert keystrokes to send as text. Special key and modifiers can be accessed below
the box. Control is under Insert Modifier, and Control-a, for example, needs to appear
in the form {Control}({A}). Any Key, as compared to a character, must be written
here in braces and capitalized, such as {A}. Within Modifiers, Keys must be used, not
characters like 'a' or '$'. For a complete list of the Key Codes corresponding to the
keyboard keys, please consult the topic "Valid Key Codes for the Send Keys Action 286 ".

Delay Between Keystrokes:


Choose a time to delay between keystrokes to avoid input errors.

© 2018 Softomotive
5.6.7 Press/Release Key Action

Description:

This action presses (and holds) or releases one or more modifier keys (Alt, Control, or
Shift). This is useful mainly taking steps that call for a key to be pressed while
operating the mouse, and requires another use of this action to release the key(s)
being held.

Properties:

Action to Perform:
Choose whether to Press or Release keys with this action.
Actions Reference 385

Control:
Choose whether the CTRL key is pressed/released or not.

Alt:
Choose whether the Alt key is pressed/released or not.

Shift:
Choose whether the Shift key is pressed/released or not.

Win:
Choose whether the Windows key is pressed/released or not.

5.6.8 Set Key State Action

Description:
This action sets the state (on or off) for the keys CAPS LOCK, NUM LOCK or SCROLL
LOCK.

© 2018 Softomotive
Properties:

Set Key to:


Choose the key you wish to set, and select 'On' or 'Off'.

5.7 Message Boxes


5.7.1 Display Message Action

Description:
This action displays a message box
Actions Reference 387

© 2018 Softomotive
The Message Dialog in action

Properties:

Message Box Title:


Enter the text, or a previously defined variable, to be used as the Message Box title.

Message To Display:
Enter the text, or a previously defined variable, to be displayed as the actual message.

Message Box Icon:


Choose which Icon to display with the Message Box.

Message Box Buttons:


Choose which buttons to display on the Message Box.

Default Button:
Choose which button is highlighted by default. If the user presses {Enter}, this button
will be pressed.

Keep Message Box Always on Top:


Choose whether the Message Box should always remain on top of all other windows.

Close Message Box Automatically:


Choose whether Message Box closes automatically after a preset time, as if the default
button was pressed. Otherwise, the robot will wait until a button is pressed by the
user.
Actions Reference 389

Timeout:
Choose how many seconds to pause the robot while waiting for input, until continuing
automatically.

Store Button Pressed into:


Enter a name to be the variable that will store the text of the button pressed.

5.7.2 Display Custom Dialog Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action displays a Customized Dialog.

© 2018 Softomotive
Properties:

"Open Designer" Button:


Pressing this button will open up the Custom Dialog Designer window. You will find more
details regarding the Custom Dialog Designer in the section "Designing a Custom
Dialog 185 ".

Store Dialog Results into:


Enter a name to be the variable that will store the values populated in the Custom
Dialog.

Store Dialog Instance into:


Enter a name to be the variable that will store the specific Custom Dialog instance for
use with later UI Automation actions.

Advanced Properties Tab - Override Default CSS Theming:


Specify whether you would like to override the default theming of this Custom Dialog
with your own CSS rules.

Advanced Properties Tab - CSS Theming Overrides:


Enter the CSS rules you desire to be applied over the default theming of this Custom
Dialog.

Control Specific Tips:


Actions Reference 391

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:

· d - day of month (no leading zero)

· dd - day of month (two digit)

· o - day of year (no leading zeros)

· oo - day of year (three digit)

· D - day name short

· DD - day name long

· m - month of year (no leading zero)

· mm - month of year (two digit)

· M - month name short

· MM - month name long

· y - year (two digit)

· yy - year (four digit)

· @ - Unix timestamp (ms since 01/01/1970)

· ! - Windows ticks (100ns since 01/01/0001)

· '...' - literal text

· '' - single quote

· anything else - literal text

For example in order to parse a date in ISO format like "2007-01-26" one would have to
set the date-format field of the Date Control to the pattern "yy-mm-dd".

© 2018 Softomotive
5.7.3 Display Notification Action

Description:

This action displays an inobtrusive message though the notification popup 79

Properties:

Notification Message:
Enter the text, or a previously defined text variable, to be displayed in the Notification
Popup while the robot is being run from the WinAutomation Console Window (not Robot
Designer) or as a Console Application if the robot has been converted to .exe.
Actions Reference 393

5.7.4 Display Input Dialog Action

Description:

This action displays a dialog box that prompts the user to enter text

The Input Dialog in action

Properties:

© 2018 Softomotive
Input Dialog Title:
Enter the text, or a previously defined text variable, to be used as the Dialog title.

Input Dialog Message:


Enter the text, or a previously defined variable, to be displayed as the actual message.

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.

Keep Input Dialog Always on Top:


Choose whether the Input Dialog should always remain on top of all other windows.

Store User Input into:


Enter a name to be the variable that will store the text entered by the user, or the
default text.

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.

5.7.5 Display Select Date Dialog

Description:
This action displays a dialog box that prompts the user to enter a date or a date range
Actions Reference 395

The Select Date Dialog in action

© 2018 Softomotive
Properties:

Dialog Title:
Enter the text, or a previously defined text variable, to be used as the Dialog title.

Dialog Message:
Enter the text, or a previously defined variable, to be displayed as the actual message.

Dialog Type:
Choose whether the user will enter a single date or two dates to be the endpoints of a
range of dates.

Prompt for:
Choose whether the user will enter the date only or the date and time.

Default Value:
Enter a DateTime value, or a previously defined DateTime variable, to be used as the
default value.

Keep Date Selection Dialog Always on Top:


Choose whether the Date Selection Dialog should always remain on top of all other
windows.

Default Value for Second Date:


Enter a DateTime value, or a previously defined DateTime variable, to be used as the
default value for the end date in a range.

Store Selected Date into:


Enter a name to be the variable that will store the date entered by the user or the
default date.

Store Second Selected Date into:


Enter a name to be the variable that will store the second date entered by the user or
that default date.
Actions Reference 397

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.

5.7.6 Display Select From List Dialog Action

Description:
This action displays a dialog box with options that lets the user select from a list

© 2018 Softomotive
Actions Reference 399

The Select From List Dialog in action with "Allow Multiple Selection" unchecked

The Select From List Dialog with "Allow Multiple Selection" checked

Properties:

Dialog Title:
Enter the text, or a previously defined text variable, to be used as the Dialog title.

Dialog Message:
Enter the text, or a previously defined text variable, to be displayed as a Prompt
Message for the user.

List to choose from:


Enter a list of choices - one per line, or a previously defined variable that contains a
list. This will be displayed as a drop-down menu for the user to choose from.

© 2018 Softomotive
Keep Select Dialog Always on Top:
Choose whether the Selection Dialog should always remain on top of all other windows.

Limit to List:
Deselect this box if you wish to allow the user to enter their own answer outside of
the list being displayed. This means the action will act more like the "Display Input
Dialog" action.

Allow Empty Selection:


Allow the user to not select anything, creating an empty Selected Item output.

Allow Multiple Selection:


Allow the user to select more than one choice. This means that the Selected Item and
Selected Index variables will hold a list of items.

Preselect Items Starting with a + Sign:


This option is available only when the previous one (Allow Multiple Selection) is
checked. By selecting this option all items with a '+' sign prepended on their name will
appear automatically preselected (and the '+' sign will be removed from the item's
text).

Store Selected Item into:


Enter a name to be the variable that will store the item selected from the list as text
(or a list of text values if 'Allow Multiple Selection' is checked).

Store Selected Index into:


Enter a name to be the variable that will store the index number of the item(s)
selected from the list. This allows you to use the item number instead of the full text
of the user's choice. The variable that will store the index of the selected item as
number (or a list of numeric values if 'Allow Multiple Selection' is checked). If the 'Limit
to List' box is not checked and the user enters a new value, the index value will be '-
1'.

Store Button Pressed into:


Enter a name to be the variable that will store the name of the button pressed by the
user (OK or Cancel).
Actions Reference 401

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

© 2018 Softomotive
The Select File Dialog in action (as displayed in Windows Vista)

Properties:

Dialog Title:
Enter the text, or a previously stored text variable, to be used as the Dialog title.

Initial Folder:
Enter or choose the initial folder to be opened when browsing for a file. This is where
the Select File Dialog action will start the user looking for the file(s).

File Filter:
Choose a filter to limit the files retrieved. This allows wild cards, for example "*.txt" or
"document?.doc" (without the quotes). If you want to allow for multiple file filters the
user can choose from, separate your choices with a semi-colon, for example,
"*.txt;*.exe".

Keep File Selection Dialog Always on Top:


Choose whether the File Selection Dialog should always remain on top of all other
windows.

Check if File Exists:


If checked, this action will then only accept a file (or multiple files) that already exists.
Actions Reference 403

Allow Multiple Selection:


Choose whether this action will allow the user to select more than one file or not.

Store Selected File(s) into:


Enter a name to be the variable that will store the file(s). If Allow Multiple Selection is
checked, this variable will contain a list of files, even if the list is only one entry. If
Allow Multiple Selection is not checked, this variable will contain a single file, not a list.

Store Button Pressed into:


The user will automatically be given the choice of Open or Cancel. Enter a name to be
the variable that will store the text of the button pressed.

5.7.8 Display Select Folder Dialog Action

Description:
This action displays the Select Folder Dialog and prompts the user to select a folder

© 2018 Softomotive
Properties:

Dialog Description:
Enter text to explain why you want the user to select a folder. For example, "Please
select the folder into which you wish to copy the files."

Initial Folder:
Enter or choose the initial folder to be opened. This will be the default folder unless the
user picks a new one.

Keep Folder Selection Always on Top:


Choose whether the Folder Selection Dialog should always remain on top of all other
windows.
Actions Reference 405

Store Selected Folder into:


Enter a name to be the variable that will store the selected folder.

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.

5.8 Files
5.8.1 Get Files in Folder Action

Description:
This action retrieves the list of files in a folder and stores the files info into a "List of
Files" variable

© 2018 Softomotive
Properties:

Folder:
Enter or choose the full path of the folder, or a variable containing the folder, you wish
to get files from.

File Filter:
Choose a filter to limit the files retrieved. This allows wild cards, for example "*.txt" or
"document?.doc" (without the quotes). If you want to allow for multiple file filters,
separate your choices with a semi-colon, for example, "*.txt;*.exe".

Include Subfolders:
Check this if you wish to look into Subfolders as well.

Store Retrieved Files into:


Enter a name to be the variable that will store the files selected by this action as a list
of file objects.
Actions Reference 407

Sort by:
Choose if this action will sort the results, and by what criteria.

Descending:
Does this action sort into ascending or descending order?

5.8.2 Copy File(s) Action

Description:

This action copies one or more files into a destination folder.

Properties:

© 2018 Softomotive
File to Copy:
Enter or choose the file(s) that will be copied. This can be a file path, or a variable
containing a file, a list of files, a text path, or a list of text paths. You can use the
'Get Files in Folder' action to populate a variable with a list of files.

Destination Folder:
Enter or choose the folder, or a variable containing a folder, that this action will use as
the destination for the copied files.

If File Exists:
Choose what will happen if a file with the same name already exists in the destination
folder.

Store Copied Files into:


Enter a name to be the variable that will store the copied file(s) as a list of files.

5.8.3 Move File(s) Action

Description:
This action moves one or more files into a destination folder
Actions Reference 409

Properties:

File to Move:
Enter or choose the the file(s) that will be moved. This can be a file path, or a variable
containing a file, a list of files, a textual path, or a list of text paths. You can use the
'Get Files in Folder' action to populate a variable with a list of files.

Destination Folder:
Enter or choose the folder, or a variable containing a folder, that this action will use as
the destination for the moved files.

If File Exists:
Choose what will happen if a file with the same name already exists in the destination
folder.

Store Moved Files into:


Enter a name to be the variable that will store the moved file(s) as a list of files.

© 2018 Softomotive
5.8.4 Delete File(s) Action

Description:
This action deletes one or more files

Properties:

File(s) to Delete:
Enter or choose the file(s) that will be deleted. This can be a file path, or a variable
containing a file, a list of files, a text path, or a list of text paths. You can use the
'Get Files in Folder' action to populate a variable with a list of files.

5.8.5 Rename File(s) Action

Description:
This action changes the name of one or more files
Actions Reference 411

Properties:

File to Rename:
Enter or choose the the file(s) that will be renamed. This can be a file path, or a
variable containing a file, a list of files, a text path, or a list of text paths. You can use
the 'Get Files in Folder' action to populate a variable with a list of files.

Rename Scheme:
Choose how you wish to rename the file(s).

© 2018 Softomotive
Rename Scheme: Set New Name

New File Name:


Enter the text, or a previously stored text variable, to be the new name of the file(s).

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.

Rename Scheme: Add Text

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).

Rename Scheme: Remove Text

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.

Rename Scheme: Replace Text

Text to Replace:
Enter the text, or a previously stored text variable, to be replaced in the original file
name(s). This will search each file name, and replace the entered text anywhere in the
name, each time it occurs.
Actions Reference 413

Replace with:
Enter the text, or a previously stored text variable, to replace the original text.

Rename Scheme: Change Extension

New Extension:
Enter the text, or a previously stored text variable, to be the new extension for the
file(s).

Rename Scheme: Add Date or Time

DateTime to Add:
Choose what DateTime value to add to the file name(s).

Custom DateTime:
Enter a previously stored DateTime variable to be added to the file name(s).

Add DateTime:
Choose whether to add the DateTime before or after the original name(s).

Separator:
Choose what to use to separate the original file name and the DateTime value added,
including 'no separator'.

DateTime Format:
Enter or choose a Format this action will use to express the DateTime value that will
be added to the file name. You can custom format a DateTime as, for example,
MM/dd/yyyy for date, and hh:mm:sstt for time.

Example:
Here you can see an example of the final output.

© 2018 Softomotive
Rename Scheme: Make Sequential

Add Number to:


Choose whether to add the number to the existing file name(s) or a new name.

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.

Start Numbering at:


Enter a number, or a previously stored number variable, to be the starting number
value.

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'.

Make each number at least:


Choose to have a set minimum length for each number added.

Example:
Here you can see an example of the final output.

If File Exists:
Choose what will happen if a file with the same name already exists in the folder.
Actions Reference 415

Stored Renamed Files into:


Enter a name to be the variable that will store the renamed file(s) as a list of files.

5.8.6 Read Text from File Action

Description:
This action reads the content of a text file and stores it into a variable

Properties:

File Path:
Enter or choose the the file to be read. This can be a file path, or a variable containing
a file or a textual path.

© 2018 Softomotive
Store Content As:
Choose how to store the text. If you choose Single Text Value, the entire text will be
stored as a single text value. If you choose to store as a List, each line of the original
text will be a text item in the list.

Encoding:
Select the encoding of the input text File.

Store Content Into:


Enter a name to be the variable that will store the contents as a text or list of texts,
depending on your choice in 'Store File Content As'.

5.8.7 Write Text to File Action

Description:
This action writes or appends text to a file
Actions Reference 417

Properties:

File Path:
Enter or choose the file to be to be written to. This can be a file path, or a variable
containing a file or a textual path.

Text to Write:
Enter the text, or a previously stored variable, to be the content to write.

© 2018 Softomotive
Append New Line:
Defines whether a new line character should be appended at the end of the overall
text to be written to the file.

If File Exists:
Choose whether to overwrite the existing content, or to append to the end of the
existing content. If the file does not exist, this action will automatically create it.

Encoding:
Select the encoding used for the specified text to be written into the text file.

5.8.8 Read From CSV File Action

Description:
Reads a CSV file into a Data Table Variant.
Actions Reference 419

Properties:

File Path:
Enter or choose the CSV file to be read. This can be a file path, or a variable
containing a file or a textual path.

Encoding:
Select the encoding to be used for reading the CSV file.

Store Table into:


Enter the name of the variable that will store the contents of the CSV file as a Data
Table.

5.8.9 Write to CSV File Action

Description:
Writes a Data Table Variant or Data Row Variant or List Variant to a CSV file.

© 2018 Softomotive
Actions Reference 421

Properties:

Variable to Export:
Enter the name of the Data Table Variable or Data Row Variable or List Variable which
must be written into the target CSV file.

File Path:
Enter or choose the CSV file to export the variable to. This can be a file path, or a
variable containing a file or a textual path.

Encoding:
Select the encoding to be used for writing to the CSV file specified.

Include column names:


Choose whether the column names of the variant specified should become the very
first row of the CSV file. This option takes effect if and only if the target CSV file
either does not initially exist or exists but is otherwise empty of text.

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.

5.8.10 Get FilePath Part Action

Description:
This action retrieves one or more parts (directory, filename, extension etc) from a text
that represents a FilePath

© 2018 Softomotive
Properties:

File Path:
Enter a previously defined text variable containing a file path to be used as the source.

Root Path:
Enter a name to be the variable that will contain the Root Path of the source file.

Directory:
Enter a name to be the variable that will contain the Directory of the source file.

File Name:
Enter a name to be the variable that will contain the name of the source file.
Actions Reference 423

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.

5.8.11 Get Temporary File Action

Description:
This action creates a uniquely named, empty temporary file on disk, and returns the
file object (which is a representation, and can access the file and all its information).

Properties:

© 2018 Softomotive
Store Temporary File into:
Enter a name to be the variable that will contain the temporary file object.

5.9 Folders
5.9.1 Get Subfolders in Folder Action

Description:

This action retrieves the list of subfolders in a folder and stores the subfolders info into
a List of folders variable
Actions Reference 425

Properties:

Folder:
Enter or choose the full path of the folder, or a variable containing the folder, you wish
to retrieve the list of Subfolders from.

Include Subfolders:
Check this if you wish to look into the Subfolders, and retrieve their Subfolders (and so
on) as well.

Store Retrieved Subfolders into:


Enter a name to be the variable that will store all of the Subfolders selected by this
action as a list of folders.

Sort By:
Choose if this action will sort the results, and by what criteria.

© 2018 Softomotive
Descending:
Does this action sort into ascending or descending order?

5.9.2 Create Folder Action

Description:
This action creates a new folder

Properties:

Create New Folder into:


Enter or choose the full path of the folder, or a variable containing the folder, you wish
to create a new Folder in.

New Folder Name:


Enter the text, or a text variable, to be the name of the new Folder.
Actions Reference 427

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).

5.9.3 Delete Folder Action

Description:
This action deletes an existing folder and its contents (files and subfolders)

Properties:

Folder to Delete:
Enter or choose the full path of the folder, or a variable containing the folder, you wish
to delete. Remember that all contents of that folder, and its Subfolders, will be deleted
too.

© 2018 Softomotive
5.9.4 Empty Folder Action

Description:

This action deletes all the contents of a folder (files and subfolders) without deleting
the folder itself.

Properties:

Folder to empty:
Enter or choose the full path of the folder, or a variable containing the folder whose
contents you want to delete.

5.9.5 Copy Folder Action

Description:
This action copies a folder into a destination folder
Actions Reference 429

Properties:

Folder to Copy:
Enter or choose the full path of the folder, or a variable containing the folder, you wish
to copy. If the folder path ends with a \ only the contents of the folder (files +
subfolders) will be copied. Otherwise, the folder itself (along with its contents) will be
copied as a subfolder into the destination folder

Destination Folder:
Enter or choose the full path of the folder, or a variable containing the folder, to be
the destination Folder.

If Folder Exists:
Choose whether to overwrite files or to not copy if the destination folder already
exists. If the folder exists, but the files have different names, the old files will still be in
the folder.

© 2018 Softomotive
Store Copied Folder into:
Enter a name to be the variable that will contain the copied folder object (which is a
representation, and can access the folder and all its information).

5.9.6 Move Folder Action

Description:
This action moves an existing folder into a destination folder

Properties:

Folder to Move:
Enter or choose the full path of the folder, or a variable containing the folder, you wish
to move.
Actions Reference 431

Destination Folder:
Enter or choose the full path of the folder, or a variable containing the folder, to be
the destination Folder.

Store Moved Folder into:


Enter a name to be the variable that will contain the moved folder object (which is a
representation, and can access the folder and all its information).

5.9.7 Rename Folder Action

Description:
This action changes the name of a folder

Properties:

© 2018 Softomotive
Folder to Rename:
Enter or choose the full path of the folder, or a variable containing the folder, to be
the Folder that will be renamed.

New Folder Name:


Enter or choose the full path, or a variable containing the folder, to be the new Folder
name.

Store Renamed Folder into:


Enter a name to be the variable that will contain the renamed folder object (which is a
representation, and can access the folder and all its information).

5.9.8 Get Special Folder Action

Description:
This action retrieves the path of a Windows' special folder (such as Desktop, My
Pictures, Internet Cache etc)
Actions Reference 433

Properties:

Special Folder Name:


Choose the name of the Special Folder (like My Documents or Desktop). This will be
independent of path, so the Special Folder can be found on any computer regardless of
path specifics. The Special Folder Path for the current computer will be displayed in
the field below.

Store Special Folder Path into:


Enter a name to be the variable that will contain the Special Folder object (which is a
Folder object 257 , and can access the folder and all its information).

More Information:
This command is extremely useful if you plan to send a compiled robot to many people.
Let's say you're unzipping a file to the end user's desktop. The path would look
something like this: "C:\Users\Jane Doe\Desktop". Obviously, this will only work if "Jane
Doe" is the current user. If "John Doe" tried to run the robot it would fail. This action

© 2018 Softomotive
could be used to solve such problems by replacing the names of folders when needed
automatically.

5.10 Compression
5.10.1 Zip Files Action

Description:
This action compresses one or more files or folders into a Zip archive

Properties:
Actions Reference 435

Archive Path:
Enter the full path of zip file you wish to create. If this file already exists, the new
zipped files and/or folders will be added to the zip file. If the zip file already contains a
file or folder with the same name, the existing one will be overwritten by the one
brought in by this action.

File(s) to Zip:
Enter or choose the full path of a file or folder, or the name of a variable containing a
file, a folder, or a list of files or folders, that you wish to include in the zip file. A list
can be built with the 'Get Files in Folder' or 'Get Subfolders in Folder' actions. If you
create a list of files, all subfolder information will be lost, and these will be extracted to
the base folder. If you create a list of folders, subfolders will be kept, and the files will
be extracted to their same directory structure.

Compression Level:
Choose the level of compression you want to use. The higher the compression, the
smaller the file, though it takes longer to create or access.

Password:
Enter a password if you want the archive to be password protected. Otherwise leave
this field blank and it will not have a password.

Archive Comment:
Enter any comment you wish to be included in the zip file as a file property.

Store Zip File into:


Enter a name to be the variable that will store the zip file created by this action.

5.10.2 Unzip Files Action

Description:
This action uncompresses one or more files or folders contained in a Zip archive

© 2018 Softomotive
Properties:

Archive Path:
Enter or choose the full path of a zip file, or the name of a variable containing a zip
file, to be extracted.

Destination Folder:
Enter or choose the full path of a folder, or the name of a variable containing a folder,
to extract the archive to. This will overwrite files in the folder with the same name as
a file in the archive.

Password:
Include the password, if any, that is used for this archive. If the zip file is not
password-protected, leave this blank.
Actions Reference 437

Include Mask:
Choose a filter to limit the files extracted to those entered here. This allows wild cards,
for example "*.txt" or "document?.doc" (without the quotes). If you want to allow for
multiple file filters, separate your choices with a semi-colon, for example, "*.txt;*.exe".
Other files will not be extracted.

Exclude Mask:
Choose a filter to limit the files extracted by excluding those entered here. This allows
wild cards, for example "*.txt" or "document?.doc" (without the quotes). If you want
to allow for multiple file filters, separate your choices with a semi-colon, for example,
"*.txt;*.exe". These files will not be extracted.

5.11 Clipboard
5.11.1 Get Clipboard Text Action

Description:
This action copies the text from the clipboard into a variable

© 2018 Softomotive
Properties:

Store Clipboard Text Into:


Enter a name to be the variable that will store the text currently in the clipboard.

5.11.2 Set Clipboard Text Action

Description:
This action copies text to the clipboard
Actions Reference 439

Properties:

Text to store into Clipboard:


Enter the text, or a previously stored text variable, to be copied into the clipboard.

5.11.3 Clear Clipboard Contents Action

Description:
This action clears the contents of the clipboard

© 2018 Softomotive
Properties:
This action does not have any configurable properties.

5.12 UI and Windows


5.12.1 Use Desktop Action

Description:
Perform desktop and taskbar related operations
Actions Reference 441

Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Click-Type:
Set the click action you want to perform on the specified element by selecting the
click-type (left/right/double click). Quick-launch items will attempt to spawn a new
application window, whenever this is possible.

© 2018 Softomotive
5.12.2 Select Tab in Window Action

Description:

Select a Tab from a group of Tabs.

Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Actions Reference 443

5.12.3 Click Element in Window Action

Description:

Clicks on any element 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.

5.12.4 Select Menu Option in Window Action

Description:
Selects an Option in a Menu of a Window
Actions Reference 445

Properties

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

i.e. To select the "Save As" menu option on a text file, once you select the control the
properties of the action will look like this:

© 2018 Softomotive
5.12.5 Drag and Drop Element in Window Action

Description:

Drags and Drops an Element of a Window


Actions Reference 447

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.

Advanced Properties Tab - Click-Type:


Specify which mouse button to use for clicking and holding down, while dragging the
element over to its destination.

© 2018 Softomotive
Advanced Properties Tab - Drag and Drop Targets Mouse Position
Relative to Element:
For occasions where the target element is part of a parent element and cannot be
identified as a separate control ( when selected from the General Properties tab), you
have to select the overall element and in the Advanced Properties Tab set the specific
area of the element you want to place your cursor and click.

To do so you may initially select one of the nine parts in which the element is divided
to place your the cursor, while for more fine tuning of cursor's position you may also
define the Offset (in pixels) for X and Y axes relative to the control element’s border or
corner (as defined by the red arrow in each part).

e.g. for the setting above the cursor will be placed in the middle right section of the
control element 2 px left from the right border and 5px lower from the middle.

5.12.6 Expand / Collapse Tree Node in Window Action

Description:
Expands or Collapses a Node of a Tree view residing in a Window
Actions Reference 449

Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Folders Path:
Enter a forward slash separated path made out of folders names leading to the Tree
Node you want to expand or collapse.

Note that you may also use a value of a variable (generated in an earlier step of the
robot) to specify the path to the tree node you wish to expand or collapse.

© 2018 Softomotive
Use Regular Expression:
In the case of using a value of a variable for Folder Path input and depending on its
notation, you may also need to check the ‘Use Regular Expression’ option so that
action will interpret the name of the folder as a regular expression.

Operation:
Select whether you want to expand or collapse the tree node.

5.12.7 Windows
5.12.7.1 Get Window Action

Description:
Gets a running window, for automating desktop applications.
Actions Reference 451

Get Specific Window

© 2018 Softomotive
Get Foreground Window

Properties:

Get:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.

Depending on the Get option you will have some of the following inputs

Associate window with control:


Choose whether the window that this action trying to find will be associated with an
existing control into controls repository or a new one that will be created.
Actions Reference 453

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.

Store Window Title into (when Get is "Foreground Window"):


Enter a name to be the variable that will store the title of the Foreground Window

Store Window Instance into:


Enter a name to be the variable that will store the title of the specific Window
Instance for use with later UI Windows actions

5.12.7.2 Focus Window Action

Description:
This action activates and brings a specific window to the foreground

© 2018 Softomotive
by Window Control
Actions Reference 455

by Window Instance/Handle

© 2018 Softomotive
by Title and/or Class

Properties:

Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.

Depending on the Get Window option you will have some of the following inputs
Actions Reference 457

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.

Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.

Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.

5.12.7.3 Set Window State Action

Description:
This action restores, maximizes or minimizes a specific window

© 2018 Softomotive
by Window Control
Actions Reference 459

by Window Instance/Handle

© 2018 Softomotive
by Title and/or Class

Properties:

Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.

Depending on the Get Window option you will have some of the following inputs
Actions Reference 461

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.

Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.

Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.

Set Window State to:


Choose in which state you would like to display the window.

5.12.7.4 Set Window Visibility Action

Description:

This action shows a hidden window or hides a visible window

© 2018 Softomotive
by Window Control
Actions Reference 463

by Window Instance/Handle

© 2018 Softomotive
by Title and/or Class

Properties:

Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.

Depending on the Get Window option you will have some of the following inputs
Actions Reference 465

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.

Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.

Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.

Set Window Visibility to:


Choose in which state you would like to display the window.

5.12.7.5 Move Window Action

Description:

This action sets the position of a specific window

© 2018 Softomotive
by Window Control
Actions Reference 467

by Window Instance/Handle

© 2018 Softomotive
by Title and/or Class

Properties:

Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.

Depending on the Get Window option you will have some of the following inputs
Actions Reference 469

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.

Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.

Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank.

New Window Position:


Set the position of the top left corner of the Window on the X and Y coordinates,
based on the pixels of the screen.

5.12.7.6 Resize Window Action

Description:
This action sets the size of a specific window

© 2018 Softomotive
by Window Control
Actions Reference 471

by Window Instance/Handle

© 2018 Softomotive
by Title and/or Class

Properties:

Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.

Depending on the Get Window option you will have some of the following inputs
Actions Reference 473

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.

Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.

Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank. this blank.

New Window Size:


Set the new size of the Window, in pixels.

5.12.7.7 Close Window Action

Description:

This action closes a specific window

© 2018 Softomotive
by Window Control
Actions Reference 475

by Window Instance/Handle

© 2018 Softomotive
by Title and/or Class

Properties :

Get Window:
Choose whether the action looks for the Window using a UIAutomation Instance
Variable or a combination of Window Title/Class.

Depending on the Get Window option you will have some of the following inputs
Actions Reference 477

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Window Instance:
Enter the variable of a variable that contains a UI Automation Instance, acquired by a
Get Window Action.

Window Title:
Choose title of window. You can use wildcards, like '?' or '*'. If you can't find the
window title in the dropdown list, type it yourself, or open it and press the Refresh
button to the right.

Window Class:
Optional: If you have two windows with the same title, Window Class may help
differentiate between them. In this case, enter the class of the window you wish to
use. Otherwise, leave this blank. this blank.

5.12.8 Form Filling


5.12.8.1 Focus Text Field in Window Action

Description:
Sets the input Focus on a Text Box of a Window and scrolls it into view.

© 2018 Softomotive
Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

5.12.8.2 Populate Text Field in Window Action

Description:
Fills a TextBox in a Window with the specified text.
Actions Reference 479

Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Text to Fill In:


Enter here the text you want to fill in the text field with.

You may also use as input the value of a variable defined in a preceding action of your
Robot.

© 2018 Softomotive
5.12.8.3 Press Button in Window Action

Description:

Presses a Window Button

Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.
Actions Reference 481

5.12.8.4 Select Radio Button in Window Action

Description:

Selects a Radio Button in the Window

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.

5.12.8.5 Set Checkbox State in Window Action

Description:
Checks or unchecks a Checkbox in a Window Form

© 2018 Softomotive
Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Set Checkbox State to:


Select whether you want the checkbox to be checked or unchecked.

5.12.8.6 Set Dropdown List Value in Window Action

Description:
Sets or clears the Selected Option from a Drop Down List in a Window Form
Actions Reference 483

Operation: Clear Selected Options

© 2018 Softomotive
Operation: Select Option(s)

Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Operation:
Set whether you want to select a value or clear the selected value from a dropdown
list.
Actions Reference 485

Select Option(s) by:


Set the selection method for the value(s) of the Dropdown list.

You may choose to do so either by name or by ordinal position.

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.

5.12.9 Data Extraction


5.12.9.1 Get Details of Window Action

Description:
Get a property of a Window, such as its title or its source text.

© 2018 Softomotive
Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Operation:
Specify the information of the running Window that you want to retrieve. You have the
option to get details such as Window title,Window text, Window location and size.

Store Property Into:


Set the name of the variable that will hold the retrieved information of the Window.
The value of this variable can be used in a following action (e.g. displayed through a
“Display Message” action).
Actions Reference 487

5.12.9.2 Get Details of Element in Window Action

Description:

Gets the value of an element’s attribute 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.

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.

Store Element Text Into:


Set the name of the variable that will hold the retrieved information of the Element’s
attribute. The value of this variable can be used in a following action (e.g. displayed
through a “Display Message” action).
Actions Reference 489

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.

© 2018 Softomotive
Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Operation:
Specify whether you want to retrieve the names of multiple Checkboxes in the running
window or just the State of a Specific Checkbox

Store Selected Checkboxes/Checkbox Into:


Set the name of the variable that will hold the names of the Selected
Checkboxes/state of the specific Checkbox. The value of this variable can be used in a
following action (e.g. displayed through a “Display Message” action).

5.12.9.4 Get Selected Radiobutton in Window Action

Description:
Retrieves the names of the Selected Radiobutton in a Radiobutton Group or the State
of a specific Radiobutton.
Actions Reference 491

© 2018 Softomotive
Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Operation:

Specify whether you want to retrieve the name of the Radiobutton that is selected
within a Radiobutton Group in the running window or just the State of a Single
Radiobutton.

Store Selected Radiobutton Into:


Set the name of the variable that will hold the name of the Selected Radiobutton/state
of the specific Radiobutton. The value of this variable can be used in a following action
(e.g. displayed through a “Display Message” action).

5.12.9.5 Extract Data from Window Action

Description:
Extracts Data from specific parts of a Window in the form of single values, lists or
tables.
Actions Reference 493

Store data in an Excel Spreadsheet

© 2018 Softomotive
Store data in a Variable

Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Store Extracted data in:


Specify whether you want to store the Extracted Data in an Excel Spreadsheet or as
the value of a variable.
Actions Reference 495

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.

Store Extracted Data Into:


In the case that you have selected to store the Extracted Data as the value of a
variable,set the name of the variable that will hold these Data. The value of this
variable can be used in a following action (e.g. displayed through a “Display Message”
action).

5.13 Web Automation


5.13.1 Launch New Internet Explorer Action

Description:
Launches a new instance of IE or attaches to a running instance of IE for automating
web sites and web applications.

Launch Automation Browser

© 2018 Softomotive
Launch New Internet Explorer
Actions Reference 497

Attach to running IE

© 2018 Softomotive
Advnced tab of "Launch New Internet Explorer"

Properties:

Operation:
Select the type of Internet Explorer you wish to work with. Note that if you want to
use Internet Explorer to automate your web related tasks you will need to configure its
security settings 240 first.

Initial URL:
Enter the URL of the web site you want to visit as soon as the web browser is
launched.

Window State:
Specify whether the Web Browser window will be launched in normal, minimized of
maximized state.
Actions Reference 499

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.

Store Internet Explorer Instance into:


Enter a name to be the variable that will store the specific Internet Explorer Instance
for use with later web automation actions.

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.

Wait for Page to Load:


Choose whether you want the Robot to wait for the new web page to load completely
before proceeding to the next action.

If a popup dialog appears:


Specify what you want the Robot to do if a popup dialog appears while loading the
initial web page.

5.13.2 Go to Web Page Action

Description:
Navigates the Web Browser to a new page, back, forward or reloads the currently
loaded page.

© 2018 Softomotive
Actions Reference 501

Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

Navigate:
Specify whether you want to visit a new URL, refresh the page, move back or forward.

URL to navigate to:


Enter here the URL you want to navigate to.

Wait for Page to Load:


Choose whether you want the Robot to wait for the new web page to load completely
before proceeding to the next action.

If a popup dialog appears:


Specify what you want the Robot to do if a popup dialog appears while loading the
web page.

5.13.3 Click Link on Web Page Action

Description:
Clicks on a Link, or any other element, of a Web Page.

© 2018 Softomotive
Actions Reference 503

Properties:

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Wait for Page to Load:


Choose whether you want the Robot to wait for the new web page to load completely
after clicking on the link.

If a pop-up dialog appears:


Specify what you want the Robot to do if a pop-up dialog appears after clicking on the
link.

5.13.4 Click Download Link on Web Page Action

Description:
Clicks on a link in a Web Page that results in downloading a file.

© 2018 Softomotive
Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Destination Folder:
Enter the folder where you want the file to be saved.
Actions Reference 505

Store Download File into:


Enter the name to be the variable that will store the file on the disk where the
download has been saved. This will be a file path that consists of the download folder
as specified above plus the name of the file as provided by the web server.

5.13.5 Hover Mouse over element on Web Page Action

Description:
This action hovers the mouse over an element of a Web Page

Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to use. This must
be a variable defined by a preceding "Launch New Internet Explorer 495 " action.

© 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.

5.13.6 Close Internet Explorer Action

Description:
Closes a Web Browser window that has been previously opened by a "Launch New
Internet Explorer" 495 action.

Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to close. This
must be a variable defined by a preceding "Launch New Internet Explorer 495 " action.
Actions Reference 507

5.13.7 Web Forms


5.13.7.1 Focus Text Field on Web Page Action

Description:
Sets the input Focus on a Text Box of a Web Page and scrolls it into view.

© 2018 Softomotive
Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

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.

Wait for Page to Load:


Choose whether you want the Robot to wait for the new web page to load completely
after setting the focus on the text field.

If a popup dialog appears:


Specify what you want the Robot to do if a popup dialog appears after setting the
focus on the text field.
Actions Reference 509

5.13.7.2 Populate Text Field on Web Page Action

Description:

Fills a web form text field in a web page with the specified text.

© 2018 Softomotive
Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Text To Fill-In:

Enter here the text you want to fill in the text field with.
Actions Reference 511

Emulate Typing:
Specify whether you want the text to be filled in at once by simply setting the value
of the text box, or emulate a user typing by sending characters one by one. The latter
method is slower, but required in some complex web pages.

Unfocus Text after filling it:


Choose whether you want the text field to become unfocused right after this action
fills it with the text you 've specified.

If you are planning on scraping autocompletion lists, you most probably need to leave
this option unchecked.

Wait for Page to Load:


Choose whether you want the Robot to wait for the new web page to load completely
after populating the text field.

If a popup dialog appears:


Specify what you want the Robot to do if a popup dialog appears after populating the
text field.

5.13.7.3 Set Checkbox State on Web Page Action

Description:
Checks or unchecks a Checkbox in a Web Form.

© 2018 Softomotive
Actions Reference 513

Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

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.

Set Checkbox State to:


Select whether you want the checkbox to become checked or unckeched.

Wait for Page to Load:


Choose whether you want the Robot to wait for the new web page to load completely
after setting the checkbox state.

© 2018 Softomotive
If a popup dialog appears:
Specify what you want the Robot to do if a popup dialog appears after setting the
checkbox state.

5.13.7.4 Select Radio Button on Web Page Action

Description:
Selects a Radio Button on the Web Page.
Actions Reference 515

Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer" action.

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.

Wait for Page to Load:


Choose whether you want the Robot to wait for the new web page to load completely
after selecting the radio button.

If a popup dialog appears:


Specify what you want the Robot to do if a popup dialog appears after selecting the
radio button.

© 2018 Softomotive
5.13.7.5 Set DropDown List Value on Web Page Action

Description:

Set or clear the Selected Option for a Drop Down List in a Web Form.
Actions Reference 517

Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Operation:
Select whether you want to select a value or clear the selected value of the dropdown
list.

© 2018 Softomotive
Selection Option(s) by:
Choose the method to use in order to select the options: By name or by ordinal
position (1 2 3 ...) inside the list.

Option Names:
Enter one or more options (one per line if more than one) you want to be selected in
the drop down list. Multiple options make sense only when working with multi-select
lists. If the list is single-selection, then only the first option specified will be used.

Options Indeces:
Type a space-separated list of 1-based indeces (e.g. 1 3 4), denoting which options of
the list should be selected.

Wait for Page to Load:


Choose whether you want the Robot to wait for the new web page to load completely
after setting the value for the dropdown list.

If a popup dialog appears:


Specify what you want the Robot to do if a popup dialog appears after setting the
value for the dropdown list.

5.13.7.6 Press Button on Web Page Action

Description:
Presses a button on a Web Page Form.
Actions Reference 519

© 2018 Softomotive
Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

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.

Wait for Page to Load:


Choose whether you want the Robot to wait for the new web page to load completely
after the button is pressed.

If a Popup Dialog Appears:


Specify what you want the Robot to do if a popup dialog appears after pressing the
button.
Actions Reference 521

5.13.8 Web Data Extraction


5.13.8.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.

Store extracted data into Excel

© 2018 Softomotive
Store extracted data into a Variable

Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

"Specify Web Data to Extract" button:


To specify which parts of a web page will be extracted you can press this button to
launch the "Data Extraction Web Helper 228 ". Though this tool you can select the
elements that you want to retrieve as well as the form in which you want to retrieve
the values. Depending on your selection, the result can be in a form of a list, a table or
a single value.
Actions Reference 523

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).

Store New Excel Instance Into:


Enter a name to be the variable that will hold the Excel Instance with the Extracted
Data. You can use this instance to manipulate the spreadsheet (or save and close it)
by using the dedicated Excel Actions.

Store Extracted Data Into:


Enter a name to be the variable that will hold the Extracted Data.

5.13.8.2 Get Details of Web Page Action

Description:
Get a property of a Web Page, such as its title or its source text.

© 2018 Softomotive
Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

Operation:
Specify the information of the Web Page that you want to retrieve.

Store Property Into:


Set the name of the variable that will hold the retrieved information of the Web Page.

5.13.8.3 Get Details of Element on Web Page Action

Description:
Gets the value of an element's attribute on a Web Page.
Actions Reference 525

© 2018 Softomotive
Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

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.

Store Web Element Attribute into:


Enter a name to be the variable that will hold the value of the Web Element's attribute.

5.13.8.4 Take Screenshot of Web Page Action

Description:
Takes a screenshot of the Web Page (or an element of the Web Page) currently
displayed in the browser and saves the image into a file or to the clipboard.
Actions Reference 527

Properties:

Web Browser Instance:


Enter the variable that contains the Web Browser Instance you want to work with.
This must be a variable defined by a preceding "Launch New Internet Explorer 495 "
action.

Operation:
Specify whether you want to capture the entire web page or only a specific element of
it.

© 2018 Softomotive
Control:

Click on Select Control from Repository button and a box with all controls will appear.
Hover over camera icon to preview the control's image.

Save Captured Image to:


Choose whether you want to save the image into a file or store it into the clipboard.

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.

5.13.9 Direct Web Access


5.13.9.1 Download from Web Action

Description:
This action downloads text from a web page, or a file from the web, and stores it.
Actions Reference 529

© 2018 Softomotive
Properties:

URL:
First choose http or https protocol, then enter the remainder of the web address.

Method:
Choose how you want to retrieve a website's information. Choose GET if all information
needed is in the URL, and choose POST if you need to enter more information
(passwords, etc).

Return Data:
Specify how the returned data will be stored. If you are downloading a webpage, you
can choose to Get Text so you can access it directly. Otherwise, or if you are
downloading a file, choose Save to Disk.
Actions Reference 531

Post Parameters:
Click here to Add, Edit, or Delete details for a Post's Parameter(s).

Connection Timeout:
Specify the time (in seconds) that the agent should wait for a connection to be
established with the server, before giving up.

Follow Redirection:
Choose whether you want to allow the web server to redirect you to another web
page or website.

Clear Cookies:
Choose whether you want to clear all cookies created by similar actions during this
Robot before this action. Note that WinAutomation does not interact with existing
cookies, and that old cookies are not used or affected by the Robot, and no new
cookies are made by the Robot. Therefore this only applies to cookies created by other
Actions in this Robot.

User Agent:
Choose which browser identity you wish to be seen as. Some web servers will not
allow you access unless you choose a browser identity.

Encoding:

Choose the encoding used for the web page. If you choose Auto-detect the encoding
to be used will be specified by the web server.

File Name:
Choose whether you want to keep the original name of the downloaded file, or you
want to specify a new name. In the first case you will need to provide just the
destination folder where the file will be saved. In the second case you will need to
provide the full path of the downloaded file (destination folder plus the new file name).

Destination File Path:


Enter or choose a file path, or a previously stored variable, to specify the full path
(folder plus filename) where the file returned by the web server will be stored.

Destination Folder:

© 2018 Softomotive
Enter or choose a local folder, or a previously stored variable containing a folder, to
specify the folder where the file returned from the web server will be saved.

Store Web Page Text into:


Enter a name to be the variable that will store the Webpage text.

Store Downloaded File into:


Enter a name to be the variable that will store the file object.

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).

5.13.9.2 Invoke Web Service Action

Description:
This action invokes a web service by sending data through HTTP and retrieving the
response from the web service.
Actions Reference 533

© 2018 Softomotive
Properties:

URL:
First choose http or https format, then enter the remainder of the web address.
Actions Reference 535

Method:
Choose the HTTP method you want to use to invoke the web service.

Accept:
Specify the acceptable content type for the response of the web service.

Content Type:
Specify the content type of the request that will be sent to the web service.

Custom Headers:
Specify any custom headers to be included in the request that will be sent to the web
service.

Request Body:
Specify the body of the request that will be sent to the web service.

Return Data:
Specify how the Web Service response will be stored. You can either store it into a
variable or (if the Web Service will return a file) store it into a file by choosing Save to
Disk.

File Name:

Choose whether you want to keep the original name of the downloaded file, as
provided by the Web Service, or you want to specify a new name. In the first case
you will need to provide just the destination folder where the file will be saved. In the
second case you will need to provide the full path of the downloaded file (destination
folder plus the new file name).

Destination File Path:

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 or choose a local folder, or a previously defined variable containing a folder, to


specify the folder where the file returned by the Web Service will be saved.

Store Headers Into:

© 2018 Softomotive
Enter a name to be the variable that will store the HTTP Headers of the response.

Store Web Service Response into:

Enter a name to be the variable that will store the Web Service response.

Store Downloaded File into:

Enter a name to be the variable that will store the file object.

Advanced tab

Connection Timeout:

Specify the time (in seconds) that the agent should wait for a connection to be
established with the server, before giving up.

Follow Redirection:
Choose whether you want to allow the web server to redirect you to another web
service.

Clear Cookies:
Choose whether you want to clear all cookies created by similar actions during this
Robot before this action. Note that WinAutomation does not interact with existing
cookies, and that old cookies are not used or affected by the Robot, and no new
cookies are made by the Robot. Therefore this only applies to cookies created by other
Actions in this Robot.

Fail on Error Status:


Choose whether you want the responses of the invoked web service that denote
errors to be processed as if they were normal responses (suppressing all exceptions) or
whether you would like them to result in the related exceptions displayed in the
Exception Handling Tab)

Encode Request Body:


Specify whether the body of the request should be url-encoded before invoking.

HTTP Authentication:
Specify whether or not the web server requires authentication. This property refers to
HTTP authentication (that is, when the browser displays a popup window asking for
user name and password).
Actions Reference 537

User Name:
Enter the User Name for the web server here.

Enter Password:
If you choose 'directly', the password entered in the Password field will be hidden. If
you choose 'as variable' it will expect you to enter a variable and treat the '%' as an
indicator of a variable, not part of the password.

Password:
Enter the Password here. You may enter either a text, or a variable containing the
password depending on the selection of the previous property (Enter Password).

5.14 FTP
5.14.1 Open FTP Connection Action

Description:
This action establishes a connection to a remote FTP server

© 2018 Softomotive
Properties:

Ftp Server:
Enter the FTP Server address here.

Port:
Choose which port to use for the FTP Server. Usually, this is Port 21.

Active Mode:
Uncheck this box if you want the connection to be made in passive mode. Default is
Active Mode, as that is most common.
Actions Reference 539

User Name:
Enter the User Name for this FTP Server here.

Enter Password:
If you choose 'directly', the password entered in the Password field will be hidden. If
you choose 'as variable' it will expect you to enter a variable and treat the '%' as an
indicator of a variable, not part of the password.

Password:
Enter the Password here. You may enter either a text, or a variable containing the
password depending on the selection of the previous property (Enter Password).

Store Connection into:


Enter a name to be the variable that will store the specific FTP Connection for use
with later FTP Actions. This allows you to specify which, of possibly several, FTP
Connection to access.

5.14.2 Open Secure FTP Connection Action

Description:
This action establishes a secure connection to a remote FTP server

© 2018 Softomotive
Properties:

Ftp Server:
Enter the FTP Server address here.

Port:
Choose which port to use for the FTP Server.

Secure FTP Protocol:


Choose the FTP protocol you wish to use to encrypt your connection.
Actions Reference 541

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).

File Path to Private Key:


If the authentication method is set to "Private Key" enter here the path to the file
containing the private-key to be used for authentication.

Enter Private Key Pass Phrase:


If you choose 'directly', the pass phrase entered in the Private Key Pass Phrase 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.

Private Key Pass Phrase:


Enter the private key pass phrase here. You may enter either a text, or a variable
containing the password depending on the selection of the previous property (Enter
Private Key Pass Phrase).

Store Connection into:


Enter a name to be the variable that will store the specific FTP Connection for use
with later FTP Actions. This allows you to specify which, of possibly several, FTP
Connection to access.

© 2018 Softomotive
5.14.3 Close FTP Connection Action

Description:

This action closes an open connection to an FTP server

Properties:

FTP Connection to close:


Enter the variable containing the previously opened FTP Connection you wish to close.
You must have previously specified this variable in an Open FTP Connection action.

5.14.4 List FTP Directory Action

Description:
This action returns the subdirectories and files contained in the current directory of an
FTP connection
Actions Reference 543

Properties:

FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to look
in. You must have previously specified this variable in an Open FTP Connection action.

Store Subdirectories into:


Enter a name to be the variable that will store the list of FTP folders in the current FTP
location.

Store Files into:


Enter a name to be the variable that will store the list of FTP files in the current FTP
location.

© 2018 Softomotive
5.14.5 Change Working Directory Action

Description:

This action sets the current working directory for an FTP connection

Properties:

FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to alter.
You must have previously specified this variable in an Open FTP Connection action.

Set Working Directory to:


Enter the path, or a variable containing the path, that you want to set as the new
directory you are working from. When you first connect to an FTP Server, you are
always in the root directory. This allows you to work with files and folders in a different
directory without specifying a path each time.
Actions Reference 545

5.14.6 Download File(s) from FTP Action

Description:

This action downloads one or more files from an FTP server

Properties:

FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to
download from. You must have previously specified this variable in an Open FTP
Connection action.

File(s) to Download:
Enter the name of the file(s), filepath(s), or a variable containing the file(s), that you
wish to download.

© 2018 Softomotive
Download into Folder:
Enter the full path of a folder, or the name of a variable containing a folder, to be the
destination of the file(s) you are downloading.

Transfer Type:
Enter ASCII or binary if you wish to specify the method for downloading a single file. If
you're not sure what type the file will be, or if you are downloading more than one,
choose Auto so WinAutomation will follow the transfer rules specified in Tools ->
Options -> FTP from the WinAutomation Console.

If File Exists:
Choose what you want to do if the file already exists. Overwrite writes over the
original file so you can't access it any more, and Download with Unique Name adds an
underscore and a sequential number to the end.

5.14.7 Download Folder(s) from FTP Action

Description:
This action downloads one or more folders from an FTP server
Actions Reference 547

Properties:

FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to
download from. You must have previously specified this variable in an Open FTP
Connection action.

File to Download:
Enter the name of the folder(s) path(s), or a variable containing the FTP folder(s),
that you wish to download.

Download into Folder:


Enter the full path of a folder, or the name of a variable containing a folder, to be the
destination of the FTP Folder(s) you are downloading.

© 2018 Softomotive
5.14.8 Upload File(s) to FTP Action

Description:

This action uploads one or more files to an FTP server

Properties:

FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to upload
to. You must have previously specified this variable in an Open FTP Connection action.

File to Upload:
Enter the full path of the file(s), or a variable containing file(s), to upload.
Actions Reference 549

Transfer Type:
Enter ASCII or binary if you wish to specify the method for downloading a single file. If
you're not sure what type the file will be, or if you are downloading more than one,
choose Auto so WinAutomation will follow the transfer rules specified in Tools ->
Options -> FTP from the WinAutomation Console.

If File Exists:
Choose what you want to do if the file already exists. Overwrite writes over the
original file so you can't access it any more, and Download with Unique Name adds an
underscore and a sequential number to the end.

5.14.9 Upload Folder(s) to FTP Action

Description:
This action uploads one or more folders to an FTP server

Properties:

© 2018 Softomotive
FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to upload
to. You must have previously specified this variable in an Open FTP Connection action.

Folder(s) to Upload:
Enter the full path of the folder(s), or a variable containing folder(s), to upload.

5.14.10 Delete FTP File Action

Description:
This action deletes one or more files from an FTP server

Properties:
Actions Reference 551

FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.

File to Delete:
Enter the name of the file, filepath, or a variable containing a file, that you wish to
delete.

5.14.11 Rename FTP File Action

Description:
This action renames a file that resides on an FTP server

Properties:

© 2018 Softomotive
Ftp Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.

File to Rename:
Enter the name of the file, filepath, or a variable containing a file, that you wish to
rename.

New File Name:


Enter a new name for the file, or a variable containing the new name of the file. If you
enter a name with a path, the file will also be moved to that location. If the location
doesn't exist, it will throw an exception.

5.14.12 Create FTP Directory Action

Description:
This action creates a directory on an FTP server
Actions Reference 553

Properties:

FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.

New Directory:
Enter a name, or a variable containing a name, to be the new directory. If this
directory already exists, nothing will happen. If you specify a path, all of the new
folders leading to the new directory will be created.

5.14.13 Delete FTP Directory Action

Description:
This action deletes a directory from an FTP server

© 2018 Softomotive
Properties:

FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.

Directory to Delete:
Enter the name, or a variable containing the name, of a folder to be deleted.
Everything in the folder will be deleted as well.

5.14.14 Synchronize FTP Directory Action

Description:
Synchronizes the files and subdirectories of a given local folder with a given remote
FTP directory. This action can synchronize a local folder to the contents of a remote
FTP directory (download updates), or it can synchronize a remote FTP directory to the
contents of a local folder (upload updates).
Actions Reference 555

© 2018 Softomotive
Properties:

FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.
Actions Reference 557

Synchronization Direction:
Choose the direction of synchronization, i.e., whether the local folder will be
synchronized to the remote directory (DOWNLOAD) or the remote directory will be
synchronized to the local folder (UPLOAD).

Files to Synchronize:
Choose whether you want to synchronize all files, or you want to use a file filter to
include or exclude a specific set of files.

File Filter:
Enter the File-name pattern that controls which files will be included to, or excluded
from the synchronization (depending on the setting of the 'Files to Synchronize'
property). This allows wild cards, for example "*.txt" or "document?.doc" (without the
quotes). If you want to allow for multiple file filters, separate your choices with
comma, for example, "*.txt,*.exe".

Local Folder:
Enter the name (or a variable) of the local folder to be synchronized. Depending on the
synchronization 'Direction' property, this will be either the source or the target
directory.

Remote FTP Directory:


Enter the name (or a variable) of the remote FTP directory to be synchronized.
Depending on the synchronization 'Direction' property this will be either the source or
the target directory.

Delete if source is absent:


Choose whether you want a file that exists only in the target directory and not in the
source directory to be deleted from the target directory during synchronization.

Include Subdirectories:
Choose whether you want the subdirectories of the specified directories to be included
in the synchronization process.

Time on FTP Server is:


Enter here the time difference between the FTP server and the local computer. Very
often FTP servers are located in different time zones to their clients. The time
difference should be used to ensure correct date matching, so that the action will be
able to detect which files are out of date and should be synchronized.

© 2018 Softomotive
Store Added Files into:
Enter the name to be the variable that will hold the list of files that initially existed only
in the source directory and after the synchronization were added to the target
directory.

If the target directory is the local folder (download direction selected), this variable
will hold a list of Files, otherwise, if the target directory is the remote FTP directory
(upload direction selected), this variable will hold a list of FTP Files.

Store Modified Files into:

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.

Store Deleted Files into:


Enter the name to be the variable that will hold the list of files that initially existed only
in the target directory and were deleted during synchronization. Note that files that
appear only in the target directory are deleted only if the 'Delete if source file is
absent' property is checked.

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.

5.14.15 Invoke FTP Command Action

Description:
This action invokes the given literal FTP command on the server.
Actions Reference 559

Properties:

FTP Connection:
Enter the variable containing the previously opened FTP Connection you wish to work
in. You must have previously specified this variable in an Open FTP Connection action.

FTP Command:
Enter the command, or a variable containing the command, that you wish to run along
with any arguments. For example, you could run FEAT, or CHMOD here.

Valid Reply Code(s):


Enter the code(s) that could be returned by the Command, separated by semi-colon. If
the FTP Command returns a code that was not entered here, this action will throw an
exception.

© 2018 Softomotive
Store Reply Code into:
Enter a name to be the Variable that will contain the actual code that was returned.

Store Reply Text into:


Enter a name to be the Variable that will contain any text returned by the FTP Server.

5.15 Email
5.15.1 Retrieve Emails Action

Description:
This action retrieves email messages from an IMAP server.

Messages can be filtered based on various criteria, such as the sender's address, the
IMAP folder (location on server) or even the existence of specific keywords in the
body, subject or other fields of the email.
Actions Reference 561

Note that this action will mark the retrieved emails as read on the server. If you wish
to keep the emails marked as unread you can change their state back to unread
through the Process Emails Action. Only the messages that match all of the filters set
in the action will be included in the retrieval and marking.

© 2018 Softomotive
Properties:

Mail Folder:
In the Mail Folder property you can enter the name of the mail folder (also known as
`Mailbox') that you want to retrieve messages from.

You can select to retrieve emails from your INBOX or from any other folder of your
email account. To avoid confusion, you should keep in mind that in this action, by
using the term “Mail Folder”, we refer to the folders of your email server and not to the
folders where you store your files locally, in your PC.

If you have already set some values in the IMAP Server Properties Tab for this or a
previous Retrieve Emails action in the Robot, the drop-down menu will load and present
you all the available folders from your email server. However, even if you have not
already set IMAP Server properties, you can specify your preferred Mail Folder by just
typing its name in the Mail Folder property (provided that when you execute this
Robot, the specified folder will exist in the email server).
Actions Reference 563

Retrieve:
In the Retrieve property you can specify whether you want to retrieve all messages
from the Mail Folder, or only the unread ones. This could be important especially when
the Retrieve Emails Action is to be performed periodically and you want to get
feedback on only the updated conversations and unread emails from your mailbox.

From Contains:
Enter the full e-mail address of the Sender whose messages you want to retrieve.
Leave this field blank to retrieve all messages regardless of the sender.

To Contains:
Enter the full e-mail address(es) of the Receipient(s) (separated by space if more than
one) for the messages you want to retrieve. Leave this field blank to retrieve all
messages regardless of the recipient(s).

Subject Contains:
Enter the keywords to be found within the email Subject. Leave this field blank to
retrieve all emails regardless of the their subject.

© 2018 Softomotive
Body Contains:
Enter the keywords to be found within the email Body. Leave this field blank to retrieve
all emails regardless of the their content.

Of course, as with any other property in WinAutomation, you have the option to define
your criteria on all "Contains" properties using Robot Variables. You can, for example,
set the “From Contains” property to get its value from a variable where you have
stored email address information of the customers that bought a specific product and
you want to retrieve any feedback provided by them:

With this setting the Retrieve Emails Action will search your specified Mailbox (or your
email server inbox if not otherwise specified) for any emails sent by any of the email
addresses stored as the values of this Variable (unread or all according to your
preference) and retrieve them.

The use of Variables as the values of the Sender’s and/or Receiver’s properties also
gives you the option to include the Retrieve Emails Action in a Loop Section of a Robot
and iteratively check and retrieve emails for each one of this group of email addresses.

Below we present you a part of a script that uses a variable (here named %Contacts
%) as that input of "From Field Contains" property of Retrieve Emails Action, in order to
retrieve emails sent by each one of a group of contacts and display a message
informing you about the number of the unread messages you have from each one of
them.
Actions Reference 565

Attachments:
Specify whether you want to save the attachments of the emails retrieved or not.

Save attachments into:


Enter here the folder in which you want the attachments to be saved. WinAutomation
will save all the attachments of the retrieved emails to the same (specified) local
folder. In the case that more than one emails have the same name, WinAutomation will
rename them by appending a 4-digit suffix. For example, if there is already a file named
OrderForm.doc in the destination folder, the next attachment of a retrieved email also
named OrderForm.doc that is to be saved, will eventually be saved as
OrderForm_0001.doc.

Furthermore, as you may see below in the Mail Message Variable Properties, each
retrieved email variable is accompanied by a list of its attachments that are saved
locally (represented by the attachments property) to which you can refer in order to
track the email to which each file was attached to.

© 2018 Softomotive
Save Emails into:
Enter a name to be the variable that will store the retrieved e-mails for later
processing. The outcome of the Retrieved Email Action (%RetrievedEmails%) will be a
List of Mail Messages variable. As every list variable 254 , its only property is “Count”
that has as value the number of the retrieved emails according to our selections in the
Retrieve Emails Action properties fields:

Each item of this list will be a Mail Message 257 object. Since %RetrievedEmails%
Variable is a list type variable, each item of the list (i.e. each email) can be described
by the following notation:
%RetrievedEmails[n]%
with n referring to the index of each retrieved email of our action (e.g. 0 for the first
retrieved email, 1, for second).

Each Mail Message (included as an item in the List of Mail Messages) is itself a
variable with the respective properties 255 (populated by the Retrieve Emails action).

You can retrieve any of each email’s properties and use it as input in an action’s
properties by following the general notation:
%VariableName.PropertyName%
For example if you want to retrieve the Subject of the third retrieved email from you
action, you should use the notation:
%RetrievedEmails[2].Subject%

Below you can see an example of how the Retrieve Emails Action can be used inside a
loop. This section of the Robot’s script will search and retrieve all unread emails from
your Inbox that their subject contains the subtext "Order Form" (as specified in the
Retrieve Emails Action Properties window). If any of the retrieved emails has
attachments, those will be saved locally, inside the specified folder. For every
matching email, this Robot will append the corresponding emails of the sender(s) to a
specific text file.

In other words, the final outcome of this Robot will be a text file containing all the
sender addresses of messages with a subject containing the text "Order Form"
Actions Reference 567

Note that in order to record only the Sender’s address for each of the retrieved emails
we used (as presented in the Properties of “Write Text to File” action window below)
the notation :
%CurrentEmail.From%
requesting from this action to retrieve the value of the “From” property of the
retrieved email used as iterative variable (%CurrentItem%) in each loop.

© 2018 Softomotive
IMAP Server:
Enter the IMAP Server address here (e.g., imap.gmail.com).

Port:
Specify the port to be used for the IMAP Server. Usually, this is Port 993.

Enable SSL:
Specify whether you need to use a secure connection to communicate with the IMAP
Server.
Actions Reference 569

User Name:
Enter the User Name of the e-mail account you want to access.

Enter Password:
If you choose 'directly', the password entered in the Password field will be hidden. If
you choose 'as variable' you must enter a variable containing the password and the '%'
character will be treated as an indicator of a variable, not part of the password.

Password:
Enter the Password here. You may enter either a text, or a variable containing the
password depending on the selection of the previous property (Enter Password).

5.15.2 Process Emails Action

Description:
Moves, deletes or marks as unread an email (or a list of emails) retrieved by a "Retrieve
Emails 560 " action.

Process Emails Action is one of the three actions under the Email Actions category
(the other two being the Send Email 572 and Retrieve Emails 560 ). This particular group
of actions provides WinAutomation with the ability of automating any task typically
performed by email clients. With the Process Email Action you can manipulate the
retrieved emails from a previous Retrieve Emails action. You may delete the emails from
your Server, mark them as (un)read or move them to different folders inside your
Mailbox.

Note that when retrieved, messages are automatically marked as "read" on the server.

© 2018 Softomotive
Actions Reference 571

Properties:

Email(s) to process:
Enter a variable containing the email or list of emails to be processed. This should be a
variable populated by a "Retrieve Emails 560 " action.

Operation:
Specify which operation you want to perform on the specified email messages.

Mail Folder:
Enter the name of the mail folder you want to move the emails to.

IMAP Server:
Enter the IMAP Server address here (e.g., imap.gmail.com).

© 2018 Softomotive
Port:
Specify the port to be used for the IMAP Server. Usually, this is Port 993.

Enable SSL:
Specify whether you need to use a secure connection to communicate with the IMAP
Server.

User Name:
Enter the User Name of the e-mail account you want to access.

Enter Password:
If you choose 'directly', the password entered in the Password field will be hidden. If
you choose 'as variable' you must enter a variable containing the password and the '%'
character will be treated as an indicator of a variable, not part of the password.

Password:
Enter the Password here. You may enter either a text, or a variable containing the
password depending on the selection of the previous property (Enter Password).

5.15.3 Send Email Action

Description:
This action creates and sends a new email message
Actions Reference 573

© 2018 Softomotive
The Send Email Action can be useful in a number of situations, such as:

1. Sending to a large number of recipients (and even personalize each message)

2. Sending emails in specific time intervals

3. Sending messages triggered by specific events, etc.

Properties:
Actions Reference 575

From:
Enter the Sender's email address.

Sender Display Name:


Enter the Sender's display name.

To:
Enter the email(s) of the recipient(s). If you enter more than one email, the list of
addresses should be separated by semi-colons.

CC:
Enter the email(s) of the CC recipient(s). If you enter more than one email, the list of
addresses should be separated by semi-colons.

BCC:
Enter the email(s) of the BCC (hidden) recipient(s). If you enter more than one email,
the list of addresses should be separated by semi-colons.

Subject:
Enter the subject of the email.

Body:
Enter the text of the body.

Body Is HTML:
Choose whether the body of the email is interpreted as HTML coding.

Attachment(s):
Enter or choose the full path of any attachment(s), or choose a variable that contains
a file or a list of files. Multiple files should be enclosed in double quotes (") and
separated by a space character.

SMTP Server:
Enter the SMTP Server address here.

© 2018 Softomotive
Server Port:
Choose which port to use for the Server. Usually, this is Port 25.

Enable SSL:
Choose whether or not to communicate with the Server through a secure connection.

SMTP Server need authentication:


Specify whether or not the server requires authentication.

User Name:
Enter the User Name.

Password:
Enter the Password. This entry will be hidden.

5.16 Cmd Session


5.16.1 Open Cmd Session
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description:

This action opens a new command line session. This session will remain open until you
close it with a "Close Cmd Session". In the meantime you can write commands or read
ouput from the Cmd session. This will be extremely usefully in cases where user input is
required on the Cmd or in case that you wish to run something like a batch file.
Actions Reference 577

Properties:

Working Folder: Enter the full path of the folder to work out of, if applicable

Store Cmd Session into: Enter a variable name that will hold the Cmd session, for
use in later Cmd Session actions.

© 2018 Softomotive
5.16.2 Close Cmd Session
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description: This action closes a previously opened Cmd session.

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.

5.16.3 Write to Cmd Session


(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description: This action executes a command in an open Cmd Action.


Actions Reference 579

Properties:

Cmd Session: Enter the variable that will contain a previously opened Cmd Session.

Command: Enter the command that you want to execute.

© 2018 Softomotive
5.16.4 Read from Cmd Session
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)
Actions Reference 581

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

© 2018 Softomotive
5.16.5 Wait for Text on Cmd Session
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description: This action waits for a specific text on a previously opened Cmd Session.

Properties:

Cmd Session: Enter the variable that will contain a previously opened Cmd Session.

Text to Wait: Enter the text or the Regular Expression that you want to wait to
appear on standard output or on standard error

Is Regular Expression: Check this box if you want to wait for for a regular
expression match instead of a plain text.

Ingore Case: Check this box if you wish to ingore the case of the text to wait.
Actions Reference 583

5.17 Database
5.17.1 Open SQL Connection
Description:

This action opens a new connection to a database.

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.

5.17.2 Execute SQL Statement Action

Description:
This action connects to a database and executes a SQL statement

© 2018 Softomotive
Properties:

Connection String:
Enter how to connect with the database. The button on the right (with ellipses) will
allow you to build the connection string.

SQL Statement:
Enter the SQL Statement to be issued to the database here.

Timeout:
The Execute SQL Statement action waits for a result from the database. Choose a
maximum amount of time that the action will wait.

Store Query Result into:


Enter a name to be the variable that will store the result from the database in the form
of a data table, with rows and columns.
Actions Reference 585

More about connecting to a database and executing SQL Queries on it, please visit:

Connecting to a Database 267

Connect to Excel or Access Database 268

Connection Strings and Drivers 268

5.17.3 Close SQL Connection

Description:
This action closes an open connection to a database.

© 2018 Softomotive
Properties:

SQL Connection to close: Enter the variable containing the previously opened SQL
connection you wish to close. You must have previously specified this variable in an Open
SQL connection action.

5.18 Excel
5.18.1 Launch Excel Action

Description:

This action launches a new Excel Instance and opens an Excel document

Properties:

Launch Excel:
Choose whether you want to open a New Excel document, or an existing one.
Actions Reference 587

Document Path:
Enter the full path of the existing Excel document you wish to open

Make Instance Visible:


Choose whether you want to make the Excel Window visible, or hide it. This doesn't
limit WinAutomation's ability to use Excel, just the whether the user sees it.

Store Excel Instance into:


Enter a name to be the variable that will store the specific Excel Instance for use with
later Excel actions. This allows you to specify which, of possibly several, Excel
spreadsheet to access.

Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.

5.18.2 Attach to Running Excel Action

Description:
Attached to an Excel Document that's already open.

© 2018 Softomotive
Properties:

Document Name:
Enter either the name or the path of the Excel file you wish to attach to.

Store Excel Instance into:


Enter the name to be the variable that will hold the Excel Instance this action has
attached to, for use with later Excel actions.

5.18.3 Close Excel Action

Description:
This action closes a previously launched Excel Instance
Actions Reference 589

Properties:

Excel Instance:
Enter the variable that contains the Excel Instance you want to close. You must have
previously specified this variable in a Launch Excel action.

Before Closing Excel:


Choose whether and how to save the document of this Instance before closing that
Instance.

Document Path:
Enter or choose the full path you want to save the document as.

Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.

© 2018 Softomotive
5.18.4 Set Active Worksheet Action

Description:

This action activates a specific worksheet 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.

Choose Worksheet by:


Choose to find the worksheet by name or index.

Worksheet Index:
Enter the Index number of the Worksheet you wish to make active. The numbering
starts from 1, meaning that the index of the fist worksheet is 1, of the second is 2,
etc.
Actions Reference 591

Worksheet Name:
Enter the name of the Worksheet you wish to make active.

Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.

5.18.5 Add New Worksheet Action

Description:
This action adds a new worksheet to the document of a previously launched Excel
Instance

Properties:

© 2018 Softomotive
Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.

New Worksheet Name:


Enter the text, or a previously defined text variable, to be used as the name of the
new Worksheet.

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 robot will run.

5.18.6 Delete Excel Worksheet Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:

This action deletes a specific worksheet from a previously launched excel Instance.
Actions Reference 593

Properties:

Excel Instance: Enter the variable that contains the Excel Instance you want to
work with . You must have previously specified this variable in a Launch Excel action.

Delete Worksheet with: Choose whether you want to find the worksheet by Name
or Index

Worksheet Name/Index: Enter the Name/Index of the worksheet you wish to


delete.

5.18.7 Rename Excel Worksheet Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:

This action renames a specific worksheet from a previously launched excel Instance.

© 2018 Softomotive
Properties:

Excel Instance: Enter the variable that contains the Excel Instance you want to
work with . You must have previously specified this variable in a Launch Excel action.

Rename Worksheet with: Choose whether you want to find the worksheet by
Name or Index

Worksheet Name/Index: Enter the Name/Index of the worksheet you wish to


delete. (this will depend on what you selected int he previous option)

Worksheet New Name: Enter the new name of the worksheet


Actions Reference 595

5.18.8 Get Active Excel Worksheet Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:

This action retrieves an Excel document's active worksheet.

© 2018 Softomotive
Properties:

Excel Instance: Enter the variable that contains the Excel Instance you want to
work with . You must have previously specified this variable in a Launch Excel action

Active Worksheet Name: Enter a name to be the variable that will store the
name of the active worksheet

Active Worksheet Index: Enter a name to be the variable that will store the
index of the active worksheet

5.18.9 Get All Excel Worksheets Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:

This action retrieves all worksheet names of an Excel document.


Actions Reference 597

Properties:

Excel Instance: Enter the variable that contains the Excel Instance you want to
work with . You must have previously specified this variable in a Launch Excel action

Worksheet Names: Enter a name to be the variable that will store the name of the
all worksheets

© 2018 Softomotive
5.18.10 Activate Cell in Excel Worksheet Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action activates a cell in the active worksheet of a previously launched Excel
Instance, given column, row and offset.

Properties:

Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.
Actions Reference 599

Activate:
Enter a name to be the variable that will store the numeric value of the first fully
empty column. This will be a number. For example, if column F is the first empty
column, it will be stored as '6'.

Cell Location Column: Enter a numeric value or letter to be the cell column.

Cell Location Row: Enter a numeric value to be the cell row. The numbering starts
from 1.

© 2018 Softomotive
5.18.11 Select Cells in Excel Worksheet Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description: This action selects a range of cells in the active worksheet of a


previously launched Excel Instance
Actions Reference 601

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.

Number of Cells: Enter a numeric value to be the X axis offset

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.

Number of Cells: Enter a numeric value to be the Y axis offset

5.18.12 Get Selected Cell Range From Excel Worksheet Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action retrieves the selected range of cells in a structure consisting of first
column, first row, last column and last row.
Actions Reference 603

Properties:

First Column Index: Enter a name to be the variable that will store the numeric
value of the range's first column.

First Row Index: Enter a name to be the variable that will store the numeric value
of the range's first row.

Last Column Index: Enter a name to be the variable that will store the numeric
value of the range's last column.

Last Row Index: Enter a name to be the variable that will store the numeric value
of the range's last row.

© 2018 Softomotive
5.18.13 Copy Cells in Exel Worksheet Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:

This action copies a range of cells from the active worksheet of a previously launched Excel
Instance

Operation: Single Cell Value


Actions Reference 605

Operation: Value from a Range of Cells

© 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. )

Column: Enter a numeric value or letter to be the cell column.

Row: Enter a numeric value to be the cell row.

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.

Last Column: Enter a numeric value or letter to be the last column.


Actions Reference 607

Last Row: Enter a numeric value to be the last row number.

5.18.14 Paste Cells to Excel Worksheet Action

(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.

Column: Enter a numeric value or letter to be the cell column.

Row: Enter a numeric value to be the row number.

5.18.15 Insert Row in Excel Worksheet Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action inserts a row above a selected row of a previously launched Excel
Instance
Actions Reference 609

Properties:

Excel Instance: Enter the variable that contains the Excel Instance you want to
work with. You must have previously specified this variable in a Launch Excel action.

Row Index: Enter the Index number of the row you wish to add a new row above.
The numbering starts from 1.

5.18.16 Delete Row from Excel Worksheet Action

(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.

5.18.17 Insert Column to Excel Worksheet Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
Actions Reference 611

This action inserts a column to the left of a selected column of a previously launched
Excel Instance

Properties:

Excel Instance: Enter the variable that contains the Excel Instance you want to
work with. You must have previously specified this variable in a Launch Excel action.

Column: Enter a column's index number or letter. A new column will appear on the
left side of the column indicated.

© 2018 Softomotive
5.18.18 Delete Column from Excel Worksheet Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).
Description:
This action deletes a selected column from a previously launched Excel Instance

Properties:

Excel Instance: Enter the variable that contains the Excel Instance you want to
work with. You must have previously specified this variable in a Launch Excel action.

Delete Column: Enter the Index number or letter of the column you wish to delete.
Actions Reference 613

5.18.19 Get First Free Column/Row Action

Description:

This action retrieves the first free column and/or row of the active worksheet. This is
useful for adding new data into a worksheet that already has data in it.

Properties:

Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.

Store First Free Column into:


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'.

© 2018 Softomotive
Store First Free Row into:
Enter a name to be the variable that will store the numeric value of the first fully
empty row.

Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.

5.18.20 Get First Free Row on Column from Excel Worksheet Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action retrieves the first free row, given the column of the active worksheet.
Actions Reference 615

Properties:

Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.

Column: Enter the index or the letter that identifies the column. Column numbering starts
from index 1.

Store Column's First Free Row into: Enter a name to be the variable that will store
the numeric value of the given column's first fully empty row.

5.18.21 Read from Excel Action

Description:
This action reads the value of a cell or a range of cells from the active worksheet of a
previously launched Excel Instance

© 2018 Softomotive
Actions Reference 617

Properties:

Excel Instance:
Enter the variable that contains the Excel Instance you want to work with. You must
have previously specified this variable in a Launch Excel action.

Retrieve:
Choose whether to retrieve the value of a single cell or a table from a range of cells.

© 2018 Softomotive
Start Column:
Enter a numeric value to be the cell column or starting column number. This must be a
number. For example, Column F requires the entry of '6'.

Start Row:
Enter a numeric value to be the cell row or starting row number.

End Column:
Enter a numeric value to be the ending column number. This must be a number. For
example, Column J requires the entry of '10'.

End Row:
Enter a numeric value to be the ending row number.

Advanced Properties Tab - Get Cell Contents as Text:


Check this to retrieve the content of the cell(s) purely as text. Leave this option
unchecked if you want the action's output variable type to match (as closely as
possible) the source cell's data type. In that case, a date in Excel will be stored as
DateTime variable in WinAutomation, numbers as numeric variables etc.

Advanced Properties Tab - First line of range contains column names:


Choose whether this action considers the first row as column names. If it does, the
names won't be read as data into the table, and later actions can search the data by
column names.

Store Cell Value(s) into:


Enter a name to be the variable that will store the value of the single cell or a table
from the range of cells.

Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.
Actions Reference 619

5.18.22 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.

© 2018 Softomotive
Value to Write:
Enter the text, number, or a previously stored variable, to be inserted. If the variable
contains a table, it will fill in cells to the right and below, writing over other cell data if
need be, and a list will fill in cells below.

Cell Column:
Enter a numeric value to be the column number for the cell this action will write to.
This must be a number. For example, Column F requires the entry of '6'.

Cell Row:
Enter a number to be the row for the cell this action will write to.

Cautions:
For any Excel-related action to work correctly, Microsoft Excel must be installed on the
computer where the robot will run.

5.19 Outlook
5.19.1 Launch Outlook Action
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description:
This action launches Outlook and creates a new Outlook Instance
Actions Reference 621

Properties:

Store Outlook Instance into:


Enter a name to be the variable that will store the specific Outlook Instance for use
with later Outlook actions.

Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.

5.19.2 Retrieve Email Messages From Outlook Action


(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description:
This action retrieves email messages from an Outlook account

© 2018 Softomotive
Properties:

Outlook Instance:
Enter the variable that contains the Outlook Instance you want to work with. You
must have previously specified this variable in a "Launch Outlook" action.

Account:
Enter the name of the Outlook account (Data File name) you wish to work with (ex:
john@mail.com, John Tyler, Personal Folders).

Please find the name of your account by navigating to your Account Settings Data
Files Tab.
Actions Reference 623

Mail Folder:
Enter the name of the folder that you want to retrieve messages from. Enter the full
folder path for subfolders (ex. Inbox\Work).

Retrieve:
Specify whether you want to retrieve all messages in the folder, or only the unread
ones.

Mark As Read:
Specify whether you want to mark as read all the unread messages retrieved.

"From" Field 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.

© 2018 Softomotive
"To" Field Contains:
Enter the full e-mail address(es) of the Receipient(s) (separated by space or semicolon
if more than one) for the messages you want to retrieve. Leave this field blank to
retrieve all messages regardless of the recipient(s).

"Subject" Contains:
Enter the key phrase to be found within the email Subject. Leave this field blank to
retrieve all email messages regardless of the their subject.

"Body" Contains:
Enter the key phrase to be found within the email Body. Leave this field blank to
retrieve all email messages regardless of the their content.

Attachments:
Specify whether you want to save the attachments of the email messages retrieved or
not.

Save Attachments into:


Enter here the folder in which you want the attachments to be saved.

Store Messages into:


Enter a name to be the variable that will store the retrieved email messages for later
processing. The variable will contain a List of Outlook Message objects.

Cautions:

For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.

5.19.3 Send Email Through Outlook Action


(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description:
This action creates and sends a new email message through Outlook
Actions Reference 625

Properties:

Outlook Instance:
Enter the variable that contains the Outlook Instance you want to work with. You
must have previously specified this variable in a "Launch Outlook" action.

Account:
Enter the name of the Outlook account (E-mail Account name) you wish to work with
(ex: john@mail.com, John Tyler, work, home).

Please find the name of your account by navigating to your Account Settings E-mail
Tab.

© 2018 Softomotive
To:
Enter the email address(es) of the recipient(s). If you enter more than one email
address, the list of addresses should be separated by spaces or semicolons.

CC:
Enter the email address(es) of the CC recipient(s). If you enter more than one email
address, the list of addresses should be separated by spaces or semicolons.

BCC:
Enter the email address(es) of the BCC (hidden) recipient(s). If you enter more than
one email address, the list of addresses should be separated by spaces or semicolons.

Subject:
Enter the subject of the email.
Actions Reference 627

Body:
Enter the text of the body.

Body is HTML:
Choose whether the body of the email is interpreted as HTML coding.

Attachment(s):
Enter or choose the full path of any attachment(s), or choose a variable that contains
a file or a list of files. Multiple files should be enclosed in double quotes (") and
separated by a space character.

Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.

5.19.4 Process Email Messages in Outlook Action


(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description:
Moves or deletes an email (or a list of email messages) retrieved by a "Retrieve Emails
From Outlook" action.

© 2018 Softomotive
Properties:

Outlook Instance:
Enter the variable that contains the Outlook Instance you want to work with. You
must have previously specified this variable in a "Launch Outlook" action.

Account:
Enter the name of the Outlook account (Data File name) you wish to work with (ex:
john@mail.com, John Tyler, Personal Folders).

Please find the name of your account by navigating to your Account Settings Data
Files Tab.
Actions Reference 629

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 robot will run.

© 2018 Softomotive
5.19.5 Save Outlook Email Messages Action
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description:
This action saves Outlook email messages given an account

Properties:

Outlook Instance:
Enter the variable that contains the Outlook Instance you want to work with. You
must have previously specified this variable in a "Launch Outlook" action.

Account:
Enter the name of the Outlook account (Data File name) you wish to work with (ex:
john@mail.com, John Tyler, Personal Folders).

Please find the name of your account by navigating to your Account Settings Data
Files Tab.
Actions Reference 631

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.

© 2018 Softomotive
Save Email Message(s) to:
Enter here the folder to which you want the messages to be saved.

Stored Message(s) Files:


Enter a name to be the variable that will store the file paths of the saved email
messages for later processing.

Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.

5.19.6 Respond To Outlook Email Message Action


(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description:
This action provides a response to an Outlook Message, by replying, replying to all or
forwarding
Actions Reference 633

Properties:

Outlook Instance:
Enter the variable that contains the Outlook Instance you want to work with. You
must have previously specified this variable in a "Launch Outlook" action.

Account:
Enter the name of the Outlook account (E-mail Account name) you wish to work with
(ex: john@mail.com, John Tyler, work, home).

Please find the name of your account by navigating to your Account Settings E-mail
Tab.

© 2018 Softomotive
Response Action:
Choose whether to reply (to sender or all) with a message or forward the received
message.

To:
Enter the email address(es) of the recipient(s). If you enter more than one email
address, the list of addresses should be separated by spaces or semicolons.

CC:
Enter the email address(es) of the CC recipient(s). If you enter more than one email
address, the list of addresses should be separated by spaces or semicolons.

BCC:
Enter the email address(es) of the BCC (hidden) recipient(s). If you enter more than
one email address, the list of addresses should be separated by spaces or semicolons.
Actions Reference 635

Mail Message:
Enter the variable that holds the mail message you wish to act upon. This should be a
variable populated by a "Retrieve Email Messages From Outlook" action.

Body:
Enter the HTML text of the body.

Attachment(s):
Enter or choose the full path of any attachment(s), or choose a variable that contains
a file or a list of files. Multiple files should be enclosed in double quotes (") and
separated by a space character.

Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.

5.19.7 Close Outlook Action


(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description:
This action closes a previously launched Outlook Instance

© 2018 Softomotive
Properties:

Outlook Instance:
Enter the variable that contains the Outlook Instance you want to close. You must
have previously specified this variable in a "Launch Outlook" action.

Cautions:
For any Outlook-related action to work correctly, Microsoft Outlook must be installed
on the computer where the robot will run.
Actions Reference 637

5.20 Services
5.20.1 Start Service Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action starts a stopped Windows Service

Properties:

Service to Start:
Choose or enter the name of a Service to start.

© 2018 Softomotive
5.20.2 Stop Service Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action stops a running Windows Service

Properties:

Service to Stop:
Choose or enter the name of a Service to stop.
Actions Reference 639

5.20.3 Pause Service Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action pauses a running Windows Service

Properties:

Service to Pause:
Choose or enter the name of a Service to pause.

© 2018 Softomotive
5.20.4 Resume Service Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action resumes a paused Windows Service

Properties:

Service to Resume:
Choose or enter the name of a paused Service to resume.
Actions Reference 641

5.21 WinAutomation Actions


5.21.1 Start Robot Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action executes a specific Robot

Properties:

Robot to Run:
Choose or enter the name of a WinAutomation Robot. Usually, it will be a Robot other
than the current one.

© 2018 Softomotive
Wait for Robot to Complete:
Check this box if you want to pause this Robot until the called Robot is complete.
Otherwise both will run simultaneously.

Continue Anyway:
Choose whether the Robot continues after a set number of seconds, regardless of
whether the called Robot has finished or not.

5.21.2 Get Command Line Arguments Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action retrieves the command line arguments that can be provided if the robot is
compiled or started through the command line
Actions Reference 643

Properties:

Store Command Line Arguments into:


Enter a name to be the variable that will store the Command Line Arguments entered
by the user. This will be a list of text values.

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\\").

5.21.3 Get Robot's 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 Robot. This is the folder where
the Robot is stored plus the Robot name. In a compiled Robot the action retrieves the
full path (directory and file name) of the executable file.

© 2018 Softomotive
Properties:

Store Robot's Path into:


Enter a name to be the variable that will store the path of the current Robot.

5.21.4 Log Message Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action creates a custom Log Entry in the WinAutomation Event Log 101 .
Actions Reference 645

Properties:

Message to Log:
Enter the message you want to log.

Event Type:
Specify the event type that will be logged (informational, warning or error).

5.21.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.

© 2018 Softomotive
Properties:

Store Exception into:


Enter a name to be the variable that will store the last exception occurred and its
relevant info.

5.22 Text Actions


5.22.1 Get Text Length Action

Description:
This action retrieves the length (in characters) of a text value or variable

Properties:
Actions Reference 647

Text to Measure:
Enter the text, or a previously stored text variable, to be measured.

Store Length into:


Enter a name to be the variable that will store the text's length as a number.

5.22.2 Append Line to Text Action

Description:
This action appends a new line of text to a text value or variable

Properties:

Original Text:
Enter the original text or a previously stored text variable.

© 2018 Softomotive
Line to Append:
Enter the text, or a previously stored text variable, to add on as a new line.

Store Result into:


Enter a name to be the variable that will store the new text. As elsewhere, this can be
the name of the original variable, overwriting the original text with the new text.

5.22.3 Get Subtext Action

Description:
This action retrieves a subtext from a text value or variable
Actions Reference 649

Properties:

Original Text:
Enter the text, or a previously stored text variable, that contains the section of text
you want to retrieve.

Start Index:
Choose how you want to find the starting point for text retrieval.

Character Position:
Set the position of the first character you will retrieve. This is a zero-based index,
counting from zero for the first character. For example, the tenth character would be
9.

Length:
Choose whether the subtext continues to the end of the text, or includes only a
certain number of characters.

Number of Chars:
Set the number of characters to be retrieved.

Store Subtext into:


Enter a name to be the variable where the subtext will be stored. As elsewhere, this
can be the name of the original variable, overwriting the original text with the new
text.

5.22.4 Pad Text Action

Description:
This action creates a fixed length text by adding characters to the left or to the right
of an existing text

© 2018 Softomotive
Properties:

Text to Pad:
Enter the text, or a previously stored text variable, to be lengthened.

Pad:
Choose whether to add characters to the left or right of the existing text.

Char or Text for Padding:


Enter the character or text that will be added to lengthen the original text.

Total Length:
Set the total character length of the final padded text. This means that the Char or
Text for Padding will be repeatedly added until the final text is the right length. If it is
already the right length, no characters will be added.
Actions Reference 651

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.

5.22.5 Trim Text Action

Description:

This action removes all occurrences of white space characters (such as space, tab, or
new line) from the beginning and/or end of an existing text.

Properties:

Text to Trim:
Enter the text, or a previously stored text variable, that you want to have trimmed.

© 2018 Softomotive
What to Trim:
Choose where white space characters will be removed from.

Store Trimmed Text into:


Enter a name to be the variable that will store the new, trimmed Text. As elsewhere,
this can be the name of the original variable, overwriting the original text with the new
text.

5.22.6 Change Text Case Action

Description:
This action changes the casing of a text to uppercase, lowercase, title case or
sentence case.

Properties:
Actions Reference 653

Text to Convert:
Enter the text, or a previously stored text variable, that you want to convert.

Convert to:
Choose which text case style you want to use. Examples are given in their names.

Store Text with New Case into:


Enter a name to be the variable that will store the new, converted Text. As elsewhere,
this can be the name of the original variable, overwriting the original text with the new
text.

5.22.7 Convert Text to Number Action

Description:
This action converts a text representation of a number to a variable that contains a
numeric value

© 2018 Softomotive
Properties:

Text to Convert:
Enter a previously stored text variable containing only a number, that will be converted
to a numeric value variable. Spaces will be ignored, but non-number text will throw an
exception.

Store Result into:


Enter a name to be the variable that will store the new, numeric value.

5.22.8 Convert Number to Text Action

Description:
This action converts a number to text using a specific format that you determine.
Actions Reference 655

Properties:

Number to Convert:
Enter a number, or a previously stored numeric variable, that will be converted to text.

Decimal Places:
Choose the number of decimal places that will be included before truncation. Zeros can
also be added to the end to pad the text in this way.

Use 1000 Separator:


Choose whether or not to use punctuation as a 1000 separator.

© 2018 Softomotive
Example:
Here you can see an example of what your textual number will look like.

Store Result into:


Enter a name to be the variable that will store the formatted number as Text.

5.22.9 Convert Text to DateTime Action

Description:
This action converts a text representation of a Date and/or Time value to a variable
that contains a DateTime value

Properties:
Actions Reference 657

Text to Convert:
Enter the text, or a previously stored text variable, to be converted to a DateTime
value. This text must be in a recognizably DateTime value format.

Date is represented in custom format:


Use this option if the text to be converted contains a representation of the Date Time
in a non-standard, non-recognizable format. In this case you will also need to provide
the custom format in which the date is represented.

Custom Format:
Enter the format in which the date is stored in the text. You can express a custom
format as, for example, yyyyMMdd for date, and hhmmss for time. For more information
on how to specify a custom format see Custom Date Formats 262 .

Store Result into:


Enter a name to be the variable that will store the DateTime value.

5.22.10 Convert DateTime to Text Action

Description:
This action converts a DateTime value to text using a specific format

© 2018 Softomotive
Properties:

DateTime to Convert:
Enter a DateTime value, or a previously stored DateTime variable, that will be
converted to text.

Format to Use:
Choose whether to use a standard DateTime format, or create a custom one.

Standard Format:
Choose which standard DateTime format this action will use to display the DateTime
value.
Actions Reference 659

Custom Format:
Set the custom Format this action will use to display the DateTime value. You can
express a DateTime as, for example, MM/dd/yyyy for date, and hh:mm:sstt for time.
For more information, see the Custom Date Formats 262 topic.

Example:
This is an example of how the action will display the DateTime value.

Store Result into:


Enter a name to be the variable that will store the formatted DateTime as a text value.

5.22.11 Create Random Text Action

Description:
This action generates a text of specified length consisting of random characters. This
can be useful for generating passwords.

© 2018 Softomotive
Properties:

Characters to Use:
Choose which characters may be included in the generated Text.

Minimum Length:
Choose a minimum length for the random Text. If you want a certain length of Text,
set the minimum and maximum values to that number.

Maximum Length:
Choose a maximum length for the random Text. If you want a certain length of Text,
set the minimum and maximum values to that number.
Actions Reference 661

Store Random Text into:


Enter a name to be the variable that will store the random Text.

5.22.12 Join Text Action

Description:
This action converts a list into a text value by separating its items with a specified
delimiter.

Properties:

List to Join:
Enter a previously stored list variable, to be converted to Text.

© 2018 Softomotive
Delimiter to separate list items:
Choose whether to use no Delimiter, a standard Delimiter or a custom one.

Standard Delimiter:
Choose the Delimiter and how many repetitions from the list.

Custom Delimiter:
Enter the character(s) to be used as Delimiter. Spaces at the beginning and the end
will be trimmed, unless in the format of %"xxx"%, where xxx is the text, and can
contain spaces anywhere.

Store Result into:


Enter a name to be the variable that will store the new, delimited Text.

5.22.13 Split Text Action

Description:
This action creates a list containing the substrings of a text that are separated by a
specified delimeter or by regular expression
Actions Reference 663

Properties:

Text to Split:
Enter the text that contains delimiters, or a previously stored text variable, to be split.

Delimiter that separates text elements:


Choose whether the used Delimiter is of a standard or custom format.

Standard Delimiter:
Choose the Delimiter used from the list.

Custom Delimiter:
Enter the character(s) that were used as Delimiter.

© 2018 Softomotive
Is Regular Expression:
Check this box if your Delimiter is a Regular Expression. A Regular Expression creates a
range of possibilities for the Delimiter. For example \d means that the Delimiter could be
any digit.

Store Result into:


Enter a name to be the variable that will store the new List.

5.22.14 Parse Text Action

Description:
This action parses a text to find the first or all occurrences of a specified subtext or a
regular expression pattern
Actions Reference 665

Properties:

Text to Parse:
Enter the text, or a previously stored text variable, to be parsed.

Text to Find:
Enter the subtext, a previously stored text variable, or a Regular Expression, to search
for.

© 2018 Softomotive
Is Regular Expression:
Check this box if your subtext is a Regular Expression. A Regular Expression creates a
range of possibilities to be the subtext. For example \d means that the subtext could
be any digit.

Start Parsing at Position:


Enter the position where this action will begin to look for the Text to Find. The first
position is zero, so use 0 to start from the beginning.

First Occurrence Only:


Choose if you want this action to find the first occurrence only, or each occurrence of
the Text to Find.

Ignore Case:

Choose whether you want this action to find the specified text using case-sensitive or
case-insensitive matching.

Store Position(s) of found text into:


Enter a name to be the variable that will store the position(s) of the "Text to Find" into
the "Text to Parse". If you have not checked Find First Occurrence, the result(s) will
be a list of numerical values; otherwise it will be a single numerical value. If the text
you are searching for is not found within the original text, this variable will hold the
value -1.

Store Match(es) into:


Enter a name to be the variable that will store the result(s) that match your Regular
Expression. If you have not checked Find First Occurrence, the result(s) will be a list
of text values; otherwise it will be a single text value.

5.22.15 Replace Text Action

Description:
This action replaces all occurrences of a specified subtext, with another specified text.
It can also be used with Regular Expressions
Actions Reference 667

Properties:

Text to Parse:
Enter the text, or a previously stored text variable, to be parsed.

Text to Find:
Enter the subtext, a previously stored text variable, or a Regular Expression, to search
for.

© 2018 Softomotive
Use Regular Expressions for find and replace:
Check this box if the subtexts are Regular Expressions. A Regular Expression creates a
range of possibilities to be the subtext. For example \d means that the subtext could
be any digit.

Ignore Case:

Choose whether you want this action to find the subtext to be replaced using case-
sensitive or case-insensitive matching.

Replace With:
Enter the text, a previously stored text variable, or a Regular Expression, to replace
found text. For example '\t' in the replacement text will be interpreted as a tab.

Activate Escape Sequences:


Check this box if you want special sequences.

Store Result Text into:


Enter a name to be the variable that will store the new, updated Text.

5.22.16 Escape Text for Regular Expression Action

Description:
This action escapes a minimal set of characters (\,*,+,?,|,{,[,(,),^,$,.,# and white
spaces) by replacing them with their escape codes of an existing test.
Actions Reference 669

Properties:

Text to Escape:
Enter the text, or a previously stored text variable, to be escaped.

Store Escaped Text into:


Enter a name to be the variable that will store the escaped text.

5.23 DateTime Actions


5.23.1 Get Current Date and Time Action

Description:
This action retrieves the current date or the current date and time

© 2018 Softomotive
Properties:

Retrieve:
Choose whether to gather the date and time, or just the date. If you choose to gather
only the Date, the time value will be stored as midnight (0:00:00).

Store Retrieved DateTime into:


Enter a name to be the variable that will store the current DateTime value.

5.23.2 Add to DateTime Action

Description:
This action adds (or subtracts) a specific number of seconds, minutes hours or days to
a DateTime value stored into a variable
Actions Reference 671

Properties:

Add:
Enter a numeric value, or a previously stored numeric variable, and choose the unit of
time it represents. To subtract a time, this value would be negative. For example, add
-7 days here to go back one week.

To Variable:
Enter the name of a variable with a DateTime value that you wish to alter.

Store the result into:


Enter a name to be the variable that will store the new, altered DateTime value. As
elsewhere, this can be the name of the original variable, overwriting the original
DateTime with the new DateTime.

© 2018 Softomotive
5.23.3 Subtract Dates Action

Description:

This action finds the time difference between two given dates in days, hours, minutes,
or seconds.

Properties:

Subtract Date 1:
Enter a DateTime or the name of a variable that holds a DateTime value.

From Date 2:
Enter a DateTime or the name of a variable that holds a DateTime value. This will be
the base DateTime, so generally put the later date/time in this field.
Actions Reference 673

Get Difference in:


Choose what unit of time to express the difference in.

Store Result into:


Enter a name to be the variable that will hold the difference in time as a numeric value.

5.24 XML Actions


5.24.1 Read XML from File Action

Description:
This action reads the contents of an XML file into a variable.

© 2018 Softomotive
Properties:

File path:
Enter or choose the XML document to be read. This can be a file path, or a variable
containing a file or a textual path.

Encoding:
Select the encoding used for the specified file.

Store XML Document into:


Enter the name of the variable that will store the XML Document read from the file.

5.24.2 Write XML to File Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action writes the contents of an XML Node variable into a file.
Actions Reference 675

Properties:

File path:
Enter or choose the file where the XML document to be written into.

XML to write:
Enter the variable that contains the XML Node or document to be written that you
want to write into the file.

Encoding:
Select the encoding used for the specified file.

© 2018 Softomotive
5.24.3 Execute XPath Expression Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action extracts values from an XML Document (a variable containing data in XML
format) based on the XPath Query provided.
Actions Reference 677

Properties:

XML Document to Parse:

This action displays an inobtrusive message through the notification popup

XPath Query:

Enter the XPath expression to execute against the XML Document.

Get First Value Only:

Specify whether you want to retrieve a single value (The first value only) or all the
values that match the provided XPath expression.

Store Extracted Value(s) into:

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)

5.24.4 Get XML Element Attribute Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action gets the value of an attribute of an XML Element.

© 2018 Softomotive
Properties:

XML Document:
Enter the variable that contains the XML Document or XML Element whose attribute
you want to retrieve.

XPath Query:
Enter the XPath Expression to locate the sub-element whose attribute you want to
retrieve.

Attribute Name:
Enter the name of the attribute whose value you want to retrieve.

Get Value as:


Select the data type for the attribute value.
Actions Reference 679

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.

5.24.5 Set XML Element Attribute Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action sets the value of an attribute of an XML Element.

© 2018 Softomotive
Properties:

Xml Document:
Enter the variable that contains the XML Document or XML Element whose attribute
you want to set.

XPath Query:
Enter the XPath Expression to locate the sub-element whose attribute you want to
set.

Attribute Name:
Enter the name of the attribute whose value you want to set.
Actions Reference 681

Attribute Value:
Enter the new value for the attribute.

5.24.6 Remove XML Element Attribute Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action removes an attribute from an XML Element.

© 2018 Softomotive
Properties:

XML Document:
Enter the variable that contains the XML Document or XML Element whose attribute
you want to remove.

XPath Query:
Enter the XPath Expression to locate the sub-element whose attribute you want to
remove.

Attribute Name:
Enter the name of the attribute you want to remove.

5.24.7 Get XML Element Value Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action gets the value of an XML Element.
Actions Reference 683

Properties:

XML Document:
Enter the variable that contains the XML Document or XML Element whose value you
want to retrieve.

XPath Query:
Enter the XPath Expression to locate the sub-element whose value you want to
retrieve.

Get Value as:


Select the data type for the Element value

Store the XML Element Value into:


Enter the name of the variable that will store the retrieved value of the XML Element.
The type of the variable will depend on the selection of the “Get Value as” property.

© 2018 Softomotive
5.24.8 Set XML Element Value Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action sets the value of an XML Element.

Properties:

XML Document:
Enter the variable that contains the XML Document or XML Element whose value you
want to retrieve.
Actions Reference 685

XPath Query:
Enter the XPath Expression to locate the sub-element whose value you want to
retrieve.

XML Element Value:


Enter the Value for the XML Element

5.24.9 Insert XML Element Action

(Available with the Professional and Professional Plus Editions. N/A to the Basic
Edition).

Description:
This action inserts a new XML Element into an XML document

© 2018 Softomotive
Properties:

XML Document:
Enter the XML Document where you want to insert the new XML Element.

XPath Query:
Enter the XPath Expression to locate the parent XML element into which the new
element will be inserted.

XML Element to Insert:


Enter the new XML element you want to insert into the XML document.
Actions Reference 687

5.24.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.

© 2018 Softomotive
XPath Query:
Enter the XPath expression to locate the element(s) you want to remove.

5.25 Variables Actions


5.25.1 Set Variable Action

Description:
This action sets the value of a new or existing variable, and can be used to create a
new variable or overwrite a previously created variable.

Properties:

Set Value:
Enter a value or expression, or a previously stored variable, to be the value of this
variable.
Actions Reference 689

into Variable:
Enter a name to be the variable that will hold the value you set. This can be a new or
existing variable.

5.25.2 Increase Variable Action

Description:
This action increases the value of a variable by a specific amount

Properties:

Variable Name:
Enter the name of the numeric variable you wish to increase.

© 2018 Softomotive
Increase by:
Enter a numeric value, or a previously stored numeric variable, to increase the variable
by.

5.25.3 Decrease Variable Action

Description:
This action decreases the value of a variable by a specific amount

Properties:

Variable Name:
Enter the name of the numeric variable you wish to decrease.
Actions Reference 691

Decrease By:
Enter a numeric value, or a previously stored numeric variable, to decrease the variable
by.

5.25.4 Truncate Number Action

Description:
This action accepts a numeric value and returns its integral or fractional digits, or
rounds up the value to a specified number of decimal places.

© 2018 Softomotive
Properties:

Number to Truncate:
Enter the number or the name of the variable that holds the numeric value you want to
truncate/round up.

Operation:
Select the operation you want to perform on the given number.

Decimal Places:
Specify the number of decimal places you want to round the given number up. Enter 0,
do you want the result to be an integer.

5.25.5 Generate Random Number Action

Description:
Generates a random number or a list of random numbers that fall between a minimum
and maximum value
Actions Reference 693

Properties:

Minimum Value:
Enter a numeric value, or a previously stored numeric variable, to specify a lower
boundary for the random number(s) to generate.

Maximum Value:

Enter a numeric value, or a previously stored numeric variable, to specify an upper


boundary for the random number(s) to generate.

Generate Multiple Numbers:


Specify whether you want to generate a single random number or a list of random
numbers.

© 2018 Softomotive
How Many Numbers:
Enter a numeric value, or a previously stored numeric variable, to specify how many
random numbers to generate.

Allow Duplicates:
Specify whether to permit or prevent the same number from appearing more than once
in the random numbers list.

Store Random Number(s) into:


Enter a name to be the variable that will store the newly generated random number(s).
The variable will hold a numeric value or a list of numeric values, depending on your
choice in 'Generate Multiple Numbers'

5.25.6 Get Items Count Action

Description:
This action retrieves the count of items of a variable that contains a list or a
datatable. A datatable will return the number of rows.
Actions Reference 695

Properties:

Variable Name:
Enter the name of the list or datatable variable to be counted.

Store Items Count into:


Enter a name to be the variable that will hold the count of items on the list or the
number of rows in the datatable.

5.25.7 Create New List Action

Description:
This action creates a new empty list and assigns it to a variable

© 2018 Softomotive
Properties:

Store new empty list into:


Enter a name to be the variable that will hold the list.

5.25.8 Clear List Action

Description:
This action removes all items from a List contained into a variable.
Actions Reference 697

Properties:

List to Clear:
Enter the name of a variable that contains the list you wish to remove its items.

5.25.9 Add Item to List Action

Description:

This action appends a new item of the same type to a variable that contains a List.

© 2018 Softomotive
Properties:

Add Item:
Enter a value, or the name of a variable, to be added. The new value must be a single
value and not a list of values. If the list you are adding to has a specific type of
elements, say all numeric or all file information, the new value must be of the same
type.

into List:
Enter the name of a variable that contains a list you wish to add to.

5.25.10 Remove Item from List Action

Description:
This action removes an item at a specified index from a variable that contains a List.
Actions Reference 699

Properties:

Remove Item at Index:


Enter the index number of the item you wish to remove. This action will shorten the list
by that item.

From List stored into:


Enter the name of a variable that contains a list you wish to remove the item from.

5.25.11 Sort List Action

Description:
This action sorts the items of a List contained in a variable. The items on the list must
be of the same type.

© 2018 Softomotive
Properties:

List to Sort:
Enter the name of a variable that contains a list you wish to sort.

Sort by list items' properties:


If your list items are objects (such are files, folders, etc) you can choose here to sort
the item by a specific property. If you leave this unchecked the items of the list will be
sorted by their default property (e.g. file objects will be sorted by their full path).

So, for example, if you have a list of files, using this option you can sort them, say, by
extension and then by size. If you don't use the option, the files will be sorted by their
full path.
Actions Reference 701

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 255 . For data types defined in Addons, please refer to the
corresponding Addon documentation.

Second Property to Sort by:


Optional: Enter the name of a second property to sort by.

Third Property to Sort by:


Optional: Enter the name of a second property to sort by.

5.25.12 Shuffle List Action

Description:
This action creates a random permutation of a List contained in a variable. The items
on the list must be of the same type.

© 2018 Softomotive
Properties:

List to Shuffle:
Enter the name of a variable that contains a list you wish to shuffle.

5.25.13 Merge Lists

Description:

This action merges two lists into one.


Actions Reference 703

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.

5.25.14 Reverse List Action

Description:
This action reverses the order of the items of a List contained into a variable.

© 2018 Softomotive
Properties:

List to Reverse:
Enter the name of the variable that contains the List, whose items order you want to
reverse.

5.25.15 Remove Duplicate Items from List Action

Description:
This action removes the multiple occurrences of items in a list, so that in the resulting
list each item will be unique.

Properties:

List to Remove Duplicate Items from:

Enter the name of a variable that contains a list you wish to remove duplicate items
from.
Actions Reference 705

5.25.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.

Store Common Items into List:


Enter a name to be the variable that will hold the new list of common items.

© 2018 Softomotive
5.25.17 Subtract Lists Action

Description:

This action compares two lists, and creates a new list with the items that are in the
first list but not in the second.

Properties:

List 1:
Enter the name of a variable containing a list to be compared.

List 2:
Enter the name of a variable containing a different list to be subtracted from the first
list. Subtracted items will shorten the resultant list. If two identical lists are compared,
the result will be an empty list.

Store difference as new List into:


Enter a name to be the variable that will hold the new, resulting list.
Actions Reference 707

5.25.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.

Column Name or Index:


Enter the column name, if you have defined column names, or the index number of the
column you wish to retrieve. Note that the index is 0 based.

© 2018 Softomotive
Store column contents as new list into:
Enter a name to be the variable that will hold the new list. This list will hold the
contents of the specified data table.
Actions Reference 709

5.26 PDF Actions


5.26.1 Extract Images From PDF Action
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

© 2018 Softomotive
Description:

This action extracts images from a PDF file.

General Tab
Actions Reference 711

Advanced Tab

Properties:

PDF File: Enter or choose the PDF file, whose text will be extracted. It can be a file
path, a variable containing a file or a text path.

Page(s) To Extract: Choose how many pages will be extracted using OCR.. All,
Single or Range of pages

Single Page Number: Set the number of the single page that images will be
extracted.

From Page Number: Set the first page number from the range of pages that
images will be extracted.

© 2018 Softomotive
To Page Number: Set the last page number from the range of pages that images
will be extracted.

Image(s) Name: Enter how the image(s) will start. Extracted image(s) name
example: GivenName_1, GivenName_2

Save Image(s) To: Enter or choose a local folder, or a previously defined variable
containing a folder, to specify the folder where the extracted images from PDF will be
saved into as png files.

Use Password: Choose whether you want to use password for PDF that are
password protected.

Enter PDF Password: If you choose 'directly', the password entered in the
Password field will be hidden. If you choose 'as variable' you must enter a variable
containing the password and the '%' character will be treated as an indicator of a
variable, not part of the password.

Password: Enter the Password here. The password will be hidden.

Password: Enter a variable containing the password here.

5.26.2 Extract Text From PDF


(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description:
This actions extracts the text from a PDF file.
Actions Reference 713

General

© 2018 Softomotive
Advanced

Properties:

PDF File: Enter or choose the PDF file, whose text will be extracted. It can be a file
path, a variable containing a file or a text path.

Page(s) To Extract: Choose how many pages will be extracted. All, Single or Range
of pages.

Single Page Number: Set the number of the single page that text will be
extracted.

From Page Number: Set the first page number from the range of pages that text
will be extracted

To Page Number: Set the last page number from the range of pages that text will
be extracted

Store Extracted Text into: Enter a name to be the variable that will store the
extracted text.
Actions Reference 715

Use Password: Choose whether you want to use password for PDFs that are
password protected.

Enter PDF Password: If you choose 'directly', the password entered in the
Password field will be hidden. If you choose 'as variable' you must enter a variable
containing the password and the '%' character will be treated as an indicator of a
variable, not part of the password.

Password: Enter the Password here. The password will be hidden.

Password: Enter a variable containing the password here.

5.27 Synchronization Actions


5.27.1 Lock Handle Action
(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

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.

5.27.2 Release Handle Action


(Available with the Professional Plus Edition. N/A to the Basic and Professional
Editions)

Description:
Releases the lock on a handle.
Actions Reference 717

Properties:

Handle:
Enter the name of the handle to release the lock of. The handle must have been
locked within the same robot-instance, otherwise this action won't have any effect on
the handle whatsoever.

© 2018 Softomotive
718 WinAutomation Help

Index -=-
= 270

- %- ->-
% 276 > 270
%ButtonPressed% 164 >= 270
%EventTriggerEventID% 89
%EventTriggerEventLogName%
%EventTriggerEventMessage%
89
89
-1-
%EventTriggerEventSource% 89 1000 Separator 654
%EventTriggerEventType% 89
%FileTriggerEventType% 91 -A-
%FileTriggerFileName% 91
%FileTriggerFilePath% 91 access 126, 128
%FileTriggerOldFileName% 91 access the file 423
%LoopIndex% 265, 268 Action 164, 168, 171, 176, 178, 291, 299, 302,
%name% 276 303, 304, 305, 307, 308, 309, 310, 312, 314, 315,
%PingTriggerHostName% 94 316, 317, 318, 321, 322, 323, 325, 326, 327, 332,
336, 338, 340, 341, 343, 344, 345, 346, 347, 349,
%ProcessTriggerEventType% 96
351, 353, 354, 357, 360, 361, 363, 366, 367, 369,
%ProcessTriggerProcessName% 96 371, 372, 373, 374, 375, 376, 380, 382, 384, 386,
%ServiceTriggerServiceName% 95 389, 392, 393, 397, 403, 405, 407, 408, 410, 415,
%ServiceTriggerServiceState% 95 418, 419, 427, 428, 430, 431, 434, 435, 437, 438,
%TriggerName% 82, 83 439, 440, 444, 453, 457, 465, 469, 473, 477, 478,
480, 481, 482, 485, 487, 489, 490, 492, 505, 507,
%VariableName[ItemNumber]% 254
509, 511, 514, 516, 518, 523, 524, 526, 528, 532,
%VariableName[RowNumber][ColumnNumber]% 642, 643, 656, 672, 690, 692, 694
255
Action Icons 171

-.- Action Input


Action Output
164
164
Action Properties 251
.exe 82, 83, 392
Action Properties Box 276, 279
.NET 2.0 130, 135
Action Property Window 155
.wav 308
action reference 299, 444

-/- Action to Perform


Action’s Inputs
305
251
actions 146, 286, 299, 521
/ListRunning 283
Actions by Category 146
/start 283
Actions Pane 144
/stop 283

-\-
\% 276

© 2018 Softomotive
Index 719

Actions Reference 291, 293, 295, 298, 302, 303, Add to DateTime 670
304, 305, 307, 308, 309, 310, 312, 317, 318, 321, Add to DateTime Action 670
322, 323, 325, 326, 327, 330, 332, 336, 338, 340, Adding an Action 162
341, 343, 344, 345, 346, 347, 349, 351, 353, 354,
Adding Breakpoints 175
357, 360, 361, 363, 366, 367, 369, 371, 372, 373,
374, 375, 376, 380, 382, 384, 385, 386, 389, 392, Additional Data 102
393, 394, 397, 401, 403, 405, 407, 408, 410, 415, addon 250
416, 418, 419, 421, 423, 424, 426, 427, 428, 430, add-on 250
431, 432, 434, 435, 437, 438, 439, 440, 442, 443, Addons 114
446, 448, 453, 457, 461, 465, 469, 473, 477, 478,
add-ons 250
480, 481, 482, 485, 487, 489, 490, 492, 505, 507,
509, 511, 514, 516, 518, 523, 524, 526, 528, 532, Advanced 265, 268, 276, 279, 281, 282, 283
537, 539, 542, 544, 545, 546, 548, 549, 550, 551, Advanced Topics 276, 279, 281, 282, 283
552, 553, 554, 558, 560, 569, 572, 583, 585, 586, Agent 528, 532
587, 588, 590, 591, 592, 593, 595, 596, 598, 600, all 596
602, 604, 607, 608, 609, 610, 612, 613, 614, 615,
Allow 397
619, 620, 621, 624, 627, 630, 632, 635, 637, 638,
639, 640, 641, 642, 643, 646, 647, 648, 649, 651, Allow Empty Selection 397
652, 653, 654, 656, 657, 659, 661, 662, 664, 666, Allow Multiple Selection 397, 401
668, 669, 670, 672, 688, 689, 690, 692, 694, 695, Alt 382, 384
697, 698, 699, 705, 706, 707 amount 346
activate 598 amount of seconds 346
Activate cell in excel Worksheet 598 append 416, 418, 419
Activate cell in excel Worksheet Action 598 Append Line 647
Activate License 109 Append Line to Text 647
activates 453, 477, 478, 480, 481, 482, 507, 509, Append Line to Text Action 647
511, 514, 516, 590, 595, 596, 598 Application 266, 291, 293, 295, 298, 301, 382
active 382 Application Path 291
active cell 598 archive 434, 435
active foreground Window 179 Archive Comment 434
Active Mode 537, 539 Archive Path 434, 435
Active Worksheet 590, 595, 596, 598 Archive Robots 118
activities 178 Argument 283
Actual Internet Explorer 495, 499, 501, 503, 506 Arguments 291, 642
Add 170, 410, 528, 532, 608, 609, 610, 612, 670 artificial delay 171
add an Action 162 ascending 405
add breakpoints 175 ASCII 113, 545, 548
Add control 196 associated 291
Add Date or Time 410 Athens 53
Add DateTime 410 Attach 85, 495, 499, 506, 587
Add Item 254, 697 attach a Trigger 85
Add Item to List 697 Attach Excel 587
Add Item to List Action 697 Attach to Excel Action 587
Add New Trigger 85 Attachment 560, 569, 572, 620, 621, 624, 627,
Add New Variable 170 630, 632, 635
Add New Worksheet 591 attribute 681, 682, 684, 685, 687
Add New Worksheet Action 591 Audit 89
Add Number 410 Audit Failure 89
Add Text 410 Audit Success 89

© 2018 Softomotive
720 WinAutomation Help

authentication 116, 560, 569, 572, 620, 621, 624,


627, 630, 632, 635
AUTO 113
-C-
Autologin 116 Cancel 401, 403
automatically 82, 83, 179, 264, 267, 269, 401 capitalized 382
automation 194 CAPS 385
Automation Browser 495, 499, 501, 503, 506 CAPS LOCK 385
avoid 382 Capture 310, 317, 318, 357, 526
Capture with Delay 357
-B- Case 652
casing 652
backslash 276 category 252
backup 118, 283 Cautions 586, 587, 588, 590, 591, 592, 593, 595,
Backup Robots 118 596, 598, 600, 602, 604, 607, 613, 614, 615, 619
Basic Logs 101 CC 560, 569, 572, 620, 621, 624, 627, 630, 632,
BCC 560, 569, 572, 620, 621, 624, 627, 630, 632, 635
635 cell 344, 598, 600, 602, 604, 607
beginning 323, 325, 326, 651 Cell Column 619
between 382 Cell Row 619
binary 113, 545, 548 Cell Value 615
blank 327, 332, 336, 354 certain condition 270
block 279, 321 certain file 347, 349
Block Input 373 Change Extension 410
Block Input Action 373 Change Text Case 652
block of actions 265, 268, 269, 271, 338 Change Variable value 176
blocks of actions 269 Change Working Directory 544
Body 560, 569, 572, 620, 621, 624, 627, 630, 632, Change Working Directory Action 544
635 changed 91
Boolean 252 changes 95, 251, 431
bottom 178 changes the name 410
bottom right 179 Char 649
bottom right of the screen 179 Character 648
Box 386, 389, 392, 393, 394, 397, 401, 403 Character Position 648
braces 382 Characters to Use 659
brackets 276 check 511
breakpoints 146 checkbox 481, 511
browser 528, 532 checkbox Action 481
browser identity 528, 532 checkboxes 489
bug 101 checked 325, 326, 347, 349, 351
Build Repository 206 checking 281
Building 178 checks 270
button 168, 176, 480, 481, 511, 514, 516 Choose 590, 595, 596, 598, 600, 602, 604, 607,
Button Pressed 386, 389, 393, 394, 401, 403 608, 609, 610, 612
ButtonPressed 164 Class 327, 332, 336, 354, 442, 443, 446, 448, 453,
457, 461, 465, 469, 473, 507, 509, 511, 514, 516
Clear 107, 439, 528, 532

© 2018 Softomotive
Index 721

clear all cookies 528, 532 compile 77, 130, 135


Clear Clipboard Contents 439 compile the Robot 77
Clear Cookies 528, 532 compiled 130, 135, 642, 643
clear list 696 compiled Robot 130, 135
Clear Logs 101 Compiler 131, 135
click 175, 511, 514, 516 Compiler Window 131, 135
Click Download Link 503 Complete 641
Click Link 501 Completed 79
clipboard 251, 310, 526 complications 126, 128
Clipboard Category 437, 438, 439 Component Types 188
Clipboard Contents 439 compress 434
Clipboard Text 437, 438 Compression 434, 435
close 386, 389, 473, 506, 585, 588, 635 Compression Category 434, 435
close cmd 578 Compression Level 434
close cmd session 578 Computer 305
close cmd session action 578 concept 264, 267, 269
close command 578 concurrency 128
close command line session 578 condition 269, 270, 338
Close Excel 588 conditional 270, 271, 321, 322, 323, 327, 330, 332,
Close Excel Action 588 336
Close FTP 542 conditional block 322, 323, 325, 326, 327, 330,
Close FTP Connection Action 542 332, 336
close outlook 635 conditional structure 269
Close Window 473 Conditionals 266, 269, 271, 321, 322, 323, 325,
326, 327, 330, 332, 336, 338, 340
Close Window Action 473
Conditionals Category 321, 322, 323, 325, 326,
Closing 587, 588
327, 330, 332, 336, 338, 340
CMD 576, 578, 580, 582
configurable 439
collapse 448
Configuring 164
collections 254
Configuring an Action 164
collectively 283
connect 583, 585
colored green 168
Connection 252, 542, 544, 545, 549, 550, 551,
column 255, 344, 598, 600, 602, 604, 607, 610, 552, 553, 558, 583, 585
612
Connection String 583, 585
column names 615
connects 583, 585
ColumnsCount 255
considered 175
combining 178
Console 72, 97, 107, 392
Command 293, 295, 298, 558, 576, 578, 580, 582,
console application 293
642
Console Menu 97, 107
command line 283, 576, 578, 580, 582
Console Options 276, 279
Command Line Arguments 291, 642
contains 615
Comment 168
contents 427, 428, 707
Common 705
continue 276, 279
Common List Items 705
Continue Anyway 347, 349, 353, 641
compact 283
Control 200, 312, 382, 384
company 53
Control Repository 157, 196, 202, 206
compare 321, 343

© 2018 Softomotive
722 WinAutomation Help

Control Screen Saver 312 Create UI 185


Control Screen Saver Action 312 created 91, 347, 349
Controlling 283 created on the fly 251
Controlling WinAutomation from the command line created variable 688
283 created/deleted 347, 349
controls 200, 272, 289 creates 560, 569, 572, 620, 621, 624, 627, 630,
Convert 652 632, 635
Convert DateTime to Text 252, 657 creates a new folder 426
Convert DateTime to Text Action 657 Creating 251
Convert Number 654 Creating Variables 251
Convert Number to Text 654 CreationTime 252, 255
Convert Number to Text Action 654 criteria 405
Convert Text to DateTime 656 crosshair 327, 330, 332, 336
Convert Text to DateTime Action 656 crosshairs 327, 330, 332, 336
Convert Text to Number 653 css 272, 336, 389
Convert to 652 csv 418, 419
converted 392 ctrl + alt + delete 373
converts 178, 653, 707 Ctrl-Alt-S 179
Cookies 528, 532 Ctrl-Alt-T 79, 108
coordinates 374, 375, 380, 465 Current 341, 669
copied cell 604, 607 Current Index 341
copies 283, 407, 438 Current Item 344
copies a folder 428 current iteration 265, 268
copy 146, 289, 428, 604, 607 current position 374, 375
copy cells in excel Worksheet 604 Current Value 148
copy cells in excel Worksheet Action 604 cursor 360
Copy File 407 Custom 389, 410, 657, 661, 662
Copy File(s) 407 custom date 262
Copy File(s) Action 407 Custom Delimiter 661, 662
Copy Folder 428 Custom Designer 188
Copy Folder Action 428 Custom Dialog 185
copy your actions 178 Custom Format 657
copy/paste 604, 607 custom messages 79
Count 255, 694 Cut 146
cpolumn 612
Create 426, 552, 695 -D-
Create Folder 426
Create Folder Action 426 Daily 99
Create FTP Directory 552 dat 283
Create FTP Directory Action 552 data 209, 251, 344
Create Function 161 data extraction 272
Create New Folder into 426 data row 264, 267, 344
Create New List 254, 695 data table 255, 264, 267, 344
Create New Robot 74, 75 data table’s scheme 255
Create Random Text 659 Data Tables 252, 255
Create Random Text Action 659 data type 270

© 2018 Softomotive
Index 723

Data type Properties 251, 255 delete 316, 410, 427, 528, 532, 550, 553, 592, 609,
Data Types 252 612
database 101, 108 delete all 428
Database Category 583, 585 delete column in excel action 612
DataRow 255 delete column in excel worksheet 612
datatable 694 Delete File 410
DataTable column 707 Delete File(s) 410
DataTable variable 424 Delete File(s) Action 410
date 251, 262 Delete Folder 427
Date and Time 669 Delete Folder Action 427
date range 104 Delete FTP Directory 553
Date Time 252, 270 Delete FTP Directory Action 553
Date Time type 270 Delete FTP File 550
Dates 672 Delete FTP File Action 550
DateTime 148, 255, 410, 657, 670 Delete Function 161
DateTime Actions 669, 670, 672 delete items from list 696
DateTime Actions Category 669, 670, 672 delete row in excel action 609
DateTime Format 410 delete row in excel worksheet 609
DateTime to Add 410 Delete Worksheet 592
DateTime to Convert 657 Delete Worksheet Action 592
DateTime to Text 657 deleted 91, 283, 347, 349
Day 255 deletes 410, 550, 553
DayOfWeek 255 delimeter 662
DayOfYear 255 Delimiter 661, 662
days 670, 672 demonstrate 56, 61, 66
Debug 174, 176 denote 276
Debugger 171 Descending 405, 424
Debugger Options 171 Description 123, 170, 403
debugging 146 Design Time 155
Decimal 654 Design Time Errors 155
Decimal Places 654 Designer 144, 171, 173
declare 170 Designer Components 188
Decrease 690 Designer Elements 188
Decrease Variable 690 Designer Options 171
Decrease Variable Action 690 Desktop 126, 128, 306, 440
decreases 690 destination 407, 408, 428
default 276, 279 destination folder 407, 428, 430
default policies 129 Destination Folder: 435
Default Printer 303 details 102, 521
default response 276, 279 Dialog 79, 393, 394, 397, 401, 403
Default Value 164, 393, 394 dialog box 397
Define a new variable 251 Dialog Message 164
Defined in Action 170 Dialog Title 164, 397
delay 171, 276, 279, 380 differ 357, 376, 505
Delay Between Keystrokes 382 difference 672, 706
delays 179 different 276, 279

© 2018 Softomotive
724 WinAutomation Help

different location 179 Download Folder(s) 546


different response 276, 279 Download Folder(s) from FTP Action 546
different Robot 276, 279 Download from Web 528
different ways 276, 279 Download from Web Action 528
differentiate 168 Download into Folder 545, 546
directory 421 Downloaded File 528
Directory to Delete 553 downloads 528
disable 79 dpi 317, 318
Disable Action 166 drag 146, 446
Disable Robot 81, 82, 83 drag & drop 446
disabled 81, 82, 83, 146 drag and drop 77
disables 312 Drag drop 446
Display 386, 389, 392, 393, 394, 397, 401, 403 drop 446
Display Custom 389 dropdown 482
Display Custom Message Action 389 drop-down 482
Display Input Dialog 393 duplicated 704
Display Input Dialog Action 393 Dynamic change 176
Display Message 386, 389
Display Message Action 386 -E-
Display Notification 79
Display Notification Action 79, 392 Each 267, 344
Display Select Date 394 each Action 171
Display Select Date Dialog 394 each number 410
Display Select File Dialog Action 401 easier interface 178
Display Select Folder Dialog 403 Edit 528, 532
Display Select Folder Dialog Action 403 Edit Robot 74, 75
Display Select From List Dialog Action 397 Edit Robot Properties 122
distinction 251 Edit Triggers 85
DNS 312 edited 178
Do not wait more than 291 Editions 13
document 291 effects 164
Document Path 586, 587, 588 efficient 281
Document to Print 302 element 332, 336, 443, 487, 489, 490, 492, 511,
documentation 123 514, 516, 518, 524, 677, 679, 681, 682, 684, 685, 687
domain 312 elements 662
DOS 293 Else 270, 338
DOS Command 293 Else Action 338
double backslashes 276 Else If 338
double-click 146 Else If Action 338
doubles 704 email 87, 129, 620, 635
down 376, 505 Email Category 560, 569, 572, 620, 621, 624, 627,
630, 632, 635
Download 130, 135, 503
email message 560, 569, 572, 620, 621, 624, 627,
Download File 545
630, 632, 635
Download File(s) 545
empty 428, 695
Download File(s) from FTP 252, 545
Empty Folder 428
Download Folder 546

© 2018 Softomotive
Index 725

Empty Folder Action 428 EventTriggerEventMessage 89


empty list 695, 696 EventTriggerEventSource 89
Empty Recycle Bin 309 EventTriggerEventType 89
Empty Recycle Bin Action 309 every item 267
empty temporary file 423 exact number 265, 268
empty text 82, 83 example 56, 61, 66
Enable 81, 166 Excel 252, 586, 587, 588, 590, 591, 592, 593, 595,
Enable Action 166 596, 598, 600, 602, 604, 607, 608, 609, 610, 612,
Enable Robot 81 613, 614, 615, 619
Enable/Disable Actions 166 Excel Category 586, 587, 588, 590, 591, 592, 593,
595, 596, 598, 600, 602, 604, 607, 608, 609, 610,
Enabled/Disabled 72
612, 613, 614, 615, 619
enables 312
Excel document 586
end 506, 651
excel file 252
End If 270, 340
Excel Instance 148, 252, 586, 590, 595, 596, 598,
End If Action 340 600, 602, 604, 607, 608, 609, 610, 612, 613, 614, 619
End Loop 345 Exception 276, 279, 354
End Loop Action 345 Exception Block 279
end of a conditional 340 Exception Handling 276, 279, 357
End Robot 369, 371, 372 exceptions 155, 276, 279, 645
End Robot Action 369, 371, 372 Exclude Mask 435
End To 341 exe 131, 135
EndIf 270 executable 77, 82, 83, 130, 131, 135, 643
endless loop 266 execute 176, 368, 583, 585, 676
Enter License 109 Execute Next 175, 176
Enter Password 537 Execute Next Action 175, 176
entire screen 310, 317, 318 Execute SQL Statement 583, 585
environmental 314, 315, 316 Execute SQL Statement Action 583, 585
environmental variable 314, 315, 316 Execute step by step 176
equal 270 executed 270, 344
error 101, 102 executes 291, 641
Error Handling 117, 129, 276, 279 executing 291
error icons 174 execution 171, 369, 371, 372
error list 107 existing folder 427, 428, 430
Error Message 369, 371, 372 existing text 651
Errors 117 Exists 255, 322, 323
Errors Pane 144, 148, 155 Exit 345
event 91, 380 Exit Code 291, 293
Event Details 102 Exit FUnction 368
Event Log 89 Exit Loop 345
Event Log Monitor 89 Exit Loop Action 345
Event Log Monitor Trigger 89 Exit WinAutomation 82, 83
Event Source 89, 104 expand 448
Event Type 104 Export 77
Events list 102 Export Robot 77
EventTriggerEventID 89 ext: 262
EventTriggerEventLogName 89

© 2018 Softomotive
726 WinAutomation Help

extension 421 files 427, 428


External 262 Files Category 405, 407, 408, 410, 415, 416, 421,
External Variables 262, 276 423
extract 209, 272, 485, 487, 489, 490, 492, 518, Files in Folder 405
521, 523, 524 FileTriggerEventType 91
Extract data from web 518 FileTriggerFileName 91
extract data from web page 518 FileTriggerFilePath 91
Extract data from web page action 518 FileTriggerOldFileName 91
Extract data from window 492 fill in 509
Extract data from window action 492 filter 104
extraction 209, 492, 518, 521 Filter Events 104
Filtering 104
-F- find 357, 666, 668
Find Common List Items 705
Fail 357 Find Common List Items Action 705
fail that Robot 276, 279 Find Window 354, 453
failure 94 fired 89, 91
false 266 fires 91, 93
feature 130, 135, 357, 376, 505 First 343
Features 12 First Free 613, 614
field 477, 478, 507, 509 First Free Column 613
file 251, 310, 526, 528, 532 First Free on Column 614
File Category 405, 407, 408, 410, 415, 416, 421, First Free Row 613, 614
423 First line 615
File Dialog 401 First Occurrence 664
File Exists 322, 401, 407, 410 First Operand 321, 343
File Filter 401, 405 first Robot 56, 61, 66
file from the web 528, 532 fixed 649
File Monitor 91 fixed length 649
File Monitor Trigger 91 Flow Control 366, 367, 369, 371, 372
File Name 421 Flow Control Category 366, 367, 369, 371, 372
File Name without Extension 421 Focus 453, 477, 478, 507
file object 423 Focus fieldAction 477
File Path 322, 347, 415, 416, 421 Focus text field 477, 507
File to Copy 407 Focus text field Action 507
File to Delete 550 Focus Window 453
File to Download 546 Focus Window Action 453
File to Move 408 Folder 91, 148, 252, 255, 323, 403, 405, 424, 426,
File to Play 308 427, 428, 430, 431, 432, 549
File to Rename 410, 551 Folder Category 424, 426, 427, 428, 430, 431, 432
File to Upload 548 Folder Dialog 403
File(s) to Delete 410 Folder Exists 323
File(s) to Download 545 Folder Path 323
File(s) to Zip 434 Folder to Copy 428
file’s properties 252 Folder to Delete 427
filename 421 Folder to empty 428

© 2018 Softomotive
Index 727

Folder to Move 430 General Options 108, 283


Folder to Rename 431 General tab 79
Folders Category 424, 426, 427, 428, 430, 431, generate 254
432 Generate EXE 130, 135
Folders List 72 generated 130, 135
Follow Redirection 528, 532 generating 659
For 267, 344 Get 303, 315, 317, 374, 437, 642, 643, 646, 648,
For each 264, 267 694
For Each Action 344 Get Active Worksheet 595
Force 304, 305 Get Active Worksheet Action 595
Force Log Off 304 Get Active Worksheets 596
Force Selected Action 305 get all 596
foreground 179, 357, 453 Get all Active Worksheets Action 596
Foreground Window 310, 317, 318, 376, 450 Get Clipboard Text 437
foremost 374, 375, 376, 380 Get Clipboard Text Action 437
format 262, 528, 532, 654, 657 Get Command Line Arguments 642
Format to Use 657 Get Current Date and Time 669
formats 262 Get Current Date and Time Action 669
four responses 276, 279 Get Data 492, 518
Free 613, 614 get decimal part 691
Free Column 613, 614 Get Default Printer 303
frequency 101 Get Default Printer Action 303
From 560, 569, 572, 620, 621, 624, 627, 630, 632, get details of element on web 524
635 Get Details of element on web page 524
FTP 113, 252, 537, 539, 542, 544, 545, 546, 548, Get Details of element on web page action 524
549, 550, 551, 552, 553, 554, 558 get details of web 523
FTP Category 537, 539, 542, 544, 545, 546, 548, Get Details of web page 523
549, 550, 551, 552, 553, 554, 558
Get Details of web page action 523
FTP Command 558
Get Details of Window 485
Ftp Connection 551
Get Details of Window action 485
FTP Connection to close 542
Get Details of Window element 487
FTP Directory 552
Get Details of Window element action 487
FTP File 148, 550, 551
Get Difference in 672
FTP Folder 148
get exception 645
Ftp Server 537, 539
Get FilePath 421
FTPFile 255
Get FilePath Part 421
FTPFolder 255
Get FilePath Part Action 421
full path 347
Get Files 405
FullName 255
Get Files in Folder Action 405
Function 82, 83, 160, 161
Get First Free Column/Row 613
Functions 160, 282, 368
Get First Free Column/Row Action 613

-G- Get First Free Row on Column/Row


Get First Free Row on Column/Row Action
614
614
get integer part 691
gear 251
Get Items Count 694
General 97, 107, 108
Get Items Count Action 694

© 2018 Softomotive
728 WinAutomation Help

Get Mouse 374 Hide 306


Get Mouse Action 374 hides 442, 443, 446, 448, 461
Get Robot's Path 643 highlighted 146, 178
Get Robot's Path Action 643 highlighting 162
get selected 602 hold 374, 375
get selected cell 602 holidays 99
get selected cells in excel Worksheet 602 homonym 266
get selected cells in excel Worksheet Action 602 host 94
Get selected checkboxes in Window 489 Hotkey 56, 61, 66
Get selected checkboxes in Window action 489 HotKeys 92, 146
Get selected radiobuttons in Window 490 Hour 255
Get selected radiobuttons in Window action 490 hourglass 360
Get Special Folder 432 hours 670, 672
Get Special Folder Action 432 hover 505
get started 56, 61, 66 hover Mouse 505
Get Subfolders 424 hover Mouse to element 505
Get Subfolders in Folder 424 HTML 336, 560, 569, 572, 620, 621, 624, 627, 630,
Get Subfolders in Folder Action 424 632, 635
Get Subtext 648 http 528, 532
Get Subtext Action 648 HTTP Authentication 528, 532
Get Temporary File 423 https 528, 532
Get Temporary File Action 423
Get Text 528, 532 -I-
Get Text Length 646
Get Text Length Action 646 icon 251
Get Window 450 ideal 265, 268
given dates 672 identify 252
global 314, 315, 316 identity 528, 532
global variable 314, 315, 316 Idle 93
go to 276, 279, 499 Idle Monitor 93
Go To Action 367 Idle Monitor Trigger 93
go to web 499 IE Enhanced Security Configuration 244
grab 374, 375 IE security settings 240
gray column 175 IE settings Server 244
grayed-out 81 If 270, 271, 321, 322, 323, 325, 326, 327, 330, 332,
336, 338, 340
greater 270
If Action 321
Greece 53
If File 322
GUI Components 188
If File Exists 271, 322, 408, 416, 545, 548

-H- If File Exists Action


If Folder 323
322

Handle 291, 354, 442, 443, 446, 448, 453, 457, If Folder Exists 271, 323, 428
461, 465, 469, 473, 514, 516 If Folder Exists Action 323
handle an exception 276, 279 If Image 271
Handling 276, 279, 354 If Image Action 330
hidden 442, 443, 446, 448, 461 If Process 271, 326

© 2018 Softomotive
Index 729

If Process Action 326 Instance 586, 590, 591, 592, 593, 595, 596, 598,
If Service 271, 325 600, 602, 604, 607, 608, 609, 610, 612, 613, 614,
If Service Action 325 615, 619
If Variations 271 instances 128
If Web page Contains 336 interact 144
If web page Contains Action 336 interacting 307
If Webpage contains 271 interactions 126, 128
If Window 271, 327 interactive 126, 128
If Window Action 327 Interactive Robot 178
If Window Contains 332 Interactive/Non Interactive Robots 282
If Window Contains Action 332 interacts 282
If/Else/EndIf 270 Internal Exception 101
image 201, 310, 330, 526 internet 312
image does not appear 357 Internet Cache 432
Image File 310, 526 Internet Explorer 210, 240, 244, 246, 495, 499,
501, 503, 506
Image Format 310, 526
internet protocol 312
Image Recognition 281, 330, 357, 376
interval 94, 101
Image Repository 159
into Variable 688
images 201
Introduction 12
implements 265, 268
Invoke 368, 532, 558
import 77, 418, 419
Invoke FTP Command 558
Import Robot 77
Invoke FTP Command Action 558
Include 405
IP 312
Include Mask 435
IP address 94
Include Subfolders 405, 424
Is Regular Expression 662
Increase 689
IsArchive 255
Increase Variable 689
IsHidden 255
Increase Variable Action 689
IsReadOnly 255
Increment 341, 410
IsSystem 255
indent 264, 267, 269
item 344
index 698
ItemNumber 254
information 251
items 254
Initial 403
Items Count 694
Initial Folder 401, 403
iterate 267
Initial Value 148, 170
iterates 341, 343
input 93, 126, 128, 251, 282
iterating 254
Input Dialog 393
iteration 264, 267
Input Type 164, 393
insert 608, 610, 685, 687
insert column 610
-J-
insert column in excel action 610
Java 298
insert column in excel worksheet 610
Javascript 298
insert row in excel action 608
Join 661
Insert row in excel worksheet 608
Join Text 661
installed 325
Join Text Action 661

© 2018 Softomotive
730 WinAutomation Help

Jquery 298 List 1 705


jump 179 List 2 705
jumps 367 List Dialog 397
List FTP 542
-K- List FTP Directory 542
List FTP Directory Action 542
Keep Extension 410 list notation 255
Key 384, 385 list of files 405, 407
key combination 82, 83, 108 list of subfolders 424
keyboard 282, 307 List to choose from 397
Keyboard Monitor 92 List to Join 661
Keyboard Monitor Trigger 92 lists 705
Keys 286, 349, 382 literal 321, 343, 558
keystrokes 126, 282, 349, 382 location 283, 366, 485, 523, 524
kill 299, 301 Lock 307
Lock Workstation 307
-L- Lock Workstation Action 307
locked 373
label 367 Log 89, 104, 105, 304
Label Name 366 log database 101
large number Robots 283 log file 101
last 645 Log Off 304
Last Run 72 Log Off User 304
Last Run Result 72 Log Off User Action 304
last Working Day of Month 99 logged 101, 126, 282
LastAccessed 255 logged in 93
LastModified 255 logged on 178
Late 99 logged out 282
launch 178, 291, 495, 499, 506, 586, 620 logged-in 126
Launch browser 495, 499, 506 Logging 101
Launch Excel 252, 586 Logs 72, 107, 108
Launch Excel Action 586 logs off 304
launch new internet explorer 495, 506 Logs Window 101, 102
launch outlook 620 Loop 175, 264, 266, 267, 341, 343, 345
Launched 82, 83, 96 Loop Action 341
Layout 173 Loop Condition 264, 266, 267, 343
left 649 Loop Condition Action 343
length 649 LoopIndex 265, 268
less time 281 Loops 264, 265, 267, 268, 341, 343, 344, 345
less-common color 281 Loops Category 341, 343, 344, 345
License 109 lowercase 652
Limit 397
Limit to List
Line 642, 647
397 -M-
Link 501, 503 Macro Recorder 74, 75, 178, 179
list 107, 148, 267, 344, 405, 482, 516, 661, 694 Macro Recorder Setting 179

© 2018 Softomotive
Index 731

Macro Recorder Settings Dialog 179 Mouse and Keyboard 178, 373, 374, 375, 376,
macro recording 180 380, 382, 384, 385
Main Window Handle 291, 457 Mouse and Keyboard Category 373, 374, 375, 376,
Make Instance Visible 586 380, 382, 384, 385
Make Sequential 410 Mouse Click 380
Manage 200, 201, 283 mouse clicks 179
Manage Functions 161 mouse events 282
Manage Repository 202 mouse movement 126, 128
Manage Robots 283 Mouse Moves 179
Manage Robots Database 283 Move 375, 376, 380, 408, 430, 465, 505
Manager 170 Move File 408
manually 82, 83 Move File(s) 408
Massive Rename 177 Move File(s) Action 408
match 281 Move Folder 430
matches 281 Move Folder Action 430
maximizes 457 Move Folders 77
Maximum 659 Move Mouse 375, 376, 505
Maximum Length 659 Move Mouse Action 375
menu 376, 442, 444, 505 Move Mouse to element 505
Menu Option 444 Move Mouse to Image 281, 376
Merge list 702 Move Mouse to Image Action 376
message 560, 569, 572, 620, 621, 624, 627, 630, Move Robots 77
632, 635 Move Window 465
Message Boxes 386, 389, 392, 393, 394, 397, Move Window Action 465
401, 403 moved 408
Message Boxes Category 386, 389, 392, 393, 394, MS outlook 620, 621, 624, 627, 630, 632, 635
397, 401, 403 multiple 264, 267
met 269 Multiple Instances 126, 128
Method 528, 532 multiple Robots 92
Microsoft's 130, 135 Multiple Selection 401
Minimize all Windows 306 My Pictures 432
minimizes 457
Minimum
Minimum Length
659
659
-N-
Minute 255 Name 72, 148, 170, 255, 325, 366, 485, 523, 524,
minutes 670, 672 590, 591, 592, 593, 595, 596, 598, 600, 602, 604,
mode 126, 128 607, 608, 609, 610, 612, 707
modified 91 name of a folder 431
modifier 384 NameWithoutExtension 255
Monitor 89, 91, 92, 93, 95, 96, 306, 317, 318 navigation 210, 246
monitor email accounts 87 network 312
Month 255 New 591, 695
Monthly 99 new data 613, 614
More Information 432 New Directory 552
Mouse 360, 373, 374, 375, 376, 380, 382, 384, New Extension 410
385, 505 New File Name 410, 551

© 2018 Softomotive
732 WinAutomation Help

New Folder Name 426, 431


New Instance 495, 499, 506 -O-
new line 651
New List 695 objects 405
New Name 410 Occurrence 664
new Robot 74, 75 occurrences 651, 664, 666, 668
New Row 608 Off 385
new size 469 Offset 376, 505
New Variable 170 Offset X 376, 505
New Window 469 Offset Y 376, 505
New Window Position 465 OK 403
New Window Size 469 On 385
New Worksheet 591 one or more actions 264, 267
Next Action 176 one or more files 408
Next Scheduled Run 72, 99 Open 401, 537, 539, 583
no affect 168 open cmd 576
no input 93 open cmd session 576
no Logs 174 open cmd session action 576
no properties 162 open command 576
no yellow and white fields 251 open command line session 576
node 448 open connection 542
Non Interactive 282 Open FTP Connection 252, 537
non-interactive 126, 128, 282 Open Macro Recorder 179
not 327, 332, 336 Open Secure FTP Connection 539
not met 338 Open Secure FTP Connection Action 539
not monitor 130, 135 opens 354
not protected 283 operand 270
not using 93 operands 270
not very critical 283 operating 384
notation 254, 255 operator 270
notes 123, 168 option 444, 511, 514, 516
notes to yourself 168 Options 97, 107, 108, 113, 114, 116, 171, 283
Notification 79, 392 Organize 167
notification popup 392 Original 647, 648
Notifications tab 79 originally 376, 505
NUM 385 outlook 620, 621, 624, 627, 630, 632, 635
NUM LOCK 385 output 126, 128, 254, 282, 293
number 255, 341 Output property 170
Number of Chars 648 overview 194
number of times 341 overwrite 688
Number to Convert 654 overwrites 283
Number to Text 654
Numerical 148 -P-
Pad 649
Pad Text 649

© 2018 Softomotive
Index 733

Pad Text Action 649 Populate text field 478, 509


Padding 649 Populate text field Action 509
Pane 146, 148, 155, 176 populatefieldAction 478
panic button 79 Popup 392
Parameters 528, 532 Port 537, 539, 560, 569, 572, 620, 621, 624, 627,
Parent 255 630, 632, 635
Parse 664 position 179, 374, 375, 380, 465
Parse Text 664 POST 528, 532
Parse Text Action 664 Post Parameters 528, 532
parses 664 Post's Parameter 528, 532
Part 1 56 Power 299
Part 2 61 PowerShell 299
Part 3 66 preceding 338
passing data 262 precise 179
Password 116, 434, 435, 537, 539, 560, 569, 572, predefined Trigger 79
620, 621, 624, 627, 630, 632, 635 press 384, 480, 481
passwords 659 press button 480
paste 146, 289, 604, 607 press button Action 480
paste cells in excel Worksheet 607 Press Key 384
paste cells in excel Worksheet Action 607 Press/Release Key 384
pasting 283 Press/Release Key Action 384
Path 586, 587, 588, 643 pressed 384, 401
pattern 664 prevent 307
Pause 639 previously 688
Pause Service 639 Print 302
Pause Service Action 639 Print Document 302
paused 325, 353, 640 Print Document Action 302
pauses 95, 347, 349, 353, 354, 639 printer 302
percent 276 Printer Name 303
percent sign 276 PRO 130, 135
percentage 251 PRO version 130, 135
percentage characters 251 Process 96, 299, 301, 314, 315, 316, 326, 351,
Perform 305 569, 627, 630, 632
persistent 258 Process Email 569, 627, 630, 632
ping 94, 312 Process Id 291
Ping Trigger 94 Process Monitor 96
PingTriggerHostName 94 Process Monitor Trigger 96
pixel 281, 380 Process Name 326, 351
pixel coordinates 380 ProcessTriggerEventType 96
pixels 376, 465, 469, 505 ProcessTriggerProcessName 96
placed 270 Professional 13
Play 308 programming 255, 264, 267
Play Sound 308 Prompt 394
Play Sound Action 308 Properties 162, 255, 291, 293, 305, 310, 317, 318,
playback 179 526
populate 509 Properties Box 164

© 2018 Softomotive
734 WinAutomation Help

Properties dialog box 146 Recording 178


protected 283 Recording vs Building a Robot 178
Protocol 312, 539 records 178
purchase 54 Recurring 98, 101
Recurring schedule 101
-Q- Recycle Bin 309
red dot 146, 175
quarter 380 redirect 528, 532
Query 583, 585 Redirection 528, 532
Query Result 583, 585 Reference 291, 293, 302, 303, 304, 305, 307, 308,
quicker 281 309, 310, 312, 317, 318, 321, 322, 323, 325, 326,
327, 330, 332, 336, 338, 340, 341, 343, 344, 345,
-R- 346, 347, 349, 351, 353, 354, 357, 360, 366, 367,
369, 371, 372, 373, 374, 375, 376, 380, 382, 384,
385, 386, 389, 392, 393, 394, 397, 401, 403, 405,
radio 481, 490, 514, 516 407, 408, 410, 415, 416, 418, 419, 421, 423, 424,
radio button 481 426, 427, 428, 430, 431, 432, 434, 435, 437, 438,
radiobutton 490 439, 442, 443, 446, 448, 453, 457, 461, 465, 469,
Random 659, 692 473, 505, 507, 509, 511, 514, 516, 526, 528, 532,
537, 539, 542, 544, 545, 546, 548, 549, 550, 551,
Random List 692
552, 553, 554, 558, 560, 569, 572, 583, 585, 586,
Random Number 692 587, 588, 590, 591, 592, 593, 595, 596, 598, 600,
Random Text 659 602, 604, 607, 608, 609, 610, 612, 613, 614, 615,
range 615 619, 621, 624, 627, 630, 632, 637, 638, 639, 640,
read 615, 676, 677, 679, 681, 682, 684, 685, 687 641, 642, 643, 646, 647, 648, 649, 651, 652, 653,
654, 656, 657, 659, 661, 662, 664, 666, 668, 669,
read cmd 580
670, 672, 688, 689, 690, 692, 694, 695, 697, 698,
read cmd session 580 699, 705, 706, 707
read cmd session action 580 regain 373
read command 580 regain control 373
read command line session 580 regional settings 252
Read from Excel 252, 615 Regions 167
Read from Excel Action 615 regular expression 662, 664
Read Text 415 Regular Expressions 666, 668
Read Text from File Action 415 regular list notation 255
read xml 673 relationship 343
read xml from file 673 relative 374, 375, 376, 505
read xml from file action 673 Release 384
reboots 305 Release Key 384
Recognition 281 released 384
recognize 281 remember 123
record 178, 276, 279, 374, 375 reminder 179
record a mouse movement 374, 375 remote computer 312
Record Macro 179 remove 250, 410, 681, 682, 684, 687, 704
Record Macro button 179 remove column 612
Record Mouse Actions 179 Remove Item 698
record of the exception 276, 279 Remove Item from List 698
recorded 174 Remove Item from List Action 698
recorder 179, 180

© 2018 Softomotive
Index 735

remove items from list 696 retrieves 432, 694


remove Row 609 retry 276, 279
Remove Text 410 Return 368, 528, 532
Rename 177, 410, 431, 551, 593 Return Data 528, 532
Rename File 410 Return to Console 74, 75
Rename File(s) 410 Reveal Desktop 306
Rename File(s) Action 410 reverse list 703
Rename Folder 431 right 376, 505, 649
Rename Folder Action 431 right-click 166
Rename FTP File Action 551 right-clicking 166
Rename Scheme 410 robot 643
Rename Worksheet 593 Robot Compiler 13
Rename Worksheet Action 593 Robot Design 179
Renamed 91 Robot Designer 82, 83, 144, 171, 174, 392
repeat 264, 267 Robot Designer Options 146, 171
repeated 265, 268 Robot is Late 99
replace 666, 668 Robot manually 175
Replace Text 410, 666, 668 Robot Properties 79, 122, 282
Replace Text Action 666, 668 Robot Properties Dialog 122
Replace with 410 Robot to Run 641
Reply Code 558 Robot Trigger 91
Reply Text 558 Robots 73, 108, 282, 283
repository 196, 200, 201 Robot's 643
reproduce 179 Robots Database 118, 283
Requirements 13 Robots List 72
Resize 469 Robot's Path 643
Resize Window 469 Robots Tab 73
Resize Window Action 469 Robots.dat 283
Resolution 317, 318 Root Path 421
resolve 312 RootPath 255
resource 418, 419 Rotate Excel Data 265, 268
resource-intensive 93 round number 691
respond 94, 632 Row 598, 600, 602, 604, 607, 608, 609, 613, 614,
response 276, 279 615, 619
restore 283 rows 255
Result 649 RowsCount 255
results 405 Run 291, 641
Resume 640 run a different Robot 276, 279
Resume Service 640 run a specific application 179
Resume Service Action 640 Run another Robot 129
resumes 640 Run Application 291
Retrieve 254, 255, 424, 560, 621, 624 Run Application Action 291
Retrieve DataTable Column 707 Run DOS Command 293
Retrieve DataTable Column into List 707 Run DOS Command Action 293
Retrieve Email 560, 621, 624 Run Function 368
Retrieved Files 405 run immediately 99

© 2018 Softomotive
736 WinAutomation Help

Run Properties 79, 126, 128, 282 Select File Dialog 401
Run Robot 79, 641 Select Folder 403
Run Time Errors 155 Select Folder Dialog 403
running 148, 325, 326, 351, 639 Select From List 397
Run-Time Error 276, 279 Select menu option action 444
select option 444
-S- select radio 514
select radio button 514
same type 254 Select radio button Action 481
save 630 select radio button in window Action 514
Save File 528 select web element 212, 247
Save File to 528 selected 394, 397, 403, 489, 490
Save Screen Shot 310, 317, 318, 526 Selected Action 305
Save to Disk 528 selected cell 600
saves 310, 317, 318, 526 Selected Date 394
schedule 98, 99, 101, 135 Selected Folder 403
Schedule Expire 99 Selected Index 397
Schedule Trigger 99 Selected Item 397
Schedule Trigger Properties 99 selected Worksheet 600, 602, 604, 607
scheduler 98, 135 selection 397, 444, 600, 602, 604, 607
Scheme 410 selectors 272
screen 179, 281, 306, 310, 317, 318, 357, 376, 526 send 380, 382, 572, 621, 624
Screen Saver 312 Send an email 129
screensaver 312 Send Email 572
ScreenShot 310, 317, 318, 526 Send Email Action 572
Script 295, 298 Send Keys 286, 349, 382
scripts 283 Send Keys Action 382
SCROLL 385 Send Mouse Click 380
SCROLL LOCK 385 Send Mouse Click Action 380
Search 146, 357, 376 Sender 560, 569, 572, 621, 624, 627, 630, 632
Search for Actions 146 sends 560, 569, 572, 621, 624, 627, 630, 632
searched 376 sentence case 652
second 380 separate list items 661
Second Operand 321, 343 separates 662
seconds 346, 670, 672 Separator 410, 654
secure connection 539 Server 114
Secure FTP 252, 539 Service 95, 114, 130, 135, 325, 353, 532, 637, 638,
Secure FTP Connection 252 639, 640
Secure FTP Protocol 539 Service Category 637, 638, 639, 640
select 394, 397, 403, 444, 481, 501, 503, 514, 600 Service Monitor 95
select any variable 251 Service Monitor Trigger 95
select cells in excel Worksheet 600 Service Name 325, 353
select cells in excel Worksheet Action 600 Service to Pause 639
Select Date 394 Service to Resume 640
Select Desktop 440 Service to Start 637
Select File 401 Service to Stop 638

© 2018 Softomotive
Index 737

Services Category 637, 638, 639, 640 simulate 178


ServiceTriggerServiceName 95 Simulating 178
ServiceTriggerServiceState 95 site 336
session 576, 578, 580, 582 situation 276, 279
Set 303, 314, 318, 385, 438, 442, 443, 446, 448, size 171, 317, 318, 469, 485, 523, 524
457, 461, 481, 511, 516, 684, 688 skip 99, 269
set a Variable 276, 279 skipped 269
Set Active Worksheet 590 smaller 270
Set Active Worksheet Action 590 SMTP 114, 560, 569, 572, 621, 624, 627, 630, 632
set checkbox state on web page 511 SMTP Server 114, 129
set checkbox state on web page Action 511 Softomotive 53
Set Clipboard Text 438 Softomotive Ltd 53
Set Clipboard Text Action 438 Sort 405, 699
Set Default Printer 303 Sort by 405
Set Default Printer Action 303 Sort List 699
set drop down list 516 Sort List Action 699
set drop down list value in web page 516 Sound 308
set drop down list value in web page Action 516 Sound to Play 308
Set Key 385 source 102, 521
Set Key State 385 space 651
set list 482 special 251, 276
Set New Name 410 special "gear" icon 251
set number of seconds 347, 349, 353 Special Folder 432
set number of times 265, 268 Special Folder Name 432
set of Actions 178 special kind 168
set screen 318 specific 255, 326, 341, 453, 507, 509, 511, 514,
set state 481, 511 516
Set Value 688 specific Robot 105
Set Variable 688 specific time 82, 83, 99
Set Variable Action 688 specified 346
Set Window 442, 443, 446, 448, 461 Split 662
Set Window State 457 Split Text 662
Set Window State Action 457 Split Text Action 662
Set Window Visibility 442, 443, 446, 448, 461 SQL 583, 585
Set Working Directory to 544 SQL Category 583, 585
sets 469 SQL Statement 583, 585
Shift 382, 384 SSL 560, 569, 572, 621, 624, 627, 630, 632
Shuffle List 701 standalone 82, 83
shutdown 305, 506 stand-alone 130, 135
Shutdown Computer 305 Standard 13, 657, 661, 662
Shutdown Computer Action 305 Standard Delimiter 661, 662
shuts 305 Standard Format 657
shuts down 305 Start 174, 341, 615, 637
sign 276 Start button 174
similar actions 528, 532 Start From 341
Simple Loops 264, 265, 267, 268 Start Numbering 410

© 2018 Softomotive
738 WinAutomation Help

Start Parsing 664 Store Moved Files into 408


Start Recording 179 Store Moved Folder into 430
Start Robot Action 641 Store Newly Created Folder into 426
Start Service 637 Store Output into 293, 295, 298
Start Service Action 637 Store Position 664
started 353, 642 Store Position(s) of found text into 664
Starting 179 Store Random Text 659
Starting the Macro Recoder 179 Store Renamed Folder into 431
starts 95, 96, 312, 351, 353 Store Reply Code 558
state 323, 325, 326, 327, 332, 336, 481, 511 Store Reply Code into 558
Statement 583, 585 Store Reply Text into 558
status 79 Store Result 647, 649, 653, 654, 656, 657, 661,
Status Monitor Window 119 662, 666, 668, 672
step by step 176 Store Result into 649, 653, 654, 656, 657, 662
sticky-pad 168 Store Result Text 666, 668
stop all running Robots 108 Store Retrieved DateTime 669
stop process 299, 301 Store Retrieved Subfolders into 424
Stop Robot 79 Store Robot's Path 643
Stop Service 638 Store Robot's Path into 643
Stop Service Action 638 Store Selected File 401
stopped 325, 353 Store Selected Folder 403
stops 312, 351, 353, 369, 371, 372, 638 Store Special Folder Path into 432
storage 251 Store Subdirectories into 542
storage bin 251 Store Subtext 648
Store 341, 344, 393, 394, 397, 401, 437, 542, 558, Store Temporary File 423
583, 585, 613, 614, 615, 642, 648, 664, 666, 668, Store Temporary File into 423
669, 694 Store Text 652
Store Button Pressed 386, 389, 393, 403 Store Text with New Case 652
Store Clipboard Text Into 437 Store Text with New Case into 652
Store Command Line Arguments 642 Store the result into 670
Store Command Line Arguments into 642 Store Trimmed Text into 651
Store Common Items into List 705 Store User Input 393
Store Connection 539 Store Web Page Text 528, 532
Store Connection into 537 Store Zip File into 434
Store Content 415 stored 148
Store Copied Files 407 Stored Renamed Files 410
Store Copied Folder into 428 String 583, 585
Store Current Index 341 Subdirectories 542
Store Downloaded File 528, 532 subfolders 427, 428
Store Excel Instance into 586 Subject 560, 569, 572, 621, 624, 627, 630, 632
Store Files into 542 subnet 312
Store Length 646 substrings 662
Store Main Window Handle 354 subtext 664, 666, 668
Store Match 664 Subtract 672, 706
Store Match(es) into 664 Subtract Dates 672
Store Moved Files 408 Subtract Dates Action 672

© 2018 Softomotive
Index 739

Subtract Lists 706 Text to Convert: 652


Subtract Lists Action 706 Text to DateTime 656
subtracts 670 Text to Find 664
success 94 Text to Measure 646
suspends 305, 346, 347, 349, 351, 353, 354, 360, Text to Number 653
361, 363 Text to Pad 649
sync 554 Text to Parse 664, 666, 668
synchronization 554 Text to Remove 410
synchronize 554 Text to Replace 410
System 291, 293, 302, 303, 304, 305, 307, 308, Text to store into Clipboard 438
309, 310, 312, 317, 318 Text to Trim 651
System Category 291, 293, 302, 303, 304, 305, Text to Write 416
307, 308, 309, 310, 312, 317, 318
text value 646, 648, 661
System Startup 114
than 270
System Tray 281
this is not a Variable 276

-T- Time
time range
669
104
Timeout 386, 389, 583, 585
tab 651
times 341
tables 255
title 327, 332, 336, 354, 386, 389, 393, 394, 397,
tabs 155
401, 442, 443, 446, 448, 453, 457, 461, 465, 469,
tabular 255 473, 485, 507, 509, 511, 514, 516, 523, 524
Take 310, 526 To 560, 569, 572, 621, 624, 627, 630, 632
Take ScreenShot 310, 526 To Variable 670
Take ScreenShot Action 310 Tolerance 357, 376
Take ScreenShot of web page 526 toolbar 174
Take ScreenShot of web page Action 526 Tools 97, 107, 283
technical 102 Topic 276, 279, 281, 282, 283
Temporary File 423 Total 649
terminate 299, 301 Total Length 649
Terminated 82, 83, 96 transfer 113
terminates 95, 96 transfer type 113
test 166 tree 448
Text 148, 252, 255, 361, 363, 382, 416, 437, 438, trigger 79, 85, 89, 91, 92, 93, 94, 95, 96, 98, 135
477, 478, 507, 509, 514, 516, 646, 648, 649, 651,
Trigger Types 85
656, 657, 661, 662, 664
Trigger Variables 82, 83, 170
Text Actions 646, 647, 648, 649, 651, 652, 653,
654, 656, 657, 659, 661, 662, 664, 666, 668 TriggerName 82, 83
Text Actions Category 646, 647, 648, 649, 651, Triggers 72, 82, 83, 89, 130, 135
652, 653, 654, 656, 657, 659, 661, 662, 664, 666, 668 Triggers tab 82, 83
Text Case 652 Triggers Window 85
text elements 662 Trim 651
text field 478 Trim Text 651
text file 129 Trim Text Action 651
Text Length 646 true 343
Text to Add 410 truncate number 691
Text to Convert 653, 656 two kinds of errors 155

© 2018 Softomotive
740 WinAutomation Help

two-dimensional arrays 255


Type 148, 170, 393, 394 -V-
typing speed 179
v3 251
-U- Valid 558
Valid Reply Code 558
ui 185, 194, 196, 202, 206, 209, 332, 440, 444 Valid Reply Code(s) 558
UI actions 196 valuable information 251
UI Automation Window 450 value 393, 619, 682
UI selectors 202, 206 Variable 148, 177, 258, 276, 279, 314, 315, 316,
unauthorized 307 344, 688, 689, 690, 692
unblock 373 variable property 251
uncompress 435 Variable Types 164
unexpected 276, 279 VariableName[ItemNumber] 254
unexpected situation 276, 279 VariableName[RowNumber][ColumnNumber] 255
Unzip 434, 435 Variables 82, 83, 89, 91, 96, 144, 148, 164, 170,
Unzip Category 434, 435 176, 251, 252, 254, 255, 258, 262
Unzip Files 435 Variables Actions 688, 689, 690, 692, 694, 695,
697, 698, 699, 705, 706, 707
Unzip Files Action 435
Variables Actions Category 688, 689, 690, 692,
updated 666, 668
694, 695, 697, 698, 699, 705, 706, 707
Upload 548, 549
Variables Manager 82, 83, 148, 170
Upload File 548
Variables Manager Window 170, 251
Upload File(s) 548
Variables Pane 155
Upload File(s) to FTP Action 548
Variables Visualizer 150
Upload Folder 549
VBS 295
Upload Folder(s) 549
VBscript 295
Upload Folder(s) to FTP Action 549
version 130, 135
uppercase 652
version 3 15
URL 94, 528, 532
View Logs 101
Usage 267, 269
Visibility 442, 443, 446, 448, 461
Usage Examples 267, 269
visible 357, 376, 442, 443, 446, 448, 461
Use 657
visually 171
Use 1000 Separator 654
vs 178
Use Desktop 440
useful information
User 304, 528, 532
251
-W-
User Agent 528, 532 Wait 346, 347, 349, 351, 353, 354, 357, 360, 361,
User Defined Variables 170 363, 380
User Input 393 Wait Action 346
User Name 537, 539, 560, 569, 572, 621, 624, Wait Category 346, 347, 349, 351, 353, 354, 357,
627, 630, 632 360, 361, 363
Username 114 wait cmd 582
Using 251 wait cmd session 582
Using Variables 251 wait cmd session action 582
wait command 582
wait command line session 582

© 2018 Softomotive
Index 741

Wait For Content 361, 363 Weekly 99


Wait For File 347 What to Trim 651
Wait For File Action 347 What’s new 251
Wait for file to be 347 What’s new about variables 251
Wait For Hotkey 349 What's New 15
Wait For Hotkey Action 349 white space 651
Wait for Image 281 whole screen 179
Wait For Image Action 357 wildcards 327, 332, 336, 354, 442, 443, 446, 448,
Wait for key 349 453, 457, 461, 465, 469, 473
Wait For Mouse 360 Win 384
Wait For Mouse Action 360 WinAutomation 12, 283, 392
Wait For Process 351 WinAutomation Actions 641, 642, 643
Wait For Process Action 351 WinAutomation Actions Category 641, 642, 643
Wait for Robot 641 WinAutomation Console Window 392
Wait for Robot to Complete 641 WinAutomation Log 644
Wait For Service 353 WinAutomation Options 108, 113, 114
Wait For Service Action 353 WinAutomation Robot 130, 135
Wait for service to 353 WinAutomation Robots 283
Wait For text 361 WinAutomation Service 82, 83, 114
wait for text on cmd 582 WinAutomation v2 users 251
wait for text on cmd session 582 WinAutomationController 283
Wait For web 363 WinAutomationController.exe 283
Wait For webpage 363 Window 170, 179, 194, 209, 327, 332, 354, 361,
Wait For Window 354 374, 375, 376, 392, 440, 442, 443, 444, 446, 448,
453, 457, 461, 465, 469, 473
Wallpaper 306
Window Class 327, 332, 336, 354, 442, 443, 446,
Warning 89, 104
448, 453, 457, 461, 465, 469, 473
Warnings 117
Window Handle 354, 442, 443, 446, 448, 453, 457,
Web 272, 363, 495, 499, 501, 503, 506, 507, 509, 461, 465, 469, 473
511, 514, 516, 521, 528, 532
Window Instance 254
web address 528, 532
Window Position 465
web applications 210, 246
Window Size 469
web automation 210, 212, 219, 246, 247
Window State 457
Web Category 528, 532
Window Style 291
web data extraction 219, 228, 235, 238
Window Title 327, 332, 354, 442, 443, 446, 448,
web forms 210, 246 453, 457, 461, 465, 469, 473
web harvesting 228, 235, 238 Windows 209, 309, 432, 442, 443, 446, 448, 453,
web page 336, 507, 509, 511, 514, 516, 528, 532 457, 461, 465, 469, 473, 477, 478, 480, 481, 482,
Web Page Text 528, 532 637, 638, 639, 640
web recorder 219 Windows Applications Event Log 129
web scrapping 228, 235, 238 Windows Category 442, 443, 446, 448, 453, 457,
web server 244, 528, 532 461, 465, 469, 473, 477, 478, 480, 481, 482
web sites 210, 246 Windows Event Log 89
Webpage 363, 495, 499, 501, 503, 506 Windows Recycle Bin 309
WebService 532 Windows Service 637, 638, 639, 640
website 495, 499, 501, 503, 506, 507, 509, 511 Windows' special folder 432
weekday 99 Windows Vista 130, 135

© 2018 Softomotive
742 WinAutomation Help

wish 385
Working 99
Working Directory 544
Working Folder 291, 293
worksheet 613, 614
Worksheet Index 590, 595, 596
Worksheet Name 590, 595, 596
Workspace 144, 146, 148, 155, 162
Workstation 307
Write 416, 619
write cmd 578
write cmd session 578
write cmd session action 578
write command 578
write command line session 578
Write Text 416
Write Text to File 416
Write Text to File Action 416
Write to Excel Action 619
write xml 674
write xml to file 674
write xml to file action 674

-X-
xml 673, 674, 676, 677, 679, 681, 682, 684, 685,
687
xpath 673, 674, 676, 677, 679, 681, 682, 684, 685,
687

-Y-
Year 255
yellow 168

-Z-
Zip 434, 435
Zip archive 434, 435
Zip Category 434, 435
Zip Files 434
Zip Files Action 434

© 2018 Softomotive

You might also like