Skip to main content

Welcome

Let's discover User Flow in less than 5 minutes.

About User Flow

User Flow is a simple, intuitive, and powerful way to build automation tests to validate end to end user flows in plain english. You don't need to write any code, just write the steps in plain english just like you interact with a web application and User Flow will take care of the rest.

Here is a very simple example of a test specfication, built using User Flow.

# Navigation User Journey Test 

You may optionally add any notes in Markdown format.

## Open CDC.gov website and check for text "About CDC" exists

* Goto "https://www.cdc.gov"
* Check text "About CDC" exists

## Check if the page has any accessibility issues

* Audit page for accessibility

How does it codeless automation work?

User Flow is actually a wrapper library that implements some of the most common web interactions as steps. Most of the real work is actually done by the wonderful open source test automation framework, Gauge and Taiko, a node.js library for browser automation.

info

User Flow is built on top of two amazing open source projects.
Gauge and Taiko

One key concept with Gauge is that test specifications are written in Markdown format as a sequence of steps. This makes it easy to write and maintain test specifications. Each step is then implemented in a programming language of choice like Javascript, Java, .NET etc., to make it executable. Taiko is one such driver library that helps to implement steps in Javascript for browser automation. This is very similar to other BDD frameworks like Cucumber.

User Flow takes it further and builds a wrapper library that implements some of the most common web interactions. This makes it possible to write end to end acceptance and user journey tests without writing any additional implementation code, allowing anybody in the team, including those without any programming background to contribute to test specifications.

It's still extensible

If there is something that is not supported by existing steps, somebody with programming background in your team can still extend by creating additional steps. But one great thing is that it's just one time effort.

There it is. It's fairly simple yet powerful idea to empower your team. Go ahead and get started and give it a try. If you need some inspiration look at some of the examples.