Licensing and Deployment

The Leapwork Automation Platform, including all features, is licensed on an annual subscription basis.

The platform consists of:

Controller: This is the server that stores all automation assets and orchestrates running and gathering results.

Agent: This is the run-time agent that executes automation cases on virtual machines or in the cloud.

Studio: This is the visual designer application that is used to create and maintain automation cases as well as review results.

This means that you can start using Leapwork Studio as soon as a Controller and at least one Agent is installed on a machine in your infrastructure or in the cloud.

Here is an example of what a Leapwork Automation Platform configuration could look like, using one virtual machine for a Controller, two virtual machines for Agents and various laptops or workstations (PCs) with Studio installed as per your agreed requirements:

leapwork deployment example

This is the preferred minimum configuration for most companies starting out with Leapwork because it allows multiple team members to work together immediately on designing and preview-running automation cases on their own laptops or workstations (PCs) in Studio. The two Agents are then shared for scheduled execution of the automation cases e.g. in separate test and pre-production environments, when they are finished.

For more information about the individual Leapwork components, please see the Architecture Overview and the Learning Center.

Adding extra Agents

As usage grows, it may be relevant to add more Agents because only one automation case can be executed at a time on an Agent. The Agent takes full control of the machine where it’s installed so it can move and click the mouse, type on the keyboard and thereby work with applications just like a real user would. This can’t be parallelized without adding extra machines (with Agents installed on each one).

Adding extra Agents when working with Leapwork’s image and text recognition building blocks can also be very beneficial. Image recognition works best when the screen resolution and Windows setup (e.g. background color, font sizes, etc.) is the same for Studio and Agent. So, when designing and preview-running automation cases that rely on image recognition, it’s best practice to use Studio’s built-in ability to work directly on the Agent.

Another reason for adding extra Agents is when working across large networks. A US-based organization with a data center in South-East Asia might for instance deploy their Studio and Controller installations in the US along with some Agents, while other Agents are deployed in the South-East Asia data center to remove latency issues when automating applications there.

Here is an example where one additional Agent is added to the Controller, so that up to three automation cases can be run in parallel at the same time — or one Agent could be used for designing automation cases while the other two are used for running the finished cases:

adding-extra-agents

This deployment configuration consists of one Leapwork Automation Platform and one additional Agent.

Parallelizing web automation with Selenium Grid and cloud services

Agents can run all types of automation cases in Leapwork, which of course includes those that make use of web, desktop, and image and text recognition building blocks. Agents run fast, they record video of everything that happens, and are very easy to install.

However, if automating web applications (including mobile web apps) is a major reason for using Leapwork in your organization, there are two additional great ways of running web automation cases in parallel, on different browsers, operating systems, and devices.

The first way is to set up or use an existing Selenium Grid in your own network infrastructure and use that from Leapwork. Selenium Grid is an open-source software package that lets you run many web automation cases in parallel. Leapwork integrates with Selenium Grid for executing web automation cases efficiently across different environments, as explained in our Learning Center.

The second way is to use one of the two popular cloud providers of desktop and mobile web browsers: Sauce Labs or BrowserStack. This means that you can build web automation cases for both browsers and mobile devices in Studio and then run them in the cloud on Windows and Mac as well as on iPhones and Android devices.

Sauce Labs, BrowserStack, LambdaTest, and Selenium Grid are supported by Leapwork and must all be included in the total agent count for your Leapwork license. Any usage of these external services will deduct from your agent pool, as specified in your license agreement. This means that if you plan to use these cloud services, you need to specify the number of agents, including both cloud and remote agents, when purchasing or updating your Leapwork license. 

Note: Licenses for external cloud services such as Sauce Labs, BrowserStack, and LambdaTest are not included in your Leapwork subscription. These must be purchased directly from the respective providers.

Additionally, we recommend considering our own Leapwork Cloud agents. These hosted agents are available for customers who prefer a fully cloud-based solution or wish to supplement their existing infrastructure with agents hosted by Leapwork.

With the extra options for running web automation cases, a single Leapwork Automation Platform can be configured like this:

 

selenium-grid-and-cloud-services

This deployment configuration consists of one Leapwork Automation Platform (only one Agent shown here) plus the cost of Sauce Labs or BrowserStack licenses as needed.

It should be noted that when using Selenium Grid, Sauce Labs, or BrowserStack, Leapwork supports only web automation cases, and not native mobile applications. To automate native applications, Leapwork Agents can be installed on Windows and then used to automate iOS simulators and Android emulators with Leapwork’s image and text recognition blocks.

Separating into multiple teams

Everything on a Leapwork Controller is shared between the Studio users: The automation cases, agent resources, results, dashboards and more. This makes it very easy for people in your organization to collaborate on automation, but it also means that everything is visible to everyone.

Sometimes automation assets must be separated into multiple Controllers. For some organizations, it is necessary to separate assets between teams or areas of automation for security or regulatory reasons.

Other common reasons for separating assets into multiple Controllers is in heavy usage scenarios, network latency across large geographical distances and/or when many Agents constantly run in parallel, each streaming video of what’s happening back to the Controller.

Adding one or more extra Controllers (and Agents) is the preferred way to solve these issues, as shown in the following example:

splitting-into-multiple-teams

Important: Each additional Controller requires a separate license as per your Leapwork subscription.

This deployment configuration consists of two Leapwork Automation Platforms plus two additional Agents.

The two Controllers in this example might need to share some assets or trigger things to happen on each other. This can be achieved by scripting asset import/export and by using Leapwork’s built-in open REST API, as explained in our Learning Center.

Working with a partner using a VPN connection

When two organizations need to work together on Leapwork, there are several different architectures to consider. The above architecture with two separate Leapwork Automation Platform installations might be the easy choice.

However, if both organizations can work on the same network — for instance by having users from organization A connect to organization B’s network with a fast VPN connection, it’s possible to simply use a single Leapwork Automation Platform installation:

working-with-a-partner-with-vpn

This deployment configuration consists of one Leapwork Automation Platform and one additional Agent.

Studio users in organization A would connect to the controller in organization B’s network just like Studio users inside organization B. This does require a fast and high-bandwidth connection but can work very well.

Working with Leapwork in the cloud

If your organization is looking to automate cloud-based software, you may want to install some or all the Leapwork components in the cloud. For instance, you may wish to have Studio installed on your users’ own laptops or workstations (PCs) while having the Controller and several Agents installed on cloud servers.

Alternatively, even Studio could be installed on cloud servers.

Leapwork supports all providers of Windows-based cloud machines if they have a built-in graphics interface. This includes the two most common cloud providers, Amazon EC2 and Microsoft Azure.

The following is an example of how to install the entire Leapwork Automation Platform on cloud servers, while also installing Studio on some of your users’ own laptops or workstations (PCs):

working-in-the-cloud

This deployment configuration consists of one Leapwork Automation Platform and one additional Agent.

Warning: When using Leapwork Studio on cloud or virtual machines, ensure that Studio and Agents are installed on separate machines. This avoids connection drops caused by Windows remote desktop configurations, as only one remote desktop connection is allowed per machine at any given time.

The reason for this is a technical limitation in Windows: To take control over the machine’s Windows desktop while communicating with the Controller, the Agent must drop any existing remote desktop connections — there can be only one. So, if a user is connected to the same cloud or virtual machine using a remote desktop connection to work with Studio, that connection will be dropped as soon as the Agent starts running an automation case. On a laptop or workstation (PC) this isn’t a problem because it is used without a remote desktop connection.

Testing or monitoring in different network environments

If your organization needs to create and maintain automation cases in one environment but run the cases in multiple other environments, a single Leapwork Automation Platform can typically be used, with Agents deployed in each of the environments.

For instance, when using Leapwork to run regression tests in test, pre-production, and production environments, or when monitoring customer systems in their networks, the following example can be used:

monitoring-different-networks

This deployment configuration consists of one Leapwork Automation Platform and three additional Agents.

Enterprise edition requires access to MS SQL server

The Enterprise edition of Leapwork targets deployment beyond the individual teams or projects into the entire organization. The ability to scale in terms of number of users and execution load and capacity is a main differentiator for the Enterprise edition compared to the other Leapwork versions.

This enhanced capacity and scalability is partly made possible by an enhanced database platform. Whereas the Leapwork Platform edition utilizes the onboard SQLite database, the Enterprise edition requires an MS SQL Server. An MS SQL Server license is not included as part of a Leapwork license. Any SQL Server edition beyond Express is supported.