0% found this document useful (0 votes)
208 views23 pages

Blueprism Developer Exam Cheatsheet: By: Seemu Apps

This document provides a cheatsheet for the BluePrism Developer exam. It includes summaries of various text, date, and debugging functions in BluePrism including examples of how to use functions like Concatenate, StartsWith, FormatDate, DateAdd, and debugging buttons like Step, Breakpoint, and Break on Exception. It also provides tips for debugging like using Preserve Exception type and ensuring exceptions bubble up to the main page.

Uploaded by

Newlin Deva
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)
208 views23 pages

Blueprism Developer Exam Cheatsheet: By: Seemu Apps

This document provides a cheatsheet for the BluePrism Developer exam. It includes summaries of various text, date, and debugging functions in BluePrism including examples of how to use functions like Concatenate, StartsWith, FormatDate, DateAdd, and debugging buttons like Step, Breakpoint, and Break on Exception. It also provides tips for debugging like using Preserve Exception type and ensuring exceptions bubble up to the main page.

Uploaded by

Newlin Deva
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/ 23

BLUEPRISM DEVELOPER EXAM

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

ToNumber(Text) Converts a value to a number. ToNumber(“10”) 10

& “” Converts a value to text 200 & “” 200

ToDate(Text) Converts a value to a date ToDate(“26/06/1990”) 26/06/1990

Converts a value to a datetime. If no time is


ToDateTime(Text) ToDate(“26/06/1990”) 26/06/1990 12:00:00AM
provided defaults to 12:00:00AM
Converts a timespan to a whole number of days,
ToDays(TimeSpan) ToDays(1:00:00) 1
rounded down
Converts a timespan to a whole number of hours,
ToHours(TimeSpan) ToHours(1:00:00) 24
rounded down
Converts a timespan to a whole number of
ToMinutes(TimeSpan) ToDays(1:00:00) 1440
minutes, rounded down

* Timespan = Days:Hours:Minutes

https://www.udemy.com/user/andrewseeley/
DATE FUNCTIONS
Function What? Example Output

DateAdd(Interval, Number, Add to a given date with the set number of


DateAdd(1, 2, 27/10/2019) 10/11/2019
Date) intervals

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)

Get text representing the local date in a given


FormatDate(Date, Format) FormatDate(27/10/2019, MM) 10
format

Gets a date made from the given day, month and


MakeDate(Day, Month, Year) MakeDate(15, 01, 2000) 15/01/2000
year

Today() Gets the current date as a date value Today() 26/10/2019

26/10/2019 11:15:27 PM

Now() Gets the current date as a datetime Now()

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

2 (n/a) Weekday (Full 7 day week)

3 (n/a) Second

4 Quarter Quarter 4 Quarters in a a year

5 Month Month 5 for month after quarter

6 (n/a) Minute

7 (n/a) Hour

8 (n/a) Day of year

9 (n/a) Day 9th day of Christmas

Remember the ones highlighted in blue!

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

d FormatDate(“02 Nov 2016”, “d”) 2/11/2016

M FormatDate(“2/11/2016”, “M”) 02 November

ddd FormatDate(“2/11/2016”, “ddd”) Wednesday

yyyy-MM-dd FormatDate(“2/11/2016”, “yyyy-MM-dd”) 2016-11-02

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

If the process runs into any exceptions it will immediately break


Break on exception
(pause) for further debugging

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

• The recommended retry count is three


• Ensure all exceptions “bubble up” to the main page.

Main Page Page - Bad Process

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:

Variable Name Test Environment Production Environment

Ordering System URL www.orderingsystem.com/test www.orderingsystem.com/login

Ordering System Username test Admin

Ordering System Password test SuperS3cureP@ssw0rd!233

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

Name Function DateDiff(Interval, StartDate,


Stage EndDate)

Decision True/false decision

Able to add as many decisions as you want for a choice. If none of


Choice
them match it will go to the otherwise stage by default.

Go to another page in the process. Remember you can have input


Page
and output data items into pages and objects.

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

Sub page retry three times then throw an 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

• The benefits of a process template is:


• Decrease Process development time
• Provide consistenty across all Processes, allowing easier understand and support
• Assist developer in keeping to best practice and to work within the Development Methodology of an organisation

• It is provided as a starting point, it is expected that templates will be modified to meet organisational needs

Key items to remember for the exam:


• Catch an errors in a block on sub-pages and retry 3 times
• Use “Preserve the type and detail of the current exception”
• For each item to be processed mark it as complete or capture the exception that bubbled up to the main page

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

Attribute Name What?

Ancestors Text The text of the parent element. E.g window text

Enabled If the element is enabled

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.

Attribute Name What?

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.

Input type HTML input type, e.g. button, text, etc…

The URL in the address bar. Can change even if on the same page so consider
Parent URL
using a wildcard or RegEx

Path The absolute path of a HTML element

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

Global Send Keys


Send keys directly to application

Global Send Keys


Events Mimic someone typing on a keyboard

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

Foreground Background Exclusive

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 ✅

• To exclude an item in a tag filter use the -<TAGNAME>


• E.g. -Blue will only select all items without a tag of Blue

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

Item ID Tags Selected?


A Red ?

B Green
C Blue ✅
D Red ✅

• E.g. +Green;-Small will select all items that have the tag Green and don’t have the tag Small

Item ID Tags Selected??


A Red;Small
B Green;Large ✅
C Green;Small
D Blue;Large

https://www.udemy.com/user/andrewseeley/

You might also like