6. Run Lists

A Run List is a collection of one or more automation flows that are executed on one or more Schedules. The execution of a Run List is controlled by the Leapwork Controller. Run Lists are used in many scenarios, but the most common are:

  • Executing larger collections of automation flows against e.g. development and/or test environments
  • Grouping automation flows in steps and controlling the test execution order
  • Running one or more automation flows to trigger a business process on a timely basis
  • Executing automation flows through the public REST API
  • Executing the automation flows through the Continuous Integration and Delivery (CI-CD) Pipeline.
  • Executing the same automation flows in different configurations, environments, machines etc.

After designing automation flows, users can create and schedule a Run List of flows to run automatically in different operating systems and browsers using the Scheduler configuration available under a Run List:

Creating a new Run List

To create a new Run List, follow these steps:

  1. In the Run Lists module, click the New button:
  2. Choose the Run List option. 
  3. Provide a name for the new Run List, e.g. 'TestRunList': 

Managing Run Lists

A Run List always consists of one or more steps. Each step in a Run List can contain one or more flows to be executed. Users can add multiple steps to define and control the execution of the flows. The first step is always executed and the rest of the steps can be made conditional, i.e. their execution can be controlled on the basis of the outcome of the previous step. 

There are four available conditions to choose in the 'Step':

Always run The Always run condition should be selected if the user needs to run all of the flows irrespective of whether the flows in any previous step have failed.

Only run if previous steps have succeeded

The Only run after success condition should be selected when the user wants to run the flows in a step only if the flows in the previous steps have succeeded.

Only run if all previous steps have succeeded

The Only run after all previous steps have success condition should be selected when the user wants to run the flows in a step only if all the tests in the previous steps have succeeded.

Only run if any previous steps have failed

The Only run if previous steps have failed condition should be selected when the user wants to run the flows in a step only if any of the flows in the previous steps have failed.

Adding Flows to Steps

In order to add flows to the steps, do the following:

  1. Click the Add flows button in the corresponding step where you want to add flows:
  2. A popup window will open that shows all of the available flows. Users can select one or more flows by pressing the Ctrl button and clicking on the corresponding folder/flows.
  3. The Add button will be enabled on the popup after the user selects one or more flows. Users should click on the button in order to add the selected flows to the step:
  4. After adding the flows, the step will list all of the selected flows:

Adding Steps to Run Lists

In order to add steps to the Run List, do the following:

  1. There is an Add step button available before and after each step. The user can click on this button to insert a new step.
  2. Once the button is clicked, a new step will be inserted as shown below:

     

  3. Once the Run List is ready, the user can bind it to a particular schedule for autonomous execution.

Duplicating Run Lists

In order to manage the flows efficiently or to make multiple Run Lists with similar flows and settings, the user can create a copy of a Run List. Copying a Run List generates an entirely new version of the Run List and it's associated Schedules. However, reference to the flows is maintained. So making changes in one Run List's steps or schedules will not impact the other one. If a flow is modified or deleted, the changes will be reflected in both Run Lists. Users can manually add/remove steps and flows in the copied Run List as needed.

In order to copy a Run List, do the following:

  1. Navigate to the Run Lists section in Leapwork and right-click on the Run List that needs to be copied:
  2. Choose the 'Copy' option from the context menu.
  3. Choose a folder and/or simply right-click in the blank area of the Run List section.
  4. Select the 'Paste' option:
  5. A copy of the Run List is generated containing all steps/flows in the original Run List. The associated schedules are also duplicated. However, the schedule is disabled so that it doesn't trigger with the same settings i.e. Start Time and Agent:

    Freeze Run Lists

  6. Note: This is available in the Enterprise Edition only.
  7. Freeze Run lists targets DevOps or QA teams with extended compliance and documentation requirements associated with internal or external governance standards, such as GxP.

    It provides absolute version control by enabling users to lock or “freeze” run lists and their associated automation flows. A locked version can be viewed at any time, and used by QA teams to assert that a flow approved in a given context remains unchanged. This way you can rest assured that flows approved are locked in a desired state and a tamper proof condition, and that overall test case or process validation is robust and secure:

  8. When this option is used, the Run List will be turned into a read-only state with running capability. In this read-only state, a time-stamp is added alongside a Create copy button. It is not possible to edit a frozen run list. Instead, users must create a duplication and work from the copy.

    Once a run list and its flows have been frozen, it is still possible to change the way it is scheduled and executed to account for evolving requirements and environments. However, no matter how you re-run it, a frozen Run List will always retain its chosen configuration.

  9. Users can manually rename the Run List and schedules, modify the Run List steps/flows, settings, etc. and enable the schedule as required.