Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

Blue Prism AD01 Developer Exam

Cheatsheet

Created to aid in preparation for the Blue Prism AD01 Developer Exam

https://www.udemy.com/share/104GNm/

https://www.udemy.com/user/travis-dahlheimer-2/
TEXT FUNCTIONS
Expression Detail Example Output
& 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 from the middle of an expression Mid(“Hello”, 3, “2”) ll

Left(Text, Length) Gets text from the left of an expression Left(“Hello”, 2) He

Right(Text, Length) Gets text from the right of an expression Right(“Hello”, 3) llo

Trim(Text, Length) Trim whitespace from text Trim(“ Hello World “) Hello World

https://www.udemy.com/user/travis-dahlheimer-2/
DATA CONVERSION FUNCTIONS
Expression Detail Example Output
ToNumber(Text) Converts a value to a number ToNumber(“10”) 10

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

ToDate(Text) Converts a value to a date ToDate(“10/10/2021”) 10/10/2021

ToDateTime(Text) Converts a value to a datetime. If no time is ToDate(“10/10/2021”) 10/10/2021 12:00:00AM


provided defaults to 12:00:00AM
ToDays(TimeSpan) Converts a timespan to a whole number of days, ToDays(MakeTimeSpan(5, 0, 0, 0)) 5
rounded down
ToHours(TimeSpan) Converts a timespan to a whole number of hours, ToHours(MakeTimeSpan(5, 0, 0, 0)) 120
rounded down
ToMinutes(TimeSpan) Converts a timespan to a whole number of ToMinutes(MakeTimeSpan(5, 0, 0, 0)) 7200
minutes, rounded down

https://www.udemy.com/user/travis-dahlheimer-2/
DATE FUNCTIONS

Expression Detail Example Output


DateAdd(Interval, Number, Date) Adds to a given date with the set number of DateAdd(1, 2, “27/05/2021”) 10/06/2021
intervals
DateDiff(Interval, Start Date, End Get the difference between two dates with the set DateDiff(1, “27/05/2021”, “27/06/2021”) 4
Date) number of intervals
FormatDate(Date, Format) Get text representing the local date in a given FormatDate(“27/12/2021”, “MM”) 12
format
MakeDate(Day, Month, Year) Gets a date made from the given day, month and MakeDate(15, 01, 2021) 15/01/2021
year
Today() Gets the current date as a date value Today() 13/06/2021

Now() Gets the current date as a datetime Now() 13/06/2021 10:14:27


PM

https://www.udemy.com/user/travis-dahlheimer-2/
DATE FUNCTION INTERVALS
Interval DateAdd DateDiff
0 Year Year

1 Week Week of year (Calendar week)

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

3 (n/a) Second

4 Quarter Quarter

5 Month Month

6 (n/a) Minute

7 (n/a) Hour

8 (n/a) Day of year

9 (n/a) Day
Remember all the DateAdd intervals (highlighted in blue)

https://www.udemy.com/user/travis-dahlheimer-2/
DATE FUNCTION FORMATS

Expression Example Output


D FormatDate(“27/06/2021”, “D”) 27 June 2021

d FormatDate(“27/06/2021”, “d”) 27/06/2021

M FormatDate(“27/06/2021”, “M”) 27 June

MM FormatDate(“27/06/2021”, “MM”) 06

ddd FormatDate(“27/06/2021”, “ddd”) Sun

yyyy-MM-dd FormatDate(“27/06/2021”, “yyyy-MM-dd”) 2021-06-27

MMM dd, yyy FormatDate(“27/06/2021”, “MMM dd, yyy”) Jun 27, 2021

https://www.udemy.com/user/travis-dahlheimer-2/
DEBUGGING INFORMATION Preserving the Current Exception

• Preserve the type and details of the current


exception will retain the current exception
and allow it to bubble up.

• Remember only one exception should be


active at any one time. Two exceptions can
be avoided by minimising time spent in
recovery mode and storing exception type
and exception detail to data items for future
use.

• Blue Prism recommends a retry limit of 3 and Storing Exception Type & Detail
should be included in the lowest sub page to
avoid nested retry loops. Retry Logic from Blue Prism Template

https://www.udemy.com/user/travis-dahlheimer-2/
DEBUGGING BUTTONS
Blue Prism UI Button Name Function
Step (F11) Step to the next stage in the process
one at a time. Will enter any sub
pages/actions.

Step Over (F10) Step over the next stage in the


process one at a time. Will skip sub
pages/actions.

Step out (Shift + F11) Step out of the current sub page in
a process back to the parent page
and focus on the next stage.

Breakpoint Creates a breakpoint that will stop


process execution if encountered.

Break on Exceptions Debug->Break on Exceptions will


immediately break if an exception is
encountered.

https://www.udemy.com/user/travis-dahlheimer-2/
DEBUGGING BUTTONS
Stop? Decision Logic from Blue Prism Template
• IsStopRequested() is sent from Control Room
when a right click -> request stop is initiated.
This is performed on a per runtime resource
basis.

• A Stop? Decision should be included


between finishing a case and Work
Queues::Get Next Item to ensure the current
item is completed before stopping.

• Stop After Time and an Item Counter


exposed as session variables can be useful
for additional stop conditions.

Stop? Decision Stage Logic from Blue Prism Template

https://www.udemy.com/user/travis-dahlheimer-2/
VARIABLE TYPES
• Environment variables are used to denote changes between different environments.
Common uses include file paths and target system URLs.

• Session variables are useful to change process behaviour during runtime.

Variable Name Variable Type Test Environment Production Environment


Target System URL Environment www.test.clientsolutions.com www.clientsolutions.com

Network File Path Environment \\network\test\inputfile.xlsx \\network\production\inputfile.xlsx

Stop After Time Session 03:00:00 PM 03:00:00 PM

• Session variables can be edited via Control Room using the “Show Session Variables”
and clicking on the particular process.

https://www.udemy.com/user/travis-dahlheimer-2/
DECISION STAGES
• Decision and choice stages are similar to if-else and switch functions from common
programming languages.

Stage Name Function


Decision Stage TRUE / FALSE decision

Choice Stage Multiple decision stages combined. If


multiple return TRUE the choice will
flow down the first correct pathway. If
none return TRUE the process will flow
down the otherwise.

https://www.udemy.com/user/travis-dahlheimer-2/
WAIT STAGES
• Wait stages should be used after a start stage and after every stage that forces the
target application to change in any way.

• Arbitrary throttles (wait stage with no condition) should be avoided.

• If a particular condition is not met an exception should be thrown.

Stage Name Function


Wait stage Wait stages are used to wait for a
condition to be met regarding
particular elements on the target
application.

Wait stages should be used after a start


stage and after every stage that forces
a change to the target system.

https://www.udemy.com/user/travis-dahlheimer-2/
PROCESS TEMPLATE
Completion Logic from the Blue Prism Template
• The Blue Prism process template is the recommended building blocks of a new
process.

• Functionality includes:
• Loading items from a input source into the Blue Prism work queue
• Working items within denoted steps
• Marks the locked item as complete once it’s been worked

• The benefits of a process template includes:


• Consistency between multiple developed process
• Ensures best practice is being followed
• Decrease process development time

• Key exam points:


• Exceptions should be caught on the lowest level sub-page/s with the help of
blocks and retry logic.
• Retry logic should in most instances be set to a retry limit of 3
• Preserve the type and detail is useful to allow the current exception to bubble
up.
• For each worked item it should only be marked as complete or exception, a
recovery block should exist on the main page to allow an item to be marked as
an exception.
https://www.udemy.com/user/travis-dahlheimer-2/
LOGGING
• Stage logging is accessed and enabled at the stage level.

• Consideration must be taken to ensure sensitive information is not stored


within the Blue Prism logs.

• All stages can be set to Enable Logging, Disable Logging or Errors Only.

• Logging can be changed for all stages in the Edit->All Stages Menu.

• Having logging enabled in process loops and retry logic can make the logs
difficult to decipher.

https://www.udemy.com/user/travis-dahlheimer-2/
APPLICATION MODELLER ATTRIBUTES
• Attributes for any given application are provided to Blue Prism when spying. Common Default Application Attributes
• Default matched attributes are most often not the most optimal as some may
include blank values. Default attributes can also cause duplicate elements to the
highlighted, or text within a field than should be unmatched/made dynamic.

• Wildcard and Regex can be used as a match type.

• Dynamic match type can be used to pass in a changeable match type.

https://www.udemy.com/user/travis-dahlheimer-2/
GLOBAL SEND KEYS
• Global Send Keys allows keystrokes to be sent to the target application. Global Send Navigate Stage with Global Send Keys
Keys usually works for most applications and should be used before Global Send Key
Events.

• Global Send Keys sends keystrokes directly to the applications.

• Global Send Key Events mimics a user typing keystrokes on a keyboard.

• Global Send Key Events is recommended for Citrix based applications.

• Global Send Keys is available within a Navigate stage. The application must be in
focus and the parent tree item selected.

https://www.udemy.com/user/travis-dahlheimer-2/
RUN MODES
Object Properties Window with Exclusive Run Mode

https://www.udemy.com/user/travis-dahlheimer-2/
RUN MODES CONTINUED
• Foreground:
• Object should not have more than one instance for a given runtime resource.
• Foreground Object can run at the same time as background objects. Object Properties Window
• Background:
• Object can run multiple instances a the same time on a given runtime
resource.
• Background objects can also run at the same time as other background
objects.

• Exclusive:
• Object can never be run at the same time as any other object for a given
runtime resource.

• Key exam points:


• A run mode defines how an object runs only for a given runtime resource. An
object set to exclusive can run at the same time as other objects on a different
machine.
• Run mode is defined at the object level but it defines how a process will
interact with that object.

https://www.udemy.com/user/travis-dahlheimer-2/
WORK QUEUES
• Work queue priority can be set to have more control over which items are processed
first. An item with a priority number 3 will be processed over an item with a priority
number 5.

• A status can be set on a work queue item. Status is useful to store the stage of
completion the item is up to. This allows the item to skip logic should the item hit a Item Colour Size Country
system exception and need to be retried.
Item 1 Blue 80kg UK
• Tags are useful to group items into specific categories:
• Tags can be filtered, which can be useful for processing.
• Tag filter is an condition with syntax “+tag1;-tag2”. The + symbol is not Item 2 Green 100kg UK
required.
• Tags can be filtered from the Control Room to quickly filter items within the Item 3 Blue 65kg USA
Work Queue.
• Tags quantity, both on a specific item and the total amount of unique tags
should be limited to reduce the load on the Blue Prism database.

• E.g. “Green” will return Item 2 and “+Blue;-UK” will return Item 3.

https://www.udemy.com/user/travis-dahlheimer-2/
EXAM INFORMATION
• AD01 and other Blue Prism exams are conducted via PearsonVue

• A PearsonVue account should be created with the same email and username as your
Blue Prism account.
• Both a PearsonVue and Blue Prism account are needed to sit the exam.

• The AD01 exam can be taken in a qualified centre by following the prompts at the link
above.


To take the AD01 from your own home AD01_OP (Online Proctored) should be selected.

At the time of writing the cost of sitting AD01 is $150 USD.


GOOD


A 70% pass mark is required (48/60) with 60 minutes to complete.

An exam cannot be resit until 30 days from failure has elapsed.


LUCK!
• Questions are similar to the practice tests you have completed:
• All 60 questions come from a random pool created by Blue Prism.
• Some questions are in a short form and will be quick to answer.
• Some questions will be in a longer format and will require studying to ensure the
correct answer is selected. You will intentionally tried to be tricked!
• Questions can be multiple choice, multiple selection, short response and drag
and drop.
https://www.udemy.com/user/travis-dahlheimer-2/

You might also like