A Python API for scripting JMeter performance tests using Java JMeter-DSL via pyjnius.
pymeter is a Python library that provides an API for creating and executing Apache JMeter performance tests programmatically. It solves the problem of JMeter's GUI dependency and manual processes by allowing developers to script load tests in Python, leveraging the Java-based JMeter-DSL through pyjnius for seamless integration.
Python developers, QA engineers, and DevOps practitioners who need to automate performance testing within their Python-based workflows or CI/CD pipelines.
Developers choose pymeter because it enables code-driven JMeter testing with Python's simplicity, eliminates the need for JMeter's GUI, supports version control and code reuse, and integrates smoothly with existing testing frameworks.
Simple JMeter performance tests API for python
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables writing JMeter tests using familiar Python syntax and classes, as shown in the example with HttpSampler and ThreadGroupWithRampUpAndHold, reducing the learning curve for Python developers.
Facilitates version control and collaboration by storing performance tests as code, aligning with modern DevOps practices and CI/CD integration highlighted in the philosophy.
Provides programmatic access to detailed performance metrics like percentiles and mean response times, and generates HTML reports without external tools, as demonstrated in the example script.
Works seamlessly with any Python testing framework such as unittest or pytest, allowing performance tests to coexist with functional tests in the same codebase.
Requires a Java installation and JAVA_HOME configuration, adding setup complexity and maintenance overhead compared to pure Python load testing tools.
Inherits constraints from JMeter-DSL, which may lack support for advanced JMeter plugins or GUI-specific features, limiting extensibility for specialized needs.
Necessitates both Python and Java environments with proper setup, as noted in the pre-requisites, which can be a barrier for quick adoption or in constrained environments.