TLDR; LEAPWORK tool helps automate web applications and APIs using graphical building blocks instead of a programming language
I was allowed to spend some time becoming familiar with the LEAPWORK tool and used it to build flows which automate a web application. LEAPWORK use graphical building blocks that are connected together and parameterised to execute flows through an application. If you are looking for a tool to help you automate, and not be required to write code then LEAPWORK might help.
Learning and evaluating new tools takes a lot of time and LEAPWORK made this overview possible by paying for my time to familiarise myself with the tool and allowing me the freedom to create the overview video without their editorial control.
I created a video below which showcases some of the main concepts and functionality of the tool and showing some lessons learned from using the tool. So you will see me chain building blocks together to automate a Web Application. The aim is to give you some insight into the tool and shortcut the learning process if you choose to evaluate it.
The main concepts of LEAPWORK are the ‘flows hierarchy" and the flows themselves.
- Flows are chains of Building Blocks and each flow is named and has its own visual representation.
- Flows are the tests or scripts that are executed to check if the application continues to work as we expect.
- Flows can be scheduled and run in batches.
- Subflows are sections of bigger flows that we can re-use.
- Subflows are the basic ways we create abstraction layers.
- Flows and Subflows are organised in a hierarchy to categorise them into logical packages.
Creating a Flow
In the video I show creating of a simple flow that creates a Todo item in the application.
I do this by:
- creating a flow
- adding building blocks to the flow
- chaining the blocks together to represent the steps to follow
- Start Web Browser Building Block
- Find Element Building Block
- Configure the selection condition using the Web Editor
- Parameterised the Find Element to scroll into view
- Click Element Building Block
- Get Browser Details Building Block to get the title
- Compare block to compare the title with the expected title
Flows are colour coded:
- The green flows are the functional flow of the application.
- The blue flows are data flows and show where data is coming in from and being passed to in the flow.
There is a lot of documentation on the LEAPWORK site.
I found the easiest way to access it was to look at it in context of the blocks I was working with by a right click on a block and choosing “read documentation”, then I was taken to the documentation for that block online.
You can read the building block documentation online to see what the tool covers:
I found the easiest way to work with LEAPWORK was to:
- create a flow.
- get it working.
- simplify it by selecting sequences of blocks and moving them into sub flows.
Subflows are shown in the main flows by being coloured purple.
Variables and Configuration
The building blocks have a lot of configuration to change how they work.
And it is possible to create variables that are passed to many of the blocks. This supports data driven automated execution and making flows maintainable.
In the video you’ll see in more detail nuances of some of the blocks:
- Data Drive Testing from text files using the Command Line
- Find Element block to find multiple elements and perform actions on each
- Loop blocks for creating test data in the application
In the video I show, adhoc scheduling where I choose a selection of flows and create a batch which can run.
The scheduling can also be used to run a set of flows periodically at different times. Which supports teams to use a Continuous Integration approach without having to formally create a CI infrastructure.
If you already have a CI process then LEAPWORK REST API can be used to trigger batch execution automatically.
Who is this aimed at?
This tool is aimed at teams that do not have a lot of programming skill.
There are a lot of blocks for common actions.
Blocks for Desktop GUIs, Web, Direct mouse and keyboard action. If I wanted to make REST API calls then that would be in the Data Driven section section with the HTTP Request.
The blocks make it easy to get started, and over time you’ll learn their nuances. The key here I think is to keep refactoring into sub-flows and then refining and refactoring as you go.
I spent about a day evaluating LEAPWORK, reading the documentation and automating the todomvc app.
I automated flows to create todos, amend todos and delete todos.
I created a set of re-usable sub flows for each of these actions to make it easier to build up flows in the future, and I built assertion sub-flows to assert on the number of todos in the list, and to make sure that the todos have the text values that I want.
I used the ‘chat’ on the main web site for support, like any other customer, and the support team were responsive and I got the answers that I needed.
LEAPWORK is mainly aimed at teams that want to automate but don’t have a lot of programming experience. And learning to create a hierarchy of flows and sub-flows that implement common actions can be picked up fairly quickly as the video demonstrates.
You can find LEAPWORK at leapwork.com and download the demo version of the tool.