.. what_is_appian_locust-inclusion-begin-do-not-remove
#######################################
What is Appian Locust?
#######################################
Appian Locust is a wrapper library around `Locust <https://locust.io>`__ 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
.. what_is_appian_locust-inclusion-end-do-not-remove
For full documentation, visit the `docs page <https://appian-locust.readthedocs.io/en/latest/>`__.
.. disclaimer-inclusion-begin-do-not-remove
**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 <contributing.html>`__ section and feel free to reach out.
.. disclaimer-inclusion-end-do-not-remove
.. quick_start-inclusion-begin-do-not-remove
************************
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.
.. note::
💡 If you don’t want to manage environments manually, jump to the *Automatic Setup* section below.
Manual Setup
------------
1. Install appian-locust using ``pip``, for more comprehensive projects we recommend using ``pipenv``.
.. code-block:: bash
pip install appian-locust
If using ``pipenv``, simply start from the following ``Pipfile``:
.. code-block:: toml
[packages]
appian-locust = {version = "*"}
[requires]
python_version = "3.13"
Build from source
----------------------
1. Clone the repository:
.. code-block:: bash
git clone -o prod git@gitlab.com:appian-oss/appian-locust.git
2a. Install the library globally:
.. code-block:: bash
pip install -e appian-locust
2b. Or within a virtual environment:
.. code-block:: bash
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 <https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/>`__ 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 <https://github.com/locustio/locust/issues/1208#issuecomment-569693439>`__
Automatic Setup
---------------
To simplify the setup process and avoid installing Python manually, use the provided `setup.sh <https://gitlab.com/appian-oss/appian-locust/-/blob/main/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:
.. code-block:: bash
git clone -o prod git@gitlab.com:appian-oss/appian-locust.git
2. Navigate to `appian-locust` directory and make the script `setup.sh` executable:
.. code-block:: bash
cd appian-locust/
chmod +x setup.sh
3. Run the setup:
.. code-block:: bash
./setup.sh
4. After setup, activate the virtual environment:
.. code-block:: bash
pipenv shell
Test environment setup
----------------------
Download the sample test `example_locustfile.py <https://gitlab.com/appian-oss/appian-locust/-/blob/main/examples/example_locustfile.py>`_ from the Appian Locust repo and run it.
.. code-block:: bash
locust -f example_locustfile.py
If everything is set up correctly, you should see a link to the `Locust web interface <https://docs.locust.io/en/stable/quickstart.html#locust-s-web-interface>`_, which you can use to start test runs and view results.
* For more information about how to build the workflow for your locust test, see the `How to Write a Locust Test <how_to_write_locust_tests.html>`__ section.
* For more information on running locust tests, see the `How to Run Locust <how_to_run_locust.html>`__ section.
``appian-locust`` should now be ready to run your Locust performance tests!
Troubleshooting
----------------
* **Do not have permissions to clone appian-locust**
* Ensure you have added you ssh key to your profile. See `here <https://docs.gitlab.com/ee/user/ssh.html#add-an-ssh-key-to-your-gitlab-account>`__ for how to do this.
* **"locust is not available"**
* Verify that you ran ``pip install -e appian-locust``
* **"Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known"**
* check that ``host_address`` is specified correctly in your locust test file.
* **"Login unsuccessful, no multipart cookie found...make sure credentials are correct"**
* check that `auth` specifies a valid username and password combination for the site you're testing on in your locust test file.
* **"General request and response debugging"**
* Add ``self.client.record_mode = True`` to your ``HttpUser`` subclass. Files will be placed in ``/record_responses`` where the runner is executed.
* Use ``run_single_user`` method of locust to run in debugger mode.
.. quick_start-inclusion-end-do-not-remove
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/appian-oss/appian-locust",
"name": "appian-locust",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Appian Performance & Reliability Engineering Squad",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/d9/f6/cd1a87a28a51f2197a680b1a915471b98b69b372775eea5342c9ee161d72/appian_locust-2.26.1.tar.gz",
"platform": null,
"description": ".. what_is_appian_locust-inclusion-begin-do-not-remove\n\n#######################################\nWhat is Appian Locust?\n#######################################\n\nAppian Locust is a wrapper library around `Locust <https://locust.io>`__ for load testing Appian.\nThis library is intended to be used as an alternative to tools such as Jmeter and Load Runner.\n\nAppian Locust capabilities\n\n- Logging in and logging out\n- Form interactions (filling/submitting)\n- Finding and interacting with basic components on a SAIL interface\n- Navigating to records/reports/sites\n\n.. what_is_appian_locust-inclusion-end-do-not-remove\n\n\nFor full documentation, visit the `docs page <https://appian-locust.readthedocs.io/en/latest/>`__.\n\n.. disclaimer-inclusion-begin-do-not-remove\n\n**Disclaimer:**\nThis library is continuously evolving.\nCurrently the main focus is supporting essential use-cases.\nWe are happy to accept contributions to further extend functionality, address bug fixes and improve usability.\nPlease see the `Contributing <contributing.html>`__ section and feel free to reach out.\n\n.. disclaimer-inclusion-end-do-not-remove\n\n.. quick_start-inclusion-begin-do-not-remove\n\n************************\nQuick Installation Guide\n************************\n\nThis guide helps you get up and running with the ``appian-locust`` library quickly.\n\nWe 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.\n\n.. note::\n \ud83d\udca1 If you don\u2019t want to manage environments manually, jump to the *Automatic Setup* section below.\n\nManual Setup\n------------\n\n1. Install appian-locust using ``pip``, for more comprehensive projects we recommend using ``pipenv``.\n\n.. code-block:: bash\n\n pip install appian-locust\n\n\nIf using ``pipenv``, simply start from the following ``Pipfile``:\n\n.. code-block:: toml\n\n [packages]\n appian-locust = {version = \"*\"}\n\n [requires]\n python_version = \"3.13\"\n\nBuild from source\n----------------------\n1. Clone the repository:\n\n.. code-block:: bash\n\n git clone -o prod git@gitlab.com:appian-oss/appian-locust.git\n\n\n2a. Install the library globally:\n\n.. code-block:: bash\n\n pip install -e appian-locust\n\n\n2b. Or within a virtual environment:\n\n.. code-block:: bash\n\n pipenv install -e appian-locust\n\nNote: It\u2019s highly recommended that you use a virtual environment when installing python artifacts. You can follow the instructions `here <https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/>`__ to install virtualenv and pip.\n\nIf you have issues installing, make sure you have the proper prerequisites installed for Locust and its dependencies.\nIf you're having trouble on Windows, check `here <https://github.com/locustio/locust/issues/1208#issuecomment-569693439>`__\n\nAutomatic Setup\n---------------\n\nTo simplify the setup process and avoid installing Python manually, use the provided `setup.sh <https://gitlab.com/appian-oss/appian-locust/-/blob/main/setup.sh>`_ script. It will:\n\n- Install ``pyenv`` and ``pipenv`` if they are missing.\n- Install the correct Python version from the ``Pipfile``.\n- Create a virtual environment.\n- Install all dependencies.\n\n1. Clone the repository:\n\n.. code-block:: bash\n\n git clone -o prod git@gitlab.com:appian-oss/appian-locust.git\n\n\n2. Navigate to `appian-locust` directory and make the script `setup.sh` executable:\n\n.. code-block:: bash\n\n cd appian-locust/\n chmod +x setup.sh\n\n3. Run the setup:\n\n.. code-block:: bash\n\n ./setup.sh\n\n4. After setup, activate the virtual environment:\n\n.. code-block:: bash\n\n pipenv shell\n\n\nTest environment setup\n----------------------\nDownload the sample test `example_locustfile.py <https://gitlab.com/appian-oss/appian-locust/-/blob/main/examples/example_locustfile.py>`_ from the Appian Locust repo and run it.\n\n.. code-block:: bash\n\n locust -f example_locustfile.py\n\nIf everything is set up correctly, you should see a link to the `Locust web interface <https://docs.locust.io/en/stable/quickstart.html#locust-s-web-interface>`_, which you can use to start test runs and view results.\n\n* For more information about how to build the workflow for your locust test, see the `How to Write a Locust Test <how_to_write_locust_tests.html>`__ section.\n* For more information on running locust tests, see the `How to Run Locust <how_to_run_locust.html>`__ section.\n\n``appian-locust`` should now be ready to run your Locust performance tests!\n\nTroubleshooting\n----------------\n* **Do not have permissions to clone appian-locust**\n\n * Ensure you have added you ssh key to your profile. See `here <https://docs.gitlab.com/ee/user/ssh.html#add-an-ssh-key-to-your-gitlab-account>`__ for how to do this.\n* **\"locust is not available\"**\n\n * Verify that you ran ``pip install -e appian-locust``\n* **\"Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known\"**\n\n * check that ``host_address`` is specified correctly in your locust test file.\n\n* **\"Login unsuccessful, no multipart cookie found...make sure credentials are correct\"**\n\n * check that `auth` specifies a valid username and password combination for the site you're testing on in your locust test file.\n\n* **\"General request and response debugging\"**\n\n * Add ``self.client.record_mode = True`` to your ``HttpUser`` subclass. Files will be placed in ``/record_responses`` where the runner is executed.\n\n * Use ``run_single_user`` method of locust to run in debugger mode.\n\n.. quick_start-inclusion-end-do-not-remove\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "Tools and functions to make testing Appian with Locust easier",
"version": "2.26.1",
"project_urls": {
"Homepage": "https://gitlab.com/appian-oss/appian-locust"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "61e32e586526d7177bfac5d8d90527089758fb86e7c3a4d613833951697d248e",
"md5": "f9678c5c217ad4665c93017ea13a2991",
"sha256": "a9083346ef768636ba85f1c94c7a97e76c5cdcd031155a5a99f8dab5e3518245"
},
"downloads": -1,
"filename": "appian_locust-2.26.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f9678c5c217ad4665c93017ea13a2991",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 117114,
"upload_time": "2025-07-08T19:20:46",
"upload_time_iso_8601": "2025-07-08T19:20:46.099759Z",
"url": "https://files.pythonhosted.org/packages/61/e3/2e586526d7177bfac5d8d90527089758fb86e7c3a4d613833951697d248e/appian_locust-2.26.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d9f6cd1a87a28a51f2197a680b1a915471b98b69b372775eea5342c9ee161d72",
"md5": "007269c36204f4640bc14277831f0855",
"sha256": "4b502ffa89acf135a7ac8bf7674f1c3066ba1f55263d702c504273fed95e6583"
},
"downloads": -1,
"filename": "appian_locust-2.26.1.tar.gz",
"has_sig": false,
"md5_digest": "007269c36204f4640bc14277831f0855",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 145238,
"upload_time": "2025-07-08T19:20:48",
"upload_time_iso_8601": "2025-07-08T19:20:48.280627Z",
"url": "https://files.pythonhosted.org/packages/d9/f6/cd1a87a28a51f2197a680b1a915471b98b69b372775eea5342c9ee161d72/appian_locust-2.26.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-08 19:20:48",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "appian-oss",
"gitlab_project": "appian-locust",
"lcname": "appian-locust"
}