Blueprism Developer Exam Cheatsheet: By: Seemu Apps
Blueprism Developer Exam Cheatsheet: By: Seemu Apps
CHEATSHEET
BY: SEEMU APPS
TEXT FUNCTIONS
Function What? Example Output
Concatenate(&) Joins two strings together “Hello “ & “World” Hello World
StartsWith(Text, StartingText) Check if one piece of text starts with another StartsWith(“Example”, “ple”) FALSE
EndsWith(Text, EndingText) Check if one piece of text ends with another EndsWith(“Example”, “ple”) TRUE
Mid(Text, Start Point, Length) Gets text taken from the middle of an expression Mid(“Hello”, 2, “3”) ell
Left(Text, Length) Gets text taken from the left of an expression Left(“Hello”, 2) He
Right(Text, Length) Gets text taken from the right of an expression Right(“Hello”, 2) lo
Trim(Text, Length) Trim whitespace from text Trim(“ Hello World “) Hello World
https://www.udemy.com/user/andrewseeley/
DATA TYPE CONVERSION FUNCTIONS
Function What? Example Output
* Timespan = Days:Hours:Minutes
https://www.udemy.com/user/andrewseeley/
DATE FUNCTIONS
Function What? Example Output
DateDiff(Interval, Start Date, Get the difference between two dates with the DateDiff(1, 27/10/2019,
4
End Date) set number of intervals 27/11/2019)
26/10/2019 11:15:27 PM
https://www.udemy.com/user/andrewseeley/
DATE FUNCTIONS - INTERVALS
Interval DateAdd DateDiff How to remember? DateAdd(Interval, Number, Date)
DateDiff(Interval, StartDate,
0 Year Year 0 for year
EndDate)
1 Week Week of year (Calendar week) 1 for a full week
3 (n/a) Second
6 (n/a) Minute
7 (n/a) Hour
https://www.udemy.com/user/andrewseeley/
DATE FUNCTIONS - FORMATS
DateAdd(Interval, Number, Date)
Format (Case sensitive) Example Output
DateDiff(Interval, StartDate,
EndDate)
D FormatDate(“2/11/2016”, “D”) 02 November 2016
MMM dd, yyy FormatDate(“2/11/2016”, “MMM dd, yyy”) Nov 02, 2016
https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings?redirectedfrom=MSDN
https://www.udemy.com/user/andrewseeley/
DEBUGGING - BUTTONS
DateAdd(Interval, Number, Date)
Button Name Function
DateDiff(Interval, StartDate,
EndDate)
Step to the next stage in a process one at a time. Will go into sub
Step
pages.
Step over the next state in the process one at a time. Will skip sub
Step over
pages.
Step out of the sub page in a process back to the parent page into
Step out
the next stage.
Breakpoint Create a breakpoint in the process that will be stopped at when run
https://www.udemy.com/user/andrewseeley/
DEBUGGING - INFO
• Remember that the option “Preserve the type and detail of exception” will retain the
internal blue prism exception
• Keep recovery stages in blocks, this way any error in a block will immediacy jump to
that stage
• Always have a resume stage If your exception will retry the same logic, otherwise Blue
Prism will throw an error. It can only hold one exception at a time
Bubble Up
https://www.udemy.com/user/andrewseeley/
IS STOP REQUESTED
• Safely stops a Blue Prism process
• Triggered by a running process, right click and select IsStopRequested()
• After a process gets a stop request it will finish of the current item you are processing and run any cleanup activities
https://www.udemy.com/user/andrewseeley/
ENVIRONMENT AND SESSION VARIABLES
• Environment variables are used to differentiate settings between environments (E.g. test vs production)
• Example:
• Session variables are data items that can be changed while the process is running
• E.g. Loop count
• You can do this in the Control room selecting a running process, show session variables then right click and edit it
https://www.udemy.com/user/andrewseeley/
PROCESS FLOW DECISION
DateAdd(Interval, Number, Date)
https://www.udemy.com/user/andrewseeley/
WAIT STAGES
• Always use the Element Action check exists before moving onto the next step
• Do not use an arbitrary timeout to wait if an application loads
• If the application element exists check fails then throw an exception!
https://www.udemy.com/user/andrewseeley/
RETRY AND MARKING ITEMS AS PER BLUE PRISM
• It is recommended in all sub pages you at least have a block that will capture any Main page catches exceptions from sub pages
errors
Then marks as complete or exception
• You then should retry at least 3 times before throwing an exception
• If there is an exception after 3 times preserve the exception and let the main page
mark the item as exception
https://www.udemy.com/user/andrewseeley/
BLUE PRISM PROCESS TEMPLATE 1
• The Blue Prism process template 1 is the recommended way to setup a new process
• It will
• Load work from a work source into a Blue Prism Work Queue
• Work items in the work queue
• Completes once all the cases originally loaded into the work queue have been worked
• It is provided as a starting point, it is expected that templates will be modified to meet organisational needs
https://www.udemy.com/user/andrewseeley/
LOGGING
• Be careful of logging each stage in Blue Prism. You don’t want to log passwords and other sensitive information
• You can set all stages in a page to “Enable Logging, Disable Logging, Log errors only” in the Edit -> All Stages menu. Be
careful of this as you may accidentally re-enable logging on sensitive information!
• Be aware that having logging enable in loops can take up a lot of database storage and make it more difficult to go through
the logs, so only use it when nessary!
https://www.udemy.com/user/andrewseeley/
ATTRIBUTES - APPLICATION
• When spying with the Application Modeller in Blue Prism it will select default attributes
• Sometimes the default does not work, some examples:
• It will contain the text from an input, when the text does not match it cannot find it
• Other times it will match multiple elements, in which case you need to select more attributes to ensure only one element is matched
• You can use wildcard or regex to match value’s that are not always the same
• You can use dynamic to pass a value to the application modular from the object
Ancestors Text The text of the parent element. E.g window text
Ordinal The position of the element. E.g. 5 could match the 5th text box out of 5 text boxes
https://www.udemy.com/user/andrewseeley/
ATTRIBUTES - BROWSER
• When spying in a web browser (E.g. Internet Explorer) you need to be more careful of the default selected attributes
• Always unselect path unless you absolutely need it. This often changes and will break your bot if you use it.
The class name on the HTML element. Typically unique, however occatioanlyl will be
Class name
used on other HTML elements.
ID Unique HTML identifier for the element, not all websites use this.
The URL in the address bar. Can change even if on the same page so consider
Parent URL
using a wildcard or RegEx
https://www.udemy.com/user/andrewseeley/
GLOBAL SEND KEYS
• Global Send Keys works for most applications and should be used before Global Send Key Events. It sends keystrokes to the active application
• Global Send Keys Events simulates someone actually typing in on the keyboard. It should be used if Global Send Keys does not work. However
it is recommended for Citrix Applications
https://www.udemy.com/user/andrewseeley/
BACKGROUND / RUN MODES
https://www.udemy.com/user/andrewseeley/
BACKGROUND / RUN MODES = Object we are
setting the mode on
= Other objects
Object should not have more than one more instance on a Object can run multiple instances at the same time Object can never be run at the same time
desktop. However can run along side other objects on the on a desktop. as any other object on a desktop.
desktop. Can also run alongside other background business Requires exclusive access
objects.
https://www.udemy.com/user/andrewseeley/
WORK QUEUES
• You can set a priority on a work queue item. The lower number priority will be processed first
• E.g. an Item with a priority 3 will be processed over an item with a priority 7
• A status can be set on a work queue item. This is useful to set as items are processed
• E.g. loaded order details, placed order, processed payment, sent email confirmation
• This is useful if an item fails to either manually process by a human or re-run an automation to processes it
https://www.udemy.com/user/andrewseeley/
WORK QUEUES
• Tags can be added to an item, this is useful to filter items for processing
• E.g. adding a tag of Red, Green or Blue
• To include an item in a tag filter use the +<TAGNAME>
• E.g. +Red will only select items with a tag of ‘Red’
Item ID Tags Selected?
A Red ?
✅
B Green
C Blue
D Red ✅
https://www.udemy.com/user/andrewseeley/
WORK QUEUES
• You can can combine filters with ; it an AND statement
• E.g. +Red;+Small will select all items that have the tags Red and Blue
• E.g. +Green;-Small will select all items that have the tag Green and don’t have the tag Small
https://www.udemy.com/user/andrewseeley/