Skip to content
Release repository for uilicious-cli go builds
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

UI-licious Command Line Interface


UI-licious is a tool for development teams to rapidly create and run end-to-end user journey tests for their web applications.

This command line interface allows you to run and manage your UI-licious tests through the command line.

Note that the UI-licious CLI can only be used with an active subscription of UI-licious.


The CLI is written in GoLang, and you may install the CLI by downloading the binary distribution or via NPM.

Download binaries directly

Download via npm

Before installing this package, ensure that npm is updated to the latest version:

$ npm install npm@latest -g

Run the following to install uilicious-cli globally:

$ npm install uilicious-cli -g

Using --help

Use the --help option to list the available commands:

$ uilicious-cli --help


To get more information about a single command, use --help after the command:

$ uilicious-cli <command> --help

Run Help


You can use your access key or username and password to authenticate yourself.

Authentication with access key

Where can I get my access key?

Login to UI-licious Studio, go to "Account and Billing > Access Key" to view and regenerate your access key

You can set your access key with the --key option when using the cli, e.g.:

$ uilicious-cli run "demo" "/login/test 1" --key <acccess_key>

Authentication with username and password

Alternative you can authenticate with your username and password, using the --user and --pass options e.g.

$ uilicious-cli run "demo" "/login/test 1" --user <username> --pass <password>

You can also use the short form -u or -p, e.g.:

$ uilicious-cli run "demo" "/login/test 1" -u <username> -p <password>


Warning: Please avoid using deprecated aliases for the commands, as they can be removed in the future.

Name Deprecated aliases Purpose
run Run a test
download export Download a project to a local directory
upload import Upload files from a local directory to a project

Running a test

$ uilicious-cli run  <project_name> <script_path> [--browser] [--width] [--height]
  • <project_name> - Name for the project being tested.
  • <script_path> - Name of the test script being executed.

Additional Options

  • --browser <browser_name> options : e.g. chrome, firefox, edge, safari, ie11 (default "chrome")
  • --height <browser_height> height of browser (default "960")
  • --width <browser_width> width of browser (default "1280")

Setting the DATA object

The DATA object is a special object you can use in the test script for dynamic test data.

You can use the DATA object in your script like this:

// Here's an example to help you get started!
I.goTo("")"Sign up")
I.see("Join GitHub")
I.fill("Username", DATA.username)
I.fill("Password", DATA.password)"Create an account")

You can set the DATA using a json string using --dataObject or by reading from json file using --dataFile.


$ uilicious-cli run "github" "Login" --dataObject {"username":"brucewayne","password":"secret","email":""}
$ uilicious-cli run "github" "Login" --dataFile "./user-brucewayne.json"

Test local applications using DATA.url and ngrok

You can test localhost applications using uilicious. The CLI uses ngrok to create a temporary remote url to access your localhost application for testing.

To do so, use the DATA.url variable in your test script wherever there's a reference to the url of your application, e.g.

I.goTo(DATA.url || "")"Sign up")

To run your test against your local application, set --ngrokPort to the port where your application is hosted, e.g. if your application is hosted on

$ uilicious-cli run "MyStore" "Login" --ngrokPort 3000

If you use to use another variable instead of DATA.url, you can use --ngrokParam to set the variable name.

For example if you want the url to be set to, set --ngrokParam to site, e.g.

$ uilicious-cli run "MyStore" "Login" --ngrokPort 3000 --ngrokParam "site"

Upload files to a project

You can upload files from a local directory to an UI-licious project using the upload command. If the project does not exists, it will be automatically created:

uilicious-cli upload <project_name> <local_directory>

Additional Options

  • --overwrite=false to disable file overwriting on conflict (enabled by default)

Download files from a project

You can download files from a UI-licious project to a local directory using the download command. Files will be overwritten in the destination folder if they already exist.

uilicious-cli download <project_name> <local_directory>

Additional Options

  • --overwrite=false to disable file overwriting on conflict (enabled by default)

Need help?


Copyright © 2019 Uilicious Private Limited

You can’t perform that action at this time.