Skip to main content

Tools and functions to make testing Appian with Locust easier

Project description

Appian Locust is a wrapper library around Locust for load testing Appian. This library is intended to be used as an alternative to tools such as Jmeter and Load Runner.

Appian Locust capabilities

  • Logging in and logging out

  • Form interactions (filling/submitting)

  • Finding and interacting with basic components on a SAIL interface

  • Navigating to records/reports/sites

For full documentation, visit the docs page.

Disclaimer: This library is continuously evolving. Currently the main focus is supporting essential use-cases. We are happy to accept contributions to further extend functionality, address bug fixes and improve usability. Please see the Contributing section and feel free to reach out.

Quick Installation Guide

This guide helps you get up and running with the appian-locust library quickly.

We strongly recommend using pipenv and pyenv to automatically manage Python versions and environments. This ensures a clean and reproducible setup for running and developing tests with Locust.

Manual Setup

  1. Install appian-locust using pip, for more comprehensive projects we recommend using pipenv.

pip install appian-locust

If using pipenv, simply start from the following Pipfile:

[packages]
appian-locust = {version = "*"}

[requires]
python_version = "3.13"

Build from source

  1. Clone the repository:

git clone -o prod git@gitlab.com:appian-oss/appian-locust.git

2a. Install the library globally:

pip install -e appian-locust

2b. Or within a virtual environment:

pipenv install -e appian-locust

Note: It’s highly recommended that you use a virtual environment when installing python artifacts. You can follow the instructions here to install virtualenv and pip.

If you have issues installing, make sure you have the proper prerequisites installed for Locust and its dependencies. If you’re having trouble on Windows, check here

Automatic Setup

To simplify the setup process and avoid installing Python manually, use the provided setup.sh script. It will:

  • Install pyenv and pipenv if they are missing.

  • Install the correct Python version from the Pipfile.

  • Create a virtual environment.

  • Install all dependencies.

  1. Clone the repository:

git clone -o prod git@gitlab.com:appian-oss/appian-locust.git
  1. Navigate to appian-locust directory and make the script setup.sh executable:

cd appian-locust/
chmod +x setup.sh
  1. Run the setup:

./setup.sh
  1. After setup, activate the virtual environment:

pipenv shell

Test environment setup

Download the sample test example_locustfile.py from the Appian Locust repo and run it.

locust -f example_locustfile.py

If everything is set up correctly, you should see a link to the Locust web interface, which you can use to start test runs and view results.

appian-locust should now be ready to run your Locust performance tests!

Troubleshooting

Installation Issues

  • Permissions issue when cloning appian-locust

    • Ensure you have added your SSH key to your GitLab profile. See here for instructions.

    • Alternatively, download the ZIP bundle.

  • “locust is not available” or “command not found”

    • Verify you ran pip install appian-locust

    • If using a virtual environment, ensure it’s activated: pipenv shell

    • Check your PATH includes the Python or Pyenv directory

    echo $PATH | grep -e "python" -e "pyenv"
  • Python version compatibility errors

    • Appian Locust requires Python 3.13+. Check your version: python --version

    • Consider using pyenv to manage multiple Python versions

Connection & Authentication Issues

  • “Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known”

    • Verify host_address in your config.json is correct (without https://)

    • If behind a corporate firewall, check any network security tools like ZScaler or any outbound proxy settings.

  • “Login unsuccessful, no multipart cookie found”

    • Verify username and password in auth are correct for your Appian site

    • Verify the user has appropriate permissions to access the site, try in a browser

  • SSL/Certificate errors

    • For self-signed certificates you may need to disable SSL verification, but make sure you actually trust the host you are testing against.

    class UserActor(HttpUser):
        def on_start(self):
            self.client.verify = False

Runtime Issues

  • Tests run but no interactions complete

    • Verify that your Appian site is accessible in a browser

    • Ensure your test users have access to the interfaces you’re testing

Need More Help?

  • For detailed debugging techniques, request recording, and advanced troubleshooting, see the Debugging Guide

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

appian_locust-2.27.8.tar.gz (149.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

appian_locust-2.27.8-py3-none-any.whl (120.1 kB view details)

Uploaded Python 3

File details

Details for the file appian_locust-2.27.8.tar.gz.

File metadata

  • Download URL: appian_locust-2.27.8.tar.gz
  • Upload date:
  • Size: 149.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for appian_locust-2.27.8.tar.gz
Algorithm Hash digest
SHA256 21ff67afe88cfdb0e0ab7b612edb81d29ee6907f8f36764aeb839715b0320812
MD5 434aa02fd3eca55918984f278b4e500b
BLAKE2b-256 fa4acaea925aa3578a9b278930e5907179388640ac0a0c5fdec0a89ac410ea7d

See more details on using hashes here.

File details

Details for the file appian_locust-2.27.8-py3-none-any.whl.

File metadata

  • Download URL: appian_locust-2.27.8-py3-none-any.whl
  • Upload date:
  • Size: 120.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for appian_locust-2.27.8-py3-none-any.whl
Algorithm Hash digest
SHA256 102862479ee7404b15e1a99b5c61ae62549fbbaafa2980905ebda5c718175dcf
MD5 41b6815c28c81c76c8c08178e64c8f37
BLAKE2b-256 ebf683ec864802138deb2170fb23c9fcd0b93782d530b7d32694bbbf04bad534

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page