0% found this document useful (0 votes)
24 views

Brity Works User Manual (v1.6.0)

Uploaded by

hienhoangdat1977
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)
24 views

Brity Works User Manual (v1.6.0)

Uploaded by

hienhoangdat1977
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/ 451

Brity Works User Manual (v1.6.

0)

${solution_edition}
${last_modified}

Manual version:
Brity Works User Manual (v1.6.0)

Samsung SDS
Table of Contents

Table of Contents

Table of Contents .................................................................. v

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

1. Overview ...................................................................... 1

1.1 Introduction to RPA Solution ................................................................ 1

1.2 Supported Features ........................................................................ 1

1.3 Use Cases .................................................................................. 2

2. Getting started ................................................................. 5

2.1 System Requirements ...................................................................... 5

2.2 Preparing the License ...................................................................... 6

2.3 Installing RPA Designer ..................................................................... 6

Installing Virtual Keyboard Manually (Win 10) .................................................. 10

Installing Virtual Keyboard Manually (Win 7) ................................................... 15

Deleting Virtual Keyboard ..................................................................... 16

2.4 Installing RPA Bot .......................................................................... 18

Installing Virtual Keyboard Manually (Win 10) .................................................. 22

Installing Virtual Keyboard Manually (Win 7) ................................................... 27

Deleting Virtual Keyboard ..................................................................... 29

3. Using RPA Designer ............................................................. 31

3.1 Overview of the Designer Screen ............................................................ 31

Main Menu ................................................................................... 32

Designer Setting ............................................................................ 33

Server Setting .............................................................................. 36

Sample ..................................................................................... 37

Toolbar ...................................................................................... 38

Project Screen ................................................................................ 39

Search screen for process flow ................................................................. 40

Integrated Search Screen (Ctrl+Shift+F) ......................................................... 40

v
Table of Contents

Library Screen ............................................................................... 41

Screen for Process Flow Library ................................................................ 42

Design Screen ................................................................................ 43

Finding Activities (Ctrl + F) .................................................................. 44

Viewing the Mini Map ....................................................................... 45

Changing the Screen Size (Zoom Menu) ....................................................... 46

Changing the Screen Size (Ctrl + Mouse Wheel) ................................................ 46

Folding/Unfolding a Diagram ................................................................ 46

Selecting the Entire Diagram ................................................................. 47

Using Diagram Auto Scroll ................................................................... 47

Using the Activity View Mode ................................................................ 48

Output Screen ................................................................................ 49

Shared Resource Screen ....................................................................... 49

Variable Screen ............................................................................... 50

Properties Screen ............................................................................. 50

Help Screen .................................................................................. 51

Image Edit Screen ............................................................................. 52

3.2 Starting a New Project and Process Flow ..................................................... 53

Creating a New Project or Process Flow ......................................................... 54

Creating a New Task .......................................................................... 55

Creating a New Process ........................................................................ 57

Creating a New Event ......................................................................... 57

Adding Remote Process ........................................................................ 57

Adding a Resource ............................................................................ 59

Creating a New Group ......................................................................... 60

Editing a Project .............................................................................. 61

Changing Task Name ........................................................................ 61

Copying Task ............................................................................... 62

Moving Task ................................................................................ 62

Opening File Folder with File Explorer ........................................................ 63

Deleting Task ............................................................................... 64

3.3 Saving a Project and Process Flow ........................................................... 64

vi
Table of Contents

3.4 Running a Project .......................................................................... 65

Stopping a Project ............................................................................. 66

3.5 Debugging ................................................................................. 67

Setting Debugging (Adding Breakpoint) ......................................................... 67

Debugging ................................................................................... 68

3.6 Running a Process Flow .................................................................... 69

3.7 Importing/Exporting Package ............................................................... 70

Importing Package ............................................................................ 70

Exporting Package ............................................................................ 70

4. Designing Projects .............................................................. 73

4.1 Designing with the Recording Feature ....................................................... 73

4.2 Designing with the Library .................................................................. 77

Adding an Activity ............................................................................ 77

Adding an Activity to the Link ............................................................... 77

Adding an Activity to Activity Group .......................................................... 78

Adding an Activity Between Groups .......................................................... 78

Adding a Block Between Groups .............................................................. 79

Editing an Activity ............................................................................ 80

Deleting an Activity ......................................................................... 80

Copying an Activity 1 ........................................................................ 80

Copying an Activity 2 ........................................................................ 81

Moving an Activity 1 ........................................................................ 82

Moving an Activity 2 ........................................................................ 83

Adding a Task ................................................................................ 84

Operating an Activity ......................................................................... 85

Selecting Multiple Activities ................................................................. 85

Inverting Selection .......................................................................... 86

Deactivating ................................................................................ 87

Folding an Activity Group ................................................................... 88

Folding an Activity Block .................................................................... 89

Changing an Activity .......................................................................... 90

Library Details ............................................................................... 91

vii
Table of Contents

App library ................................................................................. 91

Web library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Excel Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

SAP Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

Image Recognition Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

ImageRecognition(OCR) Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

System Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

FlowControl Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Orchestrator Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

KnoxPortal Library (Samsung Employees only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

Private Script Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

Using Virtual Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

Install Virtual Driver Manually - Windows 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

Install Virtual Driver Manually - Windows 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

Deleting Virtual Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

Using Virtual Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

4.3 Designing with Custom Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

Using Javascript Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

Using .Net Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

Using MS Activity Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

Using the Add-In Library (MS VisualStudio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

Creating VisualStudio Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

Setting the VisualStudio project properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

Adding Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

Setting up Designer debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

Implementing the AddIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

Implementing the Activity Declarative. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

Implementing Activity Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

Setting the multilingual string resource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326

4.4 Designing Headless Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

5. Designing Process Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

5.1 Designing with Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

viii
Table of Contents

Adding a Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

Adding Waiting Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

5.2 Designing with the Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

Details of the Process Flow Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

6. Following Process Flow Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

6.1 Signing in to Gmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

Creating New Project (Project Name: RPA_Exercise) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

Creating a New Task (Task Name: Gmail_Login) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

Accessing the Gmail website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348

Setting ID and Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350

Executing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

6.2 Save to Excel after Capturing the Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

Creating a New Task (Task Name: Excel_Work) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

Configuring Screen Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

Creating an Excel file, inserting the captured screen, and setting the screen size . . . . . . . . . . . . . . . . . . . . 355

Save and Close Excel File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361

Executing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

6.3 Sending Email to Myself with the Excel File Attached . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

Creating a New Task (Task Name: Mail_Send) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

Sending Email and Setting the Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364

Executing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

6.4 Signing out of Gmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

Creating a New Task (Task Name: Gmail_Logout) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

Setting Log out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371

Executing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

6.5 Link the Tasks to Organize Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

Renaming the Default Process Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373

Linking tasks to Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373

Executing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

7. Linking to Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375

7.1 Preparing Server Linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375

7.2 Activating and Deactivating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376

ix
Table of Contents

Activating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

Deactivating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

7.3 Logging In and Logging Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

Logging In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

Logging Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380

7.4 Setting User Profile Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380

Setting User Profile Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381

7.5 Publishing Project and Process Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

7.6 Importing Project and Process Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384

7.7 Using Shared Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

Using Credential Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

8. Using RPA Bot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

8.1 Setting up Use Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

8.2 Running Bot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

8.3 Deactivating Bot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392

Appendix A. Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

A.1 Problems related to Installation and Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

A.2 Problems related to Writing and Executing Automation Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

A.3 Problems related to Linking Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

A.4 Problems related to Bot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

A.5 Problems related to VDI operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400

A.6 Problems related to Publish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402

A.7 Problems related to Bot VDI installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

A.8 Problems related to Designer Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

A.9 Problems related to using Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406

Appendix B. FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

Appendix C. Using Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

C.1 Downloading the Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

C.2 Viewing Sample Using Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

Appendix D. Updating ChromeDriver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

D.1 Check available ChromeDriver version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

x
Table of Contents

D.2 Download ChromeDriver to apply to Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

Appendix E. Setting DB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

E.1 ODBC Setting Guide (MSSQL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

E.2 ODBC Settings Guide (Oracle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427

Appendix F. Using the Step Recorder Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

F.1 Design with the Step Recording Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

F.2 Watching the Video Recorded with Step Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

F.3 Importing the Proc Created by Step Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434

xi
Preface - Preface

Preface

Preface

Legal notice

Please read the following information carefully before using this manual.

Author Samsung SDS Co., Ltd.

Address 125 Olympic-ro 35-gil, Songpa-gu, Seoul

Telephone +82 2 1661 3388

Email address [email protected]

Website www.samsungsds.com

Samsung SDS Co. Ltd. (hereinafter Samsung SDS) has verified the information contained in this
document. However, Samsung SDS is not responsible for any problems that may arise from inaccurate
content or typographical errors.

The content and specifications in this document are subject to change without notice. For more
information on the revision history of this manual, visit the SDS website (www.samsungsds.com).

Samsung SDS Co. Ltd. holds all intellectual property rights, including the copyrights, to this document.
Using, copying, disclosing to a third party, or distributing this document without explicit permission
from Samsung SDS is strictly prohibited. These activities constitute an infringement of the intellectual
property rights of this company.

Copyright © SAMSUNG SDS All rights reserved

xiii
Preface - Preface

Users of this guide

This manual is intended for the users who design or apply the work automation process using the
Samsung SDS Brity Works RPA (hereinafter RPA) solution.

The users must have following knowledge and understanding to use the RPA Solution effectively.

● Basic knowledge of job automation


● Basic knowledge of Windows-based apps

Summary

This guide consists of the following chapters:

Chapter 1. Overview

Provides an overview of the RPA Solution.

Chapter 2. Getting started

Explains the prerequisites required for using the RPA Solution and the installation method.

Chapter 3. Using RPA Designer

Explains the basic method of using the RPA Designer.

Chapter 4. Designing Projects

Explains how to design work automation projects using the RPA Designer.

Chapter 5. Designing Process Flows

Explains how to design process flows for work automation using the RPA Designer.

Chapter 6. Following Process Flow Examples

Explains how to design process flows for work automation through examples.

Chapter 7. Linking to Server

Explains the features that can be used by linking to the RPA server.

Chapter 8. Using RPA Bot

Explains how to use the RPA Bot.

xiv
Preface - Preface

Appendix A. Troubleshooting

Provides a guide for the main issues that arise when using the RPA Solution.

Appendix B. FAQ

Provides answers to frequently asked questions when using the RPA Solution.

Appendix C. Using Sample

Explains how download the sample and use it in the RPA designer.

Appendix D. Updating ChromeDriver

Explains how to update ChromeDriver manually to use the WebDriver Library.

Conventions

This document uses the following conventions:

Boldface Boldface indicates various graphic user interface elements, menus, and directories
within the main text. However, portals, windows, pop-up windows, wizards, and
pages are expressed within double quotation marks and the boldfaced typeface is
not used.

Italics Italics typeface indicates variables or parameters that a user must supply
particular values.

Monospace Monospace typeface indicates programming terms or codes. For a clear


classification in the main text, bold monospace font is used for commands,
parameter names, registry names, script names, and process names. Italic
monospace font is used for variables and parameters.

Notes and notices

A note identifies additional information for users, such as tips, recommendations, exceptions, and
restrictions on using the product.

If you create a project, an empty process is automatically created.

An attention notice identifies possible damages to the system, data, or device.

xv
Preface - Preface

Input values on the Properties window must be entered according to the JavaScript
grammar, because the values are converted to JavaScript upon execution.

Revision history

Solution version Manual version Revised date Revised details

0.997 1.0 2018.10.31 First edition of manual

1.5.0 1.5.0a 2019.06.28 Version Update

1.6.0 1.6.0 2019.12.09 Version Update

xvi
Overview - Supported Features

1.
Overview

Users can design or apply the work automation processes of Solution using the Designer and the RPA
Bot. To use the RPA Solution effectively, learn about the purpose and the features of the solution.

This chapter "Overview" describes the following topics:

● Introduction to RPA Solution


● Supported Features
● Use Cases

1.1 Introduction to RPA Solution

The RPA(Robotic Process Automation) enables automation of standardized human tasks to be carried
out by bots. Teach the user actions to the bot and the bot will mimic the learned actions. While the bot
autonomously processes simple repetitive tasks, the user can focus on the work that requires more
creativity and also improve job productivity, accuracy, and efficiency, while reducing costs.

1.2 Supported Features

The RPA Solution supports environments including the Windows app, Internet Explorer, Excel, and
SAP.
You can use the solution for a range of work, such as rule-based, simple repetitive tasks, input and
output of standardized data between systems, and comparisons of source data and processed data.

1
Overview - Use Cases

1.3 Use Cases

Automation of Daily Work Reporting Process

The processes of creating a work report by extracting the required data from the system and sending
the report via email are handled automatically. The example below is based on a shipping work of a
business.

Process Target app Details

Creating a work Web, Excel • Extract data from the work system (release quantity, shipment quantity
report of previous day, and shipment deadline, etc.)
• Automatically enter data into Excel file
• Save

Sending email Web • Designate the recipient


• Fill out the subject
• Attach the report
• Send email

Automation of Knox Portal billing process (Samsung employees only)

Automate the billing process of the Knox Portal using the RPA Solution.
The processes below that were originally performed by three employees in one month are now
handled automatically.

Process Target app Details

Sending bill by email Web, Excel • Access the Knox Portal payment system
• Download statements
• Organize Excel templates
• Send email to the persons in charge of
each company

Sending an official document for payment Web, Excel • Check replies


confirmation • Check and update billing statements
• Create official documents
• Send official documents

Creating contracts SAP, Excel • Access the ITO contract screen


• Check SAP contract information
• Check person in charge
• Create contract

2
Overview - Use Cases

Searching stock price, exchange rates, news, etc.

Search for the stock price of a specific company or exchange rates by using the web driver and
automatically carry out the necessary task when the stock price or the exchange rate goes above or
below the standard amount.

Process Target app Details

Search stock price or exchange rates on web Web, Excel • Access the stock price or exchange
rate website.
• Check stock price or exchange rate.
• Automatically enter data into Excel
file.
• Check news.

Sending email Web, Excel • Organize stock price, exchange rate


(If the stock price or exchange rate goes over a and news
certain amount) • Send email to each person in charge

Emergency meeting Web • Register emergency meeting schedule


(If the stock price or exchange rate goes below a on shared web
certain amount)

3
Getting started - System Requirements

2.
Getting started

To use the RPA Solution, you must first get the license ready and then install the Designer and Bot.

"Getting started," explains the following topics:

● System Requirements
● Preparing the License
● Installing RPA Designer
● Installing RPA Bot

2.1 System Requirements

The hardware and software requirements for installing and running the RPA Solution are as follows:

Hardware

● CPU Dual Core or higher


● Memory 4 GB or higher
● HDD 200 GB or higher

Software

● Windows 7 64-bit or later


● .NET Framework 4.5 or later
● Internet Explorer 11 or later

5
Getting started - Preparing the License

2.2 Preparing the License

Contact your administrator to obtain the license.

2.3 Installing RPA Designer

Explains how to install Designer.

To install RPA Designer, complete the following steps:

1. Run the RPA Designer installation file.

2. Select the language to use and click Next.

6
Getting started - Installing RPA Designer

3. Select the RPA Designer authority for use and click Next.

4. Select the install directory and click Next. If the virtual keyboard is already installed 2-2 Message
is not displayed.

7
Getting started - Preparing the License

5. Click Finish to complete the installation.

8
Getting started - Installing RPA Designer

Once the installation is complete, a shortcut icon will be added to your desktop.

6. Double-click shortcut icon to verify that RPA Designer runs properly.

9
Getting started - Preparing the License

Installing Virtual Keyboard Manually (Win 10)

If virtual keyboard activity does not work properly or cannot be checked in device manager even
after installing RPA Designer, install virtual keyboard manually.

1. Right-click My Computer icon on your Windows desktop, and then click Properties menu.

2. Click Device Manager.

3. From the Device Manager, click View and select Devices by connection.

4. Click Root of the device list to install the driver manually.

10
Getting started - Installing RPA Designer

5. Click Actions and select Add legacy hardware.

6. On the Welcome to the Add Hardware Wizard pop-up window, click Next.

7. Select Install the hardware that I manually select from a list (Advanced) and click Next.

11
Getting started - Preparing the License

8. With the Show All Devices selected, click Next.

9. Select Have Disk and click virtual keyboard installation file. Select the VirtualHID.inf file and
click Open.

12
Getting started - Installing RPA Designer

File path of VirtualHID.inf


• Brity works installation path → x64(64 bit) or x86(32bit)
→ VirtualKeyboardDriver → Win7 folder (Win7 OS only)

• For example, C:\Users\SDS\AppData\Roaming\Brity Works


Designer\x64\VirtualKeyboardDriver

13
Getting started - Preparing the License

10. Click OK on the drive selection screen, check the model name, Root Enumerated Hid Device
(Samsung SDS), and click Next.

11. Click Next to start the virtual keyboard installation.

14
Getting started - Installing RPA Designer

12. Check Device Manager to confirm the file is installed properly.

Installing Virtual Keyboard Manually (Win 7)

1. Use File Explorer to move to the installation path.

Installation path
• Designer: C:\Users\user\AppData\Roaming\Brity Works Designer
• Bot: C:\Users\user\AppData\Roaming\Brity Works BOT

15
Getting started - Preparing the License

2. Select the folder depending on your OS and run the bat file.

• 32 bit
- On the x86\VirtualKeyboardDriver folder, run the
Install_virtualdriver32.bat file.
•64 bit
- On the x86\VirtualKeyboardDriver\win7 folder, run the
Install_virtualdrivcer64.bat file.

3. Check the Device Manager to confirm the virtual keyboard is installed properly.

Deleting Virtual Keyboard

1. Right-click My Computer on your Windows desktop, and then click Properties.

2. Click Device Manager.

16
Getting started - Installing RPA Designer

3. From the Device Manager, click View and select the Devices by connection.

4. Check Root Enumerated Hid Device (Samsung SDS) on the Device Manager list.

17
Getting started - Installing RPA Bot

5. Do not delete all at once but delete in the reverse order from the HID Keyboard Device.
Right-click HID Keyboard Device and click remove menu to delete. Delete Tablet Mouse in the
same way.

6. Click Uninstall when it warns ‘You are about to uninstall this device from your system.’

2.4 Installing RPA Bot

Explains how to install Bot.

To install Bot, complete the following steps:

1. Run the RPA Bot installation file.

18
Getting started - Installing RPA Bot

2. Select the language to use and click Next.

3. Select the RPA bot authority for use and click Next.

19
Getting started - Installing RPA Bot

4. Select the install directory and click Next.

20
Getting started - Installing RPA Bot

5. Click Finish to complete the installation.

Once the installation is complete, a shortcut icon will be added to your desktop and also to the
bottom-right corner of the taskbar.

21
Getting started - Installing RPA Bot

6. Double-click shortcut icon to verify that Bot runs properly.

Installing Virtual Keyboard Manually (Win 10)

If virtual keyboard activity does not work properly or cannot be checked in device manager even
after installing RPA Designer, install virtual keyboard manually.

1. Right-click My Computer icon on your Windows desktop, and then click Properties menu.

2. Click Device Manager.

3. From the Device Manager, click View and select Devices by connection.

22
Getting started - Installing RPA Bot

4. Click Root of the device list to install the driver manually.

5. Click Actions and select Add legacy hardware.

6. On the Welcome to the Add Hardware Wizard pop-up window, click Next.

7. Select Install the hardware that I manually select from a list (Advanced) and click Next.

23
Getting started - Installing RPA Bot

8. With the Show All Devices selected, click Next.

9. Select Have Disk and click virtual keyboard installation file. Select the VirtualHID.inf file and
click Open.

24
Getting started - Installing RPA Bot

File path of VirtualHID.inf


• Brity works installation path → x64(64 bit) or x86(32bit)
→ VirtualKeyboardDriver → Win7 folder (Win7 OS only)

• For example, C:\Users\SDS\AppData\Roaming\Brity Works


Designer\x64\VirtualKeyboardDriver

25
Getting started - Installing RPA Bot

10. Click OK on the drive selection screen, check the model name, Root Enumerated Hid Device
(Samsung SDS), and click Next.

11. Click Next to start the virtual keyboard installation.

26
Getting started - Installing RPA Bot

12. Check Device Manager to confirm the file is installed properly.

Installing Virtual Keyboard Manually (Win 7)

1. Use File Explorer to move to the installation path.

27
Getting started - Installing RPA Bot

Installation path
• Designer: C:\Users\user\AppData\Roaming\Brity Works Designer
• Bot: C:\Users\user\AppData\Roaming\Brity Works BOT

2. Select the folder depending on your OS and run the bat file.

• 32 bit
- On the x86\VirtualKeyboardDriver folder, run the
Install_virtualdriver32.bat file.
•64 bit
- On the x86\VirtualKeyboardDriver\win7 folder, run the
Install_virtualdrivcer64.bat file.

3. Check the Device Manager to confirm the virtual keyboard is installed properly.

28
Getting started - Installing RPA Bot

Deleting Virtual Keyboard

1. Right-click My Computer on your Windows desktop, and then click Properties.

2. Click Device Manager.

3. From the Device Manager, click View and select the Devices by connection.

4. Check Root Enumerated Hid Device (Samsung SDS) on the Device Manager list.

29
Getting started - Installing RPA Bot

5. Do not delete all at once but delete in the reverse order from the HID Keyboard Device.
Right-click HID Keyboard Device and click remove menu to delete. Delete Tablet Mouse in the
same way.

6. Click Uninstall when it warns ‘You are about to uninstall this device from your system.’

30
Using RPA Designer - Overview of the Designer Screen

3.
Using RPA Designer

Designer is a program that allows you to design and carry out tasks using automated libraries to
automate the task of users. Before designing, you should have an understanding of the screen layout
and features and an understanding of the basic method for using the Designer.

"Using RPA Designer" explains the following topics:

● Overview of the Designer Screen


● Starting a New Project and Process Flow
● Saving a Project and Process Flow
● Running a Project
● Debugging
● Running a Process Flow
● Importing/Exporting Package

3.1 Overview of the Designer Screen

You can see the screen layout of the Designer and learn how to use the program. Designer is made up
of the following screen components:

● Main Menu
● Toolbar
● Project Screen
● Search screen for process flow
● Integrated search screen

31
Using RPA Designer - Overview of the Designer Screen

● Library Screen
● Screen for Process Flow Library
● Design Screen
● Output Screen
● Variable Screen
● Shared Resource Screen
● Variable Screen
● Properties Screen
● Help Screen

Main Menu

You can use the basic menus and the settings menus of Designer.
Click in the upper-left corner of the screen.

32
Using RPA Designer - Overview of the Designer Screen

No. Description

1 Create new project or process flow.

2 Open saved project or process flow.

3 Open most recently used file.

4 Save the file you are currently working on.

5 Import projects or process flows from the server or package.

6 Publish projects or process flows to the server or send out a copy of the project or
process flow as a package.

7 Design a project with the recording feature.

8 Run or stop a designed project.

9 Check and scan CPU and memory usage.

10 Change the Designer, Server, and License settings.

11 Check the User Manual, Sample, and program information.

12 Exit the program.

Designer Setting

You can change the Designer settings.


Click Settings > Designer Setting from the menu.

33
Using RPA Designer - Overview of the Designer Screen

34
Using RPA Designer - Overview of the Designer Screen

No. Description

1 Following its execution, a pop-up asking whether to minimize the Designer or not
appears.

2 Following its execution, set whether to minimize Designer.

3 Track the person who is currently working in charge and display it on the
Designer.

4 Shows grid on design screen.

5 Show check option pop-up.

6 When performing an automation, the Designer automatically sets the check option
to search the object.

7 Show indexing pop-up.

8 Automatically specify index (order) of objects sharing the same property

9 Show the assign tip pop-up.

10 Set whether to use invoke as default

11 When assigning an object, check the IE HTML information.

12 When assigning an object, check the SAP object information.

13 Show sub-object bounds.

14 Show the record tip pop-up.

15 Clean up all application to execute secure automation.

16 Clean up all application executed by bots to execute secure automation.

17 If there is no response from target application, ignore and proceed.

18 Store variables previously performed, if an error occurs when performing the


process.

19 Set Designer language pack.

20 Set the intervals for automatic save when editing a process or task.

21 Set the size of memory to be shared for saving variables.

22 Set execution mode. (Normal mode, stable mode, performance mode)

23 Set performance intervals of each steps.

24 Set intervals of key input.

25 Set engine port to be executed.

35
Using RPA Designer - Overview of the Designer Screen

No. Description

26 Set application clean up ignore list. List is divided with semicolon.


(Example : notepad.exe;mspain.exe)

27 Set the maximum number of the performance screen images to be stored.


For example, if there are 10 steps and the maximum number to be stored is 3, the
last three screens, 8th, 9th, and 10th, will be stored when the steps are executed.

28 Set history backup count.

29 Set performance intervals of each steps when the application has been changed.
Apps are classified by the title information. If the title changes, the same program
is considered to be different.
(Example : notepad - untitled, notepad - test)

30 Set the intervals of UI search.

Server Setting

You can change the Designer server settings.


Click Settings > Server Setting from the menu.

36
Using RPA Designer - Overview of the Designer Screen

No. Description

1 Set whether to use proxy server.

2 Set whether to use proxy on OCR server.

3 Set server IP information.

4 Set server port information.

5 Set OCR Server access URL.

6 Set Proxy Server access URL.

Sample

You can check the library samples provided by Designer.


Click Help > Sample from the menu.

37
Using RPA Designer - Overview of the Designer Screen

Sample files are not included in the installation files and saving it below the following path
after downloading will display it normally. For more information, see Appendix C. Using
Sample.

Toolbar

Toolbar is a collection of useful tools that is needed to use the Designer. The tools are arranged in the
order of Design, Run, Save, and Edit features.

You can change arrangement of tools in the toolbar by dragging the grouped features.

No. Description

1 Start recording.

2 Run the currently open process or task.

3 Save the currently open process or task.

4 Save all open processes or task.

5 Cancel the execution of the previous design task.

6 Cut the selected node.

7 Copy the selected node.

8 Paste the copied or cut node.

9 Delete the selected node.

10 Fold or unfold the selected activity group.

11 Show or hide the mini map.

12 Deactivate the selected node.

13 Reverse select the selected nodes.

14 Maximize the flowchart or the script screen.

15 Initialize the designer screen layout.

16 Create a block in the selected note.

17 Toggles the activity view mode.

38
Using RPA Designer - Overview of the Designer Screen

Project Screen

The project screen shows the structure of the project. A project is made up of processes, tasks, events,
and resources.

No. Description

1 A process is a unit of work performed by a bot. It is composed of various libraries


and tasks. It may have a sub-group that can include additional processes other than
itself. Right-click process to use the editing features, such as Edit Name, Delete,
Import from Server.

2 A task is a unit of work just like a process that is made up of various libraries and
tasks. However, a task is a unit of work that cannot be performed by a bot. It may
have a sub-group that can include additional jobs other than itself. Right-click
process to use the editing features, such as Edit Name, Delete, Import from Server.

3 Only the shared task that is on the server can be imported and cannot be modified.
Right-click to use the editing features, such as Edit Delete, Refresh and Import from
Server.

4 An event can be used before or after performing a process or task, or when an


error occurs. It is composed of the same contents as a task, but the Import from
Server feature is not available.

5 You can use JavaScript or the external library.

6 A resource is a unit of the file that is required to carry out a project. It imports files
from the user PC and manages them separately in the project folder.

39
Using RPA Designer - Overview of the Designer Screen

For more information on the relationships between the items that make up the project, see the image
below.

Search screen for process flow

The search screen for processes can be used to search and use the processes for designing process
flows. For more information, see 5. Designing Process Flows.

Integrated Search Screen (Ctrl+Shift+F)

Every process and task within the project can be searched with the activity name.

40
Using RPA Designer - Overview of the Designer Screen

No. Description

1 Enter the search term.

2 Shows the result from all processes and tasks within the project.

3 When selected, results only from the tabs that are currently opened will be shown.

4 Output of the activities resulting from searching will have step number ([number])
marked in front.
Double-click search result to move onto the activity.

Library Screen

The library screen is composed of various features. Users can find the feature they need and create a
flowchart for processes, tasks, and events. A library is classified into app, web, Excel, SAP, image
recognition, system, Orchestrator, FlowControl and KnoxPortal depending on the target app or
feature. Select an item to use from the library screen and find the feature you want. For more
information on the available libraries and detailed description, see 4.2 Designing with the Library and
Library Details.

41
Using RPA Designer - Overview of the Designer Screen

No. Description

1 Library search

2 Favorite libraries

3 FlowControl Library

4 App library

5 Web library

6 Excel Library

7 System Library

8 Orchestrator Library

9 Image Recognition Library

10 KnoxPortal library (Samsung employees only)

11 SAP Library

12 Library settings

Screen for Process Flow Library

On the design screen for process flows, you can use the process flow library. The library screen to
create a flowchart make up of If or For is identical to the project design screen. For more information
on the process flow library, see 5. Designing Process Flows.

42
Using RPA Designer - Overview of the Designer Screen

No. Description

1 Library search

2 Favorite libraries

3 Process flow library

4 Library settings

Design Screen

This is the main screen of Designer. You can create and edit flowcharts by adding various libraries
and tasks. All flowcharts are converted into scripts and you can find the converted scripts by clicking
the Script tab.

• Upon clicking the Script tab, the changed flowchart is automatically saved.
• For the libraries that can be used or writing scripts, see Private Script Library.

43
Using RPA Designer - Overview of the Designer Screen

Finding Activities (Ctrl + F)

You can check each activity number within the process or search for the activity that contains the
keyword.

Click or press enter key on the keyboard after entering the content to research or '#+activity
number' on the search bar screen by pressing Ctrl + F on the keyboard.

The node searched with '#+activity number' is emphasized and the first node is selected. If one node is
selected, moving among the searched nodes is not possible.

The searched node that contains the keyword is emphasized and nodes with same name are
multi-selected. You can click or on the search bar to move among the searched nodes.

44
Using RPA Designer - Overview of the Designer Screen

Viewing the Mini Map

You can click mini map icon ( ) to display the mini map on the screen. Click the mini map to move

to a desired position on the screen.

45
Using RPA Designer - Overview of the Designer Screen

Changing the Screen Size (Zoom Menu)

If the flowchart becomes too long and it is difficult to see all content in a screen, you can use the Zoom
menu to zoom in or out.

Changing the Screen Size (Ctrl + Mouse Wheel)

If the flowchart becomes too long and it is difficult to see all content in a screen, you can zoom in or
out by pressing the Ctrl key and rolling the mouse wheel button at the same time.

Folding/Unfolding a Diagram

You can fold or unfold diagrams such as If, for, etc., if the flowchart becomes too long to see at a
glance. Double-click < > of each activity to fold or unfold the diagram.

46
Using RPA Designer - Overview of the Designer Screen

Selecting the Entire Diagram

Double-clicking the node of the diagram will select areas including all the activities.

Using Diagram Auto Scroll

When dragging a library item or activity, hover the mouse pointer on the arrow in the diagram to
enable it scroll automatically so that you can add an activity at a desired location.

47
Using RPA Designer - Overview of the Designer Screen

Using the Activity View Mode

Activity View mode provides two types of view modes: normal view and small view. Click the view
mode icon on the upper toolbar to shift the view mode.

Figure 3-1 Normal View

Figure 3-2 Small View

48
Using RPA Designer - Overview of the Designer Screen

Output Screen

This screen outputs logs when a process or task is running. You can check the current progress and
error messages.

Shared Resource Screen

This is a screen to import and use the shared resources registered in the server. To use the shared
resource, you must first log-in. For more information, refer to 7.7 Using Shared Resources.

49
Using RPA Designer - Overview of the Designer Screen

Variable Screen

This is a screen to add and manage variables that are used as the property value of the library. You
can set the initial value of a variable and add a description upon need to easily distinguish the
variables.

A variable can be classified into four types depending on the scope and purpose of use.

● Global: A global variable that can be used in all parts of the current project.
● Normal: A member variable that can be used in the currently working process or task only.
● Input: A member variable that is required to send as a parameter when performing a process or
task.
● Output: A member variable that is required to get the output value when a process of a task is
completed.

For variables of the global type, use keywords that include the word 'Global' such as 'Global.var1''.
For variables of the normal, input, and output types, use keywords that include the word 'this' such as
'this.var1'.

Properties Screen

This is a screen for verifying details of the selected node and setting up the property value. To achieve
more accurate automation, the value of the properties can be modified.

Properties that must be filled in are marked with *. If the required fields are not filled, the name of the
properties will be marked in red.

50
Using RPA Designer - Overview of the Designer Screen

• Different property information is displayed for each activities of the library. For more
information, see the properties screen of each library in 4.2 Designing with the Library .
• Input values on the Properties window must be entered according to the JavaScript
grammar, because the values are converted to JavaScript upon execution. For the input
value, only the variables declared using 'Global' and 'this' keywords can be used and local
variables declared in the script cannot be used.

Help Screen

You can check the detailed information about the library. Pressing F1 after selecting an activity will
display the help screen.

51
Using RPA Designer - Overview of the Designer Screen

Image Edit Screen

Edit the surrounding image of a target object while recording, and retry the image search when
search fails with object information. You can set the position to generate a mouse event by using
ImageEditor which crops the image or selects the location to search.

For example, after recording the click activity, double-click More Options > Image from the Properties
screen.

52
Using RPA Designer - Starting a New Project and Process Flow

Click the image to change image to use and a click point, then click Apply button.

3.2 Starting a New Project and Process Flow

You can start a new project or process flow. Design a project by adding processes, tasks, events, or by

53
Using RPA Designer - Starting a New Project and Process Flow

adding existing resources. You can also manage tasks conveniently by grouping similar tasks.

"Starting a new project and process flow" explains the following topics:

● Creating a New Project or Process Flow


● Creating a New Task
● Creating a New Process
● Creating a New Event
● Adding Remote Process
● Adding a Resource
● Creating a New Group
● Editing a Project

Creating a New Project or Process Flow

To create a new project or process flow, complete the following steps:

1. Click > New.

2. Click New Project or New Process Flow.

3. On the "New Project" pop-up window, enter the name and description of the new project or
process flow to create.

54
Using RPA Designer - Starting a New Project and Process Flow

4. Click CREATE.

A new project or process flow is created.

• When a new project is created, an empty process named "MyProcess" is created for user
convenience.
• When a project is created using the headless mode, the library list shows the library that
can only be used in headless mode. For more information about Headless Mode, refer to 4.4
Designing Headless Process.
• The project or process flow generated is stored in the following path.
- C:\Users\user\Documents\Brity Works Projects\Project or Process flow
name

Creating a New Task

To create a new task, complete the following steps:

1. On the project screen, right-click TASK and click New Task.

55
Using RPA Designer - Starting a New Project and Process Flow

2. On the "New Task" pop-up window, enter the name of the new task to create and click CREATE.

A new task is created and the design screen will launch.

56
Using RPA Designer - Starting a New Project and Process Flow

Creating a New Process

To create a new process, complete the following steps:

1. On the project screen, right-click PROCESS and click New Process.

2. On the "New Process" pop-up window, enter the name of the new process to create and click
CREATE.

A new process is created and the design screen will launch.

Creating a New Event

To create a new event, complete the following steps:

1. On the project screen, right-click EVENT and click New Event.

2. On the "New Event" pop-up window, enter the name of the new event to create and click CREATE
.

An event is created and the design screen will launch.

Adding Remote Process

To add process of remote PC, follow the procedure below.

1. On the project screen, right-click REMOTE PROCESS and click Adding Remote Process.

57
Using RPA Designer - Starting a New Project and Process Flow

2. Select the process to add from file explorer and click Import.

3. Drag the added remote process using the mouse and drop to insert in the node.

58
Using RPA Designer - Starting a New Project and Process Flow

The process of the remote PC is connected.

Adding a Resource

You can add files to use in the project. The files here are managed in a separate folder in the project.

To add a resource, complete the following steps:

1. On the project screen, right-click RESOURCES and click Add Resource.

2. Select the file to add.

3. Click Open.

59
Using RPA Designer - Starting a New Project and Process Flow

The resource is added.

The added resources are stored in the ReSources folder under the project or the process
flow.
- C:\Users\user\Documents\Brity Works Projects\Project or Process flow
name\Resources

The added resources can refer to the resource folder path in the project as
Global.ResourcesDir from the properties screen.

Creating a New Group

When the number of processes and tasks increase, you can group them for easy management. One
group can include other various sub-groups.

You can create groups of processes or tasks using the same method. The example here is based on the
creating a group for tasks.

To create a new group, complete the following steps:

1. On the project screen, right-click TASK and click New Group.

2. On the "New Group" pop-up window, enter the name of the new group to create and click
CREATE.

60
Using RPA Designer - Starting a New Project and Process Flow

A new group is created.

Editing a Project

You can edit processes, tasks, events, and resources using the same method. This section uses the tasks
as an example.

Changing Task Name

You can change the task name.

To change the task name, complete the following steps:

1. On the project screen, right-click a task to change the name and click Rename.

61
Using RPA Designer - Starting a New Project and Process Flow

2. One the "Rename" pop-up window, enter a new name and click OK.

The task name is changed.

Copying Task

You can copy the tasks of similar actions for use instead of creating a new task.

To copy a task, complete the following steps:

1. On the project screen, right-click a job to copy and click Copy As.

2. On the "Copy" pop-up window, enter a new name for the copied task and click OK.

The task is copied and will launch.

Moving Task

You can move tasks within a group or outside of a group.

Select a task to move and drag to the desired position.

62
Using RPA Designer - Starting a New Project and Process Flow

Make sure to close an open task before moving the position.

Opening File Folder with File Explorer

File explorer can import folders storing process or task.

On the project screen, right-click process or task you want to explore, then click Open File Explorer.

63
Using RPA Designer - Saving a Project and Process Flow

The selected process or the folder containing the task file is opened in file explorer.

Deleting Task

You can delete a task that is no longer used or not needed.

To delete a task, complete the following steps:

1. On the project screen, right-click a task to delete and click Delete.

2. Click OK on the confirmation pop-up window.

The selected task is deleted.

3.3 Saving a Project and Process Flow

When there are changes to the flowchart, an asterisk (*) is added to the name on the tabs. To save the

currently activated flowchart, click save ( ) icon. To save all open flowcharts, click .

You can also click > Save or Save All to Save.

64
Using RPA Designer - Running a Project

3.4 Running a Project

You can run a designed process or task.

To run an activated process or task, click Run on the tool bar screen.

Or you can click > Run > Run.


Any unsaved charts will be saved automatically.

If a process or task is performed for the first time, a pop-up will appear asking whether to
minimize the Designer screen. If you click YES, the Designer program will be hidden and will
appear again once the process or task is complete.

65
Using RPA Designer - Running a Project

To force execution to end, click Stop on the toolbar screen or press Ctrl + Shift + Alt + F12 on the

keyboard.
You can also click > Run > Stop.

• To switch to debugging mode while performing the process, press Ctrl + Shift + F12. For
more information, refer to 3.5 Debugging.
• If you have selected Trace Execution in > Settings > Designer Setting, the node in
progress will be emphasized automatically.

Stopping a Project

You can stop a running project using the keyboard shortcut key or the Brity Works icon on the
toolbar.

66
Using RPA Designer - Debugging

3.5 Debugging

You can check the variable value at the time of breakpoint in Debug Console by stopping the process
and switching to debugging mode.

"Debugging" explains the following topics:

● Setting Debugging (Adding Breakpoint)


● Debugging

Setting Debugging (Adding Breakpoint)

Select the target activity to switch to debugging. Press F9 or select with the right mouse button and
click Add BreakPoint.

67
Using RPA Designer - Debugging

Debugging

When reaching the added breakpoint while performing the process, the process pauses and execute
the Debug Console screen.

68
Using RPA Designer - Running a Process Flow

Enter variable in the variable field and Click Execute. The variable value at the time of the breakpoint
is displayed on the result window.

The Debug Console contains the following features.


• Stop: Stop the process execution.
• Next Step: Debug to the next step at a time.
• Resume: Perform until the next breakpoint.

3.6 Running a Process Flow

The process flow can be executed through the server after being published and cannot be executed
directly from Designer. For more information on server connection, refer to 7. Linking to Server.

69
Using RPA Designer - Importing/Exporting Package

3.7 Importing/Exporting Package

You can export the package you have worked on or import packages created.

To load or export a package, complete the following steps:

Importing Package

1. To load a package, click > Import > Import Package.

2. Load packages in the "Open" pop-up window.

Exporting Package

1. To export a package, click > Export > Export Package.

70
Using RPA Designer - Importing/Exporting Package

2. Save packages in the "Save as" pop-up window.

71
Designing Projects - Designing with the Recording Feature

4.
Designing Projects

The user can record an action using the recording feature or design a project by finding the library to
use on the library screen and adding to the activity.

"Designing projects" explains the following topics:

● Designing with the Recording Feature


● Designing with the Library
● Designing Headless Process

4.1 Designing with the Recording Feature

Click Record button and create a user action as a scenario. You can record actions, such as
mouse-click, right-click, double-click, and keyboard input actions.

To design a project using the recording function, complete the following steps:

1. Click Record to start recording.

A Help pop-up window will appear, and check Do not show again not to see it again.

2. Or you can click > Record.

Once recording starts, the Designer screen will be minimized.

73
Designing Projects - Designing with the Recording Feature

When you move the mouse over a target UI object while recording, an orange border
will appear.

When a target UI object has lower recognition accuracy, an orange dotted border will
appear.

74
Designing Projects - Designing with the Recording Feature

It is recommended that you record a UI object with an orange border. A UI object with a
dotted border may not be found after execution as it has lower recognition accuracy.

3. Start an action to record from the beginning, such as opening a program or opening a file.

No. Description

1 Pauses recording.
Click 3 to resume recording again.

2 Ends recording.
Displays the Select Recording Target Process screen.

3 Activates recording again.

4 Records actions on the mouse or keyboard as events and displays the notification
window on the bottom-right corner of the screen.

4. Click pause ( ) if the action is complete or to pause recording.

5. To finish recording, click .

6. The recorded event list will appear.

75
Designing Projects - Designing with the Recording Feature

No. Description

1 Select all processes.

2 Select the process to save and click.

3 Save the recoding before ending. Once recording ends, the Designer screen is
displayed.

4 Return to the Select Recording Target Process screen.

The recorded action is added to the flow chart.

76
Designing Projects - Designing with the Library

4.2 Designing with the Library

You can design a project with the library.

"Starting a new project and process flow" explains the following topics:

● Adding an Activity
● Editing an Activity
● Adding a Task
● Library Details

Adding an Activity

An activity refers to an action that create a flowchart.


You can add an activity by dragging a library you want to the flowchart on the design screen.

You can only add certain libraries of the FlowControl items, such as If or For, to the link and
you cannot add it to the activity group or between activities.

Adding an Activity to the Link

A link refers to the part that connects the activities.


On the design screen, a link is displayed as an arrow in between the activities.
Select a library to add from the library screen and drag to the link you want to add it to.
You can add the activity by dropping the library when a blue rectangle appears.

77
Designing Projects - Designing with the Library

Adding an Activity to Activity Group

An activity group is a unit that combines many activities into one action.
Select a library to add from the library screen and drag it to the title area of the activity group you
want to add it to.
When the border color of the activity group changes to blue, you can add the activity to the end of the
activity group by dropping the library.

Adding an Activity Between Groups

You can add an activity between activities in an activity group.


Select a library to add from the library screen and drag it between the activities of the activity group
you want to add it to. You can add the activity by dropping the library in between activities when a

78
Designing Projects - Designing with the Library

blue rectangle appears.

Adding a Block Between Groups

You can divide the steps by grouping activities or groups into blocks.
Add the block activity to the node between groups.

79
Designing Projects - Designing with the Library

Editing an Activity

Deleting an Activity

Select an activity to delete and click on the toolbar. You can also click press the Delete key on the

keyboard.

Copying an Activity 1

You can copy an activity using the toolbar or the keyboard shortcut key.

To copy an activity using the toolbar or the keyboard shortcut key, complete the following steps:

1. Select an activity to copy.

2. Click on the toolbar or press Ctrl+C on the keyboard.

3. Select a location to paste.

4. Click on the toolbar or press Ctrl+V on the keyboard.

80
Designing Projects - Designing with the Library

Copying an Activity 2

You can copy an activity using the drag-and-drop action.

To copy an activity with the mouse-drag action, complete the following steps:

1. Select an activity to copy.

2. Hold the Ctrl key on the keyboard and move the cursor to the location to paste.

81
Designing Projects - Designing with the Library

Moving an Activity 1

You can move an activity using the toolbar or the keyboard shortcut key.

To move an activity using the toolbar or the keyboard shortcut key, complete the following steps:

1. Select an activity to move.

2. Click on the toolbar or press Ctrl+X on the keyboard.

82
Designing Projects - Designing with the Library

1. Select a location to paste.

2. Click toolblar or press Ctrl+V on the keyboard.

Moving an Activity 2

83
Designing Projects - Designing with the Library

You can move an activity using the drag-and-drop action.


Hold down the right mouse button and drag the activity to the location to paste.

Adding a Task

You can add a task to another task just like an activity.


Select a task to add and drag to the link you want to add it to. You can add the task by dropping the
task when a blue rectangle appears.

84
Designing Projects - Designing with the Library

• A task can be added only to a link only and cannot be included in the activity group.
• A task cannot add itself as a job.
• Deleting, copying, and moving a task can be done using the same method as an activity.

Operating an Activity

Selecting Multiple Activities

You can select multiple activities to copy, move, or delete at once.


Drag the node to select using the mouse. Hold down the Ctrl key and click the nodes for multiple
selection.

85
Designing Projects - Designing with the Library

• You can also make multiple selections by holding down the Shift key on the keyboard.
However, you can select activities only in the same activity group.
• If you press Ctrl+A key on the keyboard, you can select the entire activity group of the
currently selected activity or select all nodes in the flowchart at once.
• Selected activity can easily be distinguished as the background of the selected activity area
is shaded.

Inverting Selection

You can invert the selection to select the activities that were unselected.

Click on the toolbar.

86
Designing Projects - Designing with the Library

Deactivating

For automation, you can select to exclude specific activities.

Select more than one activity to exclude and click on the toolbar.

87
Designing Projects - Designing with the Library

Folding an Activity Group

When the number of added activities increase, you can fold the activity group to see a condensed
format. Once folded, the title and the number of activities in the group are displayed.

Click in the upper-right corner of the activity group.

To fold more than one activity group, select multiple activity groups and click on the toolbar.

88
Designing Projects - Designing with the Library

Folding an Activity Block

You can see a shortened view of activities or groups that are listed horizontally with blocks.
Double-click the part of '[' , ']' to fold or unfold.

89
Designing Projects - Designing with the Library

Changing an Activity

You can change an added activity to another activity without adding a new one.

1. Right-click the selected activity object and click Change Activity.

2. Select an activity you want from the Library panel.

3. Check whether it changed into the selected activity.

90
Designing Projects - Designing with the Library

Library Details

A library is classified into app, web, Excel, SAP, image recognition, system, Orchestrator, FlowControl
and KnoxPortal depending on the target app or feature. Select an item to use from the library screen
and enter the name of the library to search.

• Data type used in library properties are numbers, strings, variables and shared resources.
• String must start and end with the single quotation marks(' ').

App library

You can control app screen using the features provided by the App library. These libraries identify the
UI object on the screen using the UI automation technology provided by Windows and find the target
UI specified by the user to perform the specified actions.

The features provided by the App library are as follows:

● UI object recognition related features (Find, FindElement, RunAction, SetCheckState, GetBounds,


GetCheckState, WaitAppear, WaitDisappear, IsExist, IsVisible, IsRadioSelected, IsCheckState,
FindAll, etc.)
● Mouse action features (Click, RightClick, DoubleClick, MouseHover, MouseScroll, MouseEvent,
SelectListItem, DragDrop, MouseDrop, MouseDrag, etc.)
● Keyboard action features (SetText, TextInput, KeyInput, KeyboardEvent, GetText. etc.)
● Run and exit features (OpenApp, ActivateApp, CloseApp, CloseAll, OpenWindow, CloseWindow,
etc.)
● Other features (GetHierarchyInfo, GetListItems, GetGridItems, GetListItemIndex, SendRequest,
GetGridItemIndex, EmptyActivity, etc)
● Credential related features (CredentialSetText, CredentialTextInput)

If the target app is developed using methods that are different to the ordinary methods, the
App library may not operate as intended.

Use Designer or window explorer to refer samples of app library.


• Designer Path: > Help > Sample > Sample > Application
• Window explorer path: C:\Users\user\AppData\Roaming\Brity Works

91
Designing Projects - Designing with the Library

Designer\samples\Application

[Library related to Application sample project name]


• App_16 : DragDrop, MouseDrag, MouseDrop
• Find Target : Find, FindElement, FindAll
• Get Target Detail: GetBounds, GetGridItemIndex, GetGridItems, GetHierachyInfo,
GetListItemIndex, GetListItems, GetText
• Keyboard Action: KeyInput, KeyboardEvent, SetText, TextInput
• Manage Application State 15: GetCheckState, SetCheckState, IsCheckState,
IsRadioSelected
• Manage Application: ActivateApp, CloseAll, CloseApp, OpenApp
• Manage Window: CloseWindow, OpenWindow
• Mouse Action: Click, DoubleClick, MouseEvent, MouseHover, MouseScroll, RightClick
• Wait Application Target: WaitAppear, WaitDisappear
• Other Samples: IsExist, IsVisible, RunAction, SelectListItem

Common Properties

The common properties of app library are as follows:

Table 4-1 Activity Properties

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 Index Conditi String Text Enter the index to identify the target UI object from the UI
onal object list with identical information.
If there is a transparent object around the target UI object that is
invisible, or if the area of the object overlaps with a nearby UI

92
Designing Projects - Designing with the Library

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

object, the nearby object may be recognized instead of the target


UI object. In this case, set to also scan the area of the
surrounding object using the Search Around option.

2 Check Requir True/F - Set whether to check the Name properties when comparing UI
Name ed alse objects.

3 Check Requir True/F - Set whether to check the Value properties when comparing UI
Value ed alse objects.

4 Check Requir True/F - Set whether to check the size properties when comparing UI
Size ed alse objects.

Table 4-2 Target Properties

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 Applica Requir String Specify Name of the window containing the target UI object is displayed
tion ed i n g
target

2 Title Conditi String Specify Shows the title of the target UI object app.
onal i n g The title may be changed depending on the app status, so it is
target not essential for the title to match for UI object comparison.
However, when there is a multiple detection of apps that are
identical then the UI object that has the same title is selected.

93
Designing Projects - Designing with the Library

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

3 Type Unable String Specify Shows the class type of the target UI object.
t o i n g
enter target

4 Name Requir String Text Shows the name information of the target UI object.
ed Mostly, a text string that can be represented on a screen will
show, but a value may not be displayed even if it exists,
depending on the app implementation method.
For Name, Value, and Title, you can use a regular expression
using the '\\' keyword or enter a variable like this.SearchText.
However, the node inspection feature is unavailable if a
variable is entered.

5 Value Requir String Text Shows the value information of the target UI object.
ed The text string that can be represented on a screen may be
displayed on this item instead of the Name item, depending on
the app implementation method. Or, a value may not be
displayed even if it exists.

94
Designing Projects - Designing with the Library

95
Designing Projects - Designing with the Library

Table 4-3 More/Description properties

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 Search Conditi String Text Search within the given area and not the entire zone.
Bounds onal

2 Timeou Conditi Numbe Second Enter the duration to search for the target UI object in seconds.
t onal r

3 Legacy Conditi String Text LegacyValue property value of the target object. The Name,
Value onal Value attribute is displayed in most cases, but the LegacyValue
may be displayed in some cases depending on the
implementation of the target program.
Mostly, it has an empty value.
The LegacyValue property of the Edit type object can be set by
using the 'Legacy Action' option in SetText (Depending on the
implementation of the target object, setup may not be possible
or an error may occur after execution).

4 Object Requir String Specify Enter the path information of the target UI object designated by
Path ed i n g the user within single quotation marks.
target If the at (@) symbol is used, such as '@//Button', this will be
considered as the XPath syntax. Then the entire UI structure of
the designated target app will be generated in the XML format
to search the target UI object information using the XPath
syntax.
For more information on the XML structure, see
GetHierarchyInfo.

5 Image Inform image image Shows the surrounding screen image of the target UI object
aion designated by the user.

6 Bounds Inform rectang coordi Shows the position and size of the target UI object designated by
ation le nates, the user as relative coordinates based on the top left section of
width, the app.
height

7 Size To Requir size Width, Enter the allowed margin of error when Check Size is set as
lerance ed height. True. You can set the allowed margin of an error when the size
of a target UI object is decided by the resolution or content
change.

8 Search Requir True/F - Set whether to check once again by using properties such as the
More ed alse image of a target object or HTML format when an object search
fails .

96
Designing Projects - Designing with the Library

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

9 Check Requir True/F - Set whether to check the upper UI object instead of comparing
Path ed alse the UI object on the screen when searching for the target UI
object.
In this case, the search speed is improved, but there may be
difficulty in locating the UI object if information, such as Name,
Value, Size, and Title, are not distinguished from other UI
objects.

10 DrawB Requir True/F - Set whether to show a bounding box when a UI object is found
ounds ed alse upon execution.

11 Focus Requir True/F - Set whether to focus on the UI object before generating an
Before ed alse event.
If the focus cannot be set on the target UI object, the focus is set
to the main screen of the target app. If the target UI object is
hidden by another app, the app is moved to the front. If there
are multiple target apps running, the app at the front is scanned
first. If the target UI object is not found, the app at the back is
brought to the front for a scan.

12 Check Requir True/F - Set whether to check the Title properties when comparing UI
Title ed alse objects.

13 Check Requir True/F - Set whether to compare the Legacy Value property of the target
Legacy ed alse object.

14 Search Requir True/F - Set whether to check the nearby UI objects additionally for
Aroun ed alse exact identification of the UI object.
d

15 O n Conditi Event - Specify an action to carry out when an error occurs at the time
Error onal of execution.
• If not specified: Output errors and exit the task.
• Ignore: Output log and proceed to the next activity.
• Retry: Exit task if an error occurs even after a retry.
• If handler is specified: Call specified handler.

16 Descrip Conditi String Text Add description.


tion onal After description being entered, it is displayed on the chart
description. If there is no description, the representative value
of each library is displayed.

97
Designing Projects - Designing with the Library

EmptyActivity (Assigning an Activity Automatically)

EmptyActivity creates an activity that matches the target without activity assignment.

Default : Click
Edit : SetText
SAP : SAPClick
Web : WebClick
Edit : WebSetText

You can change it to another library through the activity change after automatic assignment.

1. You can add the EmptyActivity from the library using the drag-and-drop action.

2. Double-click Double click to select from the node.

3. When you select a target object, the activity will change from EmptyActivity to an activity such as
Click or SetText depending on the type of an object.

Click (Clicking a Mouse)

98
Designing Projects - Designing with the Library

Click left-click the target UI object.


This is default library of the UI related App library. For example, the Click library generates a mouse
event of the MouseEvent library on the objects found using the Find library.

1. On the node, double-click No Target > Double click to select.

2. Place the mouse cursor on the UI object.

3. To designate as the target a UI object, click the object once a red border appears.

The UI object is designated as the target UI object.

• When searching for the target UI object, make sure to check that the UI object information
recorded at the location of the mouse at the time of designating the target UI object matches
the information of the target UI object. If the information does not match, you must find the
target UI object using the method of moving down the upper path of the target UI object. If
you are still unsuccessful in finding the target UI object using this method, collect all UI
object information on the target app and compare it with the designated target UI object
information to find the UI object.
• When you move the mouse over a UI object that has a sub-object, an orange border will
appear. To make a search for a target UI object without issues, choose a target UI object that
does not have sub-UI objects. If it has sub-object, it may be difficult to find the target due to
the difference in the recording time and the time of performing the automation. If you must
designate a sub-UI object, keep in mind that the screen configuration may change during
automation.
• If you must select the target UI object after pressing another UI object, or if you must
designate the target UI object after moving to another screen, press the Ctrl key on the
keyboard to pause the designation or press again to resume.
• When designating a target UI object, the object with a border displayed at the time of

99
Designing Projects - Designing with the Library

clicking the mouse becomes the search target. The position at the time of releasing the mouse
button is recorded as relative coordinates based on the top left area of the target UI object. If
the information of the target UI object is unclear, you can use this to designate a nearby
object that can be specified and click the mouse using the relative coordinates.
• If a pop-up window disappears or if the target app malfunctions due to the UI object
border, you can hide the object borders by pressing the Alt Key on you keyboard once. Press
again to see the borders again.
• If the border is displayed on a UI object that is different to the UI object with the mouse
cursor, press the Shift key on the keyboard once to activate the Search Around option and
try again. For detailed information, refer to the description of the Search Around item in the
common properties.

To check or change the target UI object, double-click the capture screen of the specified target UI
object and click Execute or Reassign, Add from the "Find" pop-up window.

● Execute You can test for the designated target UI object. The red border will flicker for three
seconds on the target UI object and will disappear again.

The test cannot be performed if a variable is entered in the object information on the
properties screen. In this case, right-click the node and click Run step to execute this
node only.

● Reassign: You can reassign the designated UI object.


● Add: You can add the designated UI object. Once added, you can select the designated UI object
from the Properties Screen.

Table 4-4 Click Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Input - - - - -

Output - - - - -

Activit C l i c k Required Numbe Pixel Enter the location to click after finding the UI object as
y Point r coordinates based on the top left section of the UI object.
This will be entered automatically if the object is designated
directly with a mouse.

More Origin Required Event - Sets the origin (4 edge of objects) used to calculate relative

100
Designing Projects - Designing with the Library

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Point coordinates.

Invoke/ Required True/F - Select Invoke API calling method or mouse clicking
Click alse method(False).

You can refer to the following sample.

• > Help > Sample > Sample > Application > Mouse Action >
P_Click_Test_Win7_Notepad

RightClick (Clicking the Right Mouse Button)

RightClick right-clicks on the target UI object.

Table 4-5 Right-Click Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be re Unit
quired

Input - - - - -

Output - - - - -

Activit C l i c k Require Numbe Pixel Enter the location to click after finding the UI object as
y Point d r coordinates based on the top left section of the UI object.
This will be entered automatically if the object is designated
directly with a mouse.

More Origin Require Event - Sets the origin (4 edge of objects) used to calculate relative
Point d coordinates.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Mouse Action >
P_Right_Test_Win7_Notepad

101
Designing Projects - Designing with the Library

DoubleClick (Double Clicking)

DoubleClick double-clicks the target UI object.

Table 4-6 Double-Click Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be re Unit
quired

Input - - - - -

Output - - - - -

Activit C l i c k Require Numbe Pixel Enter the location to click after finding the UI object as
y Point d r coordinates based on the top left section of the UI object.
This will be entered automatically if the object is designated
directly with a mouse.

More Origin Require Event - Sets the origin (4 edge of objects) used to calculate relative
Point d coordinates.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Mouse Action >
P_DoubleClick_Test_Win7_Notepad

MouseHover (Hovering the Mouse Cursor)

MouseHover hovers the mouse cursor over the target UI object.

Table 4-7 MouseHover Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be re Unit
quired

Input - - - - -

Output - - - - -

Activit C l i c k Require Numbe Pixel Enter the location to click after finding the UI object as
y Point d r coordinates based on the top left section of the UI object.
This will be entered automatically if the object is designated

102
Designing Projects - Designing with the Library

Catego Proper Set Type Input Description


ry ties whether range/
to be re Unit
quired

directly with a mouse.

More Origin Require Event - Sets the origin (4 edge of objects) used to calculate relative
Point d coordinates.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Mouse Action >
P_MouseHover_Test_Win7_Notepad

MouseScroll (Scrolling the Mouse)

MouseScroll scrolls the designated UI object by the number of times and interval set.

Table 4-8 MouseScroll Properties

Catego Proper Set Type Input Description


ry ties whether to range/
be Unit
required

Input - - - - -

Output - - - - -

Activit W h e e l Required Numbe Whole The number to roll or raise scrolls.


y Value r numbe • positive number : scroll ↓
r • negative number : scroll ↑
• 0 : the fastest speed in the system
• Decimal points like 0.15 do not apply.

Wheel Required Numbe Positiv Interval of scroll execution.


Interva r e num
l bers

Click Required Numbe Positiv Enter the location to click after finding the UI object as
Point r e num coordinates based on the top left section of the UI object.
bers This will be entered automatically if the object is designated
directly with a mouse.

More Origin Required Event - Sets the origin (4 edge of objects) used to calculate relative
Point coordinates.

103
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Application > Mouse Action >
P_MouseScroll_Test_Win7_Web

DragDrop (Using the Drag-and-Drop Action)

You can use the drag-and-drop action to the specified mouse position on a specific element.

Table 4-9 DragDrop Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be re Unit
quired

Input - - - - -

Output - - - - -

Activit Hold Ti Conditio Numbe Numbe Enter the Hold Time before the mouse operation.
y me(ms) nal r r (Default value 100)

Drop Require String String Enter coordinates to drop in single quotation marks.
Point d Enter the information of the target UI object area.
In the form of the followings: x,y, width, and height (You can
use GetBounds to import the object area information).

More Origin Require Event - Sets the origin (4 edge of objects) used to calculate relative
Point d coordinates.

MouseDrag (Using the Mouse Drag Action)

You can move on the specific element using the mouse drag action.

Table 4-10 MouseDrag Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be re Unit
quired

Input - - - - -

Output - - - - -

Activit Hold Ti Conditio Numbe Numbe Enter the Hold Time before the mouse operation.

104
Designing Projects - Designing with the Library

Catego Proper Set Type Input Description


ry ties whether range/
to be re Unit
quired

y me(ms) nal r r (Default value 100)

Drop Require String String Enter coordinates to drop in single quotation marks.
Point d Enter the information of the target UI object area.
In the form of the followings: x,y, width, and height (You can
use GetBounds to import the object area information).

More Origin Require Event - Sets the origin (4 edge of objects) used to calculate relative
Point d coordinates.

MouseDrop (Using the Mouse Drop Action)

You can use the mouse drop action on the specific element.

Table 4-11 MouseDrop Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be re Unit
quired

Input - - - - -

Output - - - - -

Activit Hold Ti Conditio Numbe Numbe Enter the Hold Time before the mouse operation.
y me(ms) nal r r (Default value 100)

Drop Require String String Enter coordinates to drop in single quotation marks.
Point d Enter the information of the target UI object area.
In the form of the followings: x,y, width, and height (You can
use GetBounds to import the object area information).

More Origin Require Event - Sets the origin (4 edge of objects) used to calculate relative
Point d coordinates.

SelectListItem (Selecting a specific item from the list)

SelectListItem selects the target UI object by finding it from a combo box or list.
This can be used only if the target UI object is a ListItem type.

105
Designing Projects - Designing with the Library

Table 4-12 SelectListItem Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

Output - - - - -

Note that it may not operate or the information may not change depending on the
implementation method of the target app even if the target UI object is a ListItem type.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Other Samples >
P_SelectListItem_Test_Win7_Notepad

SetText (Inputting Text)

SetText inputs text in the target UI object. This can be used only if the target UI object supports
ValuePattern, like a text box, and is not read-only.

Select the target UI object and enter the text when the text box appears. You can enter multiple lines
by pressing Shift+Enter on the keyboard.
Once you finish, press Enter to end.

Table 4-13 SetText Properties

106
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - - -

Activit I n p u t Requir String Text Enter the text to input within single quotation marks.
y Text ed Write special characters, such as line break or quotation marks
using a backward slash "?" in accordance with to the JavaScript
coding rule.
• Normal: Input normal text.
• Secure: Input secure text. Even if Secure is selected, the
original text appears in the Input Text field and is
encrypted only when saved to a file.

Done(E Requir True/F - Set whether to press the Enter key after entering the text.
nter) ed alse

In case of using a project containing an encrypted string by copying to another PC, you
cannot see the original text from another PC.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Keyboard Action >
P_SetText_Test_Win7_Notepad

TextInput (Inputting text)

TextInput inputs text after finding the target UI object.


It uses the text input API of Windows to send the text to target UI objects one by one. You can also
input text using the keyboard event API depending on the option settings.

Table 4-14 TextInput Properties

107
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - - -

Activit I n p u t Requir String Text Enter the text to input within single quotation marks.
y Text ed Write special characters, such as line break or quotation marks
using a backward slash "?" in accordance with to the JavaScript
coding rule.
• Normal: Input normal text.
• Secure: Input secure text. Even if Secure is selected, the
original text appears in the Input Text field and is
encrypted only when saved to a file.

Clear Requir True/F - Select whether to delete the text in text box before entering text.
Before ed alse

Done(E Requir True/F - Set whether to press the Enter key after entering the text.
nter) ed alse

Option Before Conditi Numbe Second Enter the time to delay before the string input.
s Delay onal r

After Conditi Numbe Second Enter the time to delay after the string input.
Delay onal r

Interva Conditi Numbe Second Set intervals of the string input.


l onal r

More R a w Requir True/F - Use a low level keyboard event to determine whether to enter a
Event ed alse string. You can enter only English, Korean, or special characters
that you can type with the keyboard.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Keyboard Action >
P_TextInput_Test_Win7_Notepad

You can refer to the following sample.

• > Help > Sample > Sample > Application > Keyboard Action >
P_TextInput_Test_Win7_Notepad

108
Designing Projects - Designing with the Library

KeyInput (Pressing the KeyboardButton)

KeyInput generates a keyboard event such as pressing or releasing keyboard buttons. This can be
used even in case of pressing multiple buttons at the same time, such as Ctrl+Shift+C.
A keyboard event is generated on the UI object where the focus is currently set without designating
the target UI object.

Table 4-15 KeyInput Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Input - - - - -

Output - - - - -

Keyboa K e y Required Event -


Click to record a keyboard event.
rd Events

Shows the recorded keyboard events.


If you record after selecting an event item, a new event is
added above the selected item.
If you press Delete on the keyboard after selecting an event,
the event is deleted.
Click Click here to add new item, then enter the values for
KeyCode and Type to manually add a keyboard event.
In the Type item, you can enter Press, Down, Up, Text,
Variable, and Delay.

Option Before Required Numbe Second Set the waiting time before generating a keyboard event.
s Delay r

After Required Numbe Second Set the waiting time after generating a keyboard event.
Delay r

Interva Required Numbe Second Set the interval of pressing the button.
l r Depending on the target app, a shortcut key may not operate
if the interval is too short.

Restore Required True/F Determine whether to initialize ctrl, alt, and shift key status
KeyStat alse after KeyInput.
e

109
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Application > Keyboard Action >
P_KeyInput_Test_Win7_Notepad

SetCheckState (Select the Check Box (Marked by V)

SetCheckState has the designated checkbox selected (marked by V)

Table 4-16 SetCheckState Properties

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Input - - - - -

Output - - - - -

Activity Commend Required Event - Check whether the check box is


selected.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Manage Application State 15 >
P_CheckState_Window7_Test

GetText (Retrieving Text)

GetText retrieves the text of the target UI object.


You can select the item to retrieve the text from either Name or Value.

Table 4-17 GetText Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Result Requir String Text Specify the variable to allocate the text read from the target UI

110
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

ed object.

Activit Read Requir Event - Select the text type to read the from the target UI object.
y ed When you select Auto, Value is read as a priority if the target UI
object is an Edit or Document type, and Name is read as priority
for other cases.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Get Target Detail >
P_GetText_Test_Win7_Web_Auto

GetBounds (Import Object Area Information)

GetBounds gets the information of the target UI object area. The result will be returned as strings in
the form of x, y, width, and height. The returned strings can be used by converting them into
numerical arrays using the eval function in Assign or ExecuteScript. Moreover, it can be used as
Bounds Input of the Image library.

Table 4-18 GetBounds Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to allocate the text read from
the target UI object.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Get Target Detail >
P_GetBounds_Test_Win7_Notepad

111
Designing Projects - Designing with the Library

GetCheckState (Import Check Box Status Information)

GetCheckState imports status information of the designated check box to the string. A status can be
classified into three types: 'Checked', 'UnChecked', 'Indeterminate'

Table 4-19 GetCheckState Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Result Requir String Text Set the variables to determine whether the check box has been
ed selected. The result value can be classified into three types:
'Checked', 'UnChecked', 'Indeterminate'

You can refer to the following sample.

• > Help > Sample > Sample > Application > Manage Application State 15 >
P_CheckState_Window7_Test

WaitAppear (Waiting until Appeared)

WaitAppear waits until the target UI object appears on the screen.


This can be useful for changing the screen.

Table 4-20 WaitAppear Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - -

Output Result Required String Text Returns the discovery result of the target UI object
as True or False.

Activit Timeou Required Numbe Second Enter the number of seconds to wait before the
y t r Target UI object displays.

112
Designing Projects - Designing with the Library

In case of having to wait for a long time, it is recommended that you add a Delay for the
minimum waiting time before using the WaitAppear library. If WaitAppear library is used,
the action may slow down or malfunction depending on the target app, because the UI object
information of the target app is searched repeatedly.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Wait Application Target >
P_WaitAppear_Test_Win7_Notepad

WaitDisappear (Waiting until Disappeared)

WaitDisappear waits until the target UI object disappears on the screen.


This can be useful for changing the screen.

Table 4-21 WaitDisappear Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Input - - -

Output Result Required String Text Returns True if the target UI object disappears. Returns False
if the target UI object does not disappear.

Activit Timeou Required Numbe Second Enter the number of seconds to wait before the Target UI
y t r object disappears.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Wait Application Target >
P_WaitDisappear_Test_Win7_Web

IsExist (Checking Existence)

IsExist checks whether the target UI object is existent on the screen.

113
Designing Projects - Designing with the Library

Table 4-22 IsExit Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - -

Output Result Requir String Text Returns whether the target UI object designated by user exists.
ed The target object may not be displayed even if it exists. Use the
IsVisible in this case.

• Returns True if the target UI object is found on the screen within the time entered in the
Timeout field. Returns False if it is not found.
• True is returned if the object information exists even if it not shown on the screen, such as
if it is below the scroll or is hidden. In this case, the Bounds information of the object may be
displayed as 0.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Other Samples >
P_IsExist_Test_Win7_Web

IsVisible (Checking Visibility on Screen)

IsVisible checks whether the target UI object is visible on the screen.


Check the Bounds information in addition to the IsExist library. Returns True if the Bounds
information exists. True is also returned if Bounds information exists even if the object is hidden by
another screen.

Table 4-23 IsVisible Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Input - - -

Output Result Required String Text Returns True if the location and size information of the target

114
Designing Projects - Designing with the Library

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

UI object exists, otherwise returns False.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Other Samples > P_IsVisible_Test

IsRadioSelected (Check whether the Radio Button is Selected)

IsRadioSelected checks whether the radio button is selected.

Table 4-24 IsRadioSelected Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - -

Output Result Required String Text Returns True if the specified radio button is selected,
otherwise returns False.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Manage Application State 15 >
P_IsRadioSelected_Window7_Test

IsCheckedState (Check whether the Check Box is Selected)

IsCheckedState checks whether the check box is selected.

Table 4-25 IsCheckedState Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

115
Designing Projects - Designing with the Library

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - -

Output Result Required String Text Set Variables to store the user designated
UI object.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Manage Application State 15 >
P_IsCheckedState_Window7_Test

OpenApp (Launching App)

OpenApp launches a specified app. Once the app is launched, the process ID (PID) of the launched app
is returned.

Table 4-26 OpenApp Properties

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Input - - - - -

Output PID Required String Text Specify the variable to save the PID of the launched app.

Activit Comme Required String Text Enter the execution command of the app to launch.
y nd You may have to enter the entire path on the execution file
depending on the app.

Argum Conditional String Text Enter an execution argument that is required for
ents launching the app.
If there is no execution argument to send, enter an empty
string ('').

WaitTi Required Numbe Second Set the duration of time to check whether executed
me(Sec r properly after launching the app.
)

Maxim Required True/F - Set whether to change into a maximized state after the app
ize alse is launched.

Applica Derive Conditional String Text Specify the name of the app to be launched if an app that is
tion d App not entered in the Command field is launched.
If you enter null or false, execution status of the target app

116
Designing Projects - Designing with the Library

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

will not be checked.

• You can use the PID returned by OpenApp in ActivateApp and CloseApp.
• PID of the app on the screen may be different from the PID returned after launching the
app according to the characteristics of the target app such as being launched though a
launcher app or not being launched delicately.
For example, if calc.exe is executed in Windows 10, calc.exe will close and
calculater.exe is launched to appear on the screen. In this case, PID of the calc.exe
specified in OpenApp will be returned on the PID field of OpenApp instead of
calculator.exe that appeared on the screen.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Manage Application >
P_OpenApp_Test_Win7_notepad

ActivateApp (Activating the App)

ActivateApp activates the app with the designated PID by moving the app to the very front.

Table 4-27 ActivateApp Properties

Categor Properti Set whether to be Type Input Description


y es required range/
Unit

Input PID Required String Text Select PID of the app to activate.

Output - - - -

Activity Maximiz Required True/Fals Select whether to maximize the app to


e e activate.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Manage Application >

117
Designing Projects - Designing with the Library

P_ActivateApp_Test_Win7_Calc

CloseApp (Closing the App)

CloseApp closes the app with the selected PID.

Table 4-28 CloseApp Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input PID Requir String Text Select PID of the app to close.
ed

Output - - - -

Option Force Requir True/F - If set to True, the app will be force closed regardless of the
s ed alse status, if it is not closed after the close command is sent.
If set to False, the close command is sent to app only once. The
app may or may not close depending on the app status. For
example, when a command is sent to a Memo that is edited, the
app will not be closed because a new pop-up is displayed asking
if you want to save the edited file.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Manage Application >
P_CloseApp_Test_Win7_Notepad

CloseAll (Closing the App)

CloseAll closes an app or all apps with the entered name.

Table 4-29 CloseAll Properties

118
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - -

Output - - - -

Option Force Requir True/F - If set to True, the app will be force closed regardless of the
s ed alse status, if it is not closed after the close command is sent.
If set to False, the close command is sent to app only once. The
app may or may not close depending on the app status. For
example, when a command is sent to a Memo that is edited, the
app will not be closed because a new pop-up is displayed asking
if you want to save the edited file.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Manage Application >
P_CloseAll_Test_Win7_Notepad

OpenWindow (Opening a Window)

OpenWindow opens the app, checks that the target UI object appears, and maximizes the app.
You can utilize this for opening an app or launcher type which cannot be executed using the
OpenApp library.

Table 4-30 OpenWindow Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - - -

Activit C o m m Requir String String Enter the execution command of the app to launch. You may
y and ed have to enter the entire path on the execution file depending on
the app.

Argum Conditi String String Enter an execution argument that is required for launching the

119
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

ents onal app. If there is no execution argument to send, enter an empty


string ('').

Maxim Requir True/F - Set whether to change into a maximized state after the app is
ize ed alse launched.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Manage Window >
P_OpenWindow_Test_Notepad

CloseWindow (Closing a Window)

CloseWindow closes the window of the app to which the target UI object belongs to.

Table 4-31 CloseWindow Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - - -

Option Force Requir True/F - If set to True, the app will be force closed regardless of the
s ed alse status, if it is not closed after the close command is sent.
If set to False, the close command is sent to app only once. The
app may or may not close depending on the app status. For
example, when a command is sent to a Memo that is edited, the
app will not be closed because a new pop-up is displayed asking
if you want to save the edited file.

You can refer to the following sample.

120
Designing Projects - Designing with the Library

• > Help > Sample > Sample > Application > Manage Window >
P_CloseWindow_Test_Win7_Notepad

FindAll (Finding All Objects Match the Search Conditions)

FindAll finds all elements with a specific condition.

Table 4-32 FindAll Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - -

Output Result Requir Object Text Returns an array of the elements that matches the condition
Type ed for ResultType on the page with the specified element.

Conditi ResultT Requir Object/Bou - If it is Default Object, returns all target information that
ons ype ed nds/Control meets the condition as an array and when selecting other
Type/Name types, information is returned based on the selected type.
/Value/Lega
cyValue/Ra
ngeText

Find (Finding UI object)

Find searches for the UI object specified by the user.

Table 4-33 Find Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - -

Output Result Requir Object Text Set Variables to store the user designated UI object.
ed

Activit All or Requir True/F - If it is True, returns all target information that match the
y First ed alse condition as an array. If it is False, returns only the first target

121
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

discovered.

FindElement (Finding Sub-UI Object)

FindElement searches the target UI object from the sub-level of the object entered in the Input field.

Table 4-34 FindElement Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input Target Conditi String Text Target UI object to search selects an assigned variable. If not
onal specified, the most recently searched object is set as the
assigned variable.

Output Result Requir Object Text Set variable to process execution result.
ed

Activit All or Requir True/ - If it is True, returns all target information that match the
y First ed False condition as an array. If it is False, returns only the first target
discovered.

Target TreeSc Requir Event - Set the scope for object search.
ope ed

ClassN Conditi String Text Set the class name when performing object search
ame onal

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_FindElementWebDriver_Test_Win7_Web

122
Designing Projects - Designing with the Library

RunAction (Generating Events)

RunAction generates events, such as a click the target UI object entered in the Input field, or searches
nearby objects.

Table 4-35 RunAction Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Input Target Condition Object Text Generate event or designate an object to research. If not
al specified, the most recently searched object is set as the input
value.

Output Result Condition Differs Text Returns the execution results. The execution result value
al within depends on the Command.
actions.

Activit C o m m Required Event - Select event(how it works) to generate.


y and

Argum Condition String Text Enter property value for generating the event.
ents al

You can refer to the following sample.

• > Help > Sample > Sample > Application > Other Samples >
P_RunAction_Test_Win7_Notepad

GetHierarchyInfo (Converting into XML format)

GetHierarchyInfo returns the information of the sub-object in XML format based on the specified
object or app. You can use this for purposes, such as handling the information on the screen all at
once.

Table 4-36 GetHierarchyInfo Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Input - - - -

123
Designing Projects - Designing with the Library

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Output Result Require String Text The returned object information is expressed as an
d XmlDocument object.

Activit Target/ Require True/F - If it is True, select the target object. If it is False, select the
y App d alse target and the application to which the target belongs.

The returned object information is expressed as an XMLDocument object. For more


information about the XMLDocument, go to the link below:
https://docs.microsoft.com/ko-kr/dotnet/api/system.xml.xmldocument?view=netframework-4
.7.2

You can refer to the following sample.

• > Help > Sample > Sample > Application > Get Target Detail >
P_GetHierachyInfo_Test

GetListItems (Getting All Items included on the List)

GetListItems returns the items on the same path as the target UI object from the list, tree, or menu.

Table 4-37 GetListItems Properties

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Input - - - - -

Output Result Required Array Text Set Variables to store the List
object.

Target DataType Required Event Text Select the data type.

Delimiter Required String Text Specify the data separator.

You can refer to the following sample.

124
Designing Projects - Designing with the Library

• > Help > Sample > Sample > Application > Get Target Detail > P_GetListItems_Test

GetGridItems (Import Grid Item)

GetGridItems retrieves items displaying grid.

Table 4-38 GetGridItems Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - -

Output Result Required Two-dimen Text Set the variable to save grid items.
s i o n a l
array.

Target DataTy Required Event - Specify the item format to read.


pe

Delimit Required String Text Input marks to distinguish items when there are
er two or more to read within the grid

You can refer to the following sample.

• > Help > Sample > Sample > Application > Get Target Detail >
P_GetGridItems_Test_Win7_Web

GetListItemIndex (Import List Items in Order)

GetListItemIndex gets the order of the selected item from the list.

Table 4-39 GetListItemIndex Properties

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Input - - - -

Output Result Required String Text Specify variable to bring list items in
oder.

125
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Application > Get Target Detail >
P_GetListItemIndex_Test_Win7_Web

GetGridItemIndex (Import grid items in order)

GetGridItemIndex gets the order of the selected item from the grid.

Table 4-40 GetGridItemIndex Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - -

Output Result Requir String Text Specify variable to bring grid items in oder.
ed The result is an object type that contains Row and Column
information, such as RESULT.Row (or RESULT[0]),
RESULT.Column (or RESULT[1]).

You can refer to the following sample.

• > Help > Sample > Sample > Application > Get Target Detail >
P_GetGridItemIndex_Test_Win7_Web

MouseEvent (Generating a Mouse Event)

MouseEvent generates a mouse event such as a click the designated location.

Table 4-41 MouseEvent Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output - - - - -

126
Designing Projects - Designing with the Library

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Activit C l i c k Required Numbe Pixel Enter the coordinates to locate the mouse pointer.
y Point r Enter Mouse.Position and it will click the current
position where the mouse is located.

Mouse Action Required Event - Select how the mouse works.

You can refer to the following sample.

• > Help > Sample > Sample > Application > Mouse Action > P_MouseEvent_Test

KeyboardEvent (Generating a Keyboard Event)

KeyboardEvent generates a keyboard event regardless of the target UI object.

Table 4-42 KeyboardEvent Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - - - -

Output - - - - -

Keyboa InputTyp Required Event - Specify a keyboard action to generate an


rd e event.

InputDat Conditional String Text Enter data when an event occurs.


a

You can refer to the following sample.

• > Help > Sample > Sample > Application > Keyboard Action >
P_KeyboardEvent_Test

CredentialSetText (Entering the Text Using Credential Data)

Enter the Credential data into the object for the specified password properties. Objects without
password properties cannot be specified.

127
Designing Projects - Designing with the Library

This is the same as SetText except it uses the Credential resource.

Only the Credential resource can be used as input data.

CredentialTextInput (Typing the Text with Credential Data)

Enter the Credential data into the object for the specified password properties. Objects without
password properties cannot be specified.

This is the same as TextInput except it uses the Credential resource.

Only the Credential resource can be used as input data.

Web library

You can control app screen using the features provided by the Web library. These libraries identify
the UI object on the screen using the UI automation technology provided by Windows and find the
target UI specified by the user to perform the specified actions.

The features provided by the web library are as follows:

● UI object recognition related features (WebWaitAppear, WebWaitDisappear, WebFind, etc.)


● Mouse action features (WebClick, etc.)
● Keyboard action features (WebSetText, etc.)
● Run and exit features (OpenBrowser, CloseBrowser, WebOpen, WebClose, WebNavigate,
WebScreenshot, etc.)
● Email features (POP3,SMTP) (SendMail, ReceiveMail, DownloadMailAttachment, SendRequest,
etc.)
● Other features (WebGetData, WebGetTableData, WebGetListData, etc.)
● Web driver use features (SeleniumSideRunner, etc.)
● Library related to Credential (CredentialWebSetText)

128
Designing Projects - Designing with the Library

If the target app is developed using methods that are different to the ordinary methods, the
Web library may not operate as intended.

Use Designer or window explorer to refer samples of web library.


• Designer Path: > Help > Sample > Sample > Web
• Window explorer path: C:\Users\user\AppData\Roaming\Brity Works
Designer\samples\Web

[Library related to Web sample project names]


• Mail Transfer: DownloadMailAttachment, ReceiveMail, SendMail
• Manager Browser(Web Driver)15: WebClick, WebClose, WebGetData, WebGetTableData,
WebNavigate, WebOpen, WebScreenshot, WebSetText, WebWaitAppear
• Manager Browser: CloseBrowser, OpenBrowser
• Other Samples: SeleniumSideRunner, SendRequest

OpenBrowser (Opening a Browser)

OpenBrowser opens Internet Explorer. Enter a URL to connect to.


Once executed, it returns the ID list of the browser. You can use the returned ID list in the
CloseBrowser.

Table 4-43 OpenBrowser Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Browse Conditional Process Text Specify the variable to save ID of the launched
rID ID browser.

Activit URL Required String Text Enter the URL to connect to after the browser is
y launched within single quotation marks.
To open an empty browser, enter an empty string ('').

Option WaitTi Conditional Numbe Positive Set the duration of the waiting time until the browser
s me(Sec r number is launched and appears on the screen.
) s

Maxim Required True/F - Set whether to maximize the browser window.


ize alse

129
Designing Projects - Designing with the Library

• A browser has one ID in most cases, but may have many IDs in some cases, such as if
pop-up windows are opened.
• Unlike the PID of OpenApp, you cannot use the CloseApp because it is the ID of an app
screen.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser > P_OpenBrowser_Test

CloseBrowser (Closing a Browser)

CloseBrowser closes the browser with the selected ID. You must save the ID list returned by the
OpenBrowser to use this feature.

Table 4-44 CloseBrowser Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input Browse Requir Process Text Specify the variable to save ID of the launched browser.
rID ed ID

Output - - - - -

Option ForceA Requir True/F - If set to True, the browser will be force closed regardless of the
s ll ed alse status, if it is not closed after the close command is sent.
If set to False, the close command is sent to browser only once.
The browser may or may not close depending on the status.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser > P_CloseBrowser_Test

SendMail (Sending Email)

130
Designing Projects - Designing with the Library

SendMail sends an email.

Table 4-45 SendMail Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - - -

Connec H o s t Requir String Text Enter the name of the email server(SMTP) host.
tion Name ed

Port Requir Numbe Positiv Enter email server port.


ed r e num
bers

ID Requir String Text Enter ID of the sender.


ed

Passwo Requir String Text Enter the password of the sender.


rd ed

U s e Requir True/F - Specify whether to use SSL.


SSL ed alse

Mail Sender Requir String Text Enter the email address of the sender.
ed

Receiv Requir String Text Enter the email address of the recipient. Multiple recipient can
ers ed be designated by separating with a semicolon. It applies both for
CCs and BCCs.

CCs Conditi String Text Enter the email address of the CCs.
onal

BCCs Conditi String Text Enter the email address of the BCCs.
onal
history

Subject Requir String Text Enter the title of the email.


ed

Body Conditi String Text Enter the body of the email.


onal

Attach Conditi String Text Enter the attached files path.


ements onal

F i l e Conditi Numbe Positiv Set the size limit of the attached files. An error is returned when
S i z e onal r e num the attachment size is great than the limit.

131
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

(MB) bers

IsHtml Requir True/F - Set whether to use HTML format.


ed alse

You can refer to the following sample.

• > Help > Sample > Sample > Web > Mail Transfer > P_SendMail_Test

ReceiveMail (Receiving Email)

ReceiveMail receives an email and allocates to a variable.

Table 4-46 ReceiveMail Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Mails Requir String Text Set variable to save the information of the received mail.
ed

Connec H o s t Requir String Text Enter the name of the email server(SMTP) host.
tion Name ed

Port Requir Numbe Positiv Enter email server port.


ed r e num
bers

ID Requir String Text Enter ID of the recipient.


ed

Passwo Requir String Text Enter the password of the recipient.


rd ed

U s e Requir True/F - Specify whether to use SSL.


SSL ed alse

132
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Mail Begin Conditi Numbe Positiv Receive emails sent after the entered time.
Time onal r e num
bers

E n d Conditi Numbe Positiv Receive emails sent before the entered time. If empty, check
Time onal r e num until the current time.
bers

Sender Conditi String Text Enter the email address of the sender.
onal

Subject Conditi String Text Enter the title of the email to check.
onal

Body Conditi String Text Enter the body of the email to check. Setting value may slow
onal down the speed.

Attach Conditi String Text Enter the name of the attachment to check Setting value may
ements onal slow down the speed.

M a x Conditi Numbe Positiv Enter the maximum number of the email to check. Enter 0 to
Count onal r e num check all.
bers

Start Conditi Numbe Positiv Enter the starting number of the email to check.
No. onal r e num
bers

With C Requir True/F - Determine whether to return by including the body and
ontents ed alse attachments list.

Ignore Requir True/F - Determine whether to ignore the HTML tag in the body content.
HTML ed alse
Tag

Ignore Requir True/F - Determine whether to ignore the attachments in the body
Body A ed alse among the returned information. Set False to receive mail
ttachm including the attachments in the body.
ents

Recent Requir True/F - Determine whether to check the most recent email.
First ed alse

You can refer to the following sample.

133
Designing Projects - Designing with the Library

• > Help > Sample > Sample > Web > Mail Transfer > P_ReceiveMail_Test

DownloadMailAttachment (Saving Email Attachment)

DownloadMailAttachment saves the email attachment.

Table 4-47 DownloadMailAttachment Properties

Catego Proper Set whe Type Input Description


ry ties ther to range/
be requ Unit
ired

Input - - - - -

Output - - - - -

Mail Numbe Requir Numbe Positiv Specify the number of attachment to download.
r ed r e num
bers

Attach Conditi String Text Enter the name of attached files to download. Setting value
ements onal may slow down the speed.

D o w n l Requir String Text Specify the download path.


oad ed

Ignore Requir True/F Determine whether to ignore the attachments in the body
Body A ed alse among the returned information. Select False to receive the
ttachm attachments in the body.
ents

You can refer to the following sample.

• > Help > Sample > Sample > Web > Mail Transfer >
P_DownloadMailAttachment_Test

SendRequest (Sending Request)

SendRequest calls REST API.

134
Designing Projects - Designing with the Library

Table 4-48 SendRequest Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Respon Conditional String Text Specify the variable to save the call result.
se You can use the Headers and the Contents properties
of the specified variable.

REST Metho Required Event - Select the calling method.


d

Conten Required Event - Select the type of content to call.


tType

URL Required String Text Enter the address to call within single quotation
marks.

Author Conditional String Text Enter the API key within single quotation marks.
ization

Header Conditional String Text Enter the Header information within single
s quotation marks.

Body Conditional String Text Enter the Body information within single quotation
marks.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Other Samples > P_SendRequest_Test_Win7_Web

SeleniumSideRunner (Executing Selenium)

SeleniumSideRunner executes Selenium IDE Script.

Table 4-49 SeleniumSideRunner Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to save the execution result
of Script(.side).

HTML BrowserT Required Event - Select the browser to execute Script(.side).

135
Designing Projects - Designing with the Library

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

ype

SideFilePa Required String Text Specify the path of recorded script file using
th Selenium IDE.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Other Samples >
P_SeleniumSideRunner_Test_Win7_Web

WebOpen (Creating Webdriver)

WebOpen uses web driver to open browser.

Table 4-50 WebOpen Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - - - -

Output Browser Required String Text Specify the variable to save the web driver object
created.

Activit Browser Required Event - Select the browser to use.


y Type

URL Required String Text Enter the URL to connect through webdriver
within single quotation marks.

Maximiz Required True/F - Set whether to maximize the browser window.


e alse

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_OpenWebDriver_Test_Win7_Web

136
Designing Projects - Designing with the Library

WebClose (Closing Webdriver)

WebClose closes browser opened with web driver.

Table 4-51 WebClose Properties

Category Properties Set whether to be Type Input range/ Description


required Unit

Input Browser Required String Text Enter variable to close


webdriver.

Output - - - - -

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_CloseWebDriver_Test_Win7_Web

WebNavigate (Moving Page)

Move to specified URL page.

Table 4-52 WebNavigate Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input Browse Required String Text Enter the webdriver variable.


r

Output - - - - -

Activit URL Required String Text Enter the URL to move on to within single
y quotation marks.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_NavigateWebDriver_Test_Win7_Web

137
Designing Projects - Designing with the Library

WebWaitAppear (Waiting to Create Object)

WebWaitAppear waits until the specified object appears on the screen.

Table 4-53 WebWaitAppear Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input Browser Required String Text Enter the webdriver variable.

Activit WaitTime Required Number Second Enter the time to delay before the specified
y (Sec) object is created.

QueryTyp Required XPath/Sel - Set the type to use between Xpath or CSS
e ector Selector.

Target Title Conditional String Text The title of the web page is displayed.

Name Conditional String Text Display Name that can distinguish objects.

Query Required String Text Enter the Xpath or CSS selector according to
the selected Query Type.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_WaitElementWebDriver_Test_Win7_Web

WebWaitDisappear (Waiting for Object to Disappear)

WebWaitDisappear waits until the target UI object disappears from the screen.

Table 4-54 WebWaitDisappear Properties

Catego Properti Set whether to Type Input Description


ry es be required range/
Unit

Input Browser Required String Text Enter the webdriver variable.

Activit WaitTime Required Number Second Enter the number of seconds to wait before the
y (Sec) Target UI object disappears.

QueryTyp Required XPath/Sel - Set the type to use between Xpath or CSS Selector.
e ector

138
Designing Projects - Designing with the Library

Catego Properti Set whether to Type Input Description


ry es be required range/
Unit

Target Title Conditional String Text The title of the web page is displayed.

Name Conditional String Text Enter name that can distinguish objects.

Query Required String Text Enter the Xpath or CSS selector according to the
selected Query Type.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_WaitElementWebDriver_Test_Win7_Web

WeblsExist (Checking Existence)

WeblsExist checks whether the target UI object exists on the screen.

Table 4-55 WeblsExist Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input Browser Required String Text Enter the webdriver variable.

Output Result Required String Text Returns whether the target object exists as
True or False.

Activit WaitTime Required Number Second Enter the time to delay before the specified
y (Sec) object is created.

QueryTyp Required XPath/Sel - Set the type to use between Xpath or CSS
e ector Selector.

Multiple Required True/Fals - Set whether to allow a case with multiple


e specified objects.

Target Title Conditional String Text The title of the web page is displayed.

Name Conditional String Text Enter name that can distinguish objects.

Query Required String Text Enter the Xpath or CSS selector according to
the selected Query Type.

139
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_WaitElementWebDriver_Test_Win7_Web

WebFind (Searching Object)

WebFind searches objects on web page.

Table 4-56 WebFind Properties

Catego Propertie Set whether to Type Input Description


ry s be required range/
Unit

Input Browser Required String Text Enter the webdriver variable to retrieve.

Output Element Required String Text Enter the variable to save retrieved object.

Activit WaitTime Required Number Positive Error is returned if the object is not found
y (Sec) numbers within the time entered.

QueryTyp Required XPath/Se - Set the type to use between Xpath or CSS
e lector Selector.

Multiple Required True/Fal - Set whether to allow the case with multiple
se specified objects.

Target Title Conditional String Text The title of the web page is displayed.

Name Conditional String Text Enter name that can distinguish objects.

Query Required String Text Enter the Xpath or CSS selector according to
the selected Query Type.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_FindElementWebDriver_Test_Win7_Web

WebImageFind (Finding Objects Using Image)

WebImageFind searches the desired web-page's objects with the designated image or similar image.

140
Designing Projects - Designing with the Library

Table 4-57 WebImageFind Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input Browse Requir String Text Enter the webdriver variable to retrieve.
r ed

Output Elemen Requir String Text Enter the variable to save retrieved object.
t ed

Target Thresh Requir Numbe 0 to Enter a value between 0-100 to set the similarity of images. The
old ed r 100 probability of not matching becomes higher as it gets closer to 0.

WaitTi Requir Numbe Positiv Error is returned if the object is not found within the time
me(Sec ed r e num entered.
) bers

Search Unable - - Search within the given area and not the entire zone.
Bounds t o
enter

Target SnapSh Unable - - The image of specified object appears.


ot t o
enter

Elemen Conditi Numbe Positiv Display the object location.


tPt onal r e num
bers

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_FindElementWebDriver_Test_Win7_Web

WebRunAction (Generating Web Event)

WebRunAction generates events, such as a click the target UI object entered in the Input field, or
searches nearby objects.

Table 4-58 WebRunAction Properties

141
Designing Projects - Designing with the Library

Categor Properti Set whether to be Type Input Description


y es required range/
Unit

Input Browser Required String Text Enter the webdriver variable to retrieve.

Element Required Object Object Enter the output of WebFind or


WebImageFind.

Output Result Required Variabl Variable Set Variable to store the user designated
e object.

Activity Comman Required Event - Select event(how it works) to generate.


d

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_FindElementWebDriver_Test_Win7_Web

WebClick (Clicking Object)

WebClick clicks object.

Table 4-59 WebClick Properties

Catego Propertie Set whether to Type Input Description


ry s be required range/
Unit

Input Browser Required String Text Enter the webdriver variable.

Output - - - - -

Activit WaitTime Required Number Positive Error is returned if the object is not found
y (Sec) numbers within the time entered.

QueryTyp Required XPath/Se - Set the type to use between Xpath or CSS
e lector Selector.

Target Title Conditional String Text The title of the web page is displayed.

Name Conditional String Text Enter name that can distinguish objects.

Query Required String Text Enter the Xpath or CSS selector according to
the selected Query Type.

More Image Unable to enter - - The image of specified object appears.

142
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_ClickWebDriver_Test_Win7_Web

WebGetData (Importing Data)

WebGetData imports data specified from the object.

Table 4-60 WebGetData Properties

Catego Propertie Set whether to Type Input Description


ry s be required range/
Unit

Input Browser Required String Text Enter the webdriver variable.

Output Data Required String Text Enter the variable to save retrieved data
value.

Activit WaitTime Required Number Positive Error is returned if the object is not found
y (Sec) numbers within the time entered.

QueryTyp Required XPath/Se - Set the type to use between Xpath or CSS
e lector Selector.

Target Title Conditional String Text The title of the web page is displayed.

Name Conditional String Text Enter name that can distinguish objects.

Query Required String Text Enter the Xpath or CSS selector according to
the selected Query Type.

HTML DataType Required Event Text Select the data type to import.

Expected Unable to enter - - Display the expected value of importing data.


Value

More Image Unable to enter - - The image of specified object appears.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_GetDataWebDriver_Test_Win7_Notepad

WebSetText (Sending String)

143
Designing Projects - Designing with the Library

WebSetText sends string to the object.

Table 4-61 WebSetText Properties

Catego Propertie Set whether to Type Input Description


ry s be required range/
Unit

Input Browser Required String Text Enter the webdriver variable.

Output - - - - -

Activit WaitTime Required Number Positive Error is returned if the object is not found
y (Sec) numbers within the time entered.

I n p u t Conditional String Text Enter a string to send.


Text

Done(Ent Required True/Fal - Set whether to press the Enter key after
er) se entering the text.

QueryTyp Required XPath/Se - Set the type to use between Xpath or CSS
e lector Selector.

Target Title Conditional String Text The title of the web page is displayed.

Name Conditional String Text Enter name that can distinguish objects.

Query Required String Text Enter the Xpath or CSS selector according to
the selected Query Type.

More Image Unable to enter - - The image of specified object appears.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_SetTextWebDriver_Test_Win7_Web

CredentialWebSetText (Sending the Credential String)

CredentialWebSetText enters the Credential data into the object for the specified password properties.
Objects without password properties cannot be specified.

This is the same as WebSetText except it uses the Credential resource.

144
Designing Projects - Designing with the Library

Only the Credential resource can be used as input data.

WebScreenshot (Capturing)

WebScreenshot captures the screen shown on the web driver.

Table 4-62 WebScreenshot Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input Browse Required String Text Enter the webdriver variable.


r

Output - - - - -

Activit FilePat Required String Text Enter the path in which the captured result is
y h to be saved.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
P_ScreenshotWebDriver_Test_Win7_Web

WebGetTableData (Importing Data)

WebGetTableData imports data value within the table specified from the object. Display target object
if certain amount of time has passed after putting the mouse over the object to import.

Table 4-63 WebGetTableData Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input Browser Required String Text Enter the webdriver variable.

Output Data Required String Text Enter the variable to save retrieved data value.

Activit QueryTyp Required XPath/Sel - Set the type to use between Xpath or CSS
y e ector Selector.

Target Title Conditional String Text The title of the web page is displayed.

145
Designing Projects - Designing with the Library

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Name Conditional String Text Enter name that can distinguish objects.

Query Required String Text Enter the Xpath or CSS selector according to
the selected Query Type.

HTML DataType Required Event - Select the data type to import.

ExpectedV Unable to enter - - Display the expected value of importing data.


alue

More Image Unable to enter - - The image of specified object appears.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
GetTableWebDriver_Test_Win7_Web

WebGetListData (Importing Data)

WebGetListData imports list of data value specified from the object. Display target object if certain
amount of time has passed after putting the mouse over the object to import.

Table 4-64 WebGetListData Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input Browser Required String Text Enter the webdriver variable.

Output Data Required String Text Enter the variable to save retrieved data value.

Activit QueryTyp Required XPath/Sel - Set the type to use between Xpath or CSS
y e ector Selector.

Target Title Conditional String Text The title of the web page is displayed.

Name Conditional String Text Enter name that can distinguish objects.

Query Required String Text Enter the Xpath or CSS selector according to
the selected Query Type.

HTML DataType Required Event - Select the data type to import.

ExpectedV Unable to enter - - Display the expected value of importing data.


alue

146
Designing Projects - Designing with the Library

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

More Image Unable to enter - - The image of specified object appears.

You can refer to the following sample.

• > Help > Sample > Sample > Web > Manager Browser(Web Driver)15 >
GetTableWebDriver_Test_Win7_Web

Excel Library

You can control Excel documents using the features provided by the Excel library.
Using the library, you can create new documents or open existing documents to edit and save.
The features provided by the Excel library are as follows:

● Creating new Excel documents and worksheets (NewExcel, HeadlessNewExcel, CreateExcel,


CreateWorkSheet)
● Opening, activating, saving, closing, splitting and, getting Excel documents (OpenExcel,
HeadlessOpenExcel, SplitExcel, ActivateExcel, SetHeadlessExcel, GetActiveExcel, GetExcel,
GetSheetName, GetAllSheetNames, SaveExcel, CloseExcel)
● Selecting worksheets and areas (SelectWorkSheet, SelectRange, SelectRow, SelectCol)
● Getting, reading, writing, and creating areas (GetActiveRange, GetDataRange, ClearRange,
ReadRange, WriteRange, MakeRange, MergeRange, SplitRange, GetRowCount, GetColCount)
● Applying, releasing, and aligning filters (SetFilter, SetColorFilter, ReleaseFilter, SortData)
● Searching, writing, and replacing strings (SearchString, ReplaceString, ReadString, WriteString)
● Copying, pasting, deleting and moving (CopyWorkSheet, DeleteWorkSheet, CopyRange,
PasteRange, CopyPaste, MoveWorkSheet)
● Executing macro (ExecuteMacro)
● Adding, selecting, and deleting rows and columns (AddRow, AddCol, SelectRow, SelectCol,
DeleteRow, DeleteCol)
● Importing and entering formula (ReadCellFormula, WriteCellFormula)
● Applying style and border (SetStyleRange, SetBorderRange)
● Applying and removing hide (SetHiddenRow, SetHiddenCol)
● Function (VLookUp)

147
Designing Projects - Designing with the Library

● Shortcut key (SendShortCut)

Use Designer or window explorer to refer samples of Excel library.


• Designer Path: > Help > Sample > Sample > Excel
• Window explorer path: C:\Users\user\AppData\Roaming\Brity Works
Designer\samples\Excel

[Library related to Excel sample project name]


• Apply Filter: ReleaseFilter, SetColorFilter, SetFilter
• Apply Style: SetBoardRange, SetHiddenCol, SetHiddenRow, SetStyleRange
• Cell Formula: ReadCellFormula, WriteCellFormula
• Edit Column: AddCol, DeleteCol, GetColCount, SelectColCount, SelectCol
• Edit WorkSheet: CopyWorkSheet, CreateWorkSheet, DeleteWorkSheet, GetSheetNames,
SelectWorkSheet
• headless_Excel15: HeadlessNewExcel, HeadlessOpenExcel
• Manage Excel: ActivateExcel, CloseExcel, CreateExcel, GetActiveExcel, GetExcel, NewExcel,
OpenExcel, SaveExcel, SplitExcel
• Manipulate Range15: ClearRange, CopyRange, GetActiveRange, GetDataRange,
MakeRange, ManageRange, MergeRange, PasteRange, ReadRange, ReadString, SelectRange,
SpiltRange, WriteRange
• Other Samples: CopyPaste, ExecuteMacro, ReplaceString, SearchString, SortData,
WriteString

Excel Library usually use the following three components : Excel handle, Excel Sheet and
Excel Range.
• Excel Handle: Window handle of Excel file that is currently opened.
• Excel Sheet The name of the integrated Excel document sheet.
• Excel Range (Range): Cell range of the Excel. The range between A1 and C3 can be
displayed as A1:C3 and handled with strings.

Common Properties

The common properties of Excel library are as follows.

148
Designing Projects - Designing with the Library

Table 4-65 More/Description properties

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 O n Conditi Event - Specify an action to carry out when an error occurs at the time
Error onal of execution.
• If not specified: Output errors and exit the task.
• Ignore: Output log and proceed to the next activity.
• Retry: Exit task if an error occurs even after a retry.
• If handler is specified: Call specified handler.

2 Descrip Conditi String Text Add description.


tion onal After description being entered, it is displayed on the chart
description. If there is no description, the representative value
of each library is displayed.

NewExcel (Opening New Excel Document)

NewExcel opens a new Excel document.

Table 4-66 NewExcel Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - - -

Output Excel Required String Text Specify the variable to allocate to the Excel
document.

149
Designing Projects - Designing with the Library

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

File Invisible Conditional True/Fal - Set whether to deactivate the Excel


se document.

Maximiz Conditional True/Fal - Set whether to maximize the Excel


e se window.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manage Excel > P_New_Excel_Test_2013

HeadlessNewExcel (Using Headless Mode to Open Empty Excel Document)

Headless mode to open an empty Excel document.

Table 4-67 HeadlessNewExcel Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - - -

Output Excel Required String Text Specify the variable to allocate to the Excel
document.

File Invisible Conditional True/Fal - Set whether to deactivate the Excel


se document.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > headless_Excel15 > Headless_NewExcel

CreateExcel (Creating a New Excel Document)

CreateExcel creates a new document.

150
Designing Projects - Designing with the Library

Table 4-68 CreateExcel Properties

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

Input - - - - -

Output - - - - -

File Path Required String Text Enter the path to create the new Excel document
and the filename.

OverWr Conditional True/Fa - Set whether to overwrite the file if same


ite lse filename already exists.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manage Excel > P_CreateExcel_Test_2013

OpenExcel (Opening an Excel Document)

OpenExcel opens an Excel document.

Table 4-69 OpenExcel Properties

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Input - - - -

Output Excel Required String Text Specify the variable to allocate to the open Excel
document.
You can use this in CreateWorkSheet and
SelectWorkSheet, and more.

File Path Required String Text Select the Excel file to open or enter the document path.

Maxim Conditional True/F - Set whether to maximize the Excel window.


ize alse

Execut Conditional True/F - Set whether to display the executed Excel document.
eShell alse

Timeou Required Numbe Second Set the time to wait until the Excel file opens.
t r Not displayed when selecting False ExecuteShell property.

Invisibl Conditional True/F - Set whether to deactivate the Excel document. Displayed
e alse when selecting False ExecuteShell property.

151
Designing Projects - Designing with the Library

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

R e a d O Conditional True/F - Select whether to Open the excel file as read-only. Display
nly alse when selecting False ExecuteShell property.

UsePas Conditional String Text Select whether to use password. Displayed when selecting
sword False ExecuteShell property.

OpenP Conditional String Text Enter the password to use when opening Excel. Select
asswor UsePassword True to enter password.
d

WriteP Conditional String Text Enter the password to use when editing Excel. Select
asswor UsePassword True to enter password.
d

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manage Excel > P_OpenExcel_Test_2013

HeadlessOpenExcel (Using Headless Mode to Open Excel Document)

Headless mode to open an Excel document.

Table 4-70 HeadlessOpenExcel Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - -

Output Excel Required String Text Specify the variable to allocate to the open Excel
document.
You can use this in CreateWorkSheet and
SelectWorkSheet, and more.

File Path Required String Text Select the Excel file to open or enter the document path.

Invisibl Conditional True/F - Set whether to deactivate the Excel document.


e alse

R e a d O Conditional True/F - Select whether to Open the excel file as read-only.


nly alse

UsePas Conditional String Text Select whether to use password.

152
Designing Projects - Designing with the Library

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

sword

OpenP Conditional String Text Enter the password to use when opening Excel. Select
asswor UsePassword True to enter password.
d

WriteP Conditional String Text Enter the password to use when editing Excel. Select
asswor UsePassword True to enter password.
d

You can refer to the following sample.

• > Help > Sample > Sample > Excel > headless_Excel15 > Headless_OpenExcell

SplitExcel (Splitting an Excel Document)

SplitExcel partially or entirely copies the worksheet of a personal Excel document that contains many
worksheets to create a new Excel file.

Table 4-71 SpiltExcel Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the
(Object) Excel document.

Output - - - -

Activit WholeSh Required True/False - Select whether to copy all worksheets


y eet or part of it.

File Path Required String Text Select the path to save the new Excel
file.

Sheet SheetNa Required String Text Enter name of the worksheet to copy.
me

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manage Excel > P_SplitExcel_Test_2013

153
Designing Projects - Designing with the Library

ActivateExcel (Activating Excel Window)

ActivateExcel activates the deactivated Excel document.

Table 4-72 ActivateExcel Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required E x c e l Text In the Excel field, select the variable allocated with
handle the Excel document to activate.
(Object)

Output - - - - -

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manage Excel > P_ActivateExcel_Test_2013

SetHeadlessExcel (Headless Mode to Activate Excel Window)

Headless mode to activate disabled Excel document.

Table 4-73 SetHeadlessExcel Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output - - - - -

File FileNa Required String Text Enter the Excel file name in the Excel field to activate
me using Headless mode.

GetActiveExcel (Getting an Activated Excel Document)

GetActiveExcel gets an activated Excel document and allocates to a variable.

Table 4-74 GetActiveExcel Properties

154
Designing Projects - Designing with the Library

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - -

Output Excel Required Excel handle Text Import currently activated Excel handle
(Object) (object).

Activit Timeou Required Number Second Specify time to wait before importing the
y t activated Excel document.

File Maxim Conditional True/False - Set whether to maximize the Excel window.
ize

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manage Excel > P_GetActiveExcel_Test_2013

GetExcel (Getting an Excel Document)

GetExcel gets an Excel document with the specified name from the executed Excel documents and
allocates to a variable.

Table 4-75 GetExcel Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - -

Output Excel Required Excel handle Text Import currently activated Excel handle
(Object) (object).

File FileNa Required String Text Enter the name of the Excel file to get within
me single quotation marks.

Maxim Conditional True/False - Set whether to maximize the Excel window.


ize

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manage Excel > P_GetExcel_Test_2013

155
Designing Projects - Designing with the Library

CreateWorkSheet (Adding a New Worksheet)

CreateWorkSheet adds a new worksheet to the Excel document.

Table 4-76 CreateWorkSheet Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the opened
(Object) Excel document.

Output - - - - -

Sheet SheetN Required String Text Enter name of the new worksheet to add
ame within single quotation marks.

Positio Required Number Pixel Enter location to create new work sheet.
n

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Edit WorkSheet >
P_CreateWorkSheet_Test_2013

SelectWorkSheet (Selecting a Specific Worksheet)

SelectWorkSheet selects a specific worksheet from the Excel document.

Table 4-77 SelectWorkSheet Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the opened
(Object) Excel document.

Output - - - - -

Sheet SheetN Required String Text Enter the worksheet name to select within
ame single quotation marks.

156
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Edit WorkSheet > P_SelectWorkSheet_Test_2013

CopyWorkSheet (Copying Specific Worksheet)

CopyWorkSheet copies specific worksheet from the Excel document.

Table 4-78 CopyWorkSheet Properties

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Input Excel Required Excel Text Select the variable allocated with the Excel document.
handle
(Object
)

Output - - - - -

Sheet Source Required String Text Enter name of the worksheet to copy.
Sheet

DestSh Conditional String Text Enter name of the worksheet to paste the copied
eet worksheet within single quotation marks.

File Before Required String Text Enter name of the worksheet right before the position of
Sheet the worksheet to copy.

AfterSh Conditional String Text Enter name of the worksheet right after the position of
eet the worksheet to copy within single quotation marks.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Edit WorkSheet > P_CopyWorkSheet_Test_2013

DeleteWorkSheet (Deleting a worksheet)

DeleteWorkSheet deletes a specific worksheet from the Excel document.

157
Designing Projects - Designing with the Library

Table 4-79 DeleteWorkSheet Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input Excel Required String Text Select the variable allocated with the opened
Excel document.

Output - - - - -

Sheet SheetN Required String Text Enter the worksheet name to delete within single
ame quotation marks.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Edit WorkSheet >
P_DeleteWorkSheet_Test_2013

GetSheetName (Getting Worksheet Name)

GetSheetName gets the worksheet name from the entered position.

Table 4-80 GetSheetName Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel handle Text In the Excel field, select the variable to allocate
(Object) the activated Excel document.

Output SheetN Required String Text Select the variable to return the worksheet
ame names as a string.

Sheet Positio Required Number Positive Enter the location number of the worksheet
n numbers name to import.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Edit WorkSheet > P_GetSheetName_Test_2013

158
Designing Projects - Designing with the Library

GetAllSheetNames (Getting all Worksheets Names of an Excel Document)

GetAllSheetNames gets all worksheet names in an Excel document.

Table 4-81 GetAllSheetName Properties

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Input Excel Required Excel Text In the Excel field, select the variable to allocate the
handle activated Excel document.
(Object)

Output SheetN Required String Text Select the variable to return all worksheet names as
ames list strings. It should be imported with index value.

SelectRange (Specifying area)

SelectRange selects an area from the Excel document.

Table 4-82 SelectRange Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required E x c e l Text Select the variable allocated with the Excel
h a n d l e document containing the area to select.
(Object)

Output - - - - -

Sheet Mouse Required Event - Specify how the mouse works.


Type

SheetN Required String Text Enter the worksheet name containing the area to
ame select within single quotation marks.

Range Required Excel Range Text Enter the range of the area to select within single
(range) quotation marks.
For example, you can enter "A1" to select a specific
column.

Mouse Required Number Whole Specify the location of the mouse cursor.
Pos numbe
r

159
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manipulate Range15 > P_SelectRange_Test_2013

GetActiveRange (Getting Selected Area)

GetActiveRange gets the selected area from the Excel document.

Table 4-83 GetActiveRange Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the
(Object) Excel document.

Output Range Required Excel Range Text Specify the variable to get the selected
(range) area.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manipulate Range15 >
P_GetActiveRange_Test_2013

GetDataRange (Getting Data Area)

GetDataRange gets the area where data is entered from the Excel document.

For example, the "A1:C3" area is allocated to the variable of Range field in the figure below.

160
Designing Projects - Designing with the Library

Table 4-84 GetDataRange Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel handle Text Specify a variable of the Excel document to get
(Object) the selected data area from.

Output Range Required Excel Range Text Specify the variable to allocate the imported
(range) data area.

Sheet SheetN Required String Text Enter the worksheet name with the data area to
ame get.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manipulate Range15 >
P_GetDataRange_Test_2013

ClearRange (Clearing Area)

ClearRange deletes data from the specified cell area.

Table 4-85 ClearRange Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel handle String Select the variable of the Excel document to
(Object) delete.

Output - - - - -

Sheet SheetN Required String Text Enter the worksheet name to delete data.
ame

Range Required Excel Range Text Enter the cell area to delete date from within
(range) single quotation marks.

File AutoSa Required True/False - Set whether to save automatically after


ve deleting data.

You can refer to the following sample.

161
Designing Projects - Designing with the Library

• > Help > Sample > Sample > Excel > Manipulate Range15 > P_ClearRange_Test_2013

ReadRange (Reading-in Selected Area)

ReadRange reads in the selected area from the Excel document.

Table 4-86 ReadRange Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required E x c e l Text Select the variable allocated with the Excel
h a n d l e document containing the area to read-in.
(Object)

Output DataAr Required String Text Specify the variable to allocate the read-in area.
ray

Sheet ReadCe Required Event - Specify the type of range to read-in.


llType

Range Required Excel Range Text Enter the range of the area to select within single
(range) quotation marks.
For example, you can enter "A1" to select a specific
column.

SheetN Required String Text Enter the worksheet name containing the data
ame area to read-in.

DataArray reference method (Based on the retrieved range)


DataArray[0] → 1st Row
DataArray[0].Length → Number of 1st Row
DataArray[0][1] → 1st Row, 2nd Column value

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manipulate Range15 > P_ReadRange_Test_2013

162
Designing Projects - Designing with the Library

WriteRange (Copying Data Area)

WriteRange copies the area where data is input from the Excel document and enters in the designated
position.

Table 4-87 WriteRange Properties

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Input Excel Required Excel Text Select the variable allocated with the Excel document to
handle input data.
(Object
)

Output - - - - -

Activit DataAr Required String Text Select the variable of the Excel document allocated with
y ray the data area to input. Enter two-dimensional array.

Sheet SheetN Required String Text Enter the worksheet name to input data within single
ame quotation marks.

StartCe Required String Text Enter the cell name in the upper-right side of the area to
ll input data within single quotation marks.

File AutoSa Required True/F - Set whether to automatically save after entering data.
ve alse

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manipulate Range15 > P_WriteRange_Test_2013

MakeRange (Making Area)

MakeRange creates an area and allocates to the variable.


This is used when it is difficult to enter the cell address due to the increased number of columns.

Table 4-88 MakeRange Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

163
Designing Projects - Designing with the Library

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Input - - - - -

Output Range Required Excel Text Specify the variable to allocate the created area.
Range
(range)

Activit Range Required Excel Text Enter position to start creating the area.
y Range
(range)

InputV Required Numbe Positiv Enter the number of rows or columns to increase or
alue r e num decrease based on the position of the Range field.
bers

IsRow Required True/F - Set True to change row and False to change column.
alse

IsIncre Required True/F - Set True to increase and False to decrease.


ase alse

FirstAd Required True/F - Determine whether to set the MakeRange target as the
dress alse starting address if the Range is specified as an area and not
as one cell.

"A6", which is the result from the above input will be assigned to the this.range variable.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manipulate Range15 > P_MakeRange_Test_2013

MergeRange (Merging Cell Area)

MergeRange merges the cells of the selected area.

Table 4-89 MergeRange Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

164
Designing Projects - Designing with the Library

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required E x c e l Text Select the variable allocated with the Excel
handle document.
(Object)

Output - - - - -

Activit Include Required True/False - Determine whether to enter all cell data to the
y AllData merged cell.
If you select True, the data in all cells will be
entered to the merged cell.
If you select False, the data in the first cell will be
entered to the merged cell.

Sheet SheetN Required String Text Enter name of the worksheet containing the area to
ame merge within single quotation marks.

Range Required E x c e l Text Enter the range of the area to merge within single
R a n g e quotation marks.
(range)

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manipulate Range15 > P_MergeRange_Test_2013

SplitRange (Allocating by Splitting Rows and Columns)

SplitRange splits rows and columns in the given area and allocates to the variable.

Table 4-90 SplitRange Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output DataAr Required String list Text Specify the variable to allocate the information of
ray the split area.
In case of A1:B2, string list will return A, 1, B, and 2.

Activit Range Conditional E x c e l Text Enter the area to split.


y R a n g e
(range)

165
Designing Projects - Designing with the Library

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Name Required True/False - Determine whether to receive the column name as


or Nu text or converting it into numbers('A' = 1)
mber

If "A6:BB2" is entered, "A,6,BB,2" is allocated as array to the this.range variable.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manipulate Range15 > P_SplitRange_Test_2013

CopyRange (Copying an Area)

CopyRange copies data of the specified area.

Table 4-91 CopyRange Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required E x c e l Text Select the variable allocated with the Excel
handle document.
(Object)

Output - - - - -

Sheet SheetN Required String Text Enter the worksheet name containing the area to
ame copy.

Range Required E x c e l Text Enter location of the data containing the area to
R a n g e copy within single quotation marks.
(range)

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manipulate Range15 > P_CopyRange_Test_2013

166
Designing Projects - Designing with the Library

PasteRange (Pasting an Area)

PasteRange pastes data of the copied area.

Table 4-92 PasteRange Properties

Catego Propertie Set whether to Type Input Description


ry s be required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the Excel
(Object) document.

Output - - - - -

Activit PasteType Required Event - Select the type of data to paste.


y
PasteOper Required Event - Select the operation to paste.
ation

PasteSkip Required True/False - Set whether to paste the data with content
Blanks only.

PasteTran Required True/False - Set whether to paste by changing the


spose row/column of the copied area.

PasteUseL Required True/False - Set whether to paste the link of the copied
ink area.

Sheet SheetNam Required String Text Enter the worksheet name to paste.
e

Range Required Excel Range Text Enter the position of the data to paste within
(range) single quotation marks.

PasteRange properties within Activity corresponds with the function of Excel option 'Select
and paste'. See the following figure.

167
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manipulate Range15 > P_CopyRange_Test_2013

CopyPaste (Copying and Pasting)

CopyPaste copies and pastes a specific area of Excel document.

Table 4-93 CopyPaste Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Source Required String Text Select the variable of the Excel document
Excel containing the area to copy.

DestEx Required E x c e l Text Select the variable of the Excel document to paste.
cel h a n d l e
(Object)

Output - - - - -

Activit PasteT Required Event - Select the type of value to paste.


y ype

PasteO Required Event - Select the operation to paste.


peratio
n

DestAu Required True/False - Set whether to save the pasted Excel document
toSave automatically.

PasteS Required True/False - Set whether to paste the cell with content only.
kipBla
nks

PasteTr Required True/False - Set whether to paste by changing the row/column


anspos of the area to copy.
e

PasteU Required True/False - Set whether to paste the link of the area to copy.
seLink

Sheet Source Required String Text Enter name of the worksheet containing the area
Sheet to copy within single quotation marks.

Source Required Excel Range Text Enter area of the Excel document to copy within
Range (range) single quotation marks.

DestSh Required String Text Enter name of the worksheet to copy within single

168
Designing Projects - Designing with the Library

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

eet quotation marks.

Target Required Excel Range Text Enter the position of the data to paste within single
Range (range) quotation marks.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Other Samples > P_CopyPaste_Test_2013

SetFilter (Specifying Filter)

SetFilter specifies a filter from an Excel document with filter. This can be used when specifying filter
is needed as shown in the figure below.

Table 4-94 SetFilter Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input Excel Requir E x c e l Text Select the variable allocated with the Excel document.
ed handle
(Object
)

169
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Output Range Conditi E x c e l Text Specify the variable to save the result. The area of list resulting
onal Range of filter is returned.
(range)

Activit FilterQ Requir String Text Enter the first query value to apply to the filter within single
y uery ed quotation marks.

FilterQ Requir String Text Enter the second query value to apply to the filter within single
uery2 ed quotation marks.

Include Requir True/F Text Set whether to include the header with filter when importing
Header ed alse data.

FilterO Requir True/F Text Set filter query condition. If set to True, are the conditions
p e r A N ed alse which satisfy both of the queries. If set to False, the conditions
D satisfy at least one of the two query.

GetTot Requir True/F Text Select whether to bring entire zone of data containing filter.
alRang ed alse
e

Sheet SheetN Requir String Text Enter the worksheet name to import data.
ame ed

FilterC Requir String Text Enter the cell position of the filter within single quotation
ell ed marks.

Learn more about filter query values:


'=test' → Filters the "test" string only.
'<>test' → Filters except the "test" string.
'=test*' → Filters strings that start with "test."
'=*test' → Filters strings that end with "test."
'=*test*' → Filters all strings that include "test."
'<>*test*' → Filters all strings that do not include "test."
'=test??' → Filters the string that starts with "test" and has two more characters on the
end.
'=??test' → Filters the strings that end with "test" and have two more characters on the
front.
'=??test??' → Filters all strings that have two or more characters on both sides of "test".
'<>??test??' → Filters all strings that do not contain two or more characters on both sides
of "test."

170
Designing Projects - Designing with the Library

'>10' → Filters only the number higher than 10.


'>=10' → Filters only the numbers equal to or higher than 10.
'<10' → Filters only the numbers lower than 10.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Apply Filter > P_SetFilter_Test_2013

SetColorFilter (Specifying color filter)

SetColorFilter specifies a filter by font or cell color.

Table 4-95 SetColorFilter Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input Excel Requir E x c e l Text Select the variable allocated with the Excel document.
ed handle
(Object
)

Output Range Conditi E x c e l Text Specify the variable to save the result. The area of list resulting
onal Range of filter is returned.
(range)

Activit FilterC Requir True/F - Enter RGB numbers separated with a comma(,) within single
y olor ed alse quotation marks, such as '255,255,255'.

FontCo Requir True/F - Set whether to specify a filter by font color.


lor ed alse

GetTot Requir True/F - Select whether to bring entire zone of data containing filter.
alRang ed alse
e

UseFon Requir True/F - If set to True, use the default color, or if set to False, the
tAuto ed alse FilterColor property is activated, so specify the color in the form
of RGB value, such as '255,255,255'.

Include Requir True/F - Set whether to include the header with filter when importing
Header ed alse data.

Sheet SheetN Requir String Text Enter the worksheet name to import data.

171
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

ame ed

FilterC Requir String Text Enter the cell position of the filter.
ell ed

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Apply Filter > P_SetColorFilter_Test_2013

ReleaseFilter (Releasing Filter)

ReleaseFilter releases the filter which is set in the Excel document.

Table 4-96 ReleaseFilter Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the Excel
(Object) document.

Output - - - - -

Sheet SheetN Required String Text Enter the worksheet name containing a
ame filter to release.

FilterC Conditional String Text Enter the cell position of the filter within
ell single quotation marks.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Apply Filter > P_ReleaseFilter_Test_2013

SearchString (Searching String)

172
Designing Projects - Designing with the Library

SearchString searches for strings in an Excel document.


If the string is found, the position of string is returned.

Table 4-97 SearchString Properties

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Input Excel Required E x c e l Text Select the variable allocated with the Excel document.
handle
(Object)

Output Range Required String Text Specify the variable to return the address of the
searched string.

Activit Search Required String Text Enter the string to search for within single quotation
y String marks.

PartMa Required True/Fals - Set whether to allow partial search.


tch e

C a s e M Required True/Fals - Set whether to be case-sensitive.


atch e

Value Required True/Fals - Set whether to search value or formula.


or For e
mula

Sheet SheetN Required String Text Enter the worksheet name of the Excel document to
ame search.

Range Required Number Positiv Set the range of the Excel document to search the string.
e num "1:1048576" is the default value and means that the
bers search will be performed from row 1 to 1048576.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Other Samples > P_SearchString_Test_2013

ReplaceString (Replacing String)

ReplaceString searches a string and replaces with another string.

Table 4-98 ReplaceString Properties

173
Designing Projects - Designing with the Library

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required E x c e l Text Select the variable allocated with the Excel
h a n d l e document.
(Object)

Output - - - - -

Activit InputSt Conditional String Text Enter a string to search.


y ring

Replac Required String Text Enter a string to replace.


eString

PartMa Required True/False - Set whether to allow partial search.


tch

C a s e M Required True/False - Set whether to be case-sensitive.


atch

Sheet SheetN Required String Text Enter the worksheet name containing the string
ame to replace.

Range Required Number Positive Enter the cell area containing the string to be
number replaced within single quotation marks.
s

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Other Samples > P_ReplaceString_Test_2013

ReadString (Reading String)

ReadString reads in the selected area from the Excel document.

Table 4-99 ReadString Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required E x c e l Text Select the variable allocated with the Excel
handle document containing the string to read-in.
(Object)

Output R e a d D Required String Text Specify the variable to allocate the read-in string.

174
Designing Projects - Designing with the Library

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

ata

Sheet SheetN Required String Text Enter the worksheet name containing the string to
ame read-in.

Cell Required String Text Enter the cell address to read-in string within single
quotation marks.
For example, you can enter "A1" to select a specific
column.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manipulate Range15 > P_ReadRString_Test_2013

WriteString (Inputting String)

WriteString inputs a string in the cell which is set by the Excel document.

Table 4-100 WriteString Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required E x c e l Text Select the variable allocated with the Excel
handle document.
(Object)

Output - - - - -

Activit InputSt Required String Text Enter the string to be entered.


y ring

Sheet SheetN Required String Text Enter the worksheet name containing the string to
ame be entered.

Range Required E x c e l Text Enter the cell area containing the string to be
R a n g e entered within single quotation marks.
(range)

File AutoSa Required True/False - Set whether to save automatically.


ve

175
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Other Samples > P_WriteSting_Test_2013

ExecuteMacro (Executing Macro)

ExecuteMacro executes macro that is saved in the Excel document.


The macro must be created in advance to use this feature.

Table 4-101 ExcuteMacro Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the
(Object) Excel document.

Output - - - - -

File MacroNa Required String Text Enter the macro name to execute.
me

Sheet SheetNa Required String Text Enter the worksheet name to execute
me the macro.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Other Samples > P_ExecuteMacro_Test_2013

SendShortcut (Shortcut Key)

SendShortcut executes short cut key in Excel.

Table 4-102 SendShortCut Properties

Catego Properti Set whether to Type Input Description


ry es be required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the Excel
(Object) document.

Output - - - - -

176
Designing Projects - Designing with the Library

Catego Properti Set whether to Type Input Description


ry es be required range/
Unit

Activit Keys Required String Text Enter the shortcut key string to input within
y single quotation marks.

BeforeDe Conditional Number Second Enter the time to delay before executing
lay shortcut key.

AfterDela Conditional String Second Enter the time to delay after executing
y shortcut key.

ShortCut Required String Text Enter the shortcut key name within single
Name quotation marks.

ALT Required True/False - Select existence of ALT key pressed.

CTRL Required True/False - Select existence of CTRL key pressed.

SHIFT Required True/False - Select existence of SHIFT key pressed.

Sheet SheetNa Required String Text Enter the worksheet name to execute the
me shortcut key.

Learn more about the shortcut key string.


'~' → Enter key action
'{BS}', '{BACKSPACE}' → Backspace key action
'{DELETE}' → Delete key action
'{CAPSLOCK}' → Caps Lock key action
'{ESC}' → ESC key action
'{F1}' → F1 key(help) action
'{LEFT}' → left arrow key action
'{RIGHT}' → right arrow key action
'{UP}' → up arrow key action
'{DOWN}' → down arrow key action
'{PGDN}' → Page Down key action
'{PGUP}' → Page Up key action
'{TAB}' → Tab key action
'+' → Shift key action ( '+ab' → Ab , '+(ab)' → AB)
'^' → Ctrl key action
'%' → Alt key action

177
Designing Projects - Designing with the Library

AddRow (Adding Rows)

AddRow adds rows to an Excel document.

Table 4-103 AddRow Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be re Unit
quired

Input Excel Require E x c e l Text Select the variable allocated with the Excel document.
d handle
(Object
)

Output - - - - -

Sheet SheetN Require String Text Enter the worksheet name to add rows.
ame d

Positio Require Numbe Positiv Enter a row number of the position to add the rows within
n d r e num single quotation marks.
bers If you enter a colon ":" between the row numbers, all rows
from the first row number to the second row number are
added.
If you enter a comma "," between the row numbers, the
specified row numbers are added.

AddCol (Adding Columns)

AddCol adds columns to an Excel document.

Table 4-104 AddCol Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input Excel Requir E x c e l Text Select the variable allocated with the Excel document.
ed handle
(Object
)

Output - - - - -

Sheet SheetN Requir String Text Enter the worksheet name to add columns.

178
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

ame ed

Positio Requir Numbe Positiv Enter the column number of the position to add the columns
n ed r e num within single quotation marks.
bers If you enter a colon ":" between the column numbers, all
columns from the first column number to the second column
number are added.
If you enter a comma "," between the column numbers, the
specified column numbers are added.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Edit Column > P_AddCol_Test_2013

SelectRow (Selecting a Row)

SelectRow selects a specific row.

Table 4-105 SelectRow Properties

Catego Proper Set whe Type Input Description


ry ties ther to range/
be requ Unit
ired

Input Excel Require E x c e l Text Select the variable allocated with the Excel document.
d handle
(Object
)

Output - - - - -

Sheet SheetN Require String Text Enter the worksheet name to select rows.
ame d

Positio Require Numbe Positiv Enter the row number to select within single quotation marks.
n d r e num If you enter a colon ":" between the row numbers, all rows
bers from the first row number to the second row number are
selected.
If you enter a comma "," between the row numbers, the

179
Designing Projects - Designing with the Library

Catego Proper Set whe Type Input Description


ry ties ther to range/
be requ Unit
ired

specified row numbers are deleted.

SelectCol (Selecting Columns)

SelectCol selects a specific column.

Table 4-106 SelectCol Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input Excel Requir E x c e l Text Select the variable allocated with the Excel document.
ed handle
(Object
)

Output - - - - -

Sheet SheetN Requir String Text Enter the worksheet name to select columns.
ame ed

Positio Requir Numbe Positiv Enter the column number to select within single quotation
n ed r e num marks.
bers If you enter a colon ":" between the column numbers, all
columns from the first column number to the second column
number are selected.
If you enter a comma "," between the column numbers, the
specified column numbers are selected all.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Edit Column > P_SelectCol_Test_2013

DeleteRow (Deleting Rows)

DeleteRow deletes a specific row.

180
Designing Projects - Designing with the Library

Table 4-107 DeleteRow Properties

Catego Proper Set whe Type Input Description


ry ties ther to range/
be requ Unit
ired

Input Excel Require E x c e l Text Select the variable allocated with the Excel document.
d handle
(Object
)

Output - - - - -

Sheet SheetN Require String Text Enter the worksheet name to delete rows.
ame d

Positio Require Numbe Positiv Enter the row number to delete within single quotation marks.
n d r e num If you enter a colon ":" between the row numbers, all rows
bers from the first row number to the second row number are
deleted.
If you enter a comma "," between the row numbers, the
specified row numbers are deleted.

DeleteCol (Deleting Columns)

DeleteCol deletes a specific column.

Table 4-108 DeleteCol Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input Excel Requir E x c e l Text Select the variable allocated with the Excel document.
ed handle
(Object
)

Output - - - - -

Sheet SheetN Requir String Text Enter the worksheet name to delete columns.
ame ed

Positio Requir Numbe Positiv Enter the text of the column to delete within single quotation
n ed r e num marks.
bers If you enter a colon ":" between the column numbers, all column
from the first column number to the second column number are

181
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

deleted.
If you enter a comma "," between the column numbers, the
specified column numbers are deleted.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Edit Column > P_DeleteCol_Test_2013

GetRowCount (Getting Row Count)

GetRowCount gets the number of rows.

Table 4-109 GetRowCount Properties

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the
(Object) Excel document.

Output Count Required String Text Specify the variable to import row
count.

Sheet SheetNa Required String Text Enter the worksheet name to import
me row count.

GetColCount (Getting Column Count)

GetColCount gets the number of columns.

Table 4-110 GetColCount Properties

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the

182
Designing Projects - Designing with the Library

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

(Object) Excel document.

Output Count Required String Text Specify the variable to import column
count.

Sheet SheetNa Required String Text Enter the worksheet name to import
me column count.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Edit Column > P_GetColCount_Test_2013

SortData (Sorting)

SortData can sort the specified column or row in ascending or descending order.

Table 4-111 SortData Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the Excel
(Object) document.

Output - - - - -

Activit Order Required True/False - Set whether to sort in ascending order or align
y in descending order.

Orient Required True/False - Select whether the data to sort is a row or


ation column.

Sheet SheetN Required String Text Enter the worksheet name containing data to
ame sort.

Key Required Excel Range Text Enter the cell position containing data to sort
(range) within single quotation marks.

Range Required Excel Range Text Enter the cell position containing data to sort
(range) within single quotation marks.

183
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Other Samples > P_SortData_Test_2013

VLookUp (Search)

VLookUp uses multiple condition to search for the information you want in the Excel document.

Table 4-112 VLookUp Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the Excel
(Object) document.

Output - - - - -

Activit Lookup Required String Text Enter key value needed to search for within
y Value single quotation marks.

TableR Required Excel Range Text Enter the area to search value within single
ange (range) quotation marks.

T a b l e I Required Number Positive Enter location of the row containing the value to
ndex numbers import within the area to search.

Sheet SheetN Required String Text Enter the worksheet name to display the value
ame found.

Cell Required String Text Enter the cell to display the value found within
single quotation marks.

VLook PartMa Required True/False - Determine whether to find the value that
up tch matches exactly or similarly.
(True : Similar value, False : Exact value)

ReadCellFormula (Importing input value of a cell)

ReadCellFormula imports a formula entered in a specific cell.

Table 4-113 ReadCellFormula Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

184
Designing Projects - Designing with the Library

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the Excel
(Object) document.

Output Formul - - - Specify the variable to allocate the formula that


a has been read-in.

Sheet SheetN Required String Text Enter the name of the worksheet to read-in the
ame formula.

Cell Required String Text Enter the cell address to read-in the formula
within single quotation marks.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Cell Formula > P_ReadCellFormula_Test_2013

WriteCellFormula (Inputting Formula to a Cell)

WriteCellFormula inputs formula to a specific cell.

Table 4-114 WriteCellFormula Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the Excel
(Object) document.

Output - - - - -

Activit Formul Required String Text Enter a formula to input into a cell within
y a single quotation marks.

Sheet SheetN Required String Text Enter the name of the worksheet to enter the
ame formula.

Cell Required String Text Enter the cell address to input formula within
single quotation marks.

File AutoSa Required True/False - Set whether to save automatically.


ve

185
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Cell Formula > P_WriteCellFormula_Test_2013

SaveExcel (Saving Excel Document)

SaveExcel saves an Excel document.

Table 4-115 SaveExcel Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the Excel
(Object) document to save.

Output - - - - -

File SaveAs Conditional String Text To save as another name, select the path to save
and enter a new filename.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manage Excel > P_SaveExcel_Test_2013

CloseExcel (Closing Excel Document)

CloseExcel closes an Excel document.

Table 4-116 CloseExcel Properties

Catego Proper Set Type Input Description


ry ties whether to range/
be Unit
required

Input Excel Required Excel Text Select the variable allocated with the Excel document to
handle close.
(Object
)

Output - - - - -

186
Designing Projects - Designing with the Library

Catego Proper Set Type Input Description


ry ties whether to range/
be Unit
required

File Force Conditional True/F - If set to True, Excel will be force closed regardless of the
alse process, if it is not closed after the close command is sent.
If set to False, the close command is sent to Excel only once.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Manage Excel > P_CloseExcel_Test_2013

SetStyleRange (Specifying Style of the Area)

SetStyleRange sets the style of the specified area.

Table 4-117 SetStyleRange Properties

Catego Proper Set Type Input Description


ry ties whether to range/
be Unit
required

Input Excel Required Excel Text Select the variable allocated with the Excel document.
handle
(Object
)

Output - - - - -

Sheet SheetN Required String Text Enter the name of the worksheet to specify style.
ame

Range Required String Text Enter the range of the area to select within single quotation
marks.
For example, you can enter "A1" to select a specific column.

Cell FontNa Conditional Event - Select the name of the font.


me

AlignH Conditional Event - Select the horizontal sorting method.


orizont
al

AlignV Conditional Event - Select the vertical sorting method.


ertical

187
Designing Projects - Designing with the Library

Catego Proper Set Type Input Description


ry ties whether to range/
be Unit
required

FontSiz Conditional Numbe Positiv Select the font size.


e r e num 0 is the default value, meaning the font size will not change.
bers

FontCo Conditional String Text Select the font color.


lor For color, enter RGB numbers separated with comma(,)
within single quotation marks. For example, enter 0,0,255
for blue color.

Backgr Conditional String Text Enter the background color.


oundC For color, enter RGB numbers separated with comma(,)
olor within single quotation marks. For example, enter 0,0,255
for blue color.

Width Conditional Numbe Pixel Enter the width.


r 0 is the default value, meaning the width will not change.

Height Conditional Numbe Pixel Enter the height.


r 0 is the default value, meaning the height will not change.

FontBo Conditional True/F - Select whether to make text bold.


ld alse Current means that the current setting of the Excel
document will not change.

FontIta Conditional True/F - Select whether to make text tilted


lic alse Current means that the current setting of the Excel
document will not change.

FontUn Conditional True/F - Select whether to make text underlined.


derline alse Current means that the current setting of the Excel
document will not change.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Apply Style > P_SetStyleRange_Test_2013

SetBorderRange (Specifying Border of the Area)

SetBorderRange sets the border of the specified area.

188
Designing Projects - Designing with the Library

Table 4-118 SetBorderRange Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel Text Select the variable allocated with the Excel document.
handle
(Object)

Output - - - - -

Sheet SheetN Required String Text Enter the name of the worksheet to specify the border.
ame

Range Required Excel Text Enter the range of the area to select within single
Range quotation marks.
(range) For example, you can enter "A1" to select a specific
column.

Cell Border Conditional Event - Select the type of border.

Overay Required True/Fls - If set to True, selected border will be added to the
e border set in Excel documents.
If set to False, selected border will be added and the
border set in Excel document will be deleted.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Apply Style > P_SetBoardRange_Test_2013

SetHiddenRow (Hiding Row)

SetHiddenRow hides or cancels hide of the specified row.

Table 4-119 SetHiddenRow Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the Excel
(Object) document.

Output - - - - -

Sheet SheetN Required String Text Enter the worksheet name to hide rows.
ame

189
Designing Projects - Designing with the Library

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Rows Required Number Positive Enter the range of row area to select within
numbers single quotation marks.
For example, you can enter "1" to select a
specific row.

Hidden Required True/False Text If set to True, hide the selected row area.
If set to False, cancel hiding the selected
row area.

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Apply Style > P_SetHiddenRow_Test_2013

SetHiddenCol (Hiding Column)

SetHiddenCol hides or cancels hide of the specified column.

Table 4-120 SetHiddenCol Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input Excel Required Excel handle Text Select the variable allocated with the Excel
(Object) document.

Output - - - - -

Sheet SheetN Required String Text Enter the worksheet name to hide columns.
ame

C o l u m Required String Text Enter the range of column area to select within
ns single quotation marks.
For example, you can enter "1" to select a
specific column.

Hidden Required True/False - If set to True, hide the selected column area.
If set to False, cancel hiding the selected
column area.

190
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > Excel > Apply Style > P_SetHiddenCol_Test_2013

MoveWorkSheet (Moving Sheet)

MoveWorkSheet moves the specified worksheet.

Table 4-121 MoveWorkSheet Properties

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Input Excel Required Excel Text Select the variable allocated with the Excel document.
handle
(Object
)

Output - - - - -

Sheet Source Required String Text Enter the worksheet name to move.
Sheet

File Before Required String Text Enter name of the worksheet right before the position of
Sheet the worksheet to copy within single quotation marks.

AfterSh Required String Text Enter name of the worksheet right after the position of the
eet worksheet to copy within single quotation marks.

SAP Library

You can control SAP GUI using the features provided by the SAP library.
You can enter data into SAP GUI or import the entered data and change and handle the data.
The features provided by the SAP library are as follows:

● Mouse action features (Click, DoubleClick, RightClick, MouseHover)


● Keyboard action features (SetText, GetText)
● Features related to the target UI object recognition (IsExist, WaitSAPAppear, WaitSAPDisappear,
SearchInGrid)
● Features related to the SAP Grid (GetGridData, GetGridColumnID, GetGridRowCount,
GetGridColCount, GetTableData, GetTableRowCount, GetTableColCount)

191
Designing Projects - Designing with the Library

● Features related to SAP Table (GetTableCell, SetTableCell)


● Features related to the combo box (SelectComboItem)
● Macro execution features (SAPRunMacro)
● Features related to the Credential (CredentialSetText, CredentialTextInput)

Use Designer or window explorer to refer samples of SAP library.


• Designer Path: > Help > Sample > Sample > SAP
• Window explorer path: C:\Users\user\AppData\Roaming\Brity Works
Designer\samples\SAP

[Library related to SAP sample project name]


• Get Grid Detail: GetGridColCount, GetGridColumnID, GetGridData, GetGridRowCount,
SearchInGrid
• Mouse Action: Click, DoubleClick, MouseHover, RightClick
• Wait SAP Target: WaitSAPAppear, WaitSAPDisappear
• Other Samples: GetText, IsExist, SelectComboItem, SetText

Setting SAP Option

Set the option shown below to use the SAP library.

192
Designing Projects - Designing with the Library

No. Description

1 Click option button on SAP tool bar.

2 Set option on menu.

3 Check on Enable scripting and uncheck the rest.

Setting SAP GUI Scripting Enable (Server)

If the Script Recording and Playback... menu is disabled in the Options menu, the server settings are
required as follows.

If the system administrator edits the application program server profile on the SAP system and
changes the sapgui/user_scripting to True, scripting is enabled by default when the server is restarted.

Procedure

1. Run the RZ11 transaction.

2. Enter the sapgui/user_scripting to Param_Name on the Maintain Profile Parameters screen.

3. Click Display.

193
Designing Projects - Designing with the Library

4. Click Change value on the Display Profile Parameter Attributes screen.

5. Enter True in the New value field.

6. Click Save and Exit.

Common Properties

The common properties of SAP library are as follows.

Table 4-122 Activity Properties

194
Designing Projects - Designing with the Library

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 Timeou Requir Numbe Second Enter the duration to search for the target UI object in seconds.
t ed r

2 FocusB Conditi True/F - Set whether to focus on the UI object before generating an
efore onal alse event.
If the focus cannot be set on the target UI object, the focus is set
to the main screen of the target app. By another app,
If the target UI object is hidden, the app is moved to the front. If
there are multiple target apps running, the app at the front is
scanned first. If the target UI object is not found, the app at the
back is brought to the front for a scan.

3 DrawB Conditi True/F Set whether to show a bounding box when a UI object is found
ounds onal alse upon execution.

Table 4-123 Target Properties

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 Type Unable String String Shows the type information of the target UI object.
t o

195
Designing Projects - Designing with the Library

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

enter

2 SubTyp Unable String Text Shows the subtype information of the target UI object.
e t o
enter

3 ID Requir String Text Shows the ID information of the target UI object.


ed

4 Name Unable String Text Shows the name information of the target UI object.
t o
enter

5 Text Unable String Text Shows the text value of the target UI object.
t o
enter

6 Bounds Unable String Text Shows the position and size of the target UI object designated by
t o the user as relative coordinates based on the screen.
enter

Table 4-124 More/Description properties

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 O n Conditi Event - Specify an action to carry out when an error occurs at the time

196
Designing Projects - Designing with the Library

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

Error onal of execution.


· If not specified: Output errors and exit the task.
· Ignore: Output log and proceed to the next activity.
· Retry: close task if an error occurs even after a retry.
· If handler is specified: Call specified handler.

2 Descrip Conditi String Text Add description.


tion onal After description being entered, it is displayed on the chart
description. If there is no description, the representative value
of each library is displayed.

Click (Clicking)

Click finds and clicks the UI object designated by the user.

1. On the node, double-click No Target > Double click to select.

2. If you put the mouse over the UI object, a red border will appear. Click when a red border
appears on the UI object to generate the click event.

The UI object is designated as the target UI object.

Table 4-125 Click Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - - -

Activit C l i c k Requir Numbe Pixel Enter the location to click after finding the target UI object as
y Point ed r coordinates based on the top left section of the target UI object.
This will be entered automatically if the object is designated
directly with a mouse.

Target Image Unable - - Shows the image of the target UI object designated by the user.
t o
enter

197
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Mouse Action > P_Click_Test_SAP

DoubleClick (Double Clicking)

DoubleClick double-clicks the target UI object.

Table 4-126 Double-Click Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - - -

Activit C l i c k Requir Numbe Pixel Enter the location to double-click after finding the target UI
y Point ed r object as coordinates based on the upper-left section of the
target UI object.
This will be entered automatically if the object is designated
directly with a mouse.

Target Image Unable - - Shows the image of the target UI object designated by the user.
t o
enter

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Mouse Action > P_DoubleClick_Test_SAP

RightClick (Clicking the Right Mouse Button)

RightClick right-clicks on the target UI object.

Table 4-127 Right-Click Properties

198
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - - -

Activit C l i c k Requir Numbe Pixel Enter the location to right-click after finding the target UI object
y Point ed r as coordinates based on the upper-left section of the target UI
object.
This will be entered automatically if the object is designated
directly with a mouse.

Target Image Unable - - Shows the image of the target UI object designated by the user.
t o
enter

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Mouse Action > P_RightClick_Test_SAP

MouseHover (Hovering the Mouse Cursor)

MouseHover hovers the mouse cursor over the target UI object.

Table 4-128 MouseHover Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - - -

Activit C l i c k Requir Numbe Pixel Enter the location to hover the cursor over after finding the
y Point ed r target UI object as coordinates based on the upper-left section of
the target UI object.
This will be entered automatically if the object is designated
directly with a mouse.

Target Image Unable - - Shows the image of the target UI object designated by the user.

199
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

t o
enter

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Mouse Action > P_MouseHover_Test_SAP

SetText (Inputting Text)

SetText inputs text in the target UI object. This can be used only if the target UI object supports
ValuePattern, like a text box, and is not read-only.

Table 4-129 SetText Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - - - -

Output - - - - -

Activit I n p u t Required String Text Enter the text to input within single quotation
y Text marks.
• Normal: Input normal text.
• Secure: Input secure text.

Done(Ent Conditional True/Fa - Set whether to press the Enter key after
er) lse entering the text.

Target Image Unable to enter - - Shows the image of the target UI object
designated by the user.

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Other Samples > P_SetText_Test_SAP

200
Designing Projects - Designing with the Library

GetText (Retrieving Text)

GetText retrieves the text of the target UI object.

Table 4-130 GetText Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to allocate the text read from
the target UI object.

Target Image Unable to enter - - Shows the image of the target UI object designated
by the user.

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Other Samples > P_GetText_Test_SAP

IsExist (Checking Existence)

IsExist checks whether the target UI object is existent on the screen.


Returns True if the target UI object is found on the screen within the time entered in the Timeout
field. Returns False if it is not found.

Table 4-131 IsExit Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to check if the Target UI object
appears on the screen.

Target Image Unable to enter - - Shows the image of the target UI object designated
by the user.

You can refer to the following sample.

201
Designing Projects - Designing with the Library

• > Help > Sample > Sample > SAP > Other Samples > P_IsExist_Test_SA

WaitSAPAppear (Waiting until Appeared)

WaitAppear waits until the target UI object appears on the screen.


This can be useful for changing the screen.

Table 4-132 WaitSAPAppear Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to wait until Target UI object
appears on the screen.

Target Image Unable to enter - - Shows the image of the target UI object designated
by the user.

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Wait SAP Target > P_WaitSAPAppear_Test_SAP

WaitSAPDisappear (Waiting until Disappeared)

WaitDisappear waits until the target UI object disappears on the screen.


This can be useful for changing the screen.

Table 4-133 WaitSAPDisappear Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to wait until Target UI object
disappears on the screen.

Target Image Unable to enter - - Shows the image of the target UI object designated by
the user.

202
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Wait SAP Target >
P_WaitSAPDisappear_Test_SAP

SearchInGrid (Searching Specific Grid Item)

SearchInGrid searches specific item on SAP Grid.

Table 4-134 SearchInGrid Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Result Requir S t r i n g Text Returns the cell that matches the search conditions in
ed list row:column type i. Return in list if multiple cells match the
search conditions.

Activit Search Requir String Text Specify the search target row.
y Text ed

Search Requir Numbe Whole Specify the search target column.


Row ed r numbe
r

Search Conditi String Whole Specify the ID of the search target row. You can check the ID
C o l u m onal numbe with GetGridColumnID.
n r

Target Image Unable - - Shows the image of the target UI object designated by the user.
t o
enter

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Get Grid Detail > P_SearchInGrid_Test_SAP

203
Designing Projects - Designing with the Library

GetGridData (Importing Grid Data)

GetGridData imports all SAP Grid data.

Table 4-135 GetGridData Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Result Required Two-dimensional Text Specify the variable to import all the
array of string. data within SAP Grid.

Target Image Unable to enter - - Shows the image of the target UI object
designated by the user.

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Get Grid Detail > P_GetGridData_Test_SAP

GetGridColumnID (Getting the GridColumnID)

GetGridColumnID gets the Column ID of an area.

Table 4-136 GetGridColumnID Properties

Catego Properties Set whether to be Type Input Description


ry required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to import ColumnID.

Activit SearchColu Required String Text Enter the name of the column to import
y mn ColumnID.

IsTitle Conditional True/Fa - Set whether the designated target UI object is


lse a title or not.

Target Image Unable to enter - - Shows the image of the target UI object
designated by the user.

204
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Get Grid Detail > P_GetGridColumnID_Test_SAP

GetGridRowCount (Getting the Row Count)

GetGridRowCount gets the number of rows.

Table 4-137 GetGridRowCount Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to import row count.

Target Image Unable to enter - - Shows the image of the target UI object
designated by the user.

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Get Grid Detail > P_GetGridRowCount_Test_SAP

GetGridColCount (Getting the Column Count)

GetGridColCount gets the number of columns.

Table 4-138 GetGridColCount Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to import column count.

Target Image Unable to enter - - Shows the image of the target UI object
designated by the user.

205
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Get Grid Detail > P_GetGridColCount_Test_SA

GetTableData (Importing All Data Value within the Table)

GetTableData imports data value within the table.

Table 4-139 GetTableData Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Result Required Two-dimensional Text Specify the variable to import all the data
array of string. within SAP Grid table.

Target Image Unable to enter - - Shows the image of the target UI object
designated by the user.

GetTableRowCount (Getting the Number of Rows within the Table)

GetTableRowCount gets the number of rows within the table.

Table 4-140 GetTableRowCount Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to import row count within
the specified table.

Target Image Unable to enter - - Shows the image of the target UI object designated
by the user.

GetTableColCount (Getting the Number of Columns within the Table)

GetTableColCount gets the number of columns within the table.

206
Designing Projects - Designing with the Library

Table 4-141 GetTableColCount Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to import column count within
the specified table.

Target Image Unable to enter - - Shows the image of the target UI object designated
by the user.

GetTableCell (Importing Content of Specific Cell within the Table)

GetTableCell imports the content of specific cell within the table.

Table 4-142 GetTableCell Properties

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to bring content of specific
cell within the table.

Table Required Numbe W h o l e Enter the location of the row to import content.
Row r number

Table Required Numbe W h o l e Enter the location of the column to import


Column r number content.

Target Image Unable to enter - - Shows the image of the target UI object
designated by the user.

SetTableCell (Entering Content on Specific Cell within the Table)

SetTableCell enters content on specific cell within the table.

Table 4-143 SetTableCell Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

207
Designing Projects - Designing with the Library

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Output Result Required String Text Specify the variable to enter content on the
specific cell within the table.

Table Required Numbe W h o l e Enter the location of the row to enter content.
Row r number

Table Required Numbe W h o l e Enter the location of the column to enter content.
Column r number

Target Image Unable to enter - - Shows the image of the target UI object
designated by the user.

SelectComboItem (Selecting ComboItem Value)

SelectComboItem selects a value of user's choice from the UI object in the form of a combo box.

Table 4-144 SelectComboItem Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to get the desired value from the UI
object in the form of a combo box.

Target SelectI Required Numbe Positiv Enter index of the item to select.
ndex r e num The index starts from 0.
bers

Image Unable to enter - - Shows the image of the target UI object designated by
the user.

You can refer to the following sample.

• > Help > Sample > Sample > SAP > Other Samples > P_SelectComboItem_Test_SAP

SAPRunMacro (Executing Macro)

SAPRunMacro executes SAP Macro.

208
Designing Projects - Designing with the Library

Table 4-145 SAPRunMacro Properties

Catego Properties Set whether to be Type Input Description


ry required range/
Unit

Input - - - - -

Output - - - -

Activit MacroFileP Required String Text Specify the target file path of the SAP Macro
y ath to be executed.

CredentialSetText (Entering the Text Using Credential Data)

Enter the Credential data into the specified object.

Only the Credential resource can be used as input data.

This is the same as TextInput except it uses the Credential resource.

ExpandTreeNode (Unfolding the SAP Tree Node)

ExpandTreeNode unfolds the specified SAP Tree Node.

Table 4-146 ExpandTreeNode Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

Output - - - -

ColapseTreeNode (Folding the SAP Tree Node)

ColapseTreeNode folds the specified SAP Tree Node.

Table 4-147 ColapseTreeNode Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

209
Designing Projects - Designing with the Library

Category Properties Set whether to be required Type Input range/ Description


Unit

Output - - - -

Image Recognition Library

You can specify an image as the target UI using the features provided by the ImageRecognition
library. If a user captures an image, a library action is performed by recognizing the same UI factor as
this image. You can perform actions, such as clicking a specific position of image or converting the
characters inside an image into texts.

The features provided by the ImageRecognition library are as follows:

● Mouse action features (ImageClick, ImageHover, ImageRightClick, ImageDoubleClick)


● Features to check existence of image (IsExist, MatchImages, WaitImageAppear,
WaitImageDisappear)
● Features on image capture (CaptureScreen, CaptureWindow, CaptureArea)
● Features related to image color (GetImageColor)
● Image Text Input features (Image TextInput)

Use Designer or window explorer to refer samples of ImageRecognition library.


• Designer Path: > Help > Sample > Sample > ImageRecognition
• Window explorer path: C:\Users\user\AppData\Roaming\Brity Works
Designer\samples\ImageRcognition

[Library related to ImageRecognition sample project name]


• Capture Screen: CaptureBounds, CaptureScreen
• Mouse Action: ImageClick, ImageDoubleClick, ImageHover, ImageRightClick, TextClick,
TextDoubleClick, TextHover, TextRightClick
• Wait Image Target: WaitImageAppear, WaitImageDisappear
• Image_16 : CaptureFromFile, GetImageBounds, GetImageFieldData, GetTableOnfile,
GetTextInfoOnFile, GetTextOnFile, ImageTextInput
• Other Samples: GetImageColor, GetImageTable, GetImageTextInfo, GetImageText, IsExist,
MatchImages

210
Designing Projects - Designing with the Library

Common Properties

The common properties of image recognition library are as follows.

Table 4-148 Activity Properties

No. Properties Set whether to be Type Input Description


required range/
Unit

1 Timeout Required Numbe Second Enter the duration to search for the target UI
r object in seconds.

2 Search Conditional String Text Set to search within the given area and not the
Bounds entire zone.

3 D r a w Required True/F - Set whether to draw a red border on the


Bounds alse image area.

Table 4-149 Image Properties

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 Image Requir Event - Shows the captured image. If you double-click the image, you

211
Designing Projects - Designing with the Library

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

ed can change the image settings using ImageEditor.


• Load: Loads the image captured in the past.
• Crop: Crops the captured image.
• Apply: Reselects the location to click again.
• Reset: Resets the changed settings.

2 Bounds Unable Numbe Pixel Shows the position and size of the target UI object designated by
t o r the user as relative coordinates based on the screen.
enter

Table 4-150 More/Description properties

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 O n Conditi Event - Specify an action to carry out when an error occurs at the time
Error onal of execution.
• If not specified: Output errors and exit the task.
• Ignore: Output log and proceed to the next activity.
• Retry: Exit task if an error occurs even after a retry.
• If handler is specified: Call specified handler.

2 Descrip Conditi String Text Add description.


tion onal After description being entered, it is displayed on the chart
description. If there is no description, the representative value

212
Designing Projects - Designing with the Library

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

of each library is displayed.

ImageClick (Clicking an Image)

ImageClick clicks a specific position over an image.

1. On the node, double-click No Target > Double click to select.

2. You can capture the area by dragging over the desired area.

3. Select the location to click.

Table 4-151 ImageClick Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output - - - -

Activit Thresh Required Numbe 0 to 100 Enter a value between 0-100 to set the similarity
y old r of images.
The probability of not matching becomes higher
as it gets closer to 0.

Click Required Numbe Pixel Enter coordinates to click.


Point r

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Mouse Action > P_ImageClick_Test

213
Designing Projects - Designing with the Library

ImageHover (Hovering Mouse Cursor Over Image)

ImageHover hovers mouse pointer above a specific location of the image.

Table 4-152 ImageHover Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output - - - -

Activit Thresh Required Numbe 0 to 100 Enter a value between 0-100 to set the similarity
y old r of images.
The probability of not matching becomes higher
as it gets closer to 0.

Click Required Numbe Pixel Enter coordinates to click.


Point r

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Mouse Action >
P_ImageHover_Test

ImageRightClick (Clicking Image with Right Mouse Button)

ImageRightClick right-clicks on a specific location of the image.

Table 4-153 ImageRightClick Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output - - - -

Activit Thresh Required Numbe 0 to 100 Enter a value between 0-100 to set the similarity
y old r of images.
The probability of not matching becomes higher
as it gets closer to 0.

Click Required Numbe Pixel Enter coordinates to click.

214
Designing Projects - Designing with the Library

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Point r

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Mouse Action >
P_ImageRightClick_Test

ImageDoubleClick (Double-clicking an Image)

ImageDoubleClick double-clicks on a specific location of the image.

Table 4-154 ImageDoubleClick Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output - - - -

Activit Thresh Required Numbe 0 to 100 Enter a value between 0-100 to set the similarity
y old r of images.
The probability of not matching becomes higher
as it gets closer to 0.

Click Required Numbe Pixel Enter coordinates to click.


Point r

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Mouse Action >
P_ImageDoubleClick_Test

ImageTextInput (Entering the String on Image)

Enter the text by recognizing the TextInput to a specific image.

215
Designing Projects - Designing with the Library

Table 4-155 ImageTextInput Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - -

Activit Thresh Requir Numbe 0 to Enter a value between 0-100 to set the similarity of images.
y old ed r 100 The probability of not matching becomes higher as it gets closer
to 0.

Click Requir Numbe Pixel Enter coordinates to click.


Point ed r

Clear Requir True/F - Set to True and clear all before the input.
Before ed alse Set to False and do not clear before the input.

Done(E Requir True/F - Set to True, run Enter after the input.
nter) ed alse Set to False and do nothing.

Option Before Conditi Numbe Positiv Allows the delay time before the text input.
s Delay onal r e num
ber/ms

After Conditi Numbe Positiv Execute by setting the delay time after the text input.
Delay onal r e num
ber/ms

Interva Conditi Numbe Positiv Adjust the performing speed by allowing the delay time
l onal r e num between each character.
ber/ms

More R a w Requir True/F - Use a low level keyboard event to determine whether to enter a
Event ed alse string. You can enter only English, Korean, or special characters
that you can type with the keyboard.

216
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Mouse Action >
P_ImageDoubleClick_Test

GetImageColor (Getting Image Color)

GetImageColor gets the color from specified coordinates of an image.

Table 4-156 GetImageColor Properties

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Input - - - - -

Output Result Required String Text Specify the variable to save the color value of the
designated coordinates from the image.

Activit Offset Required Numbe Pixel Enter the relative coordinates to retrieve the color from.
y r

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Other Samples >
P_GetImageColor_Test

GetImageBounds (Import a Certain Area of the Image)

You can find the specified image on the current screen and import the corresponding coordinates.

You can also import the corresponding coordinates by specifying Offset by pressing the Alt key before
specifying the image and finding the specified image by applying Offset.

Table 4-157 GetImageBounds Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

217
Designing Projects - Designing with the Library

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Output Result Required String Text Returns the Image Areaof the found target.

Activit Thresh Required Numbe 0 to 100 Enter a value between 0-100 to set the
y old r similarity of images.
The probability of not matching becomes
higher as it gets closer to 0.

Offset Conditional Area X,Y,Width,H You can set the specified image to restore the
Bounds eight area specified as Offset.

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Wait Image Target >
P_GetImageBounds_Test

IsExist (Checking Existence)

IsExist checks whether a specific image exists on the screen.


Returns True if the image is found on the screen within the time entered in the Timeout field. Returns
False if it is not found.

Table 4-158 IsExit Properties

Catego Proper Set Type Input Description


ry ties whether to range/
be Unit
required

Input - - - - -

Output Result Required String Text Specify the variable to save the search result of whether a
specific image is displayed on the screen.

Activit Thresh Required Numbe 0 to Enter a value between 0-100 to set the similarity of images.
y old r 100 The probability of not matching becomes higher as it gets
closer to 0.

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Other Samples >

218
Designing Projects - Designing with the Library

P_IsExist_Image_Test

MatchImages (Matching Images)

MatchImages returns a filename by finding an image file that matches with the image inside a specific
folder within a specified area. An empty string is returned if there is no matching image.

Table 4-159 MatchImages Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Input - - - - -

Output Result Required String Text Specify the variable to save the image file that matches with
the image inside a specific folder within a specific area.

Activit Thresh Required Numbe 0 to Enter a value between 0-100 to set the similarity of images.
y old r 100 The probability of not matching becomes higher as it gets
closer to 0.

Image SourceI Required String Text Select the path of the image file to compare.
mageP
ath

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Other Samples >
P_MatchImage_Test

WaitImageAppear (Waiting until Image Appears)

WaitImageAppear waits until a specific image appears on the screen.


False is returned if the duration exceeds the value entered in the Timeout field.

Table 4-160 WaitImageAppear Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

219
Designing Projects - Designing with the Library

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Output Result Required String Text Returns the discovery result of the target image as
True or False.

Activit Thresh Required Numbe 0 to 100 Enter a value between 0-100 to set the similarity
y old r of images.
The probability of not matching becomes higher
as it gets closer to 0.

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Wait Image Target >
P_WaitImageAppear_Test

WaitImageDisappear (Waiting until Image Disappears)

WaitImageDisappear waits until a specific image disappears on the screen.


False is returned if the duration exceeds the value entered in the Timeout field.

Table 4-161 WaitImageDisappear Properties

Catego Proper Set Type Input Description


ry ties whether to range/
be required Unit

Input - - - - -

Output Result Required String Text Returns Trueif the target image disappear from the screen.
Returns Falseif it does not disappear.

Activit Thresh Required Numbe 0 to Enter a value between 0-100 to set the similarity of images.
y old r 100 The probability of not matching becomes higher as it gets
closer to 0.

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Wait Image Target >
P_WaitImageDisappear_Test

220
Designing Projects - Designing with the Library

CaptureScreen (Capturing Full Screen)

CaptureScreen captures the full screen of the current local PC.

Table 4-162 CaptureScreen Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input - - - - -

Output - - - -

Activit C a p t u r e Required String Text Enter download path and file name of the
y Path captured image.

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Capture Screen >
P_CaptureScreen_Test

CaptureWindow (Capturing Specific Window)

CaptureWindow captures a specified object or window of the PC screen.

Table 4-163 CaptureWindow Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - -

Activit Index Conditi Numbe Positiv Enter the index to identify the target UI object from the UI
y onal r e num object list with identical information.
Input bers If there is a transparent object around the target UI object that is
invisible, or if the area of the object overlaps with a nearby UI
object, the nearby object may be recognized instead of the target
UI object. In this case, set to also scan the area of the
surrounding object using the Search Around option.

Captur Requir String Text Enter download path and file name of the captured image.

221
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

e Path ed

Check Requir True/F - Set whether to check the Name properties when comparing UI
Name ed alse objects.

Check Requir True/F - Set whether to check the Value properties when comparing UI
Value ed alse objects.

Check Requir True/F - Set whether to check the size properties when comparing UI
Size ed alse objects.

IsOnly Requir True/F - If set to True, the specified object is saved as an image file. If set
Target ed alse to False, the window containing the specified object is saved as
an image file.

Target Applica Unable String Text Shows the name of the target UI object app.
tion t o
enter

Title Unable String Text Shows the title of the target UI object app.
t o The title may be changed depending on the app status, so it is
enter not essential for the title to match for UI object comparison.
However, when there is a multiple detection of apps that are
identical then the UI object that has the same title is selected.

Type Unable String Text Shows the class type of the target UI object.
t o
enter

Name Unable String Text Shows the name information of the target UI object.
t o Mostly, a text string that can be represented on a screen will
enter show, but a value may not be displayed even if it exists,
depending on the app implementation method.
For Name, Value, Title, you can use a regular expression using
the '\\:' keyword or enter a variable like this.SearchText.
However, the node inspection feature is unavailable if a
variable is entered.

Value Conditi String Text Shows the value information of the target UI object.
onal The text string that can be represented on a screen may be
displayed on this item instead of the Name item, depending on
the app implementation method. Or, a value may not be
displayed even if it exists.

More Timeou Requir Numbe Second Enter the duration to search for the target UI object in seconds.
t ed r

222
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Search Conditi String Text Search within the given area and not the entire zone.
Bounds onal
Input

Object Conditi True/F - Enter the path information of the target UI object designated by
Path onal alse the user within single quotation marks.
Input If the at (@) symbol is used, such as '@//Button', this will be
considered as the XPath syntax. Then the entire UI structure of
the designated target app will be generated in the XML format
to search the target UI object information using the XPath
syntax.
For more information on the XML structure, see
GetHierarchyInfo.

Image Conditi Event - Shows the captured image.


onal If you double-click the image, you can change the image settings
using ImageEditor.
• Load: Loads the image captured in the past.
• Crop: Crops the captured image.
• Apply: Reselects the location to click again.
• Reset: Resets the changed settings.

Size To Conditi Numbe Positiv Enter the allowed margin of error when Check Size is set as
lerance onal r e num True.
Input bers

Check Requir True/F - Set whether to check the Title properties when comparing UI
Title ed alse objects.

Focus Requir True/F - Set whether to focus on the UI object before generating an
Before ed alse event.
If the focus cannot be set on the target UI object, the focus is set
to the main screen of the target app. If the target UI object is
hidden by another app, the app is moved to the front. If there
are multiple target apps running, the app at the front is scanned
first. If the target UI object is not found, the app at the back is
brought to the front for a scan.

Draw Requir True/F - Set whether to show a bounding box when a UI object is found
Bounds ed alse upon execution.

Check Requir True/F - Set whether to check the upper UI object instead of comparing
Path ed alse the UI object on the screen when searching for the target UI
object.

223
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

In this case, the search speed is improved, but there may be


difficulty in locating the UI object if information, such as Name,
Value, Size, and Title, are not distinguished from other UI
objects.

Search Requir True/F - Set whether to check the nearby UI objects additionally for
Aroun ed alse exact identification of the UI object.
d

CaptureBounds (Capturing the Specified Area)

CaptureBounds captures a specified area of the PC screen.

Table 4-164 CaptureBounds Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input Captur Requir String Text Set the area imported from GetImageBounds as a variable or
eBoun ed enter the area you want to capture by entering values for Left,
ds Top, Width, and Height.

Output - - - -

Activit Captur Requir String Text Enter download path and file name of the captured image.
y e Path ed

SaveCli Requir True/F True/F Set whether you want to save the captured area to the clipboard
pBoard ed alse alse or to a file.

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Capture Screen >
P_CaptureBounds_Test

CaptureFormFile (Capturing the Specified Area from a File)

224
Designing Projects - Designing with the Library

You can import a specific area of the specified file to a file or the clipboard.
Paste the results into another program to check the results because this function can only be saved to
the clipboard.
To save the captured image directly, use ClipboardToFile to save it as a file in a specified path.

Table 4-165 CaptureFormFile Properties

Catego Properties Set whether to Type Input Description


ry be required range/
Unit

Input - - - -

Output - - - -

Activit CaptureBo Required String Text Enter the area to capture in the form of x, y,
y unds width, and height.

SourceIma Required String Text Enter the path of the object to capture.
gePath

SaveClipBo Required True/F True/F Set whether you want to save the captured area
ard alse alse to the clipboard or to a file.

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Iamge_16 > CaptureFromFile_Test

ImageRecognition(OCR) Library

Among the features provided by the ImageRecognition library, you can perform an action that
returns the characters and tables inside an image in the form of text or arrays through the OCR
server.

It works by using the OCR server so that you can use it only when the designer is logged in to the
account.

The features provided by the ImageRecognition library are as follows:

● Features using OCR to extract the information from the image (GetImageText, GetImageTextInfo,
GetImageTable, GetImageFieldData, GetTextOnFile, GetTableOnFile)
● Mouse Action based on the extracted information from an image using OCR
● (TextClick, TextDoubleClick, TextRightClick, TextHover)

225
Designing Projects - Designing with the Library

Common Properties

The common properties of the image recognition library are as follows.

Table 4-166 Output Properties

No. Properties Set whether to be Type Input range/ Description


required Unit

1 Output Required String Text Set the variable to be returned.

Table 4-167 OCR Properties

No. Properties Set whether to be Type Input range/ Description


required Unit

1 TargetImagePath Required String Text Enter the target image path.

Table 4-168 More/Description properties

226
Designing Projects - Designing with the Library

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 O n Conditi Event - Specify an action to carry out when an error occurs at the time
Error onal of execution.
• If not specified: Output errors and exit the task.
• Ignore: Output log and proceed to the next activity.
• Retry: Exit task if an error occurs even after a retry.
• If handler is specified: Call specified handler.

2 Descrip Conditi String Text Add description.


tion onal After description being entered, it is displayed on the chart
description. If there is no description, the representative value
of each library is displayed.

OCR Sample Image

227
Designing Projects - Designing with the Library

OCR Sample Template

GetImageFieldData (Reading Field Information from OCR Template)

GetImageFieldData returns the bounds and text information from a specific image file.

Table 4-169 GetImageFieldData Properties

Catego Properties Set whether to be Type Input Description


ry required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to import text within an
image by executing OCR.

OCR Targetimag Required String Text Enter the path of the target image to read.
ePath

Template Required Selecte - Select the type of template created in the


d AdminPotal.

Result value by field based on OCR sample image

Field values are assigned by the template created in the AdminPortal, so the field name can

228
Designing Projects - Designing with the Library

be modified.

• Text : result.field name


result.Field1 -> Date:2019.12.03 SAMSUNG SDS CORP.

• Table : result.table name(Column).field name


result.Table(0).Field1 -> DATE

• result value
"Field1": "Date:2019.12.03 SAMSUNG SDS CORP.",
"Field2": "Request Number:#100000"

"Table": [
{
"Field1": "DATE",
"Field2": "ITEM",
"Field3": "AMOUNT",
"Field4": "DESCRIPTION"
},
{
"Field1": "2019.11.29",
"Field2": "ITEM A",
"Field3": "10",
"Field4": "DESC1"
},
{
"Field1": "2019.11.30",
"Field2": "IT?VI B",
"Field3": "20",
"Field4": "DESC2"
},
{
"Field1": "2019.12.01",
"Field2": "ITEMC",
"Field3": "30",
"Field4": "DESC3"
},
{
"Field1": "2019.12.02",
"Field2": "ITEMD",

229
Designing Projects - Designing with the Library

"Field3": "40",
"Field4": "DESC4"
}

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Iamge_16 >
P_GetImageFieldData_Test

GetImageText (Getting Text from Image)

GetImageText converts the characters in an image into text.

Table 4-170 GetImageText Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to import text by
executing OCR.

OCR Scale Required Numbe % Set the scale (scale) to apply when scanning
r an image.

Result value of text based on OCR sample image

INVOICE
Date : 2019.12.03 SAMSUNG SDS CORP.
Request Number: #100000

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Other Samples >
P_GetImageText_Test

230
Designing Projects - Designing with the Library

GetImageTextInfo (Reading Text Information)

GetImageTextInfo returns the image information, such as height and width, by recognizing the image
and reading in the text.

Table 4-171 GetImageTextInfo Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be re Unit
quired

Input - - - - -

Output Result Require String Text Specify the variable to save the result of OCR execution results
d such as image information(height, width), etc.

OCR Scale Require Numbe % Set the scale (scale) to apply when scanning an image.
d r

Result value of text info based on OCR sample image

• result Table information


result.TableList[0].RowList[0].ColList[0].RectList[0].Text -> DATE

• result Text information


result.RectList[0].Text -> INVOICE

Table[0][0]
Bounds(206,459,93,29)-Text(DATE)
Table[0][1]
Bounds(623,460,83,28)-Text(ITEM)
Table[0][2]
Bounds(935,459,159,29)-Text(AMOUNT)
Table[0][3]
Bounds(1303,459,248,29)-Text(DESCRIPTION)
Table[1][0]
Bounds(162,564,179,28)-Text(2019.11.29)
Table[1][1]
Bounds(606,564,119,29)-Text(ITEM A)
Table[1][2]
Bounds(997,564,38,29)-Text(10)
Table[1][3]

231
Designing Projects - Designing with the Library

Bounds(1362,564,125,29)-Text(DESC1)
Table[2][0]
Bounds(162,669,179,28)-Text(2019.11.30)
Table[2][1]
Bounds(605,669,119,29)-Text(ITEMB)
Table[2][2]
Bounds(995,669,40,29)-Text(20)
Table[2][3]
Bounds(1362,669,130,29)-Text(DESC2)
Table[3][0]
Bounds(161,774,176,27)-Text(2019.12.01)
Table[3][1]
Bounds(604,774,122,29)-Text(ITEMC)
Table[3][2]
Bounds(995,774,40,29)-Text(30)
Table[3][3]
Bounds(1362,774,130,29)-Text(DESC3)
Table[4][0]
Bounds(161,879,181,27)-Text(2019.12.02)
Table[4][1]
Bounds(604,879,121,29)-Text(ITEMD)
Table[4][2]
Bounds(994,879,41,29)-Text(40)
Table[4][3]
Bounds(1362,879,130,29)-Text(DESC4)

Bounds(721,56,336,56)-Text(INVOICE)
Bounds(83,242,1609,27)-Text(Date : 2019.12.03 SAMSUNG SDS CORP.)

Bounds(83,285,447,35)-Text(Request Number: #100000)

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Other Samples >
P_GetImageTextInfo_Test

GetImageTable (Reading Table Text)

232
Designing Projects - Designing with the Library

GetImageTable reads in text by recognizing tables in an image.

Table 4-172 GetImageTable Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to import text within table
by executing OCR.

OCR Scale Required Numbe % Set the scale (scale) to apply when scanning an
r image.

Result value of table based on OCR sample image (two-dimensional array)

• result[row][column]
result[0][0] -> DATE

• result value
0: DATE | ITEM | AMOUNT | DESCRIPTION
1: 2019.11.29 | ITEMA | 10 | DESC1
2: 2019.11.30 | ITEMB | 20 | DESC2
3: 2019.12.01 | ITEMC | 30 | DESC3
4: 2019.12.02 | ITEMD | 40 | DESC4

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Other Samples >
P_GetImageTable_Test

GetTextOnFile(Reading Text from a File)

GetTextOnFile returns string by recognizing the text of a specific image file using OCR.

Table 4-173 GetTextOnFile Properties

233
Designing Projects - Designing with the Library

Catego Properties Set whether to be Type Input Description


ry required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to import text within an
image by executing OCR.

OCR Scale Required Numbe % Set the scale (scale) to apply when scanning an
r image.

Targetimag Required String Text Enter the path of target image to read.
ePath

GrayFilter Required True/F - When set to True, it converts the image to black
alse and white.
When set to False, it is not used (non-mono
color).

ThresholdFi Required True/F - When set to True, it converts the image to black
lter alse and white.
When set to False, it is not used.
It must be used with the GrayFilter.

Result value by field based on OCR sample image

• result value
INVOICE
Date : 2019.12.03 SAMSUNG SDS CORP.
Request Number: #100000

You can refer to the following sample.

• > Help > Sample > Sample > ImageReecognition > Image_16 > P_GetTextOnFile_Test

GetTextInfoOnFile (Reading Text from a File)

GetTextInfoFile returns the bounds and text information of specific image files.

234
Designing Projects - Designing with the Library

Table 4-174 GetTextInfoOnFile Properties

Catego Properties Set whether to be Type Input Description


ry required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to import text within an
image by executing OCR.

OCR Scale Required Numbe % Set the scale (scale) to apply when scanning an
r image.

Targetimag Required String Text Enter the path of target image to read.
ePath

GrayFilter Required True/F - When set to True, it converts the image to black
alse and white.
When set to False, it is not used (non-mono
color).

ThresholdFi Required True/F - When set to True, it converts the image to black
lter alse and white.
When set to False, it is not used.
It must be used with the GrayFilter.

Result value of text info based on OCR sample image

• result Table information


result.TableList[0].RowList[0].ColList[0].RectList[0].Text -> DATE

• result Text information


result.RectList[0].Text -> INVOICE

• result value
Table[0][0]
Bounds(206,459,93,29)-Text(DATE)
Table[0][1]
Bounds(623,460,83,28)-Text(ITEM)
Table[0][2]
Bounds(935,459,159,29)-Text(AMOUNT)
Table[0][3]
Bounds(1303,459,248,29)-Text(DESCRIPTION)
Table[1][0]
Bounds(162,564,179,28)-Text(2019.11.29)

235
Designing Projects - Designing with the Library

Table[1][1]
Bounds(606,564,119,29)-Text(ITEM A)
Table[1][2]
Bounds(997,564,38,29)-Text(10)
Table[1][3]
Bounds(1362,564,125,29)-Text(DESC1)
Table[2][0]
Bounds(162,669,179,28)-Text(2019.11.30)
Table[2][1]
Bounds(605,669,119,29)-Text(ITEMB)
Table[2][2]
Bounds(995,669,40,29)-Text(20)
Table[2][3]
Bounds(1362,669,130,29)-Text(DESC2)
Table[3][0]
Bounds(161,774,176,27)-Text(2019.12.01)
Table[3][1]
Bounds(604,774,122,29)-Text(ITEMC)
Table[3][2]
Bounds(995,774,40,29)-Text(30)
Table[3][3]
Bounds(1362,774,130,29)-Text(DESC3)
Table[4][0]
Bounds(161,879,181,27)-Text(2019.12.02)
Table[4][1]
Bounds(604,879,121,29)-Text(ITEMD)
Table[4][2]
Bounds(994,879,41,29)-Text(40)
Table[4][3]
Bounds(1362,879,130,29)-Text(DESC4)

Bounds(721,56,336,56)-Text(INVOICE)
Bounds(83,242,1609,27)-Text(Date : 2019.12.03 SAMSUNG SDS CORP.)
Bounds(83,285,447,35)-Text(Request Number: #100000)

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Image_16 >
P_GetTextInfoOnFile_Test

236
Designing Projects - Designing with the Library

GetTableOnFile (Reading Table from a File)

GetTableOnFile returns the information in the form of two dimensional array by recognizing the table
image.

Table 4-175 GetTableOnFile Properties

Catego Properties Set whether to be Type Input Description


ry required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to import text within an
image by executing OCR

OCR Scale Required Numbe % Set the scale (scale) to apply when scanning an
r image.

Targetimag Required String Text Enter the path of target image to read.
ePath

GrayFilter Required True/F - When set to True, it converts the image to black
alse and white.
When set to False, it is not used (non-mono
color).

ThresholdFi Required True/F - When set to True, it converts the image to black
lter alse and white.
When set to False, it is not used.
It must be used with the GrayFilter.

Result value of table based on OCR sample image (two-dimensional array)

• result[row][column]
result[0][0] -> DATE

• result value
0: DATE | ITEM | AMOUNT | DESCRIPTION
1: 2019.11.29 | ITEMA | 10 | DESC1
2: 2019.11.30 | ITEMB | 20 | DESC2
3: 2019.12.01 | ITEMC | 30 | DESC3
4: 2019.12.02 | ITEMD | 40 | DESC4

237
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Image_16 > P_GetTableOnFile_Test

TextClick (Clicking Text)

TextClick finds specific text from an image and clicks.

Table 4-176 TextClick Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to search and click specific text
from an image.

Activit Index Conditional String Text Enter the index to identify the object from the object
y list with identical information.

OCR Scale Required Numbe % Set the scale (scale) to apply when scanning an image.
r

Target Conditional String Text Input text to click.


Text

You can refer to the following sample.

• > Help > Sample >Sample > ImageRecognition > Mouse Action > P_TextClick_Test

TextDoubleClick (Double-clicking Text)

TextDoubleClick finds specific text from an image and double-clicks.

Table 4-177 TextDoubleClick Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to search and double-click specific

238
Designing Projects - Designing with the Library

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

text from an image.

Activit Index Conditional String Text Enter the index to identify the object from the object
y list with identical information.

OCR Scale Required Numbe % Set the scale (scale) to apply when scanning an image.
r

Target Conditional String Text Input text to double-click.


Text

TextRightClick (Right-clicking Text)

TextRightClick finds specific text from an image and right-clicks.

Table 4-178 TextRightClick Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to search and right-click specific
text from an image.

Activit Index Conditional String Text Enter the index to identify the object from the object
y list with identical information.

OCR Scale Required Numbe % Set the scale (scale) to apply when scanning an image.
r

Target Conditional String Text Enter text to right-click.


Text

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Mouse Action >
P_TextRightClick_Test

239
Designing Projects - Designing with the Library

TextHover (Hovering Mouse Cursor Over Image)

TextHover finds specific text from an image and places the mouse cursor.

Table 4-179 TextHover Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Result Required String Text Specify the variable to search and hover mouse cursor
over specific text from an image.

Activit Index Conditional String Text Enter the index to identify the object from the object list
y with identical information.

OCR Scale Required Numbe % Set the scale (scale) to apply when scanning an image.
r

Target Conditional String Text Enter the text to hover the mouse cursor over within the
Text single quotation marks.

You can refer to the following sample.

• > Help > Sample > Sample > ImageRecognition > Mouse Action > P_TextHover_Test

System Library

You can control the system using the features provided by the System library.
The features provided by the System library are as follows:

● File control (CreateFile, ExecuteFile, CloseFile, CopyFile, DeleteFile, IsFileExist, GetFileList,


MoveFile, RenameFile, Zip, UnZip, IsFileLock, WaitFileUnlock, WaitFileCreation, WaitFileDelete)
● Directory control (CreateDirectory, IsDirectoryExist, CopyDirectory, DelectDirectory,
GetDirectoryList, GetSpecialFolder)
● Text file control (ReadTextFile, WriteTextFile)
● Input box, Message box display (InputBox, MessageBox)
● Edit related features (GetClipboard, SetClipboard, ClipboardToFile, Screenshot(Alt+PrtSc),
Copy(Ctrl+C), Cut(Ctrl+X), Paste(Ctrl+V), SelectAll(Ctrl+A))
● Program execution (ExecuteCmd)

240
Designing Projects - Designing with the Library

● Calculation of elapsed time (TimeStamp)


● Features related to the registry (GetRegistryValue, SetRegistryValue)
● DB related features (DBConnection, GetDBData, UpdateDBData, SendDBCommand)

Use Designer or window explorer to refer samples of system library.


• Designer Path: > Help > Sample > Sample > System
• Window explorer path: C:\Users\user\AppData\Roaming\Brity Works
Designer\samples\System

[Library related to system sample project name]


• DBLibrary: DBConnection, UpdateDBData, SendDBCommand
• Edit Registry: GetRegistryValue, SetRegistryValue
• Manage Directory: CopyDrectory, CreateDirectory, DeleteDirectory, GetDrectoryList,
IsDirectoryExist
• Utilize Clipboard: ClipboardToFile, GetClipboard, SetClipboard
• Other Samples: Copy(Ctrl+C), Cut(Ctrl+X), ExecuteCmd, GetSpecialFolder, InputBox,
MessageBox, Paste(Ctrl+V), Screenshot(Alt+PrtSc), SelectAll(Ctrl+A), TimeStamp

Common Properties

The common properties of System library are as follows.

Table 4-180 Command Properties

No. Proper Set whether to be Type Input Description


ties required range/
Unit

1 Path Required String Text Specify the path to execute the file to create, copy,
check, delete, etc.

You can create only the files of text format, such as TXT, XML, or HTML. You cannot create
file formats prepared by specific apps, such as Excel or Word documents.

241
Designing Projects - Designing with the Library

Table 4-181 More/Description properties

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 O n Conditi Event - Specify an action to carry out when an error occurs at the time
Error onal of execution.
• If not specified: Output errors and exit the task.
• Ignore: Output log and proceed to the next activity.
• Retry: Exit task if an error occurs even after a retry.
• If handler is specified: Call specified handler.

2 Descrip Conditi String Text Add description.


tion onal After description being entered, it is displayed on the chart
description. If there is no description, the representative value
of each library is displayed.

CreateFile (Creating a File)

CreateFile creates file to a specified path.


You can create only the files of text format, such as TXT, XML, or HTML. You cannot create file formats
prepared by specific apps, such as Excel or Word documents.

Table 4-182 CreateFile Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

242
Designing Projects - Designing with the Library

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Output - - - - -

Comma Overwr Conditional True/Fa Select whether to overwrite the file if the same
nd ite lse filename already exists.

ExecuteFile (Executing a File)

ExecuteFile executes the specified file.


The app specified in the system is launched according to the extension of the specified file and the PID
of launched app is returned.

Table 4-183 ExecuteFile Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Output Conditional String Text Specify the variable to save the PID of the
launched app.

CloseFile (Closing a File)

CloseFile closes the running file that was executed by using the PID returned from running the
ExecuteFile library.

Table 4-184 CloseFile Properties

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

Input - - - - -

Output - - - - -

Comm PID Required String Text Enter PID returned from running the
and ExecuteFile library.

CopyFile (Copying a File)

243
Designing Projects - Designing with the Library

CopyFile copies the specified file.

Table 4-185 CopyFile Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - - - -

Output - - - - -

Comma SrcFilePa Required String Text Specify the original file.


nd th

DescFile Required String Text Specify the target file.


Path

Overwrit Conditional True/Fa Text Select whether to overwrite the file if the same
e lse filename already exists.

DeleteFile (Deleting a File)

DeleteFile deletes the specified file.

Table 4-186 DeleteFile Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

Output - - - - -

IsFileExist (Checking Existence)

IsFileExist checks whether the specified file exists.

Table 4-187 IsFileExist Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to save the search result of
whether a specific file exists.

244
Designing Projects - Designing with the Library

ReadTextFile (Importing Text File Content)

ReadTextFile reads the text file and imports as string.

Table 4-188 ReadTextFile Properties

Category Properties Set whether to be Type Input range/ Description


required Unit

Input - - - - -

Output Output Required String - Text read from file

Command Encoding Conditional - - Select text encoding method.

WriteTextFile (Writing Text File)

WriteTextFile inputs and saves string in the text document of specified path.

Table 4-189 WriteTextFile Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output - - - - -

Comm Encodi - - - Select text encoding method.


and ng

Text Required String Text Enter the string to input within single quotation
marks.

Overw Conditional True/F - Select whether to overwrite the Directory name if the
rite alse same directory already exists.

CreateDirectory (Creating a Directory)

CreateDirectory creates the specified directory.

Table 4-190 CreateDirectory Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

245
Designing Projects - Designing with the Library

Category Properties Set whether to be required Type Input range/ Description


Unit

Output - - - - -

You can refer to the following sample.

• > Help > Sample > Sample > System > Manage Directory > P_CreateDrectory_Test

IsDirectoryExist (Checking Existence of a Directory)

IsDirectoryExist checks whether the specified directory exists.

Table 4-191 IsDirectoryExist Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to save the search result of
whether a specific directory exists.

You can refer to the following sample.

• > Help > Sample > Sample > System > Manage Directory > P_IsDrectoryExist_Test

CopyDirectory (Copying a Directory)

CopyDirectory copies the specified directory.

Table 4-192 CopyDirectory Properties

Catego Propert Set whether to Type Input Description


ry ies be required range/
Unit

Input - - - - -

Output - - - - -

Comm SrcFileP Required String Text Enter the original directory path.

246
Designing Projects - Designing with the Library

Catego Propert Set whether to Type Input Description


ry ies be required range/
Unit

and ath

DescFile Required String Text Enter the target directory path.


Path

Overwri Conditional True/F - Select whether to overwrite the Directory name if the
te alse same directory already exists.

You can refer to the following sample.

• > Help > Sample > Sample > System > Manage Directory > P_CopyDrectory_Test

DeleteDirectory (Deleting a Directory)

DeleteDirectory deletes the specified directory.

Table 4-193 DeleteDirectory Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

Output - - - - -

You can refer to the following sample.

• > Help > Sample > Sample > System > Manage Directory > P_DeleteDrectory_Test

GetFileList (Getting a File List)

GetFileList gets the file list of a specified folder.

Table 4-194 GetFileList Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

247
Designing Projects - Designing with the Library

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to save the imported
file list.

GetDirectoryList (Getting Directory List)

GetDirectoryList gets the sub-directory list of the specified directory.

Table 4-195 GetDirectoryList Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to save the subdirectory list of the
directory the user specified.

You can refer to the following sample.

• > Help > Sample > Sample > System > Manage Directory > P_GetDrectoryList_Test

InputBox (Displaying inputBox)

InputBox displays the input box where user can enter data on the screen.

Table 4-196 InputBox Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Input - - - - -

Output Variabl Required String Text Set the variable to save the input value.
e If the user does not enter a value, the value of the specified
variable is converted into a string and returned.

248
Designing Projects - Designing with the Library

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Conditi Default Condition String Text Enter the value to display on the InputBox within single
on Value al quotation marks.

InputBox will only operate when processed from Designer.


This can be used for debugging when writing a scenario.

You can refer to the following sample.

• > Help > Sample > Sample > System > Other Samples > P_InputBox_Test

MessageBox (Displaying MessageBox)

MessageBox displays message box on the screen.

Table 4-197 MessageBox Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input Argumen Conditional String Text Enter value to be displayed on the


t MessageBox.

Output - - - - -

The value output to the MessageBox operates only in case of performing in the Designer.
This can be used for debugging when writing a scenario.

You can refer to the following sample.

• > Help > Sample > Sample > System > Other Samples > P_MessageBox_Test

GetClipboard (importing from clipboard)

249
Designing Projects - Designing with the Library

GetClipboard gets the value saved in the system clipboard.

Table 4-198 GetClipboard Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to save the value read from
the clipboard.

You can refer to the following sample.

• > Help > Sample > Sample > System > Utilize Clipboard > P_GetClipboard_Test

SetClipboard (copying to clipboard)

SetClipboard saves the entered value to the system clipboard.


The saved value can be used for pasting feature because it has the same effect as Ctrl+C shortcut key
on the keyboard.

Table 4-199 SetClipboard Properties

Category Propertie Set whether to be Type Input Description


s required range/
Unit

Input - - - - -

Output - - - - -

Command Input Required String Text Enter value to save on the


clipboard.

You can refer to the following sample.

• > Help > Sample > Sample > System > Utilize Clipboard > P_SetClipboard_Test

250
Designing Projects - Designing with the Library

ClipboardToFile (writing clipboard content as file)

ClipboardToFile saves the contents of clipboard such as image or text as a file.

Table 4-200 ClipboardToFile Properties

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

Input - - - - -

Output - - - - -

Comma DataFor Required Event - Select the type of file to save the content of the
nd mat clipboard.

Overwri Conditional True/Fa - Select whether to overwrite the file if the same
te lse filename already exists.

You can refer to the following sample.

• > Help > Sample > Sample > System > Utilize Clipboard > P_ClipboardToFile_Test

GetSpecialFolder (Getting System Folder Path)

GetSpecialForder imports system folder path.

Table 4-201 GetSpecialFolder Properties

Category Properties Set whether to be Type Input range/ Description


required Unit

Input - - - - -

Output Output Required - - -

Command FolderType Required Event - Select system folder format.

You can refer to the following sample.

• > Help > Sample > Sample > System > Other Samples > P_GetSpecialFolder_Test

251
Designing Projects - Designing with the Library

Screenshot (Alt+PrtSc) (Capturing Screen)

Screenshot captures the screen that is currently focused on.

Table 4-202 Screenshot Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - - - -

Output - - - - -

Comma BeforeDe Conditional Number Second Specify the time to delay before executing
nd lay screen capture event.

AfterDela Conditional Number Second Specify the time to delay after executing
y screen capture event.

FullScree Conditional True/Fa Second Select whether to capture the entire screen.
n lse

You can refer to the following sample.

• > Help > Sample > Sample > System > Manage Directory > P_ScreenShot_Test

Copy (Ctrl+C) (Copying)

Copy (Ctrl+C) generates a copy event on the screen that is currently focused on.
This has the same effect as Ctrl+C shortcut key on the keyboard.

Table 4-203 Copy Properties

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Input - - - - -

Output - - - - -

Comma BeforeDel Conditional Numbe Second Specify the time to delay before executing
nd ay r copy event.

AfterDela Conditional Numbe Second Specify the time to delay after executing
y r copy event.

252
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > System > Other Samples > P_Copy_Ctrl_C_Test

Cut (Ctrl+X) (Cutting)

Cut (Ctrl+X) generates a cut event on the screen that is currently focused on.
This has the same effect as Ctrl+X shortcut key on the keyboard.

Table 4-204 Cut Properties

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Input - - - - -

Output - - - - -

Comman BeforeDel Conditional Numbe Second Specify the time to delay before executing
d ay r cut event.

AfterDela Conditional Numbe Second Specify the time to delay after executing
y r cut event.

You can refer to the following sample.

• > Help > Sample > Sample > System > Other Samples > P_Cut_Ctrl_X_Test

Paste (Ctrl+V) (Pasting)

Paste (Ctrl+V) generates a paste event on the screen that is currently focused on.
This has the same effect as Ctrl+V shortcut key on the keyboard.

Table 4-205 Paste Properties

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Input - - - - -

Output - - - - -

253
Designing Projects - Designing with the Library

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Comma BeforeDel Conditional Numbe Second Specify the time to delay before executing
nd ay r paste event.

AfterDela Conditional Numbe Second Specify the time to delay after executing
y r paste event.

You can refer to the following sample.

• > Help > Sample > Sample > System > Other Samples > P_Paste_Ctrl_V_Test

SelectAll (Ctrl+A) (Selecting All)

SelectAll (Ctrl+A) generates a select all event on the screen that is currently focused on.
This has the same effect as Ctrl+A shortcut key on the keyboard.

Table 4-206 SelectAll Properties

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Input - - - - -

Output - - - - -

Comma BeforeDel Conditional Numbe Second Specify the time to delay before executing
nd ay r select all event.

AfterDela Conditional Numbe Second Specify the time to delay after executing
y r select all event.

You can refer to the following sample.

• > Help > Sample > Sample > System > Manage Directory > P_SelectAll_Test

ExecuteCmd (Executing Program from Background)

254
Designing Projects - Designing with the Library

ExecuteCmd executes a program command in the background and returns the execution result.
This will be executed in a state that is not visible on the screen.

Table 4-207 ExecuteCmd Properties

Catego Proper Set Type Input Description


ry ties whether to range/
be required Unit

Input - - - - -

Output Output Conditional String Text Specify the variable to save the execution result of target
program.
The returned value becomes the standard output string
generated when carrying out a command.

Comm Comm Required String Text Enter a command to execute within single quotation
and and marks.

Argum Conditional String Text Enter the argument necessary for the execution command
ent within single quotation marks.

Timeou Required Numbe Second Enter time to wait before the command is completed. (ms
t r unit)

You can refer to the following sample.

• > Help > Sample > Sample > System > Other Samples > P_ExecuteCmd_Test

TimeStamp (Calculating Elapsed Time)

TimeStamp returns the elapsed time from the specified time to the current time in milliseconds.

Table 4-208 TimeStamp Properties

Category Properti Set whether to be Type Input Description


es required range/
Unit

Input - - - - -

Output Output Required String Text Set the variable to save elapsed time.

Comman BaseTime Required Numbe Second Enter the start time to calculate
d r elapsed time.

255
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > System > Other Samples > P_TimeStamp_Test

GetRegistryValue (Getting Registry Value)

GetRegistryValue gets the key value of the specified registry path.

Table 4-209 GetRegistryValue Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input - - - - -

Output Output Conditional String Text Specify the variable to save the registry
key value.

Comma BaseKey Required Event - Select registry route key.


nd
KeyName Required String Text Enter name of the registry key.

ValueNam Required String Text Enter registry value.


e

You can refer to the following sample.

• > Help > Sample > Sample > System > Edit Registry > P_GetRegistryValue_Test

SetRegistryValue (Inputting Registry Value)

SetRegistryValue enters key value in the specified registry path.

Table 4-210 SetRegistryValue Properties

Category Properties Set whether to be Type Input range/ Description


required Unit

Input - - - - -

Output - - - -

Command BaseKey Required Event - Select registry route key.

ValueKind Required Event - Select registry key type.

256
Designing Projects - Designing with the Library

Category Properties Set whether to be Type Input range/ Description


required Unit

KeyName Required String Text Enter name of the registry


key.

ValueName Required String Text Enter registry key value.

Value Conditional String Text Enter registry data value.

You can refer to the following sample.

• > Help > Sample > Sample > System > Edit Registry > P_SetRegistryValue_Test

MoveFile (Moving File)

MoveFile moves the file with the specified path.

Table 4-211 MoveFile Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - - - -

Output - - - -

Comma SrcFilePa Required String Text Specify the original file.


nd th

DescFile Required String Text Specify the target file.


Path

Overwrit Conditional True/Fa - Select whether to overwrite the file if the same
e lse filename already exists.

RenameFile (Renaming the File)

RenameFile renames the specified file.

Table 4-212 RenameFile Properties

Category Properties Set whether to be Type Input Description


required range/
Unit

257
Designing Projects - Designing with the Library

Category Properties Set whether to be Type Input Description


required range/
Unit

Input - - - - -

Output - - - -

Comman NewName Required String Text Enter filename to replace.


d
SrcFilePath Required String Text Specify the name of the file to
replace.

DBConnection (Connecting DB)

DBConnection connects DB with MsSQL, Oracle, etc. The ODBC driver must be installed to connect DB.

Table 4-213 DBConnection Properties

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Input - - - - -

Output Connectio Required String Text Enter the variable to connect with
n specific DB.

DataSourc Required String Text Enter the variable to import and save
e data source.

Comma DSN Required Event - Select DB to connect.


nd
UID Conditional String Text Enter the user ID within single quotation
marks.

PWD Conditional String Text Enter the password.

DataSou SourceTyp Required Event - Select the data source type.


rce e

Source Conditional Event - Select the data source.

You can refer to the following sample.

• > Help > Sample > Sample > System > DBLibrary > MSSQL

258
Designing Projects - Designing with the Library

GetDBData (Importing Data)

GetDBData imports data within specific field connected with DB.

Table 4-214 GetDBData Properties

Category Propertie Set whether to be Type Input Description


s required range/
Unit

Input Connectio Required String Text Select DB to import data.


n

DataSourc Required String Text Specify the variable to import data.


e

Output Output Required String Text Enter the variable to save imported
field data.

DataSourc UseSourc Conditional True/Fals - Select the data source type.


e e e

UpdateDBData (Updating Data on DB)

UpdateDBData updates specific data field connected to DB.

Table 4-215 UpdateDBData Properties

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

Input Input Required String Text Enter the target field to update the data.

Connecti Required String Text Select DB of the specific data field to update.
on

DataSou Required String Text Specify the variable to update the data.
rce

Output Output Required String Text Enter the variable to save the result of field
data update.

You can refer to the following sample.

• > Help > Sample > Sample > System > DBLibrary > MSSQL

259
Designing Projects - Designing with the Library

SendDBCommand (Executing Query on DB)

SendDBCommand executes specific query of the connected DB.

Table 4-216 SendDBCommand Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input Connec Required String Text Select DB to execute query.


tion

Output Output Required String Text Enter the variable to save the query execution
result.

DataS o C o m m Required String Text Enter a command to execute query within single
urce and quotation marks.

You can refer to the following sample.

• > Help > Sample > Sample > System > DBLibrary > MSSQL

Zip (Compressing Folder or File)

Zip compresses the specified folder or file.

Table 4-217 Zip Properties

Catego Propertie Set whether to Type Input Description


ry s be required range/
Unit

Input - - - - -

Output - - - - -

Comm SrcFilePat Required String Text Specify the original folder or file to compress.
and h

DestDirPa Required String Text Specify the location to save the compressed
th target file.

MaxMega Required Number MB Set the size limit when compressing.


byte

DirectoyO Conditional Directory - Select whether to compress the folder or file.


rFile /File

260
Designing Projects - Designing with the Library

Catego Propertie Set whether to Type Input Description


ry s be required range/
Unit

Overwrite Conditional True/Fals - Select whether to overwrite the file if the same
e filename already exists.

UnZip (Decompressing the zip File)

UnZip decompresses the specified zip file.

Table 4-218 UnZip Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - - -

Comm SrcFile Requir String Text Specify the Zip file to decompress.
and Path ed

DestDir Requir String Text Specify the target folder to decompress.


Path ed

Overw Conditi True/F - Select whether to overwrite the file if the same filename already
rite onal alse exists.

MakeD Conditi True/F - Select whether to decompress after creating a folder called
irectoy onal alse 'compressed file name' under the target folder to be
decompressed.

IsFileLock (Checking File Current Execution Status)

IsFileLock checks whether the status of the specified file is locked as it is currently being used to
execute different processes.

Table 4-219 IsFileLock Properties

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Input - - - - -

261
Designing Projects - Designing with the Library

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Output Output Required String Text Specify the variable to save the test result of whether the
designated file is being executed.

Comm Path Required String Text Specify the file to check whether the file is being
and executed.

WaitFileUnlock (Waiting until the File is Closed)

WaitFileUnlock waits for the specific executing file to close.

WaitFileUnlock properties

Table 4-220 WaitFileLock Properties

Categor Propert Set whether to be Type Input Description


y ies required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to wait until the
designated file closes.

Comma Timeout Required Numbe Second Enter the number of seconds to wait before
nd r the file closes.

Path Required String Text Specify the target file to wait for.

WaitFileCreation (Waiting until the File is Created)

WaitFileCreation waits until the specified file is created.

Table 4-221 WaitFileCreation Properties

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to wait until the
designated file is created.

Comma Timeout Required Numbe Second Enter the number of seconds to wait before the
nd r file is created.

262
Designing Projects - Designing with the Library

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

Path Required String Text Specify the target file to wait for.

WaitFileDelete (Waiting until the File is Deleted)

WaitFileDelete waits until the specified file is deleted.

WaitFileDelete properties

Table 4-222 WaitFileDelete Properties

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

Input - - - - -

Output Output Required String Text Specify the variable to wait until the
designated file is deleted.

Comma Timeout Required Numbe Second Enter the number of seconds to wait before the
nd r file is deleted.

Path Required String Text Specify the target file to wait for.

FlowControl Library

You can control process flows using the features provided by the FlowControl library.
You can perform repetitive tasks, set another task depending on the condition, or delay or end process
flows using specific conditions.

The features provided by the FlowControl library are as follows:

● Decision-making (If, SwitchCase)


● Repetition (For, Foreach, While, DoWhile)
● Assigning variables (Assign)
● Writing user scripts (ExecuteScript, ExecuteLibrary)
● Process control (Delay, TerminateFlow, TerminateAll, Break, Continue)
● Debugging and logging (Debugger, Log, DumpScreen)
● Other (RetryTask, Reboot, UploadResource, DownloadResource, TryCatch, DataConverter)

263
Designing Projects - Designing with the Library

Use Designer or window explorer to refer samples of FlowControl library.


• Designer Path: > Help > Sample > Sample > FlowControl
• Window explorer path: C:\Users\user\AppData\Roaming\Brity Works
Designer\samples\FlowControl

[Library related to FlowControl sample project name]


• Customized Script: ExecuteLibrary, ExecuteScript
• Debug: Debugger, DumpScreen, Log, Reboot, RetryTask
• Flow Control_15: Assign, Break, Continue, Delay, DoWhile, For, Foreach, If, TerminateAll,
TerminateFlow, While
• Transmit Resource: DwonloadResource, UploadResource

Common Properties

The common properties of FlowControl library are as follows.

Table 4-223 More/Description properties

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 O n Conditi Event - Specify an action to carry out when an error occurs at the time
Error onal of execution.
· If not specified: Output errors and exit the task.
· Ignore: Output log and proceed to the next activity.
· Retry: close task if an error occurs even after a retry.
· If handler is specified: Call specified handler.

264
Designing Projects - Designing with the Library

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

2 Descrip Conditi String Text Add description.


tion onal After description being entered, it is displayed on the chart
description. If there is no description, the representative value
of each library is displayed.

If (Decision-making)

You can create True or False branching statements that perform different actions depending on the
conditions. The If/else statement of JavaScript is as follows:

Table 4-224 If Properties

Catego Proper Set whether Type Input Description


ry ties to be required range/
Unit

Input - - - - -

Output - - - -

Conditi Expres Required String Text Enter conditional statement.


on sion You can enter many conditional sentences using
operators such as && or ||.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Flow Control_15 > P_If_Test

265
Designing Projects - Designing with the Library

SwitchCase (Multiple Branch)

You can do the multiple branch on certain conditions.

266
Designing Projects - Designing with the Library

Table 4-225 SwitchCase Properties

Category Propertie Set whether to be Type Input range/ Description


s required Unit

Input - - - - -

Output - - - -

Condition Case Required N u m b e r , N u m b e r , Enter the condition


String String value.

For (Repetition)

You can create a loop This is same as the loop statement of JavaScript.

Table 4-226 For Properties

Category Propertie Set whether to be Type Input Description


s required range/
Unit

Input - - - - -

Output - - - -

Condition Initialize Required String Text Enter the initial value of index.

Condition Required String Text Enter the condition of index.

Update Required String Text Enter the updated content of


index.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Flow Control_15 > P_For_Test

Foreach (Importing List Items in Order)

You can create a loop to import list items in order. This is same as the foreach statement of JavaScript.

267
Designing Projects - Designing with the Library

Table 4-227 Foreach Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input - - - - -

Output - - - -

Conditi For List Required String Text Enter variable of the list type with data.
on
Each Item Required String Text Enter the variable to allocate item one by one
from the list type.

For-of / Required String Text Use for the same purpose as JavaScript syntax.
For-in

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Flow Control_15 > P_Foreach_Test

While (Performing for Specific Conditions)

You can create a loop to perform up to specific conditions. This is same as the while statement of
JavaScript.

Table 4-228 While Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

Output - - - -

Condition Expression Required String Text Enter while statement.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Flow Control_15 > P_While_Test

DoWhile (Performing for Specific Conditions)

268
Designing Projects - Designing with the Library

You can create a loop to perform up to specific conditions. This is same as the Do-while statement of
JavaScript.

Table 4-229 DoWhile Properties

Category Properties Set whether to be Type Input range/ Description


required Unit

Input - - - - -

Output - - - -

Condition Expression Required String Text Enter Do-While statement.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Flow Control_15 > P_DoWhile_Test

Delay (Delaying Time)

You can delay as much as the time defined by the user.

Table 4-230 Delay Properties

Category Properties Set whether to be Type Input range/ Description


required Unit

Input - - - - -

Output - - - - -

Time Second Required Number Second Enter time in seconds.

Millisecond Required Number Milliseconds Enter time in milliseconds.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Flow Control_15 > P_Delay_Test

Assign (Assigning a Variable)

You can assign a value to the variable.

269
Designing Projects - Designing with the Library

Table 4-231 Assign Properties

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Input - - - - -

Output Variable Required String Text Specify the variable to allocate value.

Activity Value Required String Text Enter the value to allocate to the
variable.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Flow Control_15 > P_Assign_Test

DataConverter (Data Converter)

DataConverter returns with the desired format by converting the input data or extracting the data to
meet the desired type.

Table 4-232 DataConverter Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input Input Required String Text Enter the data to be entered to DataConverter.

Output Output Required String Text Enter the data returned from DataConverter.

Conver Type Required Event - Select the list of converter type (String, Number,
ter Date, Json, Xml).

Metho Required Event - Select the type of method that can be used.
d For type of method, refer to the type of method.

Args Required String Text Enter the additional arguments(optional)


needed.

270
Designing Projects - Designing with the Library

Table 4-233 Method by type

Type Method Description Use cases

String ToString Convert entered data to String type.

Format Returns after entering input value for Arg in FormatString. Input: 'This is
{0}'
Args: 'Sample'
Output > 'This is
Sample'

Trim Convert entered data to string type and remove leading and
trailing spaces.

ReplaceAll Find specific string from the entered input string and change it Args: 'aa', 'bb'
all to replacement string. (Chang all aa to
bb)

Split Save by dividing entered string into specific characters. Args: ':'
(Divide the
string by :)

ExtractByRe Returns value from the entered string that matches the regular
gex expression entered in Args.

IsMatch Returns True/False whether the entered string matches the


regular expression entered in Args.

Number ToNumber Convert entered data to Number type.

Max Compare entered data and numbers entered in Args to return


the larger value.

Min Compare entered data and numbers entered in Args to return


the smaller value.

Round Returns the entered data after being rounded to the decimal
point.
Enter a number in Arg and it will round up to that number of
digits.

Ceil Returns the entered data after the decimal point is discarded.

Floor Returns the entered data after being rounded up to the decimal
point.

Abs Returns the absolute value of the entered value.

Date ToDateTime Convert entered dateformat string to DateTime.


If dateformat is entered in Args, string is returned as in the
format accordingly.

ToUTCDate Convert entered dateformat string to UTCDateTime.


Time If dateformat is entered in Args, string is returned as in the
format accordingly.

271
Designing Projects - Designing with the Library

Type Method Description Use cases

FromExcelD Convert Date string imported from the Excel to UTCDateTime.


ate If dateformat is entered in Args, string is returned as in the
format accordingly.

AddYears, You can add or subtract the time or date from the entered
AddMonths, datetime by the numbers entered in Args.
AddDays,
AddHours,
AddMinutes,
AddSeconds

DateFormat Returns string according to the entered dateformat.

Json ToString Returns Json object as a string.

ToJsonObje Returns Json type string as Json object.


ct

GetValueBy Returns the key value entered in Args in the string of the Json
Key format.

Xml ToString Returns XmlElement as a string.

GetValueBy Returns value of the xpath entered in Args in the string of the
Xpath XML format.

ExecuteScript (Inputting User-defined Script)

You can enter a user-defined script. The script must be written using JavaScript grammar.

Table 4-234 ExecuteScript Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input - - - - -

Output - - - - -

Script Script Required String Text Enter the user defined script.
Double-click the text box to use
ScriptEditor.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Customized Script >
P_ExecuteScript_Test

272
Designing Projects - Designing with the Library

ExecuteLibrary (Executing Script Function)

You can execute a script function that the user has written with JS file.

Table 4-235 ExecuteLibrary Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input Argum Required String Text Enter property value to execute script function.
ents

Output Result Required String Text Specify the variable to save the execution result
of script function.

Conditi Library Required Event - Select the type of library function.


ons
Functio Required Event - select the method of the selected library
n function.

• Write the script in one of the following formats:


Script.file name = new function(){
this.function name = function (parameter list){}
}
• The default script functions are provided upon program installation. For detailed
information, refer to the .js file in the Libraries folder in the program installation path.
• Create the Libraries folder in the project folder of My Documents and save the written
script function file.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Customized Script >
P_ExecuteLibrary_Test

Break (Breaking Loop)

You can jump out of the loop at the time that the user has defined while in a loop. This is the same as
the break statement in JavaScript.

273
Designing Projects - Designing with the Library

Table 4-236 Break Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

Output - - - - -

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Flow Control_15 > P_Break_Test

Continue (Continuing Loop)

You can move on to the next loop cycle at the time that the user has defined while in a loop. This is the
same as the continue statement in JavaScript.

Table 4-237 Continue Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

Output - - - - -

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Flow Control_15 > P_Continue_Test

TerminateFlow (Terminating Flow)

You can terminate the flow that is operating. This is the same as the return statement in JavaScript..

Table 4-238 TerminateFlow Properties

Category Propert Set whether to be Type Input Description


ies required range/
Unit

Input - - - - -

Output - - - - -

274
Designing Projects - Designing with the Library

Category Propert Set whether to be Type Input Description


ies required range/
Unit

Condition Result Conditional String Text Enter return value when the flow is
s terminated.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Flow Control_15 >
P_TerminateFlow_Test

TerminateAll (Terminating All)

You can terminate the processes that are operating. This is the same as the exit statement in
JavaScript.

Table 4-239 TerminateAll Properties

Catego Properties Set whether to be Type Input Description


ry required range/
Unit

Input - - - - -

Output - - - - -

Result Exit Code Required String Text Enter return value when the flow is
terminated.

E x i t Conditional String Text Enter message to display when the flow is


Message terminated.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Flow Control_15 > P_TerminateAll_Test

TryCatch (Handling Exception)

TryCatch handles exception while script execution. This is same as the Try Catch of JavaScript.

275
Designing Projects - Designing with the Library

Table 4-240 TryCatch Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output - - - - -

Handle OnExce Required Event - Specify an action to carry out when an exception
r ption occurs at the time of execution.
• Ignore: Output log and proceed to the next activity.
• If handler is specified: Call specified handler.

RetryTask (Relaunching Task)

When there is an error, you can restart the task currently in progress from the OnError event.

Table 4-241 RetryTask Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output Result Conditional String Text Specify the variable to save task restart result
when an error occurs.

Activit S t a r t Required Event - Select when to restart the task.


y Step

No. / ID Required Numbe P o s i t i v e Enter time (step) number or ID.


r numbers

Target Task Required String Text Specify the variable to restart the task.
Name

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Debug > P_RetryTask_Test

Reboot (Rebooting)

You can restart the computer.

276
Designing Projects - Designing with the Library

Table 4-242 Reboot Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

Output - - - - -

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Debug > P_Reboot_Test

Log (Outputting Log)

You can output a user log to a specified file. Or it can be output in the form of a screenshot or message
box.

Table 4-243 Log Properties

Catego Proper Set Type Input Description


ry ties whether range/
to be Unit
required

Input - - - - -

Output - - - - -

Activit Messag Required String Text Enter the message to display on file or messagebox.
y e

Conditi Path Required String Text Specify download path and file to save log file.
ons
A p p e n Required True/F - Select whether to save the content of log by adding to the
d alse existing log or by saving the current log content only.

Option S h o w Required True/F - Select whether to display messagebox.


s M s g alse
Box

Screen Required True/F - Select whether to capture the screen.


shot alse

You can refer to the following sample.

• > Help > Sample >Sample > Flow Control > Debug > P_Log_Test

277
Designing Projects - Designing with the Library

Debugger (Executing Debug Console)

You can execute a debug console. In the debug console, the user can input the variables and check the
current progress.

Table 4-244 Debuger Properties

Catego Proper Set whether to be Type Input Description


ry ties required range/
Unit

Input - - - - -

Output - - - - -

Activit Messag Conditional String Text Enter the message to display on the debug
y e console window.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Debug > P_Debugger_Test

DumpScreen (Dump Screen Shot)

Screen shot and Windows hierarchy information are saved under the Histories\Logs folder below the
project folder. If saved as Fail, the information saved in the server is sent.

Table 4-245 DumpScreen Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output - - - - -

Activit Pass or Required True/F Select whether to save the error information(dump
y Fail alse file) or to send it to the server.

You can refer to the following sample.

• > Help > Sample > Sample > Flow Control > Debug > P_DumpScreen_Test

278
Designing Projects - Designing with the Library

Orchestrator Library

You can control process flows using the features provided by the Orchestrator library.
You can set different tasks according to the conditions.

The features provided by the Orchestrator library are as follows:

● Process control (CallProcess, WaitForMultipleEvent, WaitEmail, WaitHttp, WakeUp)


● Others (UploadResource, DownloadResource)

CallProcess, WaitEmail, WaitHttp are functions that request events to the Orchestrator
server. They are functions within the library that is activated when a project is deployed and
a process is executed using a bot. When running in the designer, the Simulation Result value
is used instead of the actual server.

Use Designer or window explorer to refer samples of orchestrator library.


• Designer Path: > Help > Sample > Sample > Orchestrator
• Window explorer path: C:\Users\user\AppData\Roaming\Brity Works
Designer\samples\Orchestrator

[Library related to Orchestrator sample project name]


• OrchestratorLibrarySample15: CallProcess, WaitEmail, WaitForMultipleEvent,
WaitHttp, WakeUp

WaitForMultipleEvents (Waiting for Multiple Events)

WaitForMultipleEvent waits for specified multiple events.

Table 4-246 WaitForMultipleEvents Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Result Requir String Text Select the variable to save result information.
ed

279
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Conditi W a i t Requir True/F - Select whether to wait until all events are generated, or wait
ons All ed alse until at least one event is generated. For example, if set to False
when waiting to perform five processes, proceed to the next
process when one of the five processes is complete.

Stop Requir True/F - Stop the process flow if any one of the waiting event fails.
O n ed alse
Error

Wait Requir Event - Select the event to wait for. Select the variable where the
For ed performed result of the event is saved. Click Click here to add
new item to add the event to wait for. Click to delete.

You can refer to the following sample.

• > Help > Sample > Sample > Orchestrator > OrchestratorLibrarySample15 >
WaitForMultipleEventTest

CallProcess (Performing Specific Process)

CallProcess performs processes specified by the user. The process must be published in the server. If
there is an input value to send or an output value to receive, this must be specified at the same time.

Table 4-247 CallProcess Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input Excutio Requir String Text Use when performing a process in the same bot as the process
nBot ed performed before. To use this feature, select the result variable
of the process performed before or leave it blank if you do not
want to use it.

Output Result Requir String Text Specify the variable to save information on the performed result
ed of the process.

Conditi Process Conditi True/ - Select ID of the process to perform. Only the process added

280
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

ons ID onal False through search appears on the list. Input and output values may
Input change, depending on the selected process.

You can refer to the following sample.

• > Help > Sample > Sample > Orchestrator > OrchestratorLibrarySample15 >
CallProcessTest

WaitEmail (Waiting after Importing Specific Email)

Wait after importing specific email. Send request to Orchestra server to set an event waiting to receive
specific email. Use WaitForMultipleEvent to wait for the set event. When running in the designer, the
Simulation Result value is used instead of the actual server.

Table 4-248 WaitEmail Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Result Conditi String Text Enter the variable to import specific email and standby. The
onal result variable can be entered in WaitForce of the
WaitForMultipleEvent to wait for the specified email to be
received.

Conditi Server Requir String Text Enter the server URL where the email is located within single
ons URL ed quotation marks.

Receiv Requir String Text Enter password of the account to receive mail. If you select
er PW ed asset, enter asset variable of the saved password. If you select
input, enter password of the account directly.

Locale Requir Event - Select local time to use as base time.


ed

Mail Check Requir Event - Select method to check email.

281
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Mail ed

Receiv Requir String Text Enter recipient ID (email address) within single quotation
er ed marks.

Snende Requir String Text Enter sender ID (email address) within single quotation marks.
r ed

Subject Requir String Text Enter the name of the email to import within single quotation
ed marks.

Begin Requir String Date-Ti Enter the start time to import email.
Time ed me

E n d Requir String Date-Ti Enter the end time to import email.


Time ed me

Simula Status Requir Event - Select the value to use as the 'status' value from the result
t i o n ed returned by the WaitEmail library
Result
Error Conditi String Text Enter the value to use as the 'Error' value from the result
onal returned by the WaitEmail library within single quotation
marks.

Expire Requir Numbe Second Enter time in seconds, generating the event to simulate from the
Time(S ed r WaitEmail library.
ec)

Result Conditi String Text Enter the value to use as the 'Result' value from the result
onal returned by the WaitEmail library within { }.

You can refer to the following sample.

• > Help > Sample > Sample > Orchestrator > OrchestratorLibrarySample15 >
P_WaitEmailTest

WaitHttp (Waiting after importing specific Http)

Wait after importing specific Http. Send request to Orchestra server to set an event waiting to receive
specific Http. Use WaitForMultipleEvent to wait for the set event. When running in the designer, the
Simulation Result value is used instead of the actual server.

282
Designing Projects - Designing with the Library

Table 4-249 WaitHttp Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Result Requir String Text Enter the variable to import specific Http and standby. The
ed result variable can be entered in WaitForce of the
WaitForMultipleEvent to wait for the specified Http to be
received.

Simula Status Requir Event - Select the value to use as the 'status' value from the result
t i o n ed returned by the WaitHttp library
Result
Error Conditi String Text Enter the value to use as the 'Error' value from the result
onal returned by theWaitHttp library within single quotation marks.

Expire Requir Numbe Second Enter time in seconds, generating the event to simulate from the
Time(S ed r WaitHttp library.
ec)

Result Conditi String Text Enter the value to use as the 'Result' value from the result
on returned by the WaitHttp library within { }.

You can refer to the following sample.

• > Help > Sample > Sample > Orchestrator > OrchestratorLibrarySample15 >
WaitHttpTest

WakeUp (Generating Trigger at Specified Time)

Wakeup generates trigger at specified time.

Table 4-250 WakeUp Properties

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Input - - - - -

Output Result Conditional String Text Specify variable to generate trigger at specified time.

Conditi Time Required String Text Enter the date and time when trigger has been generated

283
Designing Projects - Designing with the Library

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

ons within single quotation marks.

Locale Required Event - Select local time to use as base time.

You can refer to the following sample.

• > Help > Sample > Sample > Orchestrator > OrchestratorLibrarySample15 >
WakeUpTest

UploadResource (Resource Upload)

UploadResource uploads the resource (file) to the server. The resource ID is returned from the
resource (file) uploaded to the server, and you can update or download the resource (file) again with
this ID. The resource ID can be automatically created or it can be entered by the user. A resource (file)
has a retention period and cannot be downloaded from the server after the retention period.

Table 4-251 UploadResource Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Output Requir String Text Returns ID registered in the server. If an ID was set, then the
ed same ID will be received. If not, an ID created from the server
will be returned.

Resour ID Requir String Text The ID is saved as specified ID value. (Overwrite)


ce ed

Retenti Requir String Date Enter the period of time to keep files on the server.
onPeri ed
od

FilePat Requir Text String This is the file path to upload to the server.
h ed

284
Designing Projects - Designing with the Library

You can refer to the following sample.

• > Help > Sample > Sample > FlowControl > Transmit Resource >
P_UploadResource_Test

DownloadResource (Resource Download)

DownloadResource downloads resources (files) from the server. The resource ID of the resource to
download must be entered to download. The downloaded resource (file) is saved to the
SharedResources folder inside the project folder, and once the download is complete, the file path is
returned.

Table 4-252 DownloadResource Properties

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Input - - - - -

Output FilePath Required String Text This is the path to the downloaded
file.

Resourc ID Required String Text This is the ID of the file to


e download.

You can refer to the following sample.

• > Help > Sample > Sample > FlowControl > Transmit Resource >
P_DownloadResource_Test

SendData (Send Data to the Queue)

SendData sends the string or file data to the specified queue in the server. Queues are different
depending on the Channel ID.

Table 4-253 SendData Properties

Categor Properties Set whether to be Type Input range/ Description


y required Unit

Input - - - - -

285
Designing Projects - Designing with the Library

Categor Properties Set whether to be Type Input range/ Description


y required Unit

Output Output Required String Text This is result of sending data.

Queue DataType Required Event - Set the type of data.

ChannelID Required String Text Set the channel ID to send the


data.

Table 4-254 Properties by Data Type

Data type Properties Set whether to be Type Input range/ Description


required Unit

Data Data Required String Text The text content to send.

File FilePath Required String Text The path of the file to send.

ReceiveData (Receiving Data from Queue)

ReceiveData receives the data from the specified queue in the server. Once the data is received
properly, the corresponding data will be deleted from the queue.

Table 4-255 ReceiveData Properties

Catego Propert Set whether to be Type Input Description


ry ies required range/
Unit

Input - - - - -

Output Output Required String Text This is the result of the received data.

IsFile Required String Text Enter the variable to store whether the
received data is a file.

Queue Channel Required String Text Set the channel ID for receiving the data.
ID

Timeout Conditional Numbe Minute Enter the number of minutes to wait until the
r data is received.

KnoxPortal Library (Samsung Employees only)

The features provided by the Knox Portal Library can be used to use the link features of the Knox
Portal REST API.

To use this library, the designer must be logged in.

286
Designing Projects - Designing with the Library

The features provided by the Knox Portal library are as follows:

● Sending mail and message (SendMail, SendKnoxMessage)


● Submitting approvals and viewing approval statuses (SubmitApproval, GetApprovalStatus)
● Getting user information and department information (GetUserInfo, GetDeptInfo)
● PIMS features (CreateSchedule, DeleteSchedule, GetSchedulesInfo)

Use Designer or window explorer to refer samples of Knox portal library.


• Designer Path: > Help > Sample > Sample > KnoxPortal
• Window explorer path: C:\Users\user\AppData\Roaming\Brity Works
Designer\samples\KnoxPortal

[Library related to Knox portal sample project name]


• Manage Schedule: CreateSchedule, DeleteSchedule, GetSchedulesInfo
• SendKnoxMessage15: SendKnoxMessage
• Other Samples: GetApprovalStatus, GetDeptInfo, GetUserInfo, SendMail, SubmitApproval

Common Properties

The common properties of Knox portal library are as follows.

Table 4-256 More/Description properties

287
Designing Projects - Designing with the Library

No. Proper Set wh Type Input Description


ties ether range/
to be r Unit
equire
d

1 O n Conditi Event - Specify an action to carry out when an error occurs at the time
Error onal of execution.
• If not specified: Output errors and exit the task.
• Ignore: Output log and proceed to the next activity.
• Retry: Exit task if an error occurs even after a retry.
• If handler is specified: Call specified handler.

2 Descrip Conditi String Text Add description.


tion onal After description being entered, it is displayed on the chart
description. If there is no description, the representative value
of each library is displayed.

SendMail (Sending Email)

SendMail sends the Knox Portal Email.

Table 4-257 SendMail Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output - - - - -

Mail Sender Requir String Text Enter the email address of the sender.
ed

Recipie Requir String Text Enter the email address of the recipient. (Multiple recipient can
nts e d be designated by separating with a semicolon. It applies both for
(enter CCs and BCCs.
one or
CCs String Text Enter the email address of the CCs.
more
o f
three)

BCCs String Text Enter the email address of the BCCs.

Subject Conditi String Text Enter the title of the email.


onal

288
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Body Conditi String Text Enter the body of the email.


onal

Attach Conditi String Text Enter the path of the attached files. (Multiple files can be
ments onal attached by separating them with a semicolon.) Attachment
capacity is limited to ten files or less and 10 MB or less in
accordance with the Knox API policy.

IsHtml Requir String Text Set whether to use HTML format.


ed

You can refer to the following sample.

• > Help > Sample > Sample > KnoxPortal > Other Samples > P_Knox_SendMail_Test

SubmitApproval (Approving Submitted Agenda)

SubmitApproval approves the Knox Portal agenda submitted.

Table 4-258 SubmitApproval Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Approv Requir String Text Enter the variable to execute document approval.
alID ed

Approv Title Requir String Text Enter the name of the agenda within single quotation marks.
al ed

Conten Requir String Text Enter the content of the agenda within single quotation marks.
ts ed

Drafter Requir String Text Enter the email address of the person who submitted agenda.
ed

Attach Conditi String Text Enter the attached files path. (Multiple file can be attached by

289
Designing Projects - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

ments onal separating with a semicolon.) Attachment capacity is limited to


ten files or less and 10 MB or less according to Knox API policy.

IsHtml Requir String Text Set whether to use HTML format.


ed

Approv Requir Event - Specify approval steps, approver, payment type, etc.
a l ed
Lines

You can refer to the following sample.

• > Help > Sample > Sample > KnoxPortal > Other Samples >
P_Knox_SubmitApproval_Test

GetApprovalStatus (Import Approval Status)

GetApprovalStatus imports approval status of the agenda submitted.

Table 4-259 GetApprovalStatus Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Status Required String Text Enter the variable to save imported approval status.

Approv Approv Required String Text Enter the variable use to approve the document
al alID within single quotation marks.

You can refer to the following sample.

• > Help > Sample > Sample > KnoxPortal > Other Samples >
P_Knox_GetApprovalStatus_Test

290
Designing Projects - Designing with the Library

GetUserInfo (Looking up User Information)

GetUserInfo gets employee information using Knox Portal ID or email address.

The returned type is UserInfo[ ] and the members of the UserInfo class are as shown below.

● UserId (KnoxPortal ID)


● Name (Employee name)
● EngName (English name of employee)
● Department (Department name)
● EngDepartment (English name of department)
● DepartmentCode (Department code)
● EmployeeNo (Employee number)
● EngTitle (English title name)
● Title (Title name)
● Mail (Email address)
● Mobile (Mobile phone number)
● Telephone (Phone number)

Table 4-260 GetUserInfo Properties

Categor Properties Set whether to be Type Input Description


y required range/
Unit

Input - - - -

Output Userinfo Required String Text Specify the variable to save user
information.

User Type Required Event - Select user information (ID, email)

Search Required String Text Enter email or ID to search.

Knox AllowNoRes Required True/Fals - Select whether to allow information.


ult e

You can refer to the following sample.

• > Help > Sample > Sample > KnoxPortal > Other Samples > P_Knox_GetUserInfo

291
Designing Projects - Designing with the Library

GetDeptInfo (Looking up Department Information)

GetDeptInfo gets department information of an employee using Knox Portal ID or email address.

The type returned is DeptInfo [ ], and the members of the DeptInfo class are as follows:

● DeptName (Department name)


● EngDeptName (English name of department)
● DeptCode (Department code)
● HighDeptName (Name of upper department)
● HighDeptName (English name of upper department)
● HighDeptCode (Upper department code)
● Company (Company name)
● EngCompany (English name of company)
● ManagerId (Knox ID of department head)
● ManagerName (name of department head)

Table 4-261 GetDeptInfo Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input - - - -

Output Deptinfo Required String Text Specify the variable to save the department
information of the user.

User Type Required String Text Select user information (ID, email)

Search Required String Text Enter email or ID to search.

Knox AllowNoR Required True/F - Select whether to allow information.


esult alse

You can refer to the following sample.

• > Help > Sample > Sample > KnoxPortal > Other Samples > P_Knox_GetDepthInfo

CreateSchedule (Creating Schedule)

CreateSchedule creates the KnoxPortal PIMS schedule. The schedule ID is returned if the schedule is

292
Designing Projects - Designing with the Library

created successfully.

Table 4-262 CreateSchedule Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - -

Output Schedu Required String Text Set the variable to save the schedule ID imported
leID when the schedule is created.

PIMS Type Required Event - Select user information (ID, email)

Search Required String Text Enter email or ID to search.

Subject Required String Text Enter the title of the schedule.

Conten Conditional String Text Enter the content.


ts

Place Conditional String Text Enter the location.

StartTi Required Numbe Date Enter the start time.


me r

EndTi Required Numbe Date Enter the end time.


me r

IsAllDa Required True/F - Select whether to specify the schedule the whole
y alse day.

You can refer to the following sample.

• > Help > Sample > Sample > KnoxPortal > Message Schedule >
P_Knox_CreateSchedule_Test

DeleteSchedule (Deleting Schedule)

DeleteSchedule deletes the Knox Portal PIMS schedule. The schedule ID to delete and user ID are
required.

Table 4-263 DeleteSchedule Properties

Categor Properties Set whether to be Type Input Description


y required range/
Unit

Input - - - - -

293
Designing Projects - Designing with the Library

Categor Properties Set whether to be Type Input Description


y required range/
Unit

Output - - - - -

PIMS Type Required Event - Select user information (ID, email)

Search Required String Text Enter email or ID to search.

ScheduleID Required String Text Enter the variable the schedule ID


saved.

You can refer to the following sample.

• > Help > Sample > Sample > KnoxPortal > Message Schedule >
P_Knox_DeleteSchedule_Test

GetSchedulesInfo (Looking up the Schedule)

GetSchedulesInfo gets the KnoxPortal PIMS schedule.

The returned type is ScheduleInfo[] and the members of the ScheduleInfo class are as shown below.

● ScheduleId (Schedule ID)


● Subject (Title of schedule)
● Contents (Contents of schedule)
● StartTime (Starting time of schedule)
● EndTime (Ending time schedule)
● AllDayYn (All day schedule)
● Place (Place of schedule)
● Attendees (Attendees of schedule)

Table 4-264 GetSchedulesInfo Properties

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

Input - - - -

Output Result Required String Text Specify the variable to save the result of
schedule checked.

294
Designing Projects - Designing with the Library

Catego Properti Set whether to be Type Input Description


ry es required range/
Unit

PIMS Type Required Event - Select user information (ID, email)

Search Required String Text Enter email or ID to search.

StartTim Required Numbe Date Enter the start time to search.


e r

EndTim Required Numbe Date Enter the end time to search.


e r

You can refer to the following sample.

• > Help > Sample > Sample > KnoxPortal > Message Schedule >
P_Knox_GetSchedulesInfo_Test

SendKnoxMessage (Sending Message Using Knox Messenger)

SendKnoxMessage sends messages using Knox messenger.

Table 4-265 SendKnoxMessage Properties

Catego Proper Set whe Type Input Description


ry ties ther to range/
be requ Unit
ired

Input - - - - -

Output Respon Require String Text Enter the variable to save the result of message sent with Knox
se d messenger.

KnoxM Messag Require Event - Select the message type to send.


essage eType d

Receiv Require String Text Enter the recipient ID.


erID d

Messag Require String Text Enter the message to send.


e d

Timeou Require Numbe Minute Enter the number of minutes to wait for sending a message.
t(Min) d r

Simula Result Conditio String Text Enter the value to use as the 'Result' value from the result
t i o n nal returned by SendKnoxMessage library within single quotation

295
Designing Projects - Designing with the Library

Catego Proper Set whe Type Input Description


ry ties ther to range/
be requ Unit
ired

Result marks.

Expire Conditio Numbe Second Enter time in seconds, generating the event to simulate from
Time nal r the SendKnoxMessage library.

You can refer to the following sample.

• > Help > Sample > Sample > KnoxPortal > SendKnoxMessage15 > SampleProcess

Private Script Library

In case of designing a project by writing a script, you can use the bot objects and the default script
library.

ToString(obj)

ToString returns information of value type variable, array, and two dimensional arrays as a string.

GetObjectInfo(obj)

GetObjectInfo returns the member data information of object type variables.

GetCount(obj)

GetCount returns the data count of array type objects.

Print(message), Debug(), Info(), Warn(), Error()

Print outputs logs for each log severity.

CharToInt(string)

CharToInt returns the code value corresponding to the character.

296
Designing Projects - Designing with the Library

IntToChar(number)

IntToChar returns the character corresponding to the code value.

AddHostType(name, typeName)

The class provided by C# can be registered to use in script.

Example)

Bot.AddHostType('Process', 'System.Diagnostics.Process');
var proc = new Process();
Proc.Start('notepad.exe');
var pid =Process.GetProcessById(1234);

CreateObject(typeName)

CreateObject creates a COM object.

Example)

var fs = Bot.CreateObject("Scripting.FileSystemObject");
var a = fs.CreateTextFile("c:\testfile.txt", true);
a.WriteLine("This is a test.");

Using Virtual Driver

Install Virtual Driver Manually - Windows 10

You can install the virtual driver manually if it was not installed during program installation.

Manual installation of the virtual driver is as follows.

● Run Device Manager > View


● Install the driver

297
Designing Projects - Designing with the Library

298
Designing Projects - Designing with the Library

299
Designing Projects - Designing with the Library

300
Designing Projects - Designing with the Library

File path of VirtualHID.inf


• Brity works installation path → x64(64 bit) or x86(32bit)
→ VirtualKeyboardDriver → Win7 folder (Win7 OS only)

• For example, C:\Users\SDS\AppData\Roaming\Brity Works


Designer\x64\VirtualKeyboardDriver

301
Designing Projects - Designing with the Library

Install Virtual Driver Manually - Windows 7

You can install the virtual driver manually when it was not installed at program installation.

Manual installation of the virtual driver is as follows.

● Run and install the batch file.

• C:\Users\user\AppData\Roaming\Brity Works Designer

302
Designing Projects - Designing with the Library

• Select the folder depending on the OS


- 32 bit : On the x86\VirtualKeyboardDriver folder, run the
Install_virtualdriver32.bat file.
- 64 bit : On the x86\VirtualKeyboardDriver\win7 folder, run the
Install_virtualdrivcer64.bat file.

Deleting Virtual Driver

You can delete the virtual driver manually.

Manual uninstallation of the virtual driver is as follows:

● Remove the driver from the Device Manager.

303
Designing Projects - Designing with the Library

304
Designing Projects - Designing with Custom Libraries

Using Virtual Driver

Once you install the virtual driver, you can enter the key through the virtual keyboard using
TextInput.

4.3 Designing with Custom Libraries

The library within the project can be customized by the user, or you can import an external library to
use as an internal library.

305
Designing Projects - Designing with Custom Libraries

The library within the project can be customized by the user, or you can import an external library to
use as an internal library.

306
Designing Projects - Designing with Custom Libraries

Using Javascript Library

• Entry Point : Project > Custom Libraries > New Custom Library
• Enter the library name
• Library Type > Select JavaScript
• Click Create
• Library is created in Custom Libraries within Project.
• Library file(.js) is saved in the CustomLibraries within Project folder.
(For example. C:\Users\SDS\Documents\Brity Works Projects\Project Name\CustomLibraries)

No. Description

1 Add a newly created custom library as an activity.

307
Designing Projects - Designing with Custom Libraries

No. Description

2 Enter -1000 as an input value on the Custom Libraries properties.

3 Click Run.

4 Return 1000 as the result value of MessageBox.

Using .Net Library

Copy .NET Assembly (C# based library) library to import and paste to the CustomLibraries folder.
• Entry Point : Project > Custom Libraries > New Custom Library
• Enter the library name
• Library Type > Select MS .NET Library
• Select the Library (.DLL)
• Select the Class (Class)
• Select the Method (Method)
• Create instance Check / Uncheck
Check: display constructors of the selected class and create Instance Constructor library.
Uncheck: select the Public method (including Static method) within the selected class, and create the
library,
Call the Default constructor when running.
• Click Create
• The library is created in Custom Libraries within Project.

? When using .NET Library, it is recommended to create Instance first. (Refer to the example)

308
Designing Projects - Designing with Custom Libraries

• Download the Ionix.zip. (https://www.nuget.org/packages/Ionic.Zip/1.9.1.8)


• Change the file name you downloaded (ionic.zip.1.9.1.8.nupkg => ionic.zip.1.9.1.8.zip)
• Extract the file, copy the Ionic.Zip.dll file within lib folder, and paste it to the CustomLibraries folder
within the project.

No. Description

1 Drag the ZipFile_Instance and drop to the Diagram.

2 Enter the Compressed File name to the filename properties on the right.

3 Return 1000 as the result value of MessageBox.

309
Designing Projects - Designing with Custom Libraries

No. Description

1 Drag the ZipFile_ExtractAll and drop to the Diagram.

2 Enter the path of the file to extract in the path properties on the right.

3 Enter the Instance properties in Options.

4 Click Run.

Using MS Activity Library

• Download/Copy the library


Reference site: Activities category of the UiPath Store (https://go.uipath.com/)
Note: In UiPath Activity, libraries that depend on the UiPath Solution may not work.

310
Designing Projects - Designing with Custom Libraries

• Change the extension of the downloaded file (.nupkg) into (.zip), and extract the file => copy the
library (.dll) in the lib folder, and paste it to the CustomLibraries folder.
• Entry Point : Project > Custom Libraries > New Custom Library
• Enter the library name
• Library Type > Select MS Workflow Activity
• Select the copied library from the external library path.
• Select the activity class.
• Click Create
• Library is created in Custom Libraries within Project.
• The library file(.js) is saved in CustomLibraries within the Project folder.
(For example. C:\Users\SDS\Documents\Brity Works Projects\Project Name\CustomLibraries)

No. Description

1 Drag the ZipFile_Instance and drop to the Diagram.

2 Enter the Compressed File name to the filename properties on the right.

3 Return 1000 as the result value of MessageBox.

311
Designing Projects - Designing with Custom Libraries

No. Description

1 Drag Clear library and drop it in the diagram.

2 Enter the folder name to delete in Path properties.

3 Click Run. (Delete only the content in the folder, not the specified folder)

312
Designing Projects - Designing with Custom Libraries

Using the Add-In Library (MS VisualStudio)

• Create the VisualStudio Projects


• Set the VisualStudio project properties.
• Add Reference.
• Set Designer debugging.
• Implement the AddIn.
• Implement Activity declarative.
• Implement Activity execution.
• Set the multilingual string resource.

313
Designing Projects - Designing with Custom Libraries

Creating VisualStudio Projects

Version: Visual Studio 2017


Project Type: Class library (.NET Framework, Visual C#)
- File > New > Project > Installed > Visual C#
- Framework .NET Framework 4.5
Project name: BrityWorks.AddIn.[ProjectName]

314
Designing Projects - Designing with Custom Libraries

Setting the VisualStudio project properties.

Build > Output path: Designer_Installation_Folder/AddIns/

315
Designing Projects - Designing with Custom Libraries

Debug > Start external program Designer.exe file path


Debug > Start options > Working directory: Designer installation folder

316
Designing Projects - Designing with Custom Libraries

Resources > Add Resource


(AddIn default icon, icon to display on mouse-over, and icon for each activity)

Adding Reference.

- Project > Add Reference > Assemblies, Search


- WindowsBase, PresentationCore, PresentationFramework

317
Designing Projects - Designing with Custom Libraries

Add IPA AddIn reference.


- IPA.AddIn.dll, IPA.Common.dll
(Browse designer install directory)
- Copy Local: Set as False.

Set extra external library reference if needed.


- Add directly using Add Reference.
- Install by Manage NuGet Packages.

318
Designing Projects - Designing with Custom Libraries

Setting up Designer debugging.

Switch the Designer Run operation mode (PlayInBot OFF)


- Modify the Designer.config file in the installation path.Change the value of the PlayInBot properties
to False from True. <UserSetting category="Designer" group="Engine" name="PlayInBot" value="false"
isReadOnly="false" valueType="bool" />

* PlayInBot OFF mode:


The mode that drives the engine directly for scenario operation instead of being executed by IPA.BOT
when it is being run in Designer. The default mode (PlayInBot ON) operates the scenario by
IPA.BOT.exe when it is being run in Designer so the OnRun code of AddIn Activity will not be
debugged.
(Debugger connection between IPA.BOT.exe process and the Visual Studio is needed.)

* Caution)
Return to PlayInBOT ON mode after development is complete because when PlayInBOT is in OFF
mode, the Designer can be stopped or terminated abnormally by a flaw in the activity code, a
Windows object recognition malfunction or system error.

319
Designing Projects - Designing with Custom Libraries

Implementing the AddIn

Implement the AddIn Class. Description

1 Implement the AddIn Class.


- Keep the class name as AddIn.
- Inherit the RPAGo, AddIn, ActivityAddInBase.

2 Implement the Abstract class of ActivityAddInBase.


- Auto complete default code
(Alt+Enter & Implement Abstract Class)

320
Designing Projects - Designing with Custom Libraries

- AddInDisplayName
- AddInIcon
- AddInOverIcon
- CreateActivites()

Implementing the Activity Declarative.

321
Designing Projects - Designing with Custom Libraries

322
Designing Projects - Designing with Custom Libraries

Activity declarative. Description

1 Add the Activity class.


- Add a class in Project/Activities/.
- Inherit the RPAGo.AddIn.IActivityItem interface.
- Generate the IActivityItem interface default code (Alt+Enter & Implement
interface)

2 Define Property List of Activity


- Define the displayed properties on the Designer Property View.
- Define PropKey by property (PropertyGroup Name, Property Name)
- GroupName_PropertyName is the unique value.
● Set the detailed specification by property in OnCreateProperties( ).

3 Implement Activity information.


- DisplayName: Activity name displayed on the library view and Activity Card.
- Icon: Activity icon
- Mode: BackgroundOnly (headless project only), FoergroundOnly (normal project
only), Both (both headless and normal project)

323
Designing Projects - Designing with Custom Libraries

Activity declarative. Description

DisplayTextProperty: The representative property to display on the activity card.


OutputProperty: Object to set as Output within properties.

Implement OnCreateProperties

- Property constructor
Owner: this (the fixed value as the present Activity)
Key: PropKey (the unique value)
Value: Default Value

324
Designing Projects - Designing with Custom Libraries

(Control figure displayed on the property view depends on the data type of value)

- SetRequired: Setting required value. If you do not enter a value, a warning pops up when saving and
the program will not start running. (Display * on the properties window)

-SetControlType: Set the control to display on the property view regardless of the data type of value.
(Provide the default control list to PropertyControls and PathControl Type. The creation of Custom
control, not the default control list, needs an extra development guide.)

Implementing Activity Execution

325
Designing Projects - Designing with Custom Libraries

Implement the OnRun

- The value entered in the property window for the property declared in OnCreateProperties is
entered as the Dictionary type.
- Implement the needed action using PropKey (String) as a key to get the value.
- If the OutputProperty is defined (not null), set the return value of OnRun. (If not, return null)

Setting the multilingual string resource.

Setting the multilingual Description


string resource.

1 Create string resource files by language.


- Create String-[LanguageCode].xml under the Project/Resources/String folder

2 Set the resource for Message output (Title * Contents)

3 Set the resource for display on the Property view

326
Designing Projects - Designing Headless Process

Setting the multilingual Description


string resource.

4 Set the resource for Property Description (ToolTip Help Description)


● Enter the Key format of the string resource in the specified form as
shown in the sample at the top

4.4 Designing Headless Process

Headless mode performs automation in the system background without GUI.

The features of the headless mode are as follows.

● Up to 10 processes can be performed at the same time.


● It uses orchestrator library to act like process flow.
● Performs only with the Headless bot. For more information, see 8.2 Running Bot.

When creating the project, select New Headless Project, then a Headless project is created.

327
Designing Projects - Designing Headless Process

Library list only displays the library that can be used in Headless mode.

328
Designing Process Flows - Designing with Processes

5.
Designing Process Flows

A process flow is a schematic diagram that shows the sequence and flow of handling many processes.
The method of designing a process flow is similar to a project, with some differences. This chapter
focuses on the differences.

"Designing process flow" explains the following topics:

● Designing with Processes


● Designing with the Library

5.1 Designing with Processes

A process flow allows you to design by combining a number of processes published to the server.

"Designing with Processes" explains the following topics:

● Adding a Process
● Adding Waiting Action

Adding a Process

Follow the next steps to design a process flow by searching the process deployed on the server.

To search for a process, you must log in to the server first.

329
Designing Process Flows - Designing with Processes

1. In the search bar of the process search screen, enter a search phrase, and click Search.

2. Right-click the process to add and click Add Process.

3. On the process flow library screen, search for CallProcess, and drag to add to the flowchart.

4. Enter the information of the process to call from the Properties screen.

The process will be added.

• Only the information of the process imported to the process flow will be searched.
• If there is input value or output value in the process, enter it in the Properties screen.

Adding Waiting Action

A process flow is an asynchronous method that is not performed in order. If a process must be
performed in order, an action of waiting until the previous process ends must be applied.
For example, if a mail writing process must be performed after completing a login process, add
WaitForMultipleEvent library between these two processes.

330
Designing Process Flows - Designing with the Library

No. Description

1 Logging In

2 Waiting for the completion of the "Logging in" process

3 Writing Email

4 Waiting for the completion of the "Writing email" process

5.2 Designing with the Library

You can design a process flow using the library.


For information on how to add and edit activities using library, see "4.2 Designing with the Library."

"Designing with the Library" explains the following topics:

● Details of the Process Flow Library

Details of the Process Flow Library

CallProcess (Performing Specific Process)

CallProcess performs processes specified by the user. The process must be published in the server. If
there is an input value to send or an output value to receive, this must be specified at the same time.

Table 5-1 CallProcess Properties

331
Designing Process Flows - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input Excutio Requir String Text Use when performing a process in the same bot as the process
nBot ed performed before. To use this feature, select the result variable
of the process performed before or leave it blank if you do not
want to use it.

Output Result Requir String Text Specify the variable to save information on the performed result
ed of the process.

Conditi Process Conditi True/ - Select ID of the process to perform. Only the process added
ons ID onal False through search appears on the list. Input and output values may
Input change, depending on the selected process.

If (Decision-making)

You can create True or False branching statements that perform different actions depending on the
conditions. The If/else statement of JavaScript is as follows:

Table 5-2 If Properties

Catego Proper Set whether Type Input Description


ry ties to be required range/
Unit

Input - - - - -

Output - - - -

Conditi Expres Required String Text Enter conditional statement.


on sion You can enter many conditional sentences using
operators such as && or ||.

332
Designing Process Flows - Designing with the Library

For (Repetition)

You can create a loop This is same as the loop statement of JavaScript.

Table 5-3 For Properties

Category Propertie Set whether to be Type Input Description


s required range/
Unit

Input - - - - -

Output - - - -

Condition Initialize Required String Text Enter the initial value of index.

Condition Required String Text Enter the condition of index.

Update Required String Text Enter the updated content of


index.

Foreach (Importing List Items in Order)

You can create a loop to import list items in order. This is same as the foreach statement of JavaScript.

Table 5-4 Foreach Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input - - - - -

Output - - - -

Conditi For List Required String Text Enter variable of the list type with data.
on
Each Item Required String Text Enter the variable to allocate item one by one
from the list type.

For-of / Required String Text Use for the same purpose as JavaScript syntax.
For-in

While (Performing for Specific Conditions)

333
Designing Process Flows - Designing with the Library

You can create a loop to perform up to specific conditions. This is same as the while statement of
JavaScript.

Table 5-5 While Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

Output - - - -

Condition Expression Required String Text Enter while statement.

AddDateTime (Adding the Date and Time Information)

Add the desired date and time information to the entered value and assign it to the variable.

Table 5-6 AddDateTime Properties

Category Properti Set whether to be Type Input Description


es required range/
Unit

Input - - - - -

Output Variable Required String Text Select the variable to save time
information.

Condition T i m e Required Event - Select the time unit.


s Unit

Add Required Numbe Number Enter the time value to add as numbers.
r

Input Required Numbe Date-Time Enter the base time information to be


r changed.

Assign (Assigning a Variable)

You can assign a value to the variable.

Table 5-7 Assign Properties

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Input - - - - -

334
Designing Process Flows - Designing with the Library

Categor Propertie Set whether to be Type Input Description


y s required range/
Unit

Output Variable Required String Text Specify the variable to allocate value.

Activity Value Required String Text Enter the value to allocate to the
variable.

AssignDateTime (Setting the Date and Time Information)

AssignDateTime assigns the desired date and time information to the variable.

Table 5-8 AssignDateTime Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Variabl Requir String Text Select the variable to save time information.
e ed

Conditi Time Requir Numbe Date-Ti Enter time information to set.


ons ed r me

To UTC Requir True/F - Select whether to convert time information to UTC. If set to true,
ed alse the runtime converts the time information to UTC on a Locale
basis.

Locale Requir Event - Select Locale information. If UTC option is set to true, Locale
ed information is utilized.

WriteApproval (Reporting Approval)

WriteApproval allows the users to execute tasks of reporting approval, based on the information they
entered.

Table 5-9 WriteApproval Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

335
Designing Process Flows - Designing with the Library

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Output Result Required String Text Specify the variable to save information of the report
approval result.

Conditi Title Required String Text Enter the title of report approval. Enter content
ons without single quotation marks.

Conten Required String Text Enter the content of report approval. Enter content
ts without single quotation marks.

Approv Required Event - Enter the approval path information.


al Line

RequestAsset (Requesting Asset)

RequestAsset uses in the process flow by requesting an asset in the server. For example, if a notice
title template string for public use is registered as asset, you can receive the value through
RequestAsset.

Table 5-10 RequestAsset Properties

Catego Proper Set whether to Type Input Description


ry ties be required range/
Unit

Input - - - - -

Output Variabl Required String Text Select the variable to save the requested asset object
e value.

Conditi Asset Required Event - Select the asset to request. Only the items added as
ons public asset will appear on the list.

RequestAsset is used alone without having to add WaitForMultipleEvents.

WaitForMultipleEvents (Waiting to Perform an Event)

In case of trying to perform the next action after one action is complete in a process flow performed
as asynchronous method, you must use WaitForMultipleEvents. You can wait to complete one or more
actions. An instance where at least one action gets completed and an instance where all actions get
completed as options.

336
Designing Process Flows - Designing with the Library

Table 5-11 WaitForMultipleEvents Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Result Requir String Text Select the variable to save result information.
ed

Conditi W a i t Requir True/F - Select whether to wait until all events are generated, or wait
ons All ed alse until at least one event is generated. For example, if set to False
when waiting to perform five processes, proceed to the next
process when one of the five processes is complete.

Stop Requir True/F - Stop the process flow if any one of the waiting event fails.
O n ed alse
Error

Wait Requir Event - Select the event to wait for. Select the variable where the
For ed performed result of the event is saved. Click Click here to add
new item to add the event to wait for. Click to delete.

WaitEmail (Waiting to Receive Mail)

WaitEmail waits for the mail containing the information specified by the user and then performs a
specific action when the mail arrives. You must enter the string information to include in sender and
recipient account information and title.

Table 5-12 WaitEmail Properties

337
Designing Process Flows - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Result Conditi String Text Enter the variable to import specific email and standby. The
onal result variable can be entered in WaitForce of the
WaitForMultipleEvent to wait for the specified email to be
received.

Conditi Server Requir String Text Enter the server URL where the email is located within single
ons URL ed quotation marks.

Receiv Requir String Text Enter password of the account to receive mail. If you select
er PW ed asset, enter asset variable of the saved password. If you select
input, enter password of the account directly.

Mail Check Requir Event - Select method to check email.


Mail ed

Receiv Requir String Text Enter recipient ID (email address) within single quotation
er ed marks.

Snende Requir String Text Enter sender ID (email address) within single quotation marks.
r ed

Subject Requir String Text Enter the name of the email to import within single quotation
ed marks.

Begin Requir String Date-Ti Enter the start time to import email.
Time ed me

E n d Requir String Date-Ti Enter the end time to import email.


Time ed me

To UTC Requir True/F - Set whether to use the UTC(Coordinated Universal Time).
ed alse

Locale Requir Event - Select local time to use as base time.


ed

WaitHttp (Waiting for URL Connection)

WaitHttp waits for the temporarily created URL to be called. It is mainly performed for the account
authentication of the user. Wait until the user connects to the URL sent via mail, messenger or SMS,
etc.

338
Designing Process Flows - Designing with the Library

Table 5-13 WaitHttp Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Variabl Requir String Text Select the variable to save the value of result object. This is
e ed necessary to easily use from another library after saving the
received URL value.

WaitUr Requir String Text Enter the URL address to wait.


l ed

WakeUp (Waiting Until Specific Time)

WakeUp waits until the specific time specified by the user. For example, the user adds WakeUp before
the CallProcess library and specifies time if a specific process is desired to be performed at 3 a.m. If
the server requests to perform the process flow, the process is performed at 3 a.m. after waiting in
this library stage.

Table 5-14 WakeUp Properties

Category Propertie Set whether to be Type Input Description


s required range/
Unit

Input - - - - -

Output Result Required String Text Select the variable to save result
object.

Condition Time Required Number Date-Time Set the time to perform action.
s
To UTC Required True/Fals -
e

Locale Required Event - Select local time to use as base


time.

ExecuteScript (Inputting User-defined Script)

You can enter a user-defined script. The script must be written using JavaScript grammar.

339
Designing Process Flows - Designing with the Library

Table 5-15 ExecuteScript Properties

Catego Propertie Set whether to be Type Input Description


ry s required range/
Unit

Input - - - - -

Output - - - - -

Script Script Required String Text Enter the user defined script.
Double-click the text box to use
ScriptEditor.

Delay (Delaying Time)

You can delay as much as the time defined by the user.

Table 5-16 Delay Properties

Category Properties Set whether to be Type Input range/ Description


required Unit

Input - - - - -

Output - - - - -

Time Second Required Number Second Enter time in seconds.

Millisecond Required Number Milliseconds Enter time in milliseconds.

TerminateFlow (Terminating Flow)

You can terminate the flow that is operating. This is the same as the return statement in JavaScript..

Table 5-17 TerminateFlow Properties

Category Propert Set whether to be Type Input Description


ies required range/
Unit

Input - - - - -

Output - - - - -

Condition Result Required String Text Enter return value when the flow is
s terminated.

340
Designing Process Flows - Designing with the Library

Break (Breaking Loop)

You can jump out of the loop at the time that the user has defined while in a loop. This is the same as
the break statement in JavaScript.

Table 5-18 Break Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

Output - - - - -

Continue (Continuing Loop)

You can move on to the next loop cycle at the time that the user has defined while in a loop. This is the
same as the continue statement in JavaScript.

Table 5-19 Continue Properties

Category Properties Set whether to be required Type Input range/ Description


Unit

Input - - - - -

Output - - - - -

SendMail (Sending Email)

You can send an email using SendMail by setting the recipient, title, and body.

Table 5-20 SendMail Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Result Conditi String Text Enter the variable to import specific email and standby. The
onal result variable can be entered in WaitForce of the
WaitForMultipleEvent to wait for the specified email to be
received.

Mail Receiv Requir String Text Enter recipient ID (email address) within single quotation

341
Designing Process Flows - Designing with the Library

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

er ed marks.

CCs Requir String Text Enter referrer ID (email address) within single quotation marks.
ed

BCCs Requir String Text Enter hidden referrer ID (email address) within single quotation
ed marks.

Subject Requir String Text Enter the title of email to send within single quotation marks.
ed

Body Requir String Text Enter the body of email to send within single quotation marks.
ed

isHtml Requir True/F - Set whether to send in HTML.


ed alse

CallRestAPI (Calling the RestAPI)

The result value can be returned in the form of Text, Text/planin, application/json, application/xml,
and multipart/form-data through the RestAPI call.

Table 5-21 CallRestAPI Properties

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Input - - - - -

Output Result Conditional String Text Enter the variable to return after calling RestAPI.

Conditi M e t h o Required - - Select the RestAPI call method. (GET, POST)


ons d

Conten Required - - Select the ContentType. (Text, Text/planin,


tType application/json, application/xml, multipart/form-data)

URL Required String Text Enter the RestAPI call URL.

Author Optional String Text Enter the RestAPI call Authorization.


ization

ProxyU Optional String Text Enter the RestAPI call ProxyURL.


RL

Header Optional String Text Enter the RestAPI call Header.

342
Designing Process Flows - Designing with the Library

Catego Proper Set whether Type Input Description


ry ties to be range/
required Unit

Body Optional String Text Enter the RestAPI call Body.

SendKnoxMessage (Sending Message)

You can send the message through the KnoxMessage. A variety of follow-up processes will proceed by
MessageType.

Table 5-22 SendKnoxMessage Properties

Catego Proper Set wh Type Input Description


ry ties ether range/
to be r Unit
equire
d

Input - - - - -

Output Result Conditi String Text Enter the variable to wait for a specific messenger Enter the
onal result variable to the Wait For of WaitForMultipleEvent, and
wait to receive the specified messenger.

Activit Messag Requir String Text Enter the message to send.


y e ed

Conditi Messag Requir - - Select the Message Type (No Wait, Wait OK, Wait OK/Cancel,
ons eType ed Wait Yes/No, Wait Yes/No/Cancel, Wait abort/Retry/Ignore, Wait
Retry/Cancel, Wait Message)

Mail Receiv Requir String Text Enter the KnoxMessage recipient ID (email address) within
er ed single quotation marks.

343
Following Process Flow Examples

6.
Following Process Flow
Examples
See how to design a work automation process by example. Design a work automation process as an
example, assuming that you are creating a work process for business support. By creating a work
automation process, you can learn about the various library and activity properties and how to use
them.

The task order and details of examples for implementing the work automation process are as follows:

1 Signing in to Gmail

1. Creating a New Project

2. Creating a New Task

3. Accessing the Gmail website

4. Setting ID and Password

5. Trying it out

2 Save to Excel after Capturing the Screen.

1. Creating a New Task

2. Setting Screen Capture.

3. Creating an Excel file, inserting the captured screen, and setting the screen size

4. Save the Excel file and configure shutdown.

5. Trying it out

3 Sending Email to Myself with the Excel File Attached.

1. Creating a New Task

2. Composing email and configuring transmission.

3. Trying it out

345
Following Process Flow Examples - Signing in to Gmail

4 Signing out of Gmail.

1. Creating a New Task

2. Setting up Gmail logout

3. Trying it out

5 Link the Tasks to Organize Process

1. Renaming the Default Process Name

2. Linking tasks to Process

3. Trying it out

6.1 Signing in to Gmail

Create a process to sign in to your Gmail.

"Signing in to Gmail" explains the following topics:

● Creating New Project (Project Name: RPA_Exercise)


● Creating a New Task (Task Name: Gmail_Login)
● Accessing the Gmail website
● Setting Id and Password
● Executing

Creating New Project (Project Name: RPA_Exercise)

To create a new project, complete the following steps:

1. Click > New.

2. Click New project.

3. On the "New Project" pop-up window, enter the name and description of the new project.

346
Following Process Flow Examples - Signing in to Gmail

4. Click CREATE.

A new project is created.

Creating a New Task (Task Name: Gmail_Login)

To create a new task, complete the following steps:

1. On the project screen, right-click TASK and click New Task.

347
Following Process Flow Examples - Signing in to Gmail

2. On the "New Task" pop-up window, enter the name of the new task to create and click CREATE.

A new task is created and the design screen will launch.

Accessing the Gmail website

To set Gmail login for an activity, complete the following steps:

1. Open the Gmail homepage using the Internet Explorer browser.


○ Click Gmail > Login at the top right of the Google homepage (https://www.google.com).
○ Or enter "https://accounts.google.com/signin/v2/identifier?continue=https%3A%2F%2Fptop.only.wip.la%3A443%2Fhttps%2Fmail.go
ogle.com%2Fmail%2F&service=mail&sacu=1&rip=1&flowName=GlifWebSignIn&flowEntry=Se
rviceLogin" in the URL address window.

2. Drag the OpenBrowser from the web library ( ) and connect it with the link(arrow) in the chart.

348
Following Process Flow Examples - Signing in to Gmail

3. Enter Gmail homepage address on the Activity URL located on the right side of the designer
properties area.
○ URL: 'https://accounts.google.com/signin/v2/identifier?continue=https%3A%2F%2Fptop.only.wip.la%3A443%2Fhttps%2Fmail.google.
com%2Fmail%2F&service=mail&sacu=1&rip=1&flowName=GlifWebSignIn&flowEntry=Servic
eLogin' (including single quotation marks)

349
Following Process Flow Examples - Signing in to Gmail

Setting ID and Password

Configure the chart to click the login button after entering the ID and password on the Gmail login
window.

To specify an ID and Password in an activity, complete the following steps:

1. Drag the TextInput from the app library ( ) and connect it with the link(arrow) in the chart.

2. Specify an ID for the linked node.

To specify an ID in an activity, complete the following steps:

a. On the node, double-click No Target > Double click to select.

b. Put the mouse over the ID input window on the Gmail screen and click after the red box has
been selected.

c. Click NO for the pop up asking whether to check the object index.

350
Following Process Flow Examples - Signing in to Gmail

d. Enter an ID (email address or mobile phone) in the Input Text item of the right side of the
designer properties.

3. After you entered the ID, drag the Click in the App Library ( ) to connect to the bottom of the
node for ID entry in the chart to click Next button.
○ Link the second node blow the first node. Drag it below the first node in the chart, just like the
method used for linking arrow.
○ The readability of the entire chart will increase if continuous actions(login) are grouped and
connected below.

4. To Specify password, drag a TextInput from the App library ( ) and connect it to the bottom of
the next button click node in the chart.

5. Specify password in the same method as ID.


○ Set password properties to Secure, so that it is not exposed to others. It is not necessary for the
text of the Secure property to be enclosed in single quotation marks(''). (Enter the actual
password, which will be masked with asterisks (*) and registered.)

6. After you entered the password, drag the Click in the App Library ( ) to connect to the bottom of
the node for ID entry in the chart to click Next button.

7. Specify the object to click (Next button) same as specifying an ID.

351
Following Process Flow Examples - Save to Excel after Capturing the Screen.

Executing

Click Run on the upper toolbar to check if the designed process is running properly without

errors

● Make sure you log out of your Gmail website before executing, then close the Internet Explorer.
● If a pop-up window is displayed asking whether you want to minimize the Designer, check 'Do not
ask again' and click YES.

6.2 Save to Excel after Capturing the Screen.

Create a process for capturing screens and inserting them into an Excel file or resizing the screens and
saving them in Excel.

Create the process that captures the screen, inserts it into an Excel file, and saves the Excel file after
resizing the screen.

● Creating a New Task (Task Name: Excel_Work)


● Setting Screen Capture.
● Creating an Excel file, inserting the captured screen, and setting the screen size
● Save and Close Excel File.
● Executing

352
Following Process Flow Examples - Save to Excel after Capturing the Screen.

Creating a New Task (Task Name: Excel_Work)

Create a new task with the name of "Excel_Work" within the project RPA_Excercise.

Configuring Screen Capture

To set up capturing a screen in an activity, complete the following steps:

1. Drag Screenshot (Alt+PtrSc) in the System library( ) to connect with the link(arrow) in the
chart.

353
Following Process Flow Examples - Save to Excel after Capturing the Screen.

2. In the property area on the right side of the designer, set FullScreen command properties to
True.

354
Following Process Flow Examples - Save to Excel after Capturing the Screen.

Creating an Excel file, inserting the captured screen, and


setting the screen size

To create an Excel file, insert the captured screen, and resize the inserted screen in an activity,
complete the following steps:

1. Drag NewExcel in the Excel library ( ) to connect with the link(arrow) in the chart.

2. Then, click Click here to add new item located at the bottom variable area. Enter 'excel_id',
variable to generate Excel.

3. Select NewExcel in the chart again, and set the Excel property of the output to 'this.excel_id' in
the property area on the right side of the designer.

355
Following Process Flow Examples - Save to Excel after Capturing the Screen.

4. Drag SelectRange from the Excel library ( ) to link below the NewExcel node in the chart.

5. In the properties area on the right side of the designer, set the individual properties of
SelectRange as follows.
○ Excel property of Input: this.excel_id

i. Sheetname property of the sheet: 'Sheet1' (including single quotation marks)

ii. Range property of the sheet: 'A1' (including single quotation marks)

356
Following Process Flow Examples - Save to Excel after Capturing the Screen.

○ It means that select the cell A1 on the Sheet1 within a new excel file (excel_id) created by
NewExcel.

6. Drag Paste(Ctrl+V) of the System library ( ) to connect to the bottom of the SelectRange to
paste the screenshot from the clipboard into the selected Excel sheet.

7. Drag RightClick in the App library ( ) to connect with the link(arrow) in the chart.

357
Following Process Flow Examples - Save to Excel after Capturing the Screen.

8. Specify the object of RightClick as the screenshot of currently opened Excel.

9. Drag Click in the App library ( ) to connect with the link(arrow) in the chart.

358
Following Process Flow Examples - Save to Excel after Capturing the Screen.

10. Specify the screenshot image of the Click object as "size and property" that appears when
right-clicking the menu.
○ To select a hidden object, such as a submenu, press the Ctrl key on the keyboard and move the
target object when the border turns green. Press Ctrl key again and if the border turns red,
click to specify.

11. Drag TextInput from the App library ( ) and link below the Click node to set the screen shot
image size.

359
Following Process Flow Examples - Save to Excel after Capturing the Screen.

12. Set the screen size on the linked node.


○ When specifying, specify only the space for entering numbers.

13. Enter the screen size (for example: '10') in the Text category in the properties on the right side of
the Designer, and set the Done (Enter) property of the activity area to True.

360
Following Process Flow Examples - Save to Excel after Capturing the Screen.

Save and Close Excel File

Save the completed Excel as 'test.xlsx' in the 'C:\' directory and configure the chart to close.

To set up saving an Excel file and exiting it, complete the following steps:

1. Drag SaveExcel in the Excel library( ) to connect with the link(arrow) in the chart.

361
Following Process Flow Examples - Save to Excel after Capturing the Screen.

2. In the properties area on the right side of the designer, set the properties of SaveExcel as follows.
○ Excel property of Input: this.excel_id
○ SaveAs property of the file 'C:\\test.xlsx' (Set directory and file name to be saved)

3. Drag CloseExcel in the Excel library ( ) to connect with the link(arrow) in the chart.

4. Specify Excel item Input to 'this.excel_id' within the property area on the right side of designer.

362
Following Process Flow Examples - Sending Email to Myself with the Excel File Attached

Executing

Click Run on the upper toolbar to check the designed process is run properly.

6.3 Sending Email to Myself with the Excel File


Attached

Create a process for drafting a mail that has an Excel file attached and sending it to your own mail.

"Sending Email to Myself with the Excel File Attached" explains the following topics:

● Creating a New Task (Task Name: Mail_Send)


● Sending the email and setting the transmission
● Executing

Creating a New Task (Task Name: Mail_Send)

Create a new task with the name of "Mail_send" within the project IPA_Excercise.

363
Following Process Flow Examples - Sending Email to Myself with the Excel File Attached

Sending Email and Setting the Transmission

To set up mail drafts in an activity, complete the following steps:

1. Sign in to your Gmail page.

2. Drag Click in the App library ( ) to connect with the link (arrow) in the chart.

3. Set the object of Click as 'Writing email' in Gmail.

364
Following Process Flow Examples - Sending Email to Myself with the Excel File Attached

4. To compose the title of an email on compose window, drag TextInput in the App library ( ) to
connect with the link(arrow) in the chart.

5. Specify the TextInput object to the 'Subject' field in the Gmail compose window.

365
Following Process Flow Examples - Sending Email to Myself with the Excel File Attached

6. In the property area on the right side of the designer, set the Input text item to 'Sample Mail'.

7. Specify the Done(Enter) property False.


○ Set it to False, sending email after entering the title would not be carried out immediately.

366
Following Process Flow Examples - Sending Email to Myself with the Excel File Attached

8. Specify recipient, CCs, BCCs, body content, etc. in the same method as specifying the title.

9. To specify the attached file on compose window, drag Click in the App library ( ) to connect
with the link (arrow) in the chart.

10. Specify the Click object to the 'attachments' button in the Gmail compose window.

367
Following Process Flow Examples - Sending Email to Myself with the Excel File Attached

11. To specify the Attachments (selecting path and file), drag TextInput in the App library ( ) to
connect with the link (arrow) in the chart.

12. Specify the TextInput object to 'File name' in the file upload window.

13. In the property area on the right side of the designer, set the individual properties of TextInput
as follows.
○ Input Text property of Activity: 'C:\\test.xlsx' (with single quotation marks)

368
Following Process Flow Examples - Sending Email to Myself with the Excel File Attached

○ Done(Enter) property of the activity: True

14. To send the composed mail, Drag Click from the app library ( ) and connect it with the
link(arrow) in the chart.

15. Specify the Click object to 'Send' button.

369
Following Process Flow Examples - Signing out of Gmail

Executing

Click Run on the upper toolbar to check the designed process is run properly.

6.4 Signing out of Gmail

Create a process for logging out of Gmail.

"Signing out of Gmail" explains the following topics:

● Creating a New Task (Task Name: Gmail_Logout)


● Setting Log out
● Executing

Creating a New Task (Task Name: Gmail_Logout)

Create a new task with the name of "Gmail_Logout" within the project IPA_Excercise.

370
Following Process Flow Examples - Signing out of Gmail

Setting Log out

To set up Gmail logout for an activity, complete the following steps:

1. To log out, Drag Click from the app library ( ) and connect it with the link(arrow) in the chart.

371
Following Process Flow Examples - Link the Tasks to Organize Process

2. Specify the Click object to 'Log out' button.

Executing

Click Run on the upper toolbar to check the designed process is run properly.

6.5 Link the Tasks to Organize Process

Finally, create a process that links all four tasks created earlier.

"Link the Tasks to Organize Process" explains the following topics:

● Renaming the Default Process Name


● Linking tasks to Process
● Executing

372
Following Process Flow Examples - Link the Tasks to Organize Process

Renaming the Default Process Name

To change the process name, complete the following steps:

1. On the project screen, right-click MyProcess to change the name and click Rename.

2. "Rename" pop-up window to change name: Enter RPA_Exercise_p) and click Confirm.

Linking tasks to Process

To connect designed task to a process, complete the following steps:

1. Double-click process (IPA_Exercise_P) to open flowchart.

373
Following Process Flow Examples - Link the Tasks to Organize Process

2. Drag the four tasks created earlier to the process chart and link them in the following order :
Gmail_Login → Excel_Work → Mail_Send → Gmail_Logout.

Executing

Click Run on the upper toolbar to check the designed process is run properly.

Before executing the process, check the followings.

● Check whether your Gmail account is signed out.


● Check whether the Excel application is closed.

Check the process execution directly or check Log, received mailbox, etc. to see if it is running
properly.

374
Linking to Server - Preparing Server Linkage

7.
Linking to Server

You can publish a project or process flow you have worked on by connecting Designer to the server.
You can also edit or use by downloading a project or process flow published in the server.

"Linking to server" explains the following topics:

● Preparing Server Linkage


● Activating and Logging in
● Publishing project and process flow
● Importing project and process flow
● Using Shared Resources

7.1 Preparing Server Linkage

You can connect to the server. To connect the server, you need a designer ID and a license key.

To connect to the server, complete the following steps:

1. Generate a designer ID and a license key.

2. Create an account.

3. Click > Settings > Server Setting.

4. Enter Server IP/Server Port and click OK.

375
Linking to Server - Activating and Deactivating

The server address will be set up.

7.2 Activating and Deactivating

To connect the server, you must activate Designer and log in.
A designer ID and a license key issued from the server are required.

"Activating and Deactivating" explains the following topics:

● Activating
● Deactivating

376
Linking to Server - Activating and Deactivating

Activating

If you are connecting to the server for the first time or have changed the designer ID/license key,
activate the Designer first.

To activate Designer, complete the following steps:

1. Click > Settings > License Setting.

2. Enter the license key on the "Designer Info" pop-up and click Activate. The Designer ID will be
entered automatically when the Activation is complete.

Figure 7-1 Activate License

Designer is activated.

Deactivating

You can deactivate the Designer after connecting to the server

To deactivate the RPA Designer, complete the following steps:

1. Click > Settings > License Setting.

377
Linking to Server - Activating and Deactivating

2. Click Deactivate on the "Designer Info" pop-up. Enter the password on the login window to
finish.

Figure 7-2 Deactivate License

The RPA Designer will be deactivated.

378
Linking to Server - Logging In and Logging Out

7.3 Logging In and Logging Out

To connect the server, you must activate Designer and log in.
A designer ID and a license key issued from the server are required.

"Logging in and Logging out" explains the following topics:

● Logging In
● Logging Out

Logging In

Log in using the account issued from the server.

To log in, complete the following steps:

1. Click on the Designer screen.

Figure 7-3 Login

2. Enter ID/password generated from the server and click LOGIN.

379
Linking to Server - Setting User Profile Image

The login will be completed.

Logging Out

To log out, complete the following steps:

1. Click on the Designer screen.

Figure 7-4 Logout

2. Click Logout.

The logout will be completed.

7.4 Setting User Profile Image

380
Linking to Server - Setting User Profile Image

Setting User Profile Image

To set the user profile image, complete the following steps:

1. Log in through the BrityWorks portal.

Figure 7-5 Login

2. Click Edit Personal Info.

381
Linking to Server - Setting User Profile Image

3. Click Change photo.

4. Select the photo file and click Change.

382
Linking to Server - Publishing Project and Process Flow

5. Restart the Designer and log in to change an image.

7.5 Publishing Project and Process Flow

You can publish a project or process flow you are working on in Designer to the server. The published
project or process flow can be executed using a bot after activating from the server.

To publish your project or process on the server, complete the following steps:

1. Click > Publish.

2. Click OK on the "Confirm" pop-up.

383
Linking to Server - Importing Project and Process Flow

A project or process flow will be published to the server.

7.6 Importing Project and Process Flow

You can import a project or process flow published in the server. Edit or execute the imported project
or process flow in the local Designer.

To import a project or process flow from the server, complete the following steps:

1. Click > Import.

2. Select Project or Process Flow and click Import.

3. Select the imported project or process flow and click IMPORT.

384
Linking to Server - Using Shared Resources

The imported project or process flow will be added.

7.7 Using Shared Resources

You can check the shared resources registered in the server and use by importing to the Designer if
necessary. Use the resources added to a project in the properties window of library.

To use a shared resource, complete the following steps:

1. Click Shared Resource to move to the shared resource screen.

2. Click Click here to add new item.

3. The shared resource list added to the server will appear.

4. Select the resource to import from the shared resource list registered in the server and click
IMPORT.

385
Linking to Server - Using Shared Resources

The selected resource will be added to the current project.

386
Linking to Server - Using Shared Resources

The added resource can be used with the variable.

If you log in with other tenants, the shared resources which have been imported before are
not able to be used because the shared resource is Tenant-dependent. (Displayed as
#Removed#)

Using Credential Resource

If the shared resource type is a Credential resource type, it can only be used in the activity following
even if it is added to the project.

● CredentialSetText(App)
● CredentialTextInput(App)
● CredentialSetText(SAP)
● CredentialWebSetText(Web)

The Credential resource is used mainly with secured data, such as passwords. The Designer
can not check the values at random, so you can use the Credential resource as a powerful
means of protecting information that should not be exposed.

387
Using RPA Bot - Setting up Use Environment

8.
Using RPA Bot

You can build a work automation environment using Bot.

"Using Bot" explains the following topics:

● Setting up Use Environment


● Running Bot

8.1 Setting up Use Environment

You can set a server and license for using a Bot.


To use Bot, you must generate a Bot ID and a license key from the server.

To set the usage environment for a Bot, complete the following steps:

1. Click Setting > Setting.

2. Enter the server IP and server port in the Server tab and click OK.

389
Using RPA Bot - Setting up Use Environment

3. Enter the license key from the License tab and click OK.

390
Using RPA Bot - Running Bot

Setting up the use environment is complete.

8.2 Running Bot

You can run the bot after setting up a server IP, client ID, and license key.

To run a Bot, complete the following steps:

1. Select Headless Mode first to run only the headless bot.

2. Click File > Connect.

391
Using RPA Bot - Deactivating Bot

The Bot has started.

8.3 Deactivating Bot

To deactivate the Bot, complete the following steps:

1. Right-click BrityWorks Bot icon on the icon tray and select Open.

2. Click Deactivate.

392
Using RPA Bot - Deactivating Bot

393
Troubleshooting - Problems related to Installation and Registration

Appendix A.
Troubleshooting

This chapter describes the problems are often arise and troubleshooting.
"Troubleshooting," explains the following topics:

● Problems related to Installation and Registration


● Problems related to Writing and Executing Automation Scenario
● Problems related to Linking Servers
● Problems related to the Bot
● Problems related to VDI operation
● Problems related to Publish
● Problems related to Bot VDI installation
● Problems related to Designer Activation
● Problems related to using Designer

A.1 Problems related to Installation and


Registration

Situation: Designer and Bot are not activated.

Solution: Designer and Bot may not be activated if the certificate is not installed properly.
Install the auth_server.cer, AUTH_SERVER_CERTIFICATE.crt certificate again as shown below.

1. Click Install Certificate.

2. Click Next in the certificate importing wizard.

395
Troubleshooting - Problems related to Writing and Executing Automation Scenario

3. Select Save all certificates to the repository below and click Find.

4. Select the path to save certificate and click OK.

5. Click Next.

6. Confirm that the certificate is saved and click Finish.

Situation: The new version cannot be installed.

Solution: Install the new version after closing Designer or Bot of the previous version.

A.2 Problems related to Writing and Executing


Automation Scenario

Situation: I want to click a sub-menu among app menus. If I press an upper menu to
open a sub-menu, it is specified as a target UI object and the desired menu cannot be
selected.

Solution: When having to select the target UI after clicking the UI object of the previous stage, such as
a sub-item of an app menu or a context menu, the UI object clicked in the previous stage is specified as
the target UI object. The same problem occurs when having to move to the relevant screen, because
there is no UI object to specify on the screen.
In this case, you can stop specifying the target temporarily by pressing the Ctrl key on the keyboard.
Then, you can start specifying the target again by pressing the Ctrl key again.

396
Troubleshooting - Problems related to Writing and Executing Automation Scenario

Situation: An error occurs when performing a target UI object test.

Solution: The property values that can be edited, such as Name or Value are handled the same way as
a script code when creating a script.
Therefore, common strings must be entered inside the quotation marks and you may enter variables
without quotation marks. The screen above shows an error when a variable is specified in the Name
property. Because the value of the variable is decided at the time of execution, the value cannot be
used during the test of the scenario writing stage.
Or if the quotation marks are omitted while inputting a string, an error may occur as the input value
is recognized as a variable or script syntax.

Situation: The target UI object cannot be found.

Solution: Check Name/Value values and Check Name/Check Value/Check Size items of the target UI
object on the properties screen. If the target UI object information of the recorded time and the
performed time are different, the target UI object might not be found.
There are cases where the target UI does not properly provide the object information, such as in some
apps including Chrome browser or websites using flash. In this case, you can specify the target UI with
the image recognition method using the ImageRecognition library.

Situation: If each UI object is performed independently it works well, but I have


problems when many UI objects are used consecutively.

397
Troubleshooting - Problems related to Linking Servers

Solution: Some UI objects, such as combo box item or context menu may disappear from the screen if
focus is set up. In this case, try again after setting Focus Before to False.
It might not be possible to get the UI object information properly at the time when screen is getting
changed. Most of all, the possibility of error gets higher in case of being switched to the new window
screen. In this case, add Delay library between each step to adjust the performing speed.

Situation: Error occurs if another task is called.

Solution: After checking Input and Output fields from the properties screen of the task to call, check
Input and Output fields of the RunTask properties screen where the error occurred. Input/Output
variables of the target task and Input/Output properties of RunTask must match. If Input and Output
variables of the task gets changed, they must be changed in the RunTask to call the task also.
Check if the task to call is saved. Tasks not saved will be executed using the script before editing.

A.3 Problems related to Linking Servers

Situation: The server in not connected.

Solution: Check server IP or firewall.

398
Troubleshooting - Problems related to Bot

Situation: Designer is not activated.

Solution: Check the client ID or license key.

Situation: I cannot log in.

Solution: Check the ID or password.

A.4 Problems related to Bot

Situation: Whenever you run the RPA Process, V3 sometimes generates an error
message.

Solution: The V3 generates a blocking message when the .EXE program is not signed or the execution

399
Troubleshooting - Problems related to VDI operation

on multiple PCs is not confirmed (called cloud diagnostics). Include Bot.exe, Designer.exe in the setting
inspection exception on V3 configuration. Or uncheck the cloud diagnostics.

Situation: What is the capture point of the capture file provided when an RPA error
occurs on the server?

Solution: The capture point of the file is the time when the job is finished. It is developed like this,
because the program usually terminates when an error occurs. However, if there is a logic to handle
an error using the event, the capture point will be when the event is processed and the job is finished.
In this case, add DumpScreen card to the error event to check the error capture screen.

A.5 Problems related to VDI operation

Checklist before starting VDI operation

1) Check whether the BOT monitoring screen is displayed on the Black Screen in the Admin Portal -
occurrence case

- Wrong account/password
- Wrong DefaultDomainName
- Windows automatic login is not set
- Do not set the AutoAdminLogon string value as '1' on the registry edit screen

when the VDI connection is terminated with Windows automatic login

? refer to the document, [RPA Troubleshooting Guide]Bot VDI Setup.pptx

2) Check whether to display pop-up messages related to Windows updates on the VDI

- Pop-up message related to Windows update causes process execution error

3) VDI resolution check

- screen view 100%

400
Troubleshooting - Problems related to VDI operation

VDI Routine Inspection Guide

1) Check the VDI disk remaining space

- Displaying pop-up messages related to low disk space causes process execution errors
- If the VDI disk space is about 50 GB, the remaining capacity is small, so disk cleanup is periodically
needed.

2) Check whether the icon is displayed on the taskbar

- Execute the shutdown command so that the tray icon is displayed in the notification area. Usually
the Knox portal is closed through the tray icon on the bottom right. However, when the script is
terminated, the process does not work properly and the tray icon is hidden.
- How to set the display option for the tray icon in the notification area

Taskbar settings > Select which icons appear on the task bar > Always show all icons and notifications
on the taskbar

3) Change the password of the Knox account

- Password needs to be manually changed every month, because it is not able to process the password
change screen for the Knox account.

Inspection Guide for Other VDI Operations

1) Turn off the Knox Portal and Knox Messenger notification

- Error occurs because a notification message is selected and displayed on the screen during process
execution
- Turn off the Knox Portal notification
: Turn off notifications when mail and approvals are received from the Set Options.
- Turn off the Knox Messenger notification
: Uncheck 'Activate Notification' in Settings

2) when operating by VDI (BOT)

- Do not close with "Disconnect" when accessing in VDI with Client.


- Make sure to restart the VDI to disconnect the Client and check the screen displayed on Bot
Monitoring in the Admin Portal.

401
Troubleshooting - Problems related to Publish

A.6 Problems related to Publish

When publishing to the Orchestrator server in RPA designer, make sure the Firewall is
down first

1) Check whether the Firewall is turned off as below.

2) Enable the Telnet Client (Programs and Features > Turn Windows features on or off > Telnet Client)

3) Win + R > cmd

4) telnet server IP port (ex. telnet 182.195.85.204 8080)

- Port numbers to be released : 8080, 8777, 9001

Check whether the incomplete library card exists within RPA designer.

1) If an incomplete library card exists within the project, it will not be able to be published to the
server.

2) Required to check whether a library card with a red border exists.

402
Troubleshooting - Problems related to Bot VDI installation

A.7 Problems related to Bot VDI installation

How to set up the VDI for Bot operation

Check the VDI vendor and OS version

1) VDI Vendor : VMWare or Citrix

2) Windows version : Win10 or Win7(Windows > Computer > Preference)

How to keep running RPA Designer with closed VDI operating screen

1) Citrix
- Citrix server must have its own graphics card that supports the following resolution:
(2560x1600, 1920x1200, 1680x1050, 1600x1200, 1440x900, 1400x1050, 1280x1024, 1280x960, 1280x800,

403
Troubleshooting - Problems related to Bot VDI installation

1152x864, 1024x768, 800x600)


- Maintain the resolution as the same as the latest access viewer in VDA 7.15.2000 version.
- Contact the VDI operation team to select a higher version of VDA.

2) VMWare

- You must maintain your computer's resolution when using VMWare.


- The resolution will be maintained when the user closes the VDI viewer with it at the 1920x1080
resolution.

How to set the VDI auto-login (operating the Bot without running the VDI client)

1) Run the VDI client and Bot.

2) Open the Registry Editor within the VDI. (Win + R > regedit)

3) Move to the folder: "COMPUTER\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows


NT\CurrentVersion\Winlogon"

4) Add four variables: (right-click) New > String Value

- AutoAdminLogon : 1
- DefaultDomainName : ask to VDI operation team (ex. CORP, SMARTDESK, etc)
- DefaultUserName: VDI user ID
- DefaultPassword: VDI user password

5) Reboot the VDI

- VDI Client will be closed automatically.

404
Troubleshooting - Problems related to Designer Activation

How to check Default Domain Name within VDI

1) Open the cmd screen within the VDI. (Win + R > cmd)

2) Ipconfig /all

3) You can check the Primary DNS suffix and DNS suffix in the search list.

ex) smartdesk.sds.cloud.com

A.8 Problems related to Designer Activation

Solution for Designer Activation Error

1) Situation:

- A Network Error message pops up when activating the Designer license (refer to the image below).
- The external network and Orchestrator can be connected and the following ports are open.
- Port
Gateway IP : 8777
RPA Admin IP : 8080
Comm IP : 9001

405
Troubleshooting - Problems related to using Designer

2) Cause of error

- Invalid certificate
- Check Log
2019-04-09 16:13:35,081 [T37] ERROR CertificationClient
############################################ Cert Check Failed.
### => No matched certificate
###############################################################
2019-04-09 16:13:35,104 [T1] ERROR CertificationClient
The remote certificate is invalid according to the validation procedure.

3) Solution

- (temporary solution) Download two new certificates and overwrite to the following path
(auth_server.cer, AUTH_SERVER_CERTIFICATE.crt).
ex) C:\Users\SDS\AppData\Roaming\RPA.BOT
C:\Users\SDS\AppData\Roaming\RPA.Designer
- (fundamental solution) Apply a clean certificate file to the installation package.

A.9 Problems related to using Designer

Situation: I would like to automate the process that enters and updates the data to the
file I made after making the Excel file format and saving it. I added the file to

406
Troubleshooting - Problems related to using Designer

RESOURCES, but what is the folder address?

Solution: After adding the file to Resources, the folder address of the added file will be
'Global.ResourcesDir + file path'. The actual path is Project path\Resources\file name.

Situation: It is possible to operate the task again in an ON-ERROR event when an error
has occurred. However, the problem is that when the task is operated again, it is
processed without an ON-ERROR event and stopped after the exception.

Solution: At this moment, there is no solution for when the error occurs after operating the task again.
We will improve the program to do the operation again and update it in the next version.
(Retry will be allowed up to ten times to prevent unlimited repeats)

Situation: [RetryTask] I wonder that how to use error retry task library.

Solution:

1) Register the error handler to ON-ERROR property in Task and add the RetryTask to the error
handler.
2) Start Step & No./ID
- ErrorStep: Retry at the point where the No./ID plus the specified number based on the step where
the error occurs.
ex) if the No./ID is 1, retry at the next step after the error occurs. If the No./ID is -1, retry at the step

407
Troubleshooting - Problems related to using Designer

before the step where the error occurs.


- StepNo: Retry from the specified step number.
ex) if you specify 3 in No./ID, retry starting from the third step.
- StepID: Retry from the step with the specified ID.
(You can check the ID at the STEP( ) line from script view. However, it is not recommended for use
because it is still a preliminary feature for some special cases)
3) Task Name: Name of Task to retry. Specify the senderName (variable of the error handler) as the
default.
4) Output (caution)
- If the variable is not specified, return after RetryTask and do not run a task after it.
- when you specify the variable, add TerminateFlow and set the variable in Result when the error
handler is terminated to return the result of the task properly.
• Other constraints and cautions
· When reimplementing the task, remained data will be limited to the administered object, such as
this one or Global, except for the local variable written in code from the ExecuteScript.
Therefore, if you implements the task again from the middle, the error occurs when using the local
variable set before the specified location.
· When designing to execute the step where error occurred, errors and retries can be repeated
indefinitely in case the same error continues to occur in the same location, so configure to check
whether the retry is possible before retry execution.

Situation: There is a problem that, if the error occurs in the lower task, the program
cannot find the next step when processing by error handler registration in the higher
process. Do I need to register all the lower tasks to the error handler?

Solution: The try-catch statement is created when you register error handler. The uncaught errors are
delivered to the higher task, so you need to register error handler when the lower task is needed.
Add the RetryTask library to process the next step continually after handling the error.
Specify the ErrorStep at Start Step on the property, enter 1 in No./ID to continue the process next to
the step with the error.
You need to be aware because script of the Task is initialized and executed, so the value is no longer
valid for the local variable created in the Task. (Value of member variable(this.VarName) in Task will
be remained.)

Situation: I wonder why the architecture is developed in the Client ↔ Server structure.
Can the server also be installed in places other than the head office?

Solution: RPA is not made for simply making and operating the scenario in one PC, but uploading the
scenario made in Designer and operating it by selecting the Bot PC from the server.

408
Troubleshooting - Problems related to using Designer

It can play the larger role by using the process flow, not just the simple process. It is possible to share
the scenario/asset through the server, such as the scenario made by person A can be used for person
B. Scheduling and periodic process operation are also possible. Servers can be installed in other
business units or customer companies.

Situation: When publishing in Designer, it is terminated with the message below.


Unexpected Error: => '', hexadecimal value 0x06, is an invalid character. Line 1, position
21640.

Solution:
1) '', hexadecimal value 0x06, is an invalid error.
Error occurs while XML processing, because the value contains a value which is not displayed in the
UI (&#x6;).
If the same problem is repeated even after setting the target again, the target has a value that cannot
be processed.
In this case, delete the value in Properties on the right, and set the Check Value as False to not apply
the Value property.
2) 'Padding is invalid and cannot be removed' error
Found the incomplete SetText within the content.
In many cases, the scenario is not completed or the encoded data entered in SetText is initialized
during import.
(The encoded data of the scenario contents will be deleted when sharing files directly between
different PCs without using Publish/Import functions)
3) 500 Internal error
This error can occur when the Asset value used in the project does not exist, such as when using a
deleted Asset.

Situation: When publishing the Project, "Unexpected Error:=>Value cannot be null.


Parameter name: CipherText" pops up. Please let me know what I need to check.

Solution: The password is not entered in the disabled SendMail library, and Publish is completed after
the SendMail library deleted.

Situation: When constructor adds the .exe file, it cannot be added with 'Executable file
can not be added' message.

Solution: It is requested to restrict the uploading of .exe files to the server when reviewing the security
of the solution. Register the file by changing the file extension, in spite of inconvenience, and make a
copy of .exe extension to use for running in the scenario.

409
Troubleshooting - Problems related to using Designer

Situation: Which OS is recommended between Windows 7 and Windows 10?

Solution: You can use both Windows7 and Windows 10. However, some scripts written in Windows 7
are unlikely to run properly on Windows 10, and vice versa.
Therefore, develop the script in Windows 7 if they will be executed in Windows 7, and the same goes
for Windows 10, which will relatively increase the the success rate.

Situation: How to output the string

Solution: Use Bot.ToString( ) function that is embedded data of the script engine.
var data_list = ['a', 'b', 'c'];
var data_list2 = [['a', 'b'], ['b', 'c']];
MsgBox(Bot.ToString(data_list));
MsgBox(Bot.ToString(data_list2));
MsgBox(Bot.ToString(data_list2[0]));
Convert an array and two-dimensional array to the string and return it as above.

Situation: Can I use the XMLHttpRequest function in the ExecuteScript?

You cannot use the XMLHttpRequest functionin RPA because it is the function provided by javascript
in the web browser.
* You had better use the method that registers the HttpClient class provided by C# to the engine.
You can run Http request by writing the ExecuteScript as below:
Bot.AddHostType('HttpClient', 'System.Net.Http.HttpClient');
var client = new HttpClient();
var response = client.GetAsync('http://www.google.com').Result;
MsgBox(response);
* Refer to the MSDN for the detailed information about HttpClient.

Situation: Which library do I use to make and import the function?

You can implement and call the function using ExecuteScript


,or you can use in the ExecuteLibrary by generating a js file after creating the Libraries folder under
the project folder and implementing the function.

Script should be written as


Script.file name = new function(){
this.function name = function(parameter list) {
}

410
Troubleshooting - Problems related to using Designer

Situation: List of Embedded functions supported by Bot object

Embedded function Description and example

- AddHostType ex1) Bot.AddHostType('File', 'System.IO.File');


(name, typeName, File.Copy(p1, p2);
assemblyName=null) ex2) Bot.AddHostType(SSHobj', 'Sample.MyClass.SSH', 'c:\\sample.dll');
MyClass.SampleMethod();

- Bot.CharToInt, Used in the conversion: char ↔ int


- Bot.IntToChar ex)
var code = Bot.CharToInt('A');
MsgBox(Bot.IntToChar(code+1) == 'B');

- Bot.CreateObject Create the object using C# object type or COM ProgID.


ex)
(typeNameOrProgID) // create FileSystemObject from JScript, getting the file size
var type = System.Type.GetTypeFromProgID('Scripting.FileSystemObject');
var fso = System.Activator.CreateInstance(type);
var f = fso.GetFile('d:\\test.js');
MsgBox(f.Size);

- Bot.IsEmpty(obj) Returns True if the value is null or an empty string.


Check after converting the string even if the object is not a string type.

- Bot.GetCount(obj) Used when you do not know the variable to count verification or function name.
ex)
obj.length, obj.Length, obj.Count,
obj.getLength(), obj.GetLength(),
obj.getCount(), obj.GetCount(),
obj.Count(), obj.Length()

- Bot.IsNull(obj) Returns True if the object has a value such as null, Null, or Undefined.

- Bot.ToString(obj) Implement the string conversion.


It is possible to output the string in the form of a one-dimensional array or a
two-dimensional array.

- GetObjectInfo(obj) Output the member variable and function information of the object.

-GetProgressInfo(taskNam Returns the latest running step information of the assigned task.
e) It can be used for occurred error point information during the error reporting.
-GetLastRunStepID(taskNa
me)
-GetLastRunStepNo(taskN
ame)

ToXml(xmlString) Returns XmlDocument object by parsing the string of the assigned xml format.

411
FAQ

Appendix B.
FAQ

You can view frequently asked questions and answers.

Q. Is it possible to execute even if the resolution is different from the time of writing the
scenario?

A. The mechanism is to search the target UI object using the information provided in Windows, SAP or
Excel. Because the target UI is identified with an up-down relationship between UI objects, text
information, and type information, there is no problem in performing basic actions even if the
resolution is different.
However, the apps that change the overall screen configuration based on the resolution may not
operate properly.

Q. Does a scenario written in Windows 7 also operate in Windows 10?

A. If the target apps are identical, they will operate the same way regardless of the Windows version.
However, it may not operate properly if the target app just has the same name and function, but
different version. For example, Paint for Windows 7 and the Paint for Windows 10 are not compatible,
because they are not the same apps.

Q. Is it possible to use in a virtual OS?

A. It is possible to use in a virtual OS just like an ordinary PC.


However, you must be careful because the performance of a virtual OS is low in most cases. The
scenario may not operate properly in an OS environment with low performance. In this case, you can
use by adjusting time, such as adding a Delay step or adjusting speed from the settings screen

Q. What should I do if an error message occurs in V3 when running Designer?

413
FAQ

A. The V3 generates a blocking message when an .EXE program is not signed,


or the execution on multiple PCs is not confirmed (called cloud diagnostics).
Pop up the block message.
Include Bot.exe, Designer.exe in the setting inspection exception on V3 configuration.
Or uncheck the cloud diagnostics.

Q. Is there a way to specify the context menu that appears in the program menu or
when right-clicking, as the target object in the library?

A. When you specify the target objects, pressing the Ctrl key makes object input terminate by
displaying object selective squares in green, so you need to click Menu or right-click first and press the
Ctrl key to select the objects with red object selective squares.

Click library as an example,


1. Select target select menu
=> If you move the mouse to another place, the object selection rectangle is displayed in red.
2. Press Ctrl on the keyboard
=> Specified target mode changes to pause status and If you move mouse to another place, the object
selection rectangle is displayed in green.
3. Operate mouse and keyboard to display specified menu
4. If the specified target object appears on the screen, press Ctrl key on the keyboard.
=> Specified target mode changes to Resume status and If you move mouse to another place, the object
selection rectangle is displayed in red.

414
Using Sample - Viewing Sample Using Designer

Appendix C.
Using Sample

Explains how download the sample in specified location and use it in the designer.
"Using Sample" explains the following topics:

● Downloading the Sample


● Viewing the Sample File on the Designer

C.1 Downloading the Sample

Click link below to download the sample file.

C.2 Viewing Sample Using Designer

To save the downloaded sample file and open it in Designer, complete the following steps:

1. Extract the downloaded sample and save it to the samples folder.

Sample folder path: C:\Users\user\AppData\Roaming\Brity Works Designer\samples


The structure of the samples folder is as follows:

415
Using Sample - Downloading the Sample

2. Double-click shortcut icon on the desktop to run Designer. If the designer is already running,
close it and run it again.

3. Click > Help > Sample. Display sample list.

4. To open the sample file on the Designer, double-click it or select and click OPEN.

416
Using Sample - Viewing Sample Using Designer

Import the selected sample process into Designer.

417
Updating ChromeDriver - Check available ChromeDriver version

Appendix D.
Updating ChromeDriver

Describes how to download and update the ChromeDriver file.


The content covered in "Updating ChromeDriver" is as follows.

● Check available ChromeDriver version


● Download ChromeDriver to apply to Designer

D.1 Check available ChromeDriver version

1. Open the Chrome Browser and click Help > About Google Chrome in the settings menu in the
upper right area.

419
Updating ChromeDriver - Download ChromeDriver to apply to Designer

2. Check the installed Chrome version.

3. Enter the installed Chrome version into the browser URL window as shown below (left of ‘.’) and
check the available ChromeDriver version.

ex) For 78.0.3904.70, enter 780,000 on the left.


https://chromedriver.storage.googleapis.com/LATEST_RELEASE_78

D.2 Download ChromeDriver to apply to


Designer

420
Updating ChromeDriver - Download ChromeDriver to apply to Designer

1. Go to https://chromedriver.chromium.org/downloads to download the verified and available


version of ChromeDriver.

2. Copy (overwrite) the downloaded ChromeDriver(chromedriver.exe) to the path where Designer is


installed.

Table D-1 Available ChromeDriver version according to Chrome browser version (via the link below,
you can download that version of ChromeDriver.)

Chrome Browser Version ChromeDriver Version

78.x 78.0.3904.70

77.x 77.0.3865.40

76.x 76.0.3809.126

421
Updating ChromeDriver - Download ChromeDriver to apply to Designer

Chrome Browser Version ChromeDriver Version

75.x 75.0.3770.140

74.x 74.0.3729.6

71.x ~ 73.x 2.46

70.x ~ 72.x 2.45

69.x ~ 71.x 2.44

68.x ~ 70.x 2.42

67.x ~ 69.x 2.41

422
Setting DB - ODBC Setting Guide (MSSQL)

Appendix E.
Setting DB

To use the DB Library, set the ODBC first.

DB library supports only the MSSQL and ORACLE for now.

E.1 ODBC Setting Guide (MSSQL)

1. Search the ODBC in the Control Panel.

423
Setting DB - ODBC Setting Guide (MSSQL)

2. Click Set up ODBC data sources.

3. Click Add on the User DSN tab.

4. Select SQL server, and click Finish.

424
Setting DB - ODBC Setting Guide (MSSQL)

5. Enter the name, description, and IP of SQL Server on the 'Create a new data source to SQL Server'
screen and click Next.

6. Enter the assigned account information provided by DB administrator, and click Next.

7. Select the database to access and click Next.

425
Setting DB - ODBC Setting Guide (MSSQL)

8. Click Finish.

426
Setting DB - ODBC Settings Guide (Oracle)

E.2 ODBC Settings Guide (Oracle)

The Driver for Oracle is not provided as a standard.

If you use Oracle, install the ODBC Driver through the ORACLE website, and continue the process.

Continue setting it up the same as below after installing the Oracle ODBC Driver.

1. System environment variables

(In the file explorer, right-click 'This PC' and click 'Properties' → Click 'Advanced System Settings' →
Click 'Environment Variables' on the 'Advanced' tab)

Check whether 'TNS_ADMIN' exists in 'System variables'.

- if 'TNS_ADMIN' does not exist, set the network\admin folder which is in lower path of
'ORACLE_HOME'.

(File named 'tnsnames.ora' or 'sqlnet.ora' must exist in the file path.)

2. The Oracle installation path must be contained in the 'Path' variable of 'System variable' in system
environment variables.

If you have the 'ORACLE_HOME' variable, add the path to the 'Path' variable.

1. Search the ODBC in the Control Panel.

427
Setting DB - ODBC Settings Guide (Oracle)

2. Click Set up ODBC data sources.

3. Click Add on the User DSN tab.

4. Select the Oracle (name can be different depending on the version) driver and click Finish.

428
Setting DB - ODBC Settings Guide (Oracle)

5. Enter the name to use, the TNS Service Name, and the User ID, then click Test Connection.

6. Enter the password on the Connection pop-up screen, click OK after checking the normal
connection, and then click OK.

7. If it is registered properly, it will be displayed as a list on the DSN of the DBConnection activity in
the Designer.

429
Setting DB - ODBC Settings Guide (Oracle)

430
Using the Step Recorder Function - Design with the Step Recording Function

Appendix F.
Using the Step Recorder
Function
Users can record the action using the step recording function or design the project by finding the
library to use from the library screen and adding it into the activity.

"Designing Step Recording" explains the following topics:

● Designing with the Step Recording Function


● Watching videos recorded with Step Recording
● Importing the proc created by Step Recording

F.1 Design with the Step Recording Function

Create the scenario of user's actions by clicking the step recording button. You can record actions,
such as mouse-click, right-click, double-click, and keyboard input actions.

To design a project with a step recording function, complete the following steps:

1. Run the IPA.StepRecorder.exe located in C:\Users\user name\AppData\Roaming\Brity Works


Designer in file explorer.

2. A recording screen that is the same as the one in the image below will be displayed on the right
side of screen when step recording starts.

431
Using the Step Recorder Function - Design with the Step Recording Function

No. Description

1 Pauses recording.
Click 3 to resume recording again.

2 Ends recording.
Displays the Select Recording Target Process screen.

3 Activates the recording again.

3. Click pause ( ) if the action is complete or to pause recording.

4. To finish recording, click .

5. The recorded event list will appear.

432
Using the Step Recorder Function - Watching the Video Recorded with Step Recording

No. Description

1 Select all processes.

2 Select the process to save and click.

3 Save the recoding before ending. Once recording ends, the Designer screen is
displayed.

4 Return to the Select Recording Target Process screen.

The recorded action is added to the flow chart.

F.2 Watching the Video Recorded with Step


Recording

To see the video recorded with step recording function, complete the following steps:

1. Follow the file path, C:\Users\user name\Documents\Brity Works Recorder Projects, in file
explorer to move to the related folder.

2. Move to the directory named with the numbers (date) like in the image below.

3. You can check if the recorded avi file has been created.

4. Double-click to run the file and watch the video.

433
Using the Step Recorder Function - Importing the Proc Created by Step Recording

F.3 Importing the Proc Created by Step


Recording

To see the proc file created with the step recording function, complete the following steps:

1. Follow the file path, C:\Users\user name\Documents\Brity Works Recorder Projects, in file
explorer to move to the related folder.

2. Move to the directory named with the numbers(date) like an image below.

434
Using the Step Recorder Function - Importing the Proc Created by Step Recording

3. You can then check if the proc file has been created.

4. Run the BrityWorks Designer.

5. Create a new roject and right-click PROCESS or TASK.

6. Import the proc file in the related location using the Import Process or Import Task.

435

You might also like