-
Notifications
You must be signed in to change notification settings - Fork 0
/
tasks.robot
71 lines (61 loc) · 2.28 KB
/
tasks.robot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
*** Settings ***
Library RPA.Robocorp.WorkItems
Library String
*** Tasks ***
Work Item Handler
For Each Input Work Item Handle Item
*** Keywords ***
Handle Item
TRY
Top level keyword
Other keyword
Release Input Work Item DONE
EXCEPT ApplicationError
Log app crashed, so I will fail the work item. console=${True}
Release Input Work Item
... state=FAILED
... exception_type=APPLICATION
... message=App crashed
# Skip / Fail # If single error needs to stop processing of all items
EXCEPT InvalidData
Log got bad data, so I will fail the work item console=${True}
Release Input Work Item
... state=FAILED
... exception_type=BUSINESS
... message=Bad data
END
[Teardown] Reset my work environment for next work item
Top level keyword
Log doing some business logic console=${True}
${return}= Embedded keyword one
IF ${return} == 1 Embedded keyword two
Log did the embedded work console=${True}
Other keyword
Log doing some other business logic console=${True}
Embedded keyword two
Log done doing some other business logic console=${True}
Embedded keyword one
Log doing some specific part of logic that might call deeper keyword console=${True}
${return}= Generate random string 1 01
IF ${return} == 1
${deep_result}= Deeply embedded keyword
RETURN ${deep_result}
ELSE
RETURN ${0}
END
Embedded keyword two
Log doing some standalong business logic console=${True}
${test}= Get work item variable test
IF ${test} not in [0,1] Fail InvalidData
Log The work item had the value ${test} in it. console=${True}
Deeply embedded keyword
Log doing some deeper part of logic console=${True}
${return}= Generate random string 1 012
IF ${return} == 2
Log I want to fail the work item now console=${True}
Fail ApplicationError
END
RETURN ${return}
Reset my work environment for next work item
Log Getting ready for next work item... console=${True}
Log Ready for next work item. console=${True}