appian-locust


Nameappian-locust JSON
Version 2.26.1 PyPI version JSON
download
home_pagehttps://gitlab.com/appian-oss/appian-locust
SummaryTools and functions to make testing Appian with Locust easier
upload_time2025-07-08 19:20:48
maintainerNone
docs_urlNone
authorAppian Performance & Reliability Engineering Squad
requires_pythonNone
licenseApache 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. 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"
}
        
Elapsed time: 0.79006s