Name | robotframework-mitmlibrary JSON |
Version |
0.2.1
JSON |
| download |
home_page | https://github.com/MobyNL/robotframework-mitmlibrary |
Summary | A Robot Framework library for managing and manipulating HTTP requests and responses using a man-in-the-middle proxy approach. It allows blocking requests, customizing responses, adding delays, and more. |
upload_time | 2025-02-06 19:13:30 |
maintainer | None |
docs_url | None |
author | Mark |
requires_python | <4.0,>=3.12 |
license | MIT |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Robot Framework MITM Library

## Keyword
[Keyword documentation](https://mobynl.github.io/robotframework-mitmlibrary/MitmLibraryKeywords.html)
## Overview
The Robot Framework MITM Library is a custom library for [Robot Framework](https://robotframework.org/) that enables integration with the Python package [mitm](https://github.com/mitmproxy/mitmproxy). This library allows you to automate and test scenarios involving Man-in-the-Middle (MITM) proxy functionality within your Robot Framework test suites.
If you need help, have suggestions or want to discuss anything, feel free to contact through the [slack channel](https://robotframework.slack.com/archives/C06M2J3J8AC).
## Features
- Interact with MITM proxy using Robot Framework keywords.
- Manipulate network traffic for testing purposes.
- Easily simulate different network conditions and responses.
- Integrate MITM proxy capabilities into your existing Robot Framework tests.
## Installation
1. Install Robot Framework (if not already installed):
2. Install mitm library using pip:
```
pip install robotframework-mitmlibrary
```
## Usage
1. Import the MITM Library in your Robot Framework test suite:
```robotframework
*** Settings ***
Library MitmLibrary
```
2. Use the available keywords to interact with the MITM proxy and manipulate network traffic as needed:
```robotframework
*** Settings ***
Library MitmLibrary
*** Test Cases ***
Block and Delay Websites
Start Mitm Proxy
# Block requests to Robot Framework website
Add To Blocklist robotframework.org
# Delay requests to Google
Add Response Delay GoogleDelay https://www.google.com 5 # Delay for 5 seconds
# Perform tests that involve network traffic manipulation
# ...
Stop Mitm Proxy
```
### Why use Mitm?
Mitm allows manipulation on single browser instance, by using a proxy. It does not
require you to set up stubs or mocks that might influence the entire application at
once, also resulting in stubbed/mocked behaviour while manual testing.
Examples where Mitm is useful:
- When running in parallel, if you do not want your other instances to be influenced.
- Manipulate the response of a request to see how the front end handles it
- When stubs or mocks are not available or their behaviour is not sufficient for your testing needs.
- When you want to have full control as tester, without dependency on a developer
### Mitm Certificates
To test with SSL verification, or use a browser without ignoring certificates,
you will need to set up the certificates related to
mitm. Follow the guide on the
[Mitm website](https://docs.mitmproxy.org/stable/concepts-certificates/)
## Documentation
For detailed information on the available keywords and usage examples, please refer to the [Keyword Documentation](https://mobynl.github.io/robotframework-mitmlibrary/MitmLibraryKeywords.html)
## Contributing
Contributions are welcome! If you encounter any issues, have suggestions for improvements, or would like to add new features, feel free to open an issue or submit a pull request.
## License
This project is licensed under the MIT License.
Note: This project is not officially affiliated with or endorsed by the mitmproxy project or robotframework.
Raw data
{
"_id": null,
"home_page": "https://github.com/MobyNL/robotframework-mitmlibrary",
"name": "robotframework-mitmlibrary",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": null,
"author": "Mark",
"author_email": "markmoberts@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/af/37/c0c9bf23cc682460eda43cff8be7d16b303d4cec229e373d9d4df31b8f5a/robotframework_mitmlibrary-0.2.1.tar.gz",
"platform": null,
"description": "# Robot Framework MITM Library\n\n\n\n## Keyword\n[Keyword documentation](https://mobynl.github.io/robotframework-mitmlibrary/MitmLibraryKeywords.html)\n\n## Overview\n\nThe Robot Framework MITM Library is a custom library for [Robot Framework](https://robotframework.org/) that enables integration with the Python package [mitm](https://github.com/mitmproxy/mitmproxy). This library allows you to automate and test scenarios involving Man-in-the-Middle (MITM) proxy functionality within your Robot Framework test suites.\n\nIf you need help, have suggestions or want to discuss anything, feel free to contact through the [slack channel](https://robotframework.slack.com/archives/C06M2J3J8AC).\n\n## Features\n\n- Interact with MITM proxy using Robot Framework keywords.\n- Manipulate network traffic for testing purposes.\n- Easily simulate different network conditions and responses.\n- Integrate MITM proxy capabilities into your existing Robot Framework tests.\n\n## Installation\n\n1. Install Robot Framework (if not already installed):\n2. Install mitm library using pip:\n```\npip install robotframework-mitmlibrary\n```\n\n\n## Usage\n\n1. Import the MITM Library in your Robot Framework test suite:\n```robotframework\n*** Settings ***\nLibrary MitmLibrary\n```\n\n2. Use the available keywords to interact with the MITM proxy and manipulate network traffic as needed:\n```robotframework\n*** Settings ***\nLibrary MitmLibrary\n\n*** Test Cases ***\nBlock and Delay Websites\n Start Mitm Proxy\n\n # Block requests to Robot Framework website\n Add To Blocklist robotframework.org\n\n # Delay requests to Google\n Add Response Delay GoogleDelay https://www.google.com 5 # Delay for 5 seconds\n\n # Perform tests that involve network traffic manipulation\n # ...\n\n Stop Mitm Proxy\n\n```\n\n\n### Why use Mitm?\nMitm allows manipulation on single browser instance, by using a proxy. It does not\nrequire you to set up stubs or mocks that might influence the entire application at\nonce, also resulting in stubbed/mocked behaviour while manual testing.\n\nExamples where Mitm is useful: \n- When running in parallel, if you do not want your other instances to be influenced. \n- Manipulate the response of a request to see how the front end handles it\n- When stubs or mocks are not available or their behaviour is not sufficient for your testing needs.\n- When you want to have full control as tester, without dependency on a developer\n\n### Mitm Certificates\nTo test with SSL verification, or use a browser without ignoring certificates,\nyou will need to set up the certificates related to\nmitm. Follow the guide on the \n[Mitm website](https://docs.mitmproxy.org/stable/concepts-certificates/)\n\n## Documentation\nFor detailed information on the available keywords and usage examples, please refer to the [Keyword Documentation](https://mobynl.github.io/robotframework-mitmlibrary/MitmLibraryKeywords.html)\n\n## Contributing\nContributions are welcome! If you encounter any issues, have suggestions for improvements, or would like to add new features, feel free to open an issue or submit a pull request.\n\n## License\nThis project is licensed under the MIT License.\n\nNote: This project is not officially affiliated with or endorsed by the mitmproxy project or robotframework.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Robot Framework library for managing and manipulating HTTP requests and responses using a man-in-the-middle proxy approach. It allows blocking requests, customizing responses, adding delays, and more.",
"version": "0.2.1",
"project_urls": {
"Documentation": "https://mobynl.github.io/robotframework-mitmlibrary/MitmLibraryKeywords.html",
"Homepage": "https://github.com/MobyNL/robotframework-mitmlibrary",
"Repository": "https://github.com/MobyNL/robotframework-mitmlibrary"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9e08bf68840d03072fb5b98b89bf93064593d75215842c64bedd2a97258b0c4e",
"md5": "914336b6ec6db0f46cd366d5e7f48cb2",
"sha256": "d81173a01fad5d6675e53b85cb63ae887cc0cda4acfd7c30d69ccae04f48b650"
},
"downloads": -1,
"filename": "robotframework_mitmlibrary-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "914336b6ec6db0f46cd366d5e7f48cb2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 10716,
"upload_time": "2025-02-06T19:13:28",
"upload_time_iso_8601": "2025-02-06T19:13:28.377341Z",
"url": "https://files.pythonhosted.org/packages/9e/08/bf68840d03072fb5b98b89bf93064593d75215842c64bedd2a97258b0c4e/robotframework_mitmlibrary-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "af37c0c9bf23cc682460eda43cff8be7d16b303d4cec229e373d9d4df31b8f5a",
"md5": "db78fe0d4bcf8efdfa037f8373944efe",
"sha256": "bd651ed34f1331ba73347d60cacab11b8f705c5a8f023be6a80d5da9279dc84a"
},
"downloads": -1,
"filename": "robotframework_mitmlibrary-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "db78fe0d4bcf8efdfa037f8373944efe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 9306,
"upload_time": "2025-02-06T19:13:30",
"upload_time_iso_8601": "2025-02-06T19:13:30.027488Z",
"url": "https://files.pythonhosted.org/packages/af/37/c0c9bf23cc682460eda43cff8be7d16b303d4cec229e373d9d4df31b8f5a/robotframework_mitmlibrary-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-06 19:13:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MobyNL",
"github_project": "robotframework-mitmlibrary",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "robotframework-mitmlibrary"
}