This page is related to the new SmartBear ID-based licenses that we’ve introduced in ReadyAPI 3.8.1.
In this version, we included support for SmartBear-hosted ID-based (online) licenses. Furthermore, from version 3.40.0, we added support for on-premise hosted and offline ID-based licenses.
About
Running ReadyAPI on a headless machine means that it works from the command line. The same happens when you run ReadyAPI and its test runners from a CI/CD build.
To specify the SmartBear licenses to be used for the run, you add certain parameters to the command line. See below for details.
ReadyAPI licenses to which this info applies
Here, we have explained the use of SLM licenses in Private Networks.
Customers installing and activating a license through the ReadyAPI User Interface can use offline fixed licenses or floating licenses.
Customers planning to run tests headlessly need to add licensing credentials to the command line. To use this, you will need a floating license. Offline fixed licenses do not work with test runners.
Requirements
Activating licenses in Private Networks
If you are unable to configure network settings to connect to SmartBear-hosted license servers, you need to convert your online SmartBear licenses to offline licenses. Furthermore, you must activate these offline licenses within your private network. Follow these links for details:
-
Floating License - To run tests headlessly, you need a floating license. Also, add license credentials to the command line.
Floating licenses require downloading and installing a special On-Premise License Server.
The computer where you are going to run tests must have access to the internal (on-prem) License Servers.
-
Fixed License - Offline (fixed) licenses can only be activated through the GUI and do not work with Test Runners.
Please note, as outlined here and in our Terms of Use: Floating licenses are required for scenarios including multiple authorized users, service accounts, and machine combinations including virtual machines and containerized environments. Floating licenses are required for any headless use case with virtual machines and docker. |
Before you commence to use ReadyAPI in Headless mode
In order to use ReadyAPI headlessly, you need to export the required license to the on-prem server using the server fingerprint file as outlined here.
You must then assign the correct license to the required user or service account for headless calls to be successful. See License Administrators actions outlined here.
Once the license has been assigned to the user account requiring headless access, you can configure your headless commands and implement your test.
Configure and Run the Headless Commands
You cannot use UI based automation scripts on headless machine. |
Functional, Performance, Security, and Virtual Service testrunners
We recommend you to use the Get Access Key for the Test User on the on-prem server. You can configure and run Functional, Performance, Security, and Virtual Service testrunners through Command Line. Use the similar parameters to activate the on-prem license, this time adding the Access Key instead of credentials:
Alternatively, once the correct license is assigned to the Test User, you can configure and run Functional, Performance, Security, and Virtual Service testrunners through Command Line. Use the similar parameters to activate the on-prem license:
SLM on-premise 2.0 and later can be configured for OIDC/Okta. Once configured, client credentials can be added to the CLI command to request and install a license:
Note: | To request a license for headless calls, please ensure that your username follows the email format: [email protected] or [email protected]. If you don't follow this format, we suggest using the Access Key as your credential. |
Using access for everyone with Headless Testing in Private Networks
If you set Access for Everyone on SLM on-premises, you no longer need to add Access Key credentials to your CLI command configuration for TestRunner, Performance Load Runner, Security Test Runner, and VirtRunner.
In that case, you can add the -D licenseApiAccessForEveryone=true
flag to your CLI command.
To license SmartBear products for headless testing in private networks, take the following steps:
- Request and install On-Premise Server on your headless machine.
- Log in with the following credentials:
- username: anonymous.user
- password: <any, but cannot be left blank>
- Optionally set access to Access for Everyone.
- In the top right corner of the On-Premise License Server UI, select > Access Key and copy the access key in the subsequent dialog.
- Use the access key in your command line configuration as specified in your product's documentation.
Docker Image
You can also run Functional, Performance, Security, and Virtual Service testrunners via Docker and with Command Line.
Install Docker on your machine with Install Docker image with SoapUI TestRunner.
Put the project in the preferred folder e.g., "C:\TestDocker\Projects"
Once you have created your ready-api-soapui-testrunner docker image, you must assign the Test or Bundle license to the Test User as outlined here .
Request the Get Access Key for the Test User on the on-prem server. Enter the following command in the console and press Enter:
Docker commands can also be configured to support SLM on-premise 2.0 or later when configured for OIDC/Okta. Client Credentials Flow can be initiated using the following command:
These instructions also with Docker image with SoapUI TestRunner with uienv
tag.
Note: |
|
Maven configuration for SmartBear ID Based Licensing
-
You may provide your credentials by either enclosing them within the
<slmAccessKey>Access_Key</slmAccessKey>
tag, or by using the<slmUsername>Username</slmUsername>
and<slmPassword>Password</slmPassword>
tags. -
The server address and access settings for all users can be defined in the
readyApiProperties
. To enable access for everyone, set it to "true".-
<readyApiProperties>
...
<property>
<name>licenseApiAccessForEveryone</name>
<value>true</value>
</property>
<property>
<name>licenseApiHost</name>
<value>SLM_License_Server_Address</value>
</property>
<property>
<name>licenseApiPort</name>
<value>SLM_License_Server_Port</value>
</property>
</readyApiProperties>
-
By default, the SmartBear license server is included and does not require additional configuration. However, if you have installed and configured an offline (on-premise) license server for your ID-based licenses, you need to specify the server address and port information.
-