appian-locust


Nameappian-locust JSON
Version 2.27.0 PyPI version JSON
download
home_pagehttps://gitlab.com/appian-oss/appian-locust
SummaryTools and functions to make testing Appian with Locust easier
upload_time2025-09-09 17:53:41
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/5f/f4/9b247410b3db9492d2d54e1f74a2254839e7edd07dffd32a5463adae9e90/appian_locust-2.27.0.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.27.0",
    "project_urls": {
        "Homepage": "https://gitlab.com/appian-oss/appian-locust"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4f27df5e76d0fe2c4a3b64247979c335ae82896045cbb5fb51b4ac1506c7fa1b",
                "md5": "7880bfdcaea4dde1b02bffc743088e99",
                "sha256": "9d66bf3a61a81d450e643fadbc759575d07305d156edf7aca648d718eba5c3fe"
            },
            "downloads": -1,
            "filename": "appian_locust-2.27.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7880bfdcaea4dde1b02bffc743088e99",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 118750,
            "upload_time": "2025-09-09T17:53:40",
            "upload_time_iso_8601": "2025-09-09T17:53:40.742909Z",
            "url": "https://files.pythonhosted.org/packages/4f/27/df5e76d0fe2c4a3b64247979c335ae82896045cbb5fb51b4ac1506c7fa1b/appian_locust-2.27.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5ff49b247410b3db9492d2d54e1f74a2254839e7edd07dffd32a5463adae9e90",
                "md5": "8eb706906659ce78dc21be1730eed08b",
                "sha256": "4f2c5f89812d0d93c41a4793842d046a1ab8b68bc70b97096bb75bb6e29e7a3c"
            },
            "downloads": -1,
            "filename": "appian_locust-2.27.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8eb706906659ce78dc21be1730eed08b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 147465,
            "upload_time": "2025-09-09T17:53:41",
            "upload_time_iso_8601": "2025-09-09T17:53:41.997561Z",
            "url": "https://files.pythonhosted.org/packages/5f/f4/9b247410b3db9492d2d54e1f74a2254839e7edd07dffd32a5463adae9e90/appian_locust-2.27.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-09 17:53:41",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "appian-oss",
    "gitlab_project": "appian-locust",
    "lcname": "appian-locust"
}
        
Elapsed time: 2.81921s