Showing preview only (635K chars total). Download the full file or copy to clipboard to get everything.
Repository: eldaduzman/pymeter
Branch: main
Commit: f1774515f08f
Files: 51
Total size: 611.2 KB
Directory structure:
gitextract_eu2_wdlm/
├── .all-contributorsrc
├── .github/
│ ├── dependabot.yml
│ └── workflows/
│ ├── build.yaml
│ └── publish-pypi.yaml
├── .gitignore
├── .pylintrc
├── .readthedocs.yaml
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── cosmic-ray-config.ini
├── docs/
│ ├── Mutation-Testing/
│ │ ├── 01102022.html
│ │ └── 27092022.html
│ ├── requirements.txt
│ └── user-guide/
│ ├── Makefile
│ ├── make.bat
│ └── source/
│ ├── api.rst
│ ├── assertions.rst
│ ├── conf.py
│ ├── config.rst
│ ├── index.rst
│ ├── installation.rst
│ ├── postprocessors.rst
│ ├── quickstart.rst
│ ├── reporters.rst
│ ├── samplers.rst
│ └── timers.rst
├── java-dependencies/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ └── java/
│ │ └── us/
│ │ └── abstracta/
│ │ └── jmeter/
│ │ └── App.java
│ └── test/
│ └── java/
│ └── us/
│ └── abstracta/
│ └── jmeter/
│ └── AppTest.java
├── pyproject.toml
├── src/
│ └── pymeter/
│ ├── __init__.py
│ └── api/
│ ├── __init__.py
│ ├── assertions.py
│ ├── config.py
│ ├── postprocessors.py
│ ├── reporters.py
│ ├── samplers.py
│ └── timers.py
├── tox.ini
└── utests/
├── __init__.py
├── resources/
│ └── test_data.csv
├── test_assertions.py
├── test_csv_data_set.py
├── test_postprocessors.py
├── test_reporter.py
├── test_sampler.py
├── test_test_plan.py
├── test_thread_group.py
├── test_timers.py
└── test_vars.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .all-contributorsrc
================================================
{
"files": [
"README.md"
],
"imageSize": 100,
"commit": false,
"commitConvention": "angular",
"contributors": [
{
"login": "Minitour",
"name": "Antonio Zaitoun",
"avatar_url": "https://avatars.githubusercontent.com/u/17438617?v=4",
"profile": "https://www.linkedin.com/in/antonio-zaitoun/",
"contributions": [
"doc"
]
},
{
"login": "eldaduzman",
"name": "Eldad Uzman",
"avatar_url": "https://avatars.githubusercontent.com/u/55621402?v=4",
"profile": "https://medium.com/@eldadu1985",
"contributions": [
"infra",
"test",
"code"
]
}
],
"contributorsPerLine": 7,
"skipCi": true,
"repoType": "github",
"repoHost": "https://github.com",
"projectName": "pymeter",
"projectOwner": "eldaduzman"
}
================================================
FILE: .github/dependabot.yml
================================================
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
- package-ecosystem: "" # See documentation for possible values
directory: "/java-dependencies" # Location of package manifests
schedule:
interval: "weekly"
================================================
FILE: .github/workflows/build.yaml
================================================
name: run tests
on: [pull_request]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python_version: [3.8, 3.9, 3.10.x, 3.11.x]
java_version: [8,11]
java_distribution: [temurin]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v2
with:
distribution: ${{ matrix.java_distribution }}
java-version: ${{ matrix.java_version }}
- name: Setup Python ${{ matrix.python_version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python_version }}
- name: Run maven tests
run: mvn dependency:copy-dependencies -f java-dependencies/pom.xml
- name: install python dependencies
run: |
python -m pip install --upgrade pip
pip install tox tox-gh-actions poetry==1.5.1
- name: make jars dir
run: mkdir -p src/pymeter/resources/jars
- name: copy jars
run: cp java-dependencies/target/dependency/* src/pymeter/resources/jars
- name: display jars
run: ls -l src/pymeter/resources/jars
- name: test with tox
run: tox
================================================
FILE: .github/workflows/publish-pypi.yaml
================================================
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Upload Python Package
on:
release:
types: [published]
permissions:
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v2
with:
distribution: temurin
java-version: 11
- name: Create jar
run: |
mvn dependency:copy-dependencies -f java-dependencies/pom.xml
mkdir -p src/pymeter/resources/jars
cp java-dependencies/target/dependency/* src/pymeter/resources/jars
ls -l src/pymeter/resources/jars
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.8'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install poetry==1.5.1
poetry install --only-root
- name: Build package
run: poetry build -f sdist
- name: Publish package
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
================================================
FILE: .gitignore
================================================
# File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig
# Created by https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,java,pycharm+all,python
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,visualstudiocode,java,pycharm+all,python
### Java ###
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*
### PyCharm+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# AWS User-specific
.idea/**/aws.xml
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# SonarLint plugin
.idea/sonarlint/
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### PyCharm+all Patch ###
# Ignore everything but code style settings and run configurations
# that are supposed to be shared within teams.
.idea/*
!.idea/codeStyles
!.idea/runConfigurations
### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide
# Support for Project snippet scope
.vscode/*.code-snippets
# Ignore code-workspaces
*.code-workspace
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# End of https://www.toptal.com/developers/gitignore/api/windows,visualstudiocode,java,pycharm+all,python
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
html-report-*/
.vscode/
output/
*.sqlite
playground/
================================================
FILE: .pylintrc
================================================
[MASTER]
init-hook='import sys; sys.path.append("."); sys.path.append("src")'
[FORMAT]
max-line-length=150
================================================
FILE: .readthedocs.yaml
================================================
version: 2
build:
os: ubuntu-20.04
tools:
python: "3.8"
apt_packages:
- default-jdk
- maven
jobs:
pre_install:
- pwd
- ls -lstr
- ls -lstr src
- ls -lstr src/pymeter
- mvn dependency:copy-dependencies -f java-dependencies/pom.xml
- mkdir -p src/pymeter/resources/jars
- cp java-dependencies/target/dependency/* src/pymeter/resources/jars
- ls -l src/pymeter/resources/jars
sphinx:
configuration: docs/user-guide/source/conf.py
# Optionally build your docs in additional formats such as PDF and ePub
formats: all
python:
install:
- requirements: docs/requirements.txt
- method: pip
path: .
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Code of Conduct
Trust, respect, collaboration and transparency are core values we believe should live and breathe within our projects. Our community welcomes participants from around the world with different experiences, unique perspectives, and great ideas to share.
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Attempting collaboration before conflict
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- Violence, threats of violence, or inciting others to commit self-harm
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, intentionally spreading misinformation, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Abuse of the reporting process to intentionally harass or exclude others
- Advocating for, or encouraging, any of the above behavior
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting one of the maintainers privately
1. Eldad Uzman - eldadu1985@gmail.com
All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
If you are unsure whether an incident is a violation, or whether the space where the incident took place is covered by our Code of Conduct, **we encourage you to still report it**. We would prefer to have a few extra reports where we decide to take no action, than to leave an incident go unnoticed and unresolved that may result in an individual or group to feel like they can no longer participate in the community. Reports deemed as not a violation will also allow us to improve our Code of Conduct and processes surrounding it. If you witness a dangerous situation or someone in distress, we encourage you to report even if you are only an observer.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), [version 1.4](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html).
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README.md
================================================
# pymeter
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
Simple JMeter performance tests API for python
#### Powered by [JMeter-DSL](https://abstracta.github.io/jmeter-java-dsl/) and [pyjnius](https://github.com/kivy/pyjnius)
[](https://pypi.python.org/pypi/pymeter)



[](https://python.org/)
[](https://abstracta.github.io/jmeter-java-dsl/)
[](https://pymeter.readthedocs.io/en/latest/?badge=latest)
[](https://opensource.org/licenses/Apache-2.0)
<br/>
<div style="text-align:center"><img src="https://raw.githubusercontent.com/eldaduzman/pymeter/main/docs/user-guide/source/_static/pymeter-logo-full.jpg" width="70%" /></div>
<br/>
<br/>
<br/>
<br/>
## Load testing with JMeter using python!
Read the documentation [here](https://pymeter.readthedocs.io/en/latest/) <br/>
Read about performance benchmarking [here](https://github.com/eldaduzman/pymeter-benchmark)
**JMeter** is one of the most popular and long standing load testing tools. <br/>
The original implementation is a gui based tool to script load test scenarios in a hierarchical structure, however this came with limitations and shortcomings.
For once, upgrading JMeter versions is painful, as it involved manually downloading and deploying executable files.
This became very clear when [log4j](https://en.wikipedia.org/wiki/Log4Shell) vulnerability was discovered, and software developers needed to instantly upgrade their log4j versions.
With JMeter, this was even more painful without a proper package management system such as maven or gradle.
Other limitations include difficulty to share code between different projects, using source control management tools such as git or svn.
It is quite difficult to extend JMeter and it requires a GUI editor which means to use additional development environment instead of using a single IDE for all needs.
The awesome folks at [abstracta](https://abstracta.us/) have put up an amazing amount of work to deliver [JMeter-DSL](https://abstracta.github.io/jmeter-java-dsl/), which allows developers to use plain Java to script their load test scenarios, and pretty much solve all the pain mentioned above.
`pymeter` project is aimed to capitalize on the success of JMeter-DSL and extend it to the python community!
Using [pyjnius](https://github.com/kivy/pyjnius) developed by Kivy, it is possible to bridge between JMeter-DSLs classes written in Java and reflect them into python's runtime environment without spawning up java runtime and relying on costly inter-process communication.
### Pre-requisites:
1. python version 3.9 or higher - [download](https://www.python.org/)
2. Java version 8 or 11 - [download](https://adoptium.net/temurin/releases)
3. JAVA_HOME environment variable set - [read](https://confluence.atlassian.com/doc/setting-the-java_home-variable-in-windows-8895.html)
### Install pymeter
```bash
>>> pip install pymeter
```
### simple pymeter script:
```python
"""unittest module"""
from unittest import TestCase, main
from pymeter.api.config import TestPlan, ThreadGroupWithRampUpAndHold
from pymeter.api.postprocessors import JsonExtractor
from pymeter.api.reporters import HtmlReporter
from pymeter.api.samplers import DummySampler, HttpSampler
from pymeter.api.timers import UniformRandomTimer
class TestTestPlanClass(TestCase):
def test_1(self):
json_extractor = JsonExtractor("variable", "args.var")
timer = UniformRandomTimer(1000, 2000)
http_sampler = HttpSampler(
"Echo",
"https://postman-echo.com/get?var=${__Random(0,10)}",
timer,
json_extractor,
)
dummy_sampler = DummySampler("dummy ${variable}", "hi dummy")
tg = ThreadGroupWithRampUpAndHold(
10, 1, 60, http_sampler, dummy_sampler, name="Some Name"
)
html_reporter = HtmlReporter()
tp = TestPlan(tg, html_reporter)
stats = tp.run()
print(
f"duration= {stats.duration_milliseconds}",
f"mean= {stats.sample_time_mean_milliseconds}",
f"min= {stats.sample_time_min_milliseconds}",
f"median= {stats.sample_time_median_milliseconds}",
f"90p= {stats.sample_time_90_percentile_milliseconds}",
f"95p= {stats.sample_time_95_percentile_milliseconds}",
f"99p= {stats.sample_time_99_percentile_milliseconds}",
f"max= {stats.sample_time_max_milliseconds}",
sep="\t",
)
self.assertLess(stats.sample_time_99_percentile_milliseconds, 2000)
if __name__ == "__main__":
main()
```
In this example, the standard python unittest was used to execute the test code, however pymeter is framework agnostic and can be used by any other testing framework
## File Structure
```
| .coverage
| .gitignore
| .pylintrc
| cosmic-ray-config.ini
| LICENSE
| make.bat
| Makefile
| poetry.lock
| pyproject.toml
| README.md
| tox.ini
+---source
| | conf.py
| | index.rst
| |
| +---_static
| \---_templates
+---src
| \---pymeter
| | __init__.py
| |
| +---api
| | | config.py
| | | postprocessors.py
| | | reporters.py
| | | samplers.py
| | | timers.py
| | | __init__.py
| | |
+---utests
| | test_postprocessors.py
| | test_reporter.py
| | test_sampler.py
| | test_test_plan.py
| | test_thread_group.py
| | test_timers.py
| | __init__.py
| |
```
## Code styling
### `black` used for auto-formatting code [read](https://pypi.org/project/black/),
### `pylint` used for code linting and pep8 compliance [read](https://pypi.org/project/pylint/),
### `mypy` used for type hinting [read](https://pypi.org/project/mypy/),
### `perflint` pylint extension for performance linting [read](https://betterprogramming.pub/use-perflint-a-performance-linter-for-python-eae8e54f1e99)
### `cosmic-ray` Python tool for mutation testing [read](https://python.plainenglish.io/python-mutation-testing-with-cosmic-ray-4b78eb9e0676)
## Contributors
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center"><a href="https://www.linkedin.com/in/antonio-zaitoun/"><img src="https://avatars.githubusercontent.com/u/17438617?v=4?s=100" width="100px;" alt="Antonio Zaitoun"/><br /><sub><b>Antonio Zaitoun</b></sub></a><br /><a href="https://github.com/eldaduzman/pymeter/commits?author=Minitour" title="Documentation">📖</a></td>
<td align="center"><a href="https://medium.com/@eldadu1985"><img src="https://avatars.githubusercontent.com/u/55621402?v=4?s=100" width="100px;" alt="Eldad Uzman"/><br /><sub><b>Eldad Uzman</b></sub></a><br /><a href="#infra-eldaduzman" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/eldaduzman/pymeter/commits?author=eldaduzman" title="Tests">⚠️</a> <a href="https://github.com/eldaduzman/pymeter/commits?author=eldaduzman" title="Code">💻</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
## links
1. [JMeter Dsl](https://abstracta.github.io/jmeter-java-dsl/)
2. [pyjnius](https://github.com/kivy/pyjnius)
================================================
FILE: cosmic-ray-config.ini
================================================
[cosmic-ray]
module-path = "src\\pymeter"
timeout = 200.0
excluded-modules = []
test-command = "python -m unittest discover"
[cosmic-ray.distributor]
name = "local"
================================================
FILE: docs/Mutation-Testing/01102022.html
================================================
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous" /><title>Cosmic Ray Report</title></head><body><div class="container"><h1><p class="text-dark">Cosmic Ray Report</p></h1></div><div class="container"><div class="mb-1" id="summary_info___accordion"><div class="card"><a data-toggle="collapse" data-target="#summary_info___collapse_1" aria-expanded="true" aria-controls="summary_info___collapse_1" href="#"><div class="card-header" id="summary_info___heading_1"><button class="btn btn-outline-dark"><h4 class="m-0">Summary info</h4></button></div></a><div aria-labelledby="summary_info___heading_1" data-parent="#summary_info___accordion" class="collapse show" id="summary_info___collapse_1"><div class="card-body"><p>Date time: 01/10/2022 01:14:54</p><p>Total jobs: 35</p><p>Complete: 35 (100.00%)</p><p>Surviving mutants: 0 (0.00%)</p></div></div></div></div><div class="mb-1" id="job_list___accordion"><div class="card"><a data-toggle="collapse" data-target="#job_list___collapse_1" aria-expanded="false" aria-controls="job_list___collapse_1" href="#"><div class="card-header" id="job_list___heading_1"><button class="btn btn-outline-dark"><h4 class="m-0">Job list</h4></button></div></a><div aria-labelledby="job_list___heading_1" data-parent="#job_list___accordion" class="collapse" id="job_list___collapse_1"><div class="card-body"><div class="text-right mb-1"><div class="mx-1" id="job_item_expand_all"><a href="#" onclick="$('div.job_list___sub_multi_collapse').collapse('show');"><button class="btn btn-outline-dark"><span>Expand All</span></button></a></div><div class="mx-1" id="job_item_collapse_all"><a href="#" onclick="$('div.job_list___sub_multi_collapse').collapse('hide');"><button class="btn btn-outline-dark"><span>Collapse All</span></button></a></div></div><div class="mb-1" id="job_list___sub_accordion_1"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_1_1" aria-expanded="false" aria-controls="job_list___sub_collapse_1_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_1_1"><button class="btn btn-outline-success"><span class="job_id">1 : Job ID dbb1d4476afa4b9a8ced99ea4ce0cb18</span></button></div></a><div aria-labelledby="job_list___sub_heading_1_1" data-parent="#job_list___sub_accordion_1" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_1_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\__init__.py&line=242" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\__init__.py, start pos: (242, 11), end pos: (242, 14)</button></a></pre><pre>operator: core/ReplaceUnaryOperator_Delete_Not, occurrence: 0</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\__init__.py
+++ bsrc\pymeter\api\__init__.py
@@ -239,7 +239,7 @@
@property
def java_wrapped_element(self):
"""retrieves the java element wrapped in the python object by class name"""
- if not self.__class__.wrapped_instance_name:
+ if self.__class__.wrapped_instance_name:
self.__class__.wrapped_instance_name = BaseJMeterClass.pattern.sub(
"_", self.__class__.__name__
).lower()</pre></div><div class="alert alert-secondary"><pre class="diff">EEEEE..EEE.EEE.EEEEEEE.EE
======================================================================
ERROR: test_http_sampler (utests.test_postprocessors.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 17, in test_http_sampler
http_sampler = HttpSampler(
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 100, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 100, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'JsonExtractor' object has no attribute '_None_instance'
======================================================================
ERROR: test_postprocessor_on_thread_group (utests.test_postprocessors.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 41, in test_postprocessor_on_thread_group
tg1 = ThreadGroupSimple(1, 1, dummy_sampler, json_extractor)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 234, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 234, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'DummySampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_http_sampler (utests.test_reporter.TestReporter)
create an HTML report
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_reporter.py", line 17, in test_http_sampler
tg = ThreadGroupWithRampUpAndHold(2, 1, 2, http_sampler, name="Some Name")
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_http_2_headers (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 90, in test_http_2_headers
.header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 148, in header
self._http_sampler_instance = self.java_wrapped_element.header(key, value)
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_http_duplicated_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 105, in test_http_duplicated_header
.header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 148, in header
self._http_sampler_instance = self.java_wrapped_element.header(key, value)
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_http_sampler (utests.test_sampler.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 15, in test_http_sampler
tg1 = ThreadGroupSimple(1, 1, http_sampler)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 234, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 234, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_http_valid_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 77, in test_http_valid_header
).header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 148, in header
self._http_sampler_instance = self.java_wrapped_element.header(key, value)
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_post_http_sampler_dict_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 28, in test_post_http_sampler_dict_input
).post({"var1": 1}, ContentType.APPLICATION_JSON)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 126, in post
self._http_sampler_instance = self.java_wrapped_element.post(
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_post_http_sampler_list_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 39, in test_post_http_sampler_list_input
).post([1, 2, 3, 4], ContentType.APPLICATION_JSON)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 126, in post
self._http_sampler_instance = self.java_wrapped_element.post(
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_post_http_sampler_str_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 50, in test_post_http_sampler_str_input
).post('{"name": "John Doe"}', ContentType.APPLICATION_JSON)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 126, in post
self._http_sampler_instance = self.java_wrapped_element.post(
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_empty_test_plan (utests.test_test_plan.TestTestPlanClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 24, in test_creation_of_empty_test_plan
python_test_plan_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'TestPlan' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_test_plan_with_valid_children (utests.test_test_plan.TestTestPlanClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 33, in test_creation_of_test_plan_with_valid_children
test_plan = TestPlan(tg1, tg2)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 156, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 156, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'ThreadGroupWithRampUpAndHold' object has no attribute '_None_instance'
======================================================================
ERROR: test_run_empty_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 90, in test_run_empty_flow
test_plan = TestPlan(tg1)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 156, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 156, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'ThreadGroupWithRampUpAndHold' object has no attribute '_None_instance'
======================================================================
ERROR: test_run_positive_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 56, in test_run_positive_flow
tg1 = ThreadGroupWithRampUpAndHold(30, 1, 20, http_sampler)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_run_validate_order (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 99, in test_run_validate_order
tg_setup = SetupThreadGroup(dummy_sampler_for_setup)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 196, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 196, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'DummySampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_empty_setup_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 24, in test_creation_of_empty_setup_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'SetupThreadGroup' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_empty_teardown_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 32, in test_creation_of_empty_teardown_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'TeardownThreadGroup' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_empty_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 16, in test_creation_of_empty_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'ThreadGroupWithRampUpAndHold' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_thread_group_with_valid_children (utests.test_thread_group.TestThreadGroupClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 40, in test_creation_of_thread_group_with_valid_children
python_thread_group_object = ThreadGroupWithRampUpAndHold(1, 1, 1, http_sampler)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_uniform_random_timer (utests.test_timers.TestTimer)
When the minimal time is 5000 milliseconds,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_timers.py", line 15, in test_uniform_random_timer
http_sampler = HttpSampler("Echo", "https://postman-echo.com/get?var=1", timer)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 100, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 100, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'UniformRandomTimer' object has no attribute '_None_instance'
----------------------------------------------------------------------
Ran 25 tests in 0.845s
FAILED (errors=20)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_2"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_2_1" aria-expanded="false" aria-controls="job_list___sub_collapse_2_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_2_1"><button class="btn btn-outline-success"><span class="job_id">2 : Job ID 13d68ad35f9d4c0abcc03ccdfee230b7</span></button></div></a><div aria-labelledby="job_list___sub_heading_2_1" data-parent="#job_list___sub_accordion_2" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_2_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\__init__.py&line=242" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\__init__.py, start pos: (242, 11), end pos: (242, 51)</button></a></pre><pre>operator: core/AddNot, occurrence: 0</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\__init__.py
+++ bsrc\pymeter\api\__init__.py
@@ -239,7 +239,7 @@
@property
def java_wrapped_element(self):
"""retrieves the java element wrapped in the python object by class name"""
- if not self.__class__.wrapped_instance_name:
+ if not not self.__class__.wrapped_instance_name:
self.__class__.wrapped_instance_name = BaseJMeterClass.pattern.sub(
"_", self.__class__.__name__
).lower()</pre></div><div class="alert alert-secondary"><pre class="diff">EEEEE..EEE.EEE.EEEEEEE.EE
======================================================================
ERROR: test_http_sampler (utests.test_postprocessors.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 17, in test_http_sampler
http_sampler = HttpSampler(
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 100, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 100, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'JsonExtractor' object has no attribute '_None_instance'
======================================================================
ERROR: test_postprocessor_on_thread_group (utests.test_postprocessors.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 41, in test_postprocessor_on_thread_group
tg1 = ThreadGroupSimple(1, 1, dummy_sampler, json_extractor)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 234, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 234, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'DummySampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_http_sampler (utests.test_reporter.TestReporter)
create an HTML report
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_reporter.py", line 17, in test_http_sampler
tg = ThreadGroupWithRampUpAndHold(2, 1, 2, http_sampler, name="Some Name")
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_http_2_headers (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 90, in test_http_2_headers
.header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 148, in header
self._http_sampler_instance = self.java_wrapped_element.header(key, value)
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_http_duplicated_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 105, in test_http_duplicated_header
.header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 148, in header
self._http_sampler_instance = self.java_wrapped_element.header(key, value)
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_http_sampler (utests.test_sampler.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 15, in test_http_sampler
tg1 = ThreadGroupSimple(1, 1, http_sampler)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 234, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 234, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_http_valid_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 77, in test_http_valid_header
).header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 148, in header
self._http_sampler_instance = self.java_wrapped_element.header(key, value)
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_post_http_sampler_dict_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 28, in test_post_http_sampler_dict_input
).post({"var1": 1}, ContentType.APPLICATION_JSON)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 126, in post
self._http_sampler_instance = self.java_wrapped_element.post(
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_post_http_sampler_list_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 39, in test_post_http_sampler_list_input
).post([1, 2, 3, 4], ContentType.APPLICATION_JSON)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 126, in post
self._http_sampler_instance = self.java_wrapped_element.post(
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_post_http_sampler_str_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 50, in test_post_http_sampler_str_input
).post('{"name": "John Doe"}', ContentType.APPLICATION_JSON)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 126, in post
self._http_sampler_instance = self.java_wrapped_element.post(
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_empty_test_plan (utests.test_test_plan.TestTestPlanClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 24, in test_creation_of_empty_test_plan
python_test_plan_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'TestPlan' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_test_plan_with_valid_children (utests.test_test_plan.TestTestPlanClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 33, in test_creation_of_test_plan_with_valid_children
test_plan = TestPlan(tg1, tg2)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 156, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 156, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'ThreadGroupWithRampUpAndHold' object has no attribute '_None_instance'
======================================================================
ERROR: test_run_empty_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 90, in test_run_empty_flow
test_plan = TestPlan(tg1)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 156, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 156, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'ThreadGroupWithRampUpAndHold' object has no attribute '_None_instance'
======================================================================
ERROR: test_run_positive_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 56, in test_run_positive_flow
tg1 = ThreadGroupWithRampUpAndHold(30, 1, 20, http_sampler)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_run_validate_order (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 99, in test_run_validate_order
tg_setup = SetupThreadGroup(dummy_sampler_for_setup)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 196, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 196, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'DummySampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_empty_setup_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 24, in test_creation_of_empty_setup_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'SetupThreadGroup' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_empty_teardown_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 32, in test_creation_of_empty_teardown_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'TeardownThreadGroup' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_empty_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 16, in test_creation_of_empty_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'ThreadGroupWithRampUpAndHold' object has no attribute '_None_instance'
======================================================================
ERROR: test_creation_of_thread_group_with_valid_children (utests.test_thread_group.TestThreadGroupClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 40, in test_creation_of_thread_group_with_valid_children
python_thread_group_object = ThreadGroupWithRampUpAndHold(1, 1, 1, http_sampler)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 262, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'HttpSampler' object has no attribute '_None_instance'
======================================================================
ERROR: test_uniform_random_timer (utests.test_timers.TestTimer)
When the minimal time is 5000 milliseconds,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_timers.py", line 15, in test_uniform_random_timer
http_sampler = HttpSampler("Echo", "https://postman-echo.com/get?var=1", timer)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 100, in __init__
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 100, in <listcomp>
*[c.java_wrapped_element for c in children]
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 247, in java_wrapped_element
return object.__getattribute__(
AttributeError: 'UniformRandomTimer' object has no attribute '_None_instance'
----------------------------------------------------------------------
Ran 25 tests in 0.713s
FAILED (errors=20)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_3"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_3_1" aria-expanded="false" aria-controls="job_list___sub_collapse_3_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_3_1"><button class="btn btn-outline-success"><span class="job_id">3 : Job ID 6e8f41afd87e4b4fa6f6a53e5c8d26e0</span></button></div></a><div aria-labelledby="job_list___sub_heading_3_1" data-parent="#job_list___sub_accordion_3" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_3_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\__init__.py&line=233" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\__init__.py, start pos: (233, 29), end pos: (233, 30)</button></a></pre><pre>operator: core/NumberReplacer, occurrence: 0</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\__init__.py
+++ bsrc\pymeter\api\__init__.py
@@ -230,7 +230,7 @@
return (
str(type(self.java_wrapped_element))
- .split("class ")[1]
+ .split("class ")[ 2]
.split("'jnius.reflect.")[1]
.split("'")[0]
.strip()</pre></div><div class="alert alert-secondary"><pre class="diff">Warning: Nashorn engine is planned to be removed from a future JDK release
E00:42:54.214 [Thread Group 1-1] ERROR org.apache.jmeter.extractor.json.jmespath.JMESPathExtractor - Error processing JSON content in JSON JMESPath Extractor, message: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"hi dummy"; line: 1, column: 3]
= 1 in 00:00:00 = 20.4/s Avg: 407 Min: 407 Max: 407 Err: 0 (0.00%)
.EEE.. + 1 in 00:00:01 = 1.5/s Avg: 619 Min: 619 Max: 619 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
= 1 in 00:00:01 = 1.5/s Avg: 619 Min: 619 Max: 619 Err: 0 (0.00%)
EEE.EEE.E = 0 in 00:00:00 = ******/s Avg: 0 Min: 9223372036854775807 Max: -9223372036854775808 Err: 0 (0.00%)
. + 1 in 00:00:01 = 1.6/s Avg: 588 Min: 588 Max: 588 Err: 0 (0.00%) Active: 18 Started: 18 Finished: 0
+ 3897 in 00:00:21 = 189.5/s Avg: 157 Min: 138 Max: 705 Err: 0 (0.00%) Active: 0 Started: 30 Finished: 30
= 3898 in 00:00:21 = 183.9/s Avg: 158 Min: 138 Max: 705 Err: 0 (0.00%)
E.EEE.E = 1 in 00:00:03 = 0.4/s Avg: 577 Min: 577 Max: 577 Err: 0 (0.00%)
E
======================================================================
ERROR: test_http_sampler (utests.test_postprocessors.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 27, in test_http_sampler
json_extractor.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_sampler (utests.test_reporter.TestReporter)
create an HTML report
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_reporter.py", line 23, in test_http_sampler
html_reporter.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_2_headers (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 94, in test_http_2_headers
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_duplicated_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 109, in test_http_duplicated_header
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_sampler (utests.test_sampler.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 19, in test_http_sampler
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_valid_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 79, in test_http_valid_header
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_post_http_sampler_dict_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 30, in test_post_http_sampler_dict_input
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_post_http_sampler_list_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 41, in test_post_http_sampler_list_input
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_post_http_sampler_str_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 52, in test_post_http_sampler_str_input
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_test_plan (utests.test_test_plan.TestTestPlanClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 24, in test_creation_of_empty_test_plan
python_test_plan_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_test_plan_with_valid_children (utests.test_test_plan.TestTestPlanClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 35, in test_creation_of_test_plan_with_valid_children
test_plan.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_run_positive_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 60, in test_run_positive_flow
test_plan.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_setup_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 24, in test_creation_of_empty_setup_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_teardown_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 32, in test_creation_of_empty_teardown_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 16, in test_creation_of_empty_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_thread_group_with_valid_children (utests.test_thread_group.TestThreadGroupClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 42, in test_creation_of_thread_group_with_valid_children
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_uniform_random_timer (utests.test_timers.TestTimer)
When the minimal time is 5000 milliseconds,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_timers.py", line 20, in test_uniform_random_timer
timer.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
----------------------------------------------------------------------
Ran 25 tests in 40.348s
FAILED (errors=17)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_4"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_4_1" aria-expanded="false" aria-controls="job_list___sub_collapse_4_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_4_1"><button class="btn btn-outline-success"><span class="job_id">4 : Job ID 16260ded5b3f414c8f412d49a76e6c7a</span></button></div></a><div aria-labelledby="job_list___sub_heading_4_1" data-parent="#job_list___sub_accordion_4" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_4_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\__init__.py&line=233" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\__init__.py, start pos: (233, 29), end pos: (233, 30)</button></a></pre><pre>operator: core/NumberReplacer, occurrence: 1</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\__init__.py
+++ bsrc\pymeter\api\__init__.py
@@ -230,7 +230,7 @@
return (
str(type(self.java_wrapped_element))
- .split("class ")[1]
+ .split("class ")[ 0]
.split("'jnius.reflect.")[1]
.split("'")[0]
.strip()</pre></div><div class="alert alert-secondary"><pre class="diff">Warning: Nashorn engine is planned to be removed from a future JDK release
E00:43:39.849 [Thread Group 1-1] ERROR org.apache.jmeter.extractor.json.jmespath.JMESPathExtractor - Error processing JSON content in JSON JMESPath Extractor, message: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"hi dummy"; line: 1, column: 3]
= 1 in 00:00:00 = 15.9/s Avg: 56 Min: 56 Max: 56 Err: 0 (0.00%)
.EEE.. = 1 in 00:00:01 = 1.3/s Avg: 655 Min: 655 Max: 655 Err: 0 (0.00%)
EEE.EEE.E = 0 in 00:00:00 = ******/s Avg: 0 Min: 9223372036854775807 Max: -9223372036854775808 Err: 0 (0.00%)
. + 1587 in 00:00:09 = 168.6/s Avg: 165 Min: 140 Max: 677 Err: 0 (0.00%) Active: 30 Started: 30 Finished: 0
+ 2260 in 00:00:12 = 191.1/s Avg: 156 Min: 140 Max: 462 Err: 0 (0.00%) Active: 0 Started: 30 Finished: 30
= 3847 in 00:00:21 = 181.1/s Avg: 160 Min: 140 Max: 677 Err: 0 (0.00%)
E.EEE.E = 1 in 00:00:03 = 0.3/s Avg: 647 Min: 647 Max: 647 Err: 0 (0.00%)
E
======================================================================
ERROR: test_http_sampler (utests.test_postprocessors.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 27, in test_http_sampler
json_extractor.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_sampler (utests.test_reporter.TestReporter)
create an HTML report
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_reporter.py", line 23, in test_http_sampler
html_reporter.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_2_headers (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 94, in test_http_2_headers
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_duplicated_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 109, in test_http_duplicated_header
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_sampler (utests.test_sampler.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 19, in test_http_sampler
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_valid_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 79, in test_http_valid_header
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_post_http_sampler_dict_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 30, in test_post_http_sampler_dict_input
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_post_http_sampler_list_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 41, in test_post_http_sampler_list_input
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_post_http_sampler_str_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 52, in test_post_http_sampler_str_input
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_test_plan (utests.test_test_plan.TestTestPlanClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 24, in test_creation_of_empty_test_plan
python_test_plan_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_test_plan_with_valid_children (utests.test_test_plan.TestTestPlanClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 35, in test_creation_of_test_plan_with_valid_children
test_plan.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_run_positive_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 60, in test_run_positive_flow
test_plan.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_setup_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 24, in test_creation_of_empty_setup_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_teardown_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 32, in test_creation_of_empty_teardown_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 16, in test_creation_of_empty_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_thread_group_with_valid_children (utests.test_thread_group.TestThreadGroupClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 42, in test_creation_of_thread_group_with_valid_children
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_uniform_random_timer (utests.test_timers.TestTimer)
When the minimal time is 5000 milliseconds,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_timers.py", line 20, in test_uniform_random_timer
timer.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
----------------------------------------------------------------------
Ran 25 tests in 45.731s
FAILED (errors=17)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_5"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_5_1" aria-expanded="false" aria-controls="job_list___sub_collapse_5_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_5_1"><button class="btn btn-outline-success"><span class="job_id">5 : Job ID 26ca291af91e44628a1818f8cd814681</span></button></div></a><div aria-labelledby="job_list___sub_heading_5_1" data-parent="#job_list___sub_accordion_5" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_5_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\__init__.py&line=234" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\__init__.py, start pos: (234, 38), end pos: (234, 39)</button></a></pre><pre>operator: core/NumberReplacer, occurrence: 2</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\__init__.py
+++ bsrc\pymeter\api\__init__.py
@@ -231,7 +231,7 @@
return (
str(type(self.java_wrapped_element))
.split("class ")[1]
- .split("'jnius.reflect.")[1]
+ .split("'jnius.reflect.")[ 2]
.split("'")[0]
.strip()
)</pre></div><div class="alert alert-secondary"><pre class="diff">Warning: Nashorn engine is planned to be removed from a future JDK release
E00:44:27.381 [Thread Group 1-1] ERROR org.apache.jmeter.extractor.json.jmespath.JMESPathExtractor - Error processing JSON content in JSON JMESPath Extractor, message: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"hi dummy"; line: 1, column: 3]
= 1 in 00:00:00 = 10.4/s Avg: 305 Min: 305 Max: 305 Err: 0 (0.00%)
. + 8 in 00:00:01 = 5.7/s Avg: 258 Min: 144 Max: 608 Err: 0 (0.00%) Active: 2 Started: 2 Finished: 0
EEE.. + 1 in 00:00:01 = 1.4/s Avg: 654 Min: 654 Max: 654 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
= 1 in 00:00:01 = 1.4/s Avg: 654 Min: 654 Max: 654 Err: 0 (0.00%)
EEE.EEE.E = 0 in 00:00:00 = ******/s Avg: 0 Min: 9223372036854775807 Max: -9223372036854775808 Err: 0 (0.00%)
. = 3800 in 00:00:21 = 179.2/s Avg: 162 Min: 140 Max: 684 Err: 0 (0.00%)
E.EEE.E + 1 in 00:00:03 = 0.4/s Avg: 617 Min: 617 Max: 617 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
= 1 in 00:00:03 = 0.4/s Avg: 617 Min: 617 Max: 617 Err: 0 (0.00%)
E
======================================================================
ERROR: test_http_sampler (utests.test_postprocessors.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 27, in test_http_sampler
json_extractor.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_sampler (utests.test_reporter.TestReporter)
create an HTML report
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_reporter.py", line 23, in test_http_sampler
html_reporter.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_2_headers (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 94, in test_http_2_headers
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_duplicated_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 109, in test_http_duplicated_header
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_sampler (utests.test_sampler.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 19, in test_http_sampler
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_http_valid_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 79, in test_http_valid_header
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_post_http_sampler_dict_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 30, in test_post_http_sampler_dict_input
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_post_http_sampler_list_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 41, in test_post_http_sampler_list_input
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_post_http_sampler_str_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 52, in test_post_http_sampler_str_input
http_sampler.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_test_plan (utests.test_test_plan.TestTestPlanClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 24, in test_creation_of_empty_test_plan
python_test_plan_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_test_plan_with_valid_children (utests.test_test_plan.TestTestPlanClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 35, in test_creation_of_test_plan_with_valid_children
test_plan.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_run_positive_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 60, in test_run_positive_flow
test_plan.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_setup_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 24, in test_creation_of_empty_setup_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_teardown_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 32, in test_creation_of_empty_teardown_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 16, in test_creation_of_empty_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_thread_group_with_valid_children (utests.test_thread_group.TestThreadGroupClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 42, in test_creation_of_thread_group_with_valid_children
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_uniform_random_timer (utests.test_timers.TestTimer)
When the minimal time is 5000 milliseconds,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_timers.py", line 20, in test_uniform_random_timer
timer.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
----------------------------------------------------------------------
Ran 25 tests in 44.230s
FAILED (errors=17)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_6"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_6_1" aria-expanded="false" aria-controls="job_list___sub_collapse_6_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_6_1"><button class="btn btn-outline-success"><span class="job_id">6 : Job ID bedf9199799c4ba89234290c35ba92cc</span></button></div></a><div aria-labelledby="job_list___sub_heading_6_1" data-parent="#job_list___sub_accordion_6" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_6_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\__init__.py&line=234" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\__init__.py, start pos: (234, 38), end pos: (234, 39)</button></a></pre><pre>operator: core/NumberReplacer, occurrence: 3</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\__init__.py
+++ bsrc\pymeter\api\__init__.py
@@ -231,7 +231,7 @@
return (
str(type(self.java_wrapped_element))
.split("class ")[1]
- .split("'jnius.reflect.")[1]
+ .split("'jnius.reflect.")[ 0]
.split("'")[0]
.strip()
)</pre></div><div class="alert alert-secondary"><pre class="diff">Warning: Nashorn engine is planned to be removed from a future JDK release
F00:45:15.565 [Thread Group 1-1] ERROR org.apache.jmeter.extractor.json.jmespath.JMESPathExtractor - Error processing JSON content in JSON JMESPath Extractor, message: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"hi dummy"; line: 1, column: 3]
= 1 in 00:00:00 = 11.6/s Avg: 139 Min: 139 Max: 139 Err: 0 (0.00%)
.FFF.. = 1 in 00:00:01 = 1.4/s Avg: 646 Min: 646 Max: 646 Err: 0 (0.00%)
FFF.FFF.F = 0 in 00:00:00 = ******/s Avg: 0 Min: 9223372036854775807 Max: -9223372036854775808 Err: 0 (0.00%)
. + 784 in 00:00:05 = 148.1/s Avg: 178 Min: 138 Max: 676 Err: 0 (0.00%) Active: 30 Started: 30 Finished: 0
+ 2979 in 00:00:16 = 186.2/s Avg: 159 Min: 138 Max: 447 Err: 0 (0.00%) Active: 0 Started: 30 Finished: 30
= 3763 in 00:00:21 = 176.7/s Avg: 163 Min: 138 Max: 676 Err: 0 (0.00%)
F.FFF.F = 1 in 00:00:03 = 0.4/s Avg: 635 Min: 635 Max: 635 Err: 0 (0.00%)
F
======================================================================
FAIL: test_http_sampler (utests.test_postprocessors.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 26, in test_http_sampler
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.core.postprocessors.DslJsonExtractor'
+ us.abstracta.jmeter.javadsl.core.postprocessors.DslJsonExtractor
======================================================================
FAIL: test_http_sampler (utests.test_reporter.TestReporter)
create an HTML report
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_reporter.py", line 22, in test_http_sampler
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.core.listeners.HtmlReporter'
+ us.abstracta.jmeter.javadsl.core.listeners.HtmlReporter
======================================================================
FAIL: test_http_2_headers (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 93, in test_http_2_headers
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler'
+ us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler
======================================================================
FAIL: test_http_duplicated_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 108, in test_http_duplicated_header
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler'
+ us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler
======================================================================
FAIL: test_http_sampler (utests.test_sampler.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 18, in test_http_sampler
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_http_valid_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 78, in test_http_valid_header
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler'
+ us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler
======================================================================
FAIL: test_post_http_sampler_dict_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 29, in test_post_http_sampler_dict_input
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_post_http_sampler_list_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 40, in test_post_http_sampler_list_input
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_post_http_sampler_str_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 51, in test_post_http_sampler_str_input
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_creation_of_empty_test_plan (utests.test_test_plan.TestTestPlanClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 23, in test_creation_of_empty_test_plan
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.core.DslTestPlan'
+ us.abstracta.jmeter.javadsl.core.DslTestPlan
======================================================================
FAIL: test_creation_of_test_plan_with_valid_children (utests.test_test_plan.TestTestPlanClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 34, in test_creation_of_test_plan_with_valid_children
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.core.DslTestPlan'
+ us.abstracta.jmeter.javadsl.core.DslTestPlan
======================================================================
FAIL: test_run_positive_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 59, in test_run_positive_flow
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.core.DslTestPlan'
+ us.abstracta.jmeter.javadsl.core.DslTestPlan
======================================================================
FAIL: test_creation_of_empty_setup_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 23, in test_creation_of_empty_setup_thread_group
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslSetupThreadGroup'
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslSetupThreadGroup
======================================================================
FAIL: test_creation_of_empty_teardown_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 31, in test_creation_of_empty_teardown_thread_group
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslTeardownThreadGroup'
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslTeardownThreadGroup
======================================================================
FAIL: test_creation_of_empty_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 15, in test_creation_of_empty_thread_group
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup'
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup
======================================================================
FAIL: test_creation_of_thread_group_with_valid_children (utests.test_thread_group.TestThreadGroupClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 41, in test_creation_of_thread_group_with_valid_children
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup'
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup
======================================================================
FAIL: test_uniform_random_timer (utests.test_timers.TestTimer)
When the minimal time is 5000 milliseconds,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_timers.py", line 19, in test_uniform_random_timer
self.assertEqual(
AssertionError: '' != 'us.abstracta.jmeter.javadsl.core.timers.DslUniformRandomTimer'
+ us.abstracta.jmeter.javadsl.core.timers.DslUniformRandomTimer
----------------------------------------------------------------------
Ran 25 tests in 45.294s
FAILED (failures=17)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_7"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_7_1" aria-expanded="false" aria-controls="job_list___sub_collapse_7_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_7_1"><button class="btn btn-outline-success"><span class="job_id">7 : Job ID 32413b46d5524f55b65fb6ea5c7b7a46</span></button></div></a><div aria-labelledby="job_list___sub_heading_7_1" data-parent="#job_list___sub_accordion_7" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_7_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\__init__.py&line=235" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\__init__.py, start pos: (235, 24), end pos: (235, 25)</button></a></pre><pre>operator: core/NumberReplacer, occurrence: 4</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\__init__.py
+++ bsrc\pymeter\api\__init__.py
@@ -232,7 +232,7 @@
str(type(self.java_wrapped_element))
.split("class ")[1]
.split("'jnius.reflect.")[1]
- .split("'")[0]
+ .split("'")[ 1]
.strip()
)
</pre></div><div class="alert alert-secondary"><pre class="diff">Warning: Nashorn engine is planned to be removed from a future JDK release
+ 1 in 00:00:02 = 0.5/s Avg: 1379 Min: 1379 Max: 1379 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
F00:46:03.962 [Thread Group 1-1] ERROR org.apache.jmeter.extractor.json.jmespath.JMESPathExtractor - Error processing JSON content in JSON JMESPath Extractor, message: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"hi dummy"; line: 1, column: 3]
+ 1 in 00:00:00 = 10.4/s Avg: 295 Min: 295 Max: 295 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
= 1 in 00:00:00 = 10.2/s Avg: 295 Min: 295 Max: 295 Err: 0 (0.00%)
. + 1 in 00:00:01 = 1.5/s Avg: 629 Min: 629 Max: 629 Err: 0 (0.00%) Active: 2 Started: 2 Finished: 0
FFF.. = 1 in 00:00:01 = 1.5/s Avg: 609 Min: 609 Max: 609 Err: 0 (0.00%)
FFF.FFF.F = 0 in 00:00:00 = ******/s Avg: 0 Min: 9223372036854775807 Max: -9223372036854775808 Err: 0 (0.00%)
. + 3096 in 00:00:17 = 181.0/s Avg: 159 Min: 138 Max: 843 Err: 0 (0.00%) Active: 30 Started: 30 Finished: 0
+ 780 in 00:00:04 = 188.8/s Avg: 157 Min: 138 Max: 425 Err: 0 (0.00%) Active: 0 Started: 30 Finished: 30
= 3876 in 00:00:21 = 182.5/s Avg: 158 Min: 138 Max: 843 Err: 0 (0.00%)
F + 1 in 00:00:00 = 500.0/s Avg: 235 Min: 235 Max: 235 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
.FFF.F = 1 in 00:00:03 = 0.4/s Avg: 657 Min: 657 Max: 657 Err: 0 (0.00%)
F
======================================================================
FAIL: test_http_sampler (utests.test_postprocessors.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 26, in test_http_sampler
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.postprocessors.DslJsonExtractor'
- >
+ us.abstracta.jmeter.javadsl.core.postprocessors.DslJsonExtractor
======================================================================
FAIL: test_http_sampler (utests.test_reporter.TestReporter)
create an HTML report
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_reporter.py", line 22, in test_http_sampler
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.listeners.HtmlReporter'
- >
+ us.abstracta.jmeter.javadsl.core.listeners.HtmlReporter
======================================================================
FAIL: test_http_2_headers (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 93, in test_http_2_headers
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler
======================================================================
FAIL: test_http_duplicated_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 108, in test_http_duplicated_header
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler
======================================================================
FAIL: test_http_sampler (utests.test_sampler.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 18, in test_http_sampler
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_http_valid_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 78, in test_http_valid_header
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler
======================================================================
FAIL: test_post_http_sampler_dict_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 29, in test_post_http_sampler_dict_input
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_post_http_sampler_list_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 40, in test_post_http_sampler_list_input
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_post_http_sampler_str_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 51, in test_post_http_sampler_str_input
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_creation_of_empty_test_plan (utests.test_test_plan.TestTestPlanClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 23, in test_creation_of_empty_test_plan
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.DslTestPlan'
- >
+ us.abstracta.jmeter.javadsl.core.DslTestPlan
======================================================================
FAIL: test_creation_of_test_plan_with_valid_children (utests.test_test_plan.TestTestPlanClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 34, in test_creation_of_test_plan_with_valid_children
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.DslTestPlan'
- >
+ us.abstracta.jmeter.javadsl.core.DslTestPlan
======================================================================
FAIL: test_run_positive_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 59, in test_run_positive_flow
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.DslTestPlan'
- >
+ us.abstracta.jmeter.javadsl.core.DslTestPlan
======================================================================
FAIL: test_creation_of_empty_setup_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 23, in test_creation_of_empty_setup_thread_group
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslSetupThreadGroup'
- >
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslSetupThreadGroup
======================================================================
FAIL: test_creation_of_empty_teardown_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 31, in test_creation_of_empty_teardown_thread_group
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslTeardownThreadGroup'
- >
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslTeardownThreadGroup
======================================================================
FAIL: test_creation_of_empty_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 15, in test_creation_of_empty_thread_group
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup'
- >
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup
======================================================================
FAIL: test_creation_of_thread_group_with_valid_children (utests.test_thread_group.TestThreadGroupClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 41, in test_creation_of_thread_group_with_valid_children
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup'
- >
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup
======================================================================
FAIL: test_uniform_random_timer (utests.test_timers.TestTimer)
When the minimal time is 5000 milliseconds,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_timers.py", line 19, in test_uniform_random_timer
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.timers.DslUniformRandomTimer'
- >
+ us.abstracta.jmeter.javadsl.core.timers.DslUniformRandomTimer
----------------------------------------------------------------------
Ran 25 tests in 45.603s
FAILED (failures=17)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_8"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_8_1" aria-expanded="false" aria-controls="job_list___sub_collapse_8_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_8_1"><button class="btn btn-outline-success"><span class="job_id">8 : Job ID 46a618a5a1f4468f92c3605504436fdf</span></button></div></a><div aria-labelledby="job_list___sub_heading_8_1" data-parent="#job_list___sub_accordion_8" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_8_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\__init__.py&line=235" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\__init__.py, start pos: (235, 24), end pos: (235, 25)</button></a></pre><pre>operator: core/NumberReplacer, occurrence: 5</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\__init__.py
+++ bsrc\pymeter\api\__init__.py
@@ -232,7 +232,7 @@
str(type(self.java_wrapped_element))
.split("class ")[1]
.split("'jnius.reflect.")[1]
- .split("'")[0]
+ .split("'")[ -1]
.strip()
)
</pre></div><div class="alert alert-secondary"><pre class="diff">Warning: Nashorn engine is planned to be removed from a future JDK release
F00:46:49.250 [Thread Group 1-1] ERROR org.apache.jmeter.extractor.json.jmespath.JMESPathExtractor - Error processing JSON content in JSON JMESPath Extractor, message: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"hi dummy"; line: 1, column: 3]
= 1 in 00:00:00 = 10.4/s Avg: 329 Min: 329 Max: 329 Err: 0 (0.00%)
.FFF.. = 1 in 00:00:01 = 1.4/s Avg: 629 Min: 629 Max: 629 Err: 0 (0.00%)
FFF.FFF.F = 0 in 00:00:00 = ******/s Avg: 0 Min: 9223372036854775807 Max: -9223372036854775808 Err: 0 (0.00%)
. + 120 in 00:00:02 = 69.2/s Avg: 267 Min: 141 Max: 669 Err: 0 (0.00%) Active: 30 Started: 30 Finished: 0
+ 3689 in 00:00:20 = 188.9/s Avg: 158 Min: 138 Max: 695 Err: 0 (0.00%) Active: 0 Started: 30 Finished: 30
= 3809 in 00:00:21 = 179.2/s Avg: 161 Min: 138 Max: 695 Err: 0 (0.00%)
F.FFF.F = 1 in 00:00:03 = 0.4/s Avg: 644 Min: 644 Max: 644 Err: 0 (0.00%)
F
======================================================================
FAIL: test_http_sampler (utests.test_postprocessors.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 26, in test_http_sampler
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.postprocessors.DslJsonExtractor'
- >
+ us.abstracta.jmeter.javadsl.core.postprocessors.DslJsonExtractor
======================================================================
FAIL: test_http_sampler (utests.test_reporter.TestReporter)
create an HTML report
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_reporter.py", line 22, in test_http_sampler
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.listeners.HtmlReporter'
- >
+ us.abstracta.jmeter.javadsl.core.listeners.HtmlReporter
======================================================================
FAIL: test_http_2_headers (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 93, in test_http_2_headers
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler
======================================================================
FAIL: test_http_duplicated_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 108, in test_http_duplicated_header
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler
======================================================================
FAIL: test_http_sampler (utests.test_sampler.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 18, in test_http_sampler
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_http_valid_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 78, in test_http_valid_header
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslBaseHttpSampler
======================================================================
FAIL: test_post_http_sampler_dict_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 29, in test_post_http_sampler_dict_input
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_post_http_sampler_list_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 40, in test_post_http_sampler_list_input
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_post_http_sampler_str_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 51, in test_post_http_sampler_str_input
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.http.DslHttpSampler'
- >
+ us.abstracta.jmeter.javadsl.http.DslHttpSampler
======================================================================
FAIL: test_creation_of_empty_test_plan (utests.test_test_plan.TestTestPlanClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 23, in test_creation_of_empty_test_plan
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.DslTestPlan'
- >
+ us.abstracta.jmeter.javadsl.core.DslTestPlan
======================================================================
FAIL: test_creation_of_test_plan_with_valid_children (utests.test_test_plan.TestTestPlanClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 34, in test_creation_of_test_plan_with_valid_children
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.DslTestPlan'
- >
+ us.abstracta.jmeter.javadsl.core.DslTestPlan
======================================================================
FAIL: test_run_positive_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 59, in test_run_positive_flow
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.DslTestPlan'
- >
+ us.abstracta.jmeter.javadsl.core.DslTestPlan
======================================================================
FAIL: test_creation_of_empty_setup_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 23, in test_creation_of_empty_setup_thread_group
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslSetupThreadGroup'
- >
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslSetupThreadGroup
======================================================================
FAIL: test_creation_of_empty_teardown_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 31, in test_creation_of_empty_teardown_thread_group
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslTeardownThreadGroup'
- >
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslTeardownThreadGroup
======================================================================
FAIL: test_creation_of_empty_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 15, in test_creation_of_empty_thread_group
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup'
- >
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup
======================================================================
FAIL: test_creation_of_thread_group_with_valid_children (utests.test_thread_group.TestThreadGroupClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 41, in test_creation_of_thread_group_with_valid_children
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup'
- >
+ us.abstracta.jmeter.javadsl.core.threadgroups.DslDefaultThreadGroup
======================================================================
FAIL: test_uniform_random_timer (utests.test_timers.TestTimer)
When the minimal time is 5000 milliseconds,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_timers.py", line 19, in test_uniform_random_timer
self.assertEqual(
AssertionError: '>' != 'us.abstracta.jmeter.javadsl.core.timers.DslUniformRandomTimer'
- >
+ us.abstracta.jmeter.javadsl.core.timers.DslUniformRandomTimer
----------------------------------------------------------------------
Ran 25 tests in 46.460s
FAILED (failures=17)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_9"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_9_1" aria-expanded="false" aria-controls="job_list___sub_collapse_9_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_9_1"><button class="btn btn-outline-success"><span class="job_id">9 : Job ID 8b82a983c6b34e80946858ec4508afba</span></button></div></a><div aria-labelledby="job_list___sub_heading_9_1" data-parent="#job_list___sub_accordion_9" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_9_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\__init__.py&line=239" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\__init__.py, start pos: (239, 4), end pos: (240, 0)</button></a></pre><pre>operator: core/RemoveDecorator, occurrence: 0</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\__init__.py
+++ bsrc\pymeter\api\__init__.py
@@ -235,8 +235,6 @@
.split("'")[0]
.strip()
)
-
- @property
def java_wrapped_element(self):
"""retrieves the java element wrapped in the python object by class name"""
if not self.__class__.wrapped_instance_name:</pre></div><div class="alert alert-secondary"><pre class="diff">EEEEE..EEE.EEE.EEEEEEE.EE
======================================================================
ERROR: test_http_sampler (utests.test_postprocessors.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 17, in test_http_sampler
http_sampler = HttpSampler(
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 99, in __init__
self._http_sampler_instance.children(
File "jnius\jnius_export_class.pxi", line 879, in jnius.JavaMethod.__call__
File "jnius\jnius_conversion.pxi", line 158, in jnius.populate_args
File "jnius\jnius_conversion.pxi", line 815, in jnius.convert_pyarray_to_java
jnius.JavaException: Invalid variable (<bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.postprocessors.JsonExtractor object at 0x00000180A073D300>>,) used for L array 'Lus/abstracta/jmeter/javadsl/core/samplers/BaseSampler$SamplerChild;'
======================================================================
ERROR: test_postprocessor_on_thread_group (utests.test_postprocessors.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 41, in test_postprocessor_on_thread_group
tg1 = ThreadGroupSimple(1, 1, dummy_sampler, json_extractor)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 233, in __init__
self._thread_group_simple_instance.children(
File "jnius\jnius_export_class.pxi", line 1177, in jnius.JavaMultipleMethod.__call__
File "jnius\jnius_export_class.pxi", line 879, in jnius.JavaMethod.__call__
File "jnius\jnius_conversion.pxi", line 158, in jnius.populate_args
File "jnius\jnius_conversion.pxi", line 815, in jnius.convert_pyarray_to_java
jnius.JavaException: Invalid variable (<bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.samplers.DummySampler object at 0x00000180A073FA90>>, <bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.postprocessors.JsonExtractor object at 0x00000180A073D300>>) used for L array 'Lus/abstracta/jmeter/javadsl/core/threadgroups/BaseThreadGroup$ThreadGroupChild;'
======================================================================
ERROR: test_http_sampler (utests.test_reporter.TestReporter)
create an HTML report
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_reporter.py", line 17, in test_http_sampler
tg = ThreadGroupWithRampUpAndHold(2, 1, 2, http_sampler, name="Some Name")
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 261, in __init__
self._ramp_to_and_hold_instance.children(
File "jnius\jnius_export_class.pxi", line 1177, in jnius.JavaMultipleMethod.__call__
File "jnius\jnius_export_class.pxi", line 879, in jnius.JavaMethod.__call__
File "jnius\jnius_conversion.pxi", line 158, in jnius.populate_args
File "jnius\jnius_conversion.pxi", line 815, in jnius.convert_pyarray_to_java
jnius.JavaException: Invalid variable (<bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.samplers.HttpSampler object at 0x000001809E50EC80>>,) used for L array 'Lus/abstracta/jmeter/javadsl/core/threadgroups/BaseThreadGroup$ThreadGroupChild;'
======================================================================
ERROR: test_http_2_headers (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 90, in test_http_2_headers
.header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 148, in header
self._http_sampler_instance = self.java_wrapped_element.header(key, value)
AttributeError: 'function' object has no attribute 'header'
======================================================================
ERROR: test_http_duplicated_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 105, in test_http_duplicated_header
.header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 148, in header
self._http_sampler_instance = self.java_wrapped_element.header(key, value)
AttributeError: 'function' object has no attribute 'header'
======================================================================
ERROR: test_http_sampler (utests.test_sampler.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 15, in test_http_sampler
tg1 = ThreadGroupSimple(1, 1, http_sampler)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 233, in __init__
self._thread_group_simple_instance.children(
File "jnius\jnius_export_class.pxi", line 1177, in jnius.JavaMultipleMethod.__call__
File "jnius\jnius_export_class.pxi", line 879, in jnius.JavaMethod.__call__
File "jnius\jnius_conversion.pxi", line 158, in jnius.populate_args
File "jnius\jnius_conversion.pxi", line 815, in jnius.convert_pyarray_to_java
jnius.JavaException: Invalid variable (<bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.samplers.HttpSampler object at 0x00000180A073C7F0>>,) used for L array 'Lus/abstracta/jmeter/javadsl/core/threadgroups/BaseThreadGroup$ThreadGroupChild;'
======================================================================
ERROR: test_http_valid_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 77, in test_http_valid_header
).header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 148, in header
self._http_sampler_instance = self.java_wrapped_element.header(key, value)
AttributeError: 'function' object has no attribute 'header'
======================================================================
ERROR: test_post_http_sampler_dict_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 28, in test_post_http_sampler_dict_input
).post({"var1": 1}, ContentType.APPLICATION_JSON)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 126, in post
self._http_sampler_instance = self.java_wrapped_element.post(
AttributeError: 'function' object has no attribute 'post'
======================================================================
ERROR: test_post_http_sampler_list_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 39, in test_post_http_sampler_list_input
).post([1, 2, 3, 4], ContentType.APPLICATION_JSON)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 126, in post
self._http_sampler_instance = self.java_wrapped_element.post(
AttributeError: 'function' object has no attribute 'post'
======================================================================
ERROR: test_post_http_sampler_str_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 50, in test_post_http_sampler_str_input
).post('{"name": "John Doe"}', ContentType.APPLICATION_JSON)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 126, in post
self._http_sampler_instance = self.java_wrapped_element.post(
AttributeError: 'function' object has no attribute 'post'
======================================================================
ERROR: test_creation_of_empty_test_plan (utests.test_test_plan.TestTestPlanClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 24, in test_creation_of_empty_test_plan
python_test_plan_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_test_plan_with_valid_children (utests.test_test_plan.TestTestPlanClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 33, in test_creation_of_test_plan_with_valid_children
test_plan = TestPlan(tg1, tg2)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 155, in __init__
self._test_plan_instance.children(
File "jnius\jnius_export_class.pxi", line 879, in jnius.JavaMethod.__call__
File "jnius\jnius_conversion.pxi", line 158, in jnius.populate_args
File "jnius\jnius_conversion.pxi", line 815, in jnius.convert_pyarray_to_java
jnius.JavaException: Invalid variable (<bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.config.ThreadGroupWithRampUpAndHold object at 0x00000180A073F010>>, <bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.config.ThreadGroupWithRampUpAndHold object at 0x00000180A0719D80>>) used for L array 'Lus/abstracta/jmeter/javadsl/core/DslTestPlan$TestPlanChild;'
======================================================================
ERROR: test_run_empty_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 90, in test_run_empty_flow
test_plan = TestPlan(tg1)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 155, in __init__
self._test_plan_instance.children(
File "jnius\jnius_export_class.pxi", line 879, in jnius.JavaMethod.__call__
File "jnius\jnius_conversion.pxi", line 158, in jnius.populate_args
File "jnius\jnius_conversion.pxi", line 815, in jnius.convert_pyarray_to_java
jnius.JavaException: Invalid variable (<bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.config.ThreadGroupWithRampUpAndHold object at 0x00000180A073D540>>,) used for L array 'Lus/abstracta/jmeter/javadsl/core/DslTestPlan$TestPlanChild;'
======================================================================
ERROR: test_run_positive_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 56, in test_run_positive_flow
tg1 = ThreadGroupWithRampUpAndHold(30, 1, 20, http_sampler)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 261, in __init__
self._ramp_to_and_hold_instance.children(
File "jnius\jnius_export_class.pxi", line 1177, in jnius.JavaMultipleMethod.__call__
File "jnius\jnius_export_class.pxi", line 879, in jnius.JavaMethod.__call__
File "jnius\jnius_conversion.pxi", line 158, in jnius.populate_args
File "jnius\jnius_conversion.pxi", line 815, in jnius.convert_pyarray_to_java
jnius.JavaException: Invalid variable (<bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.samplers.HttpSampler object at 0x00000180A073CC40>>,) used for L array 'Lus/abstracta/jmeter/javadsl/core/threadgroups/BaseThreadGroup$ThreadGroupChild;'
======================================================================
ERROR: test_run_validate_order (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 99, in test_run_validate_order
tg_setup = SetupThreadGroup(dummy_sampler_for_setup)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 195, in __init__
self._setup_thread_group_instance.children(
File "jnius\jnius_export_class.pxi", line 1177, in jnius.JavaMultipleMethod.__call__
File "jnius\jnius_export_class.pxi", line 879, in jnius.JavaMethod.__call__
File "jnius\jnius_conversion.pxi", line 158, in jnius.populate_args
File "jnius\jnius_conversion.pxi", line 815, in jnius.convert_pyarray_to_java
jnius.JavaException: Invalid variable (<bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.samplers.DummySampler object at 0x00000180A073CC40>>,) used for L array 'Lus/abstracta/jmeter/javadsl/core/threadgroups/BaseThreadGroup$ThreadGroupChild;'
======================================================================
ERROR: test_creation_of_empty_setup_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 24, in test_creation_of_empty_setup_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_teardown_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 32, in test_creation_of_empty_teardown_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_empty_thread_group (utests.test_thread_group.TestThreadGroupClass)
when creating the python class, it should wrap around the correct java class
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 16, in test_creation_of_empty_thread_group
python_thread_group_object.get_java_class_name(),
File "C:\workspace-vscode\pymeter\src\pymeter\api\__init__.py", line 232, in get_java_class_name
str(type(self.java_wrapped_element))
IndexError: list index out of range
======================================================================
ERROR: test_creation_of_thread_group_with_valid_children (utests.test_thread_group.TestThreadGroupClass)
When children are passed through,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_thread_group.py", line 40, in test_creation_of_thread_group_with_valid_children
python_thread_group_object = ThreadGroupWithRampUpAndHold(1, 1, 1, http_sampler)
File "C:\workspace-vscode\pymeter\src\pymeter\api\config.py", line 261, in __init__
self._ramp_to_and_hold_instance.children(
File "jnius\jnius_export_class.pxi", line 1177, in jnius.JavaMultipleMethod.__call__
File "jnius\jnius_export_class.pxi", line 879, in jnius.JavaMethod.__call__
File "jnius\jnius_conversion.pxi", line 158, in jnius.populate_args
File "jnius\jnius_conversion.pxi", line 815, in jnius.convert_pyarray_to_java
jnius.JavaException: Invalid variable (<bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.samplers.HttpSampler object at 0x00000180A073CD00>>,) used for L array 'Lus/abstracta/jmeter/javadsl/core/threadgroups/BaseThreadGroup$ThreadGroupChild;'
======================================================================
ERROR: test_uniform_random_timer (utests.test_timers.TestTimer)
When the minimal time is 5000 milliseconds,
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_timers.py", line 15, in test_uniform_random_timer
http_sampler = HttpSampler("Echo", "https://postman-echo.com/get?var=1", timer)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 99, in __init__
self._http_sampler_instance.children(
File "jnius\jnius_export_class.pxi", line 879, in jnius.JavaMethod.__call__
File "jnius\jnius_conversion.pxi", line 158, in jnius.populate_args
File "jnius\jnius_conversion.pxi", line 815, in jnius.convert_pyarray_to_java
jnius.JavaException: Invalid variable (<bound method BaseJMeterClass.java_wrapped_element of <pymeter.api.timers.UniformRandomTimer object at 0x00000180A073ED70>>,) used for L array 'Lus/abstracta/jmeter/javadsl/core/samplers/BaseSampler$SamplerChild;'
----------------------------------------------------------------------
Ran 25 tests in 1.246s
FAILED (errors=20)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_10"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_10_1" aria-expanded="false" aria-controls="job_list___sub_collapse_10_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_10_1"><button class="btn btn-outline-success"><span class="job_id">10 : Job ID 075841353ef64a199e5d1fef3309e4bc</span></button></div></a><div aria-labelledby="job_list___sub_heading_10_1" data-parent="#job_list___sub_accordion_10" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_10_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\reporters.py&line=48" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\reporters.py, start pos: (48, 30), end pos: (48, 32)</button></a></pre><pre>operator: core/ReplaceOrWithAnd, occurrence: 0</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\reporters.py
+++ bsrc\pymeter\api\reporters.py
@@ -45,7 +45,7 @@
"""Reports results to HTML format"""
def __init__(self, directory: Optional[str] = None) -> None:
- directory = directory or os.path.join(
+ directory = directory and os.path.join(
"output", f'html-report-{datetime.now().strftime("%m%d%Y%H%M%S")}'
)
self._html_reporter_instance = HtmlReporter.jmeter_class.htmlReporter(directory)</pre></div><div class="alert alert-secondary"><pre class="diff">Warning: Nashorn engine is planned to be removed from a future JDK release
E00:47:45.895 [Thread Group 1-1] ERROR org.apache.jmeter.extractor.json.jmespath.JMESPathExtractor - Error processing JSON content in JSON JMESPath Extractor, message: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"hi dummy"; line: 1, column: 3]
= 1 in 00:00:00 = 7.1/s Avg: 397 Min: 397 Max: 397 Err: 0 (0.00%)
.F.... = 1 in 00:00:01 = 1.5/s Avg: 615 Min: 615 Max: 615 Err: 0 (0.00%)
......... = 0 in 00:00:00 = ******/s Avg: 0 Min: 9223372036854775807 Max: -9223372036854775808 Err: 0 (0.00%)
. + 636 in 00:00:04 = 141.6/s Avg: 182 Min: 140 Max: 675 Err: 0 (0.00%) Active: 30 Started: 30 Finished: 0
+ 3155 in 00:00:17 = 188.9/s Avg: 158 Min: 140 Max: 528 Err: 0 (0.00%) Active: 0 Started: 30 Finished: 30
= 3791 in 00:00:21 = 178.8/s Avg: 162 Min: 140 Max: 675 Err: 0 (0.00%)
.E..... = 1 in 00:00:03 = 0.4/s Avg: 607 Min: 607 Max: 607 Err: 0 (0.00%)
.
======================================================================
ERROR: test_http_sampler (utests.test_postprocessors.TestSampler)
send request to postman echo
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_postprocessors.py", line 31, in test_http_sampler
with open(path_to_jtl, "r", encoding="utf-8") as jtl_file:
FileNotFoundError: [Errno 2] No such file or directory: 'output\\a0fec9b4-b95c-49c9-93b4-fd13dc8a2ef0\\report.jtl'
======================================================================
ERROR: test_run_validate_order (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 108, in test_run_validate_order
with open(path_to_jtl, "r", encoding="utf-8") as jtl_file:
FileNotFoundError: [Errno 2] No such file or directory: 'output\\5659f6b8-cdb5-42b8-b382-aaf1a4df23bc\\report.jtl'
======================================================================
FAIL: test_http_sampler (utests.test_reporter.TestReporter)
create an HTML report
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_reporter.py", line 26, in test_http_sampler
self.assertTrue(os.path.exists(output_dir))
AssertionError: False is not true
----------------------------------------------------------------------
Ran 25 tests in 45.298s
FAILED (failures=1, errors=2)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_11"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_11_1" aria-expanded="false" aria-controls="job_list___sub_collapse_11_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_11_1"><button class="btn btn-outline-success"><span class="job_id">11 : Job ID 4cc3ca0f359a48d186cc87d9ff279c4a</span></button></div></a><div aria-labelledby="job_list___sub_heading_11_1" data-parent="#job_list___sub_accordion_11" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_11_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\samplers.py&line=121" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\samplers.py, start pos: (121, 13), end pos: (121, 16)</button></a></pre><pre>operator: core/ReplaceUnaryOperator_Delete_Not, occurrence: 0</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\samplers.py
+++ bsrc\pymeter\api\samplers.py
@@ -118,7 +118,7 @@
if isinstance(body, (dict, list)):
body = json.dumps(body)
- elif not isinstance(body, str):
+ elif isinstance(body, str):
raise TypeError(
f"Invalid type, expected `list`, 'dict', or 'str'. got {type(body)}"
)</pre></div><div class="alert alert-secondary"><pre class="diff">Warning: Nashorn engine is planned to be removed from a future JDK release
.00:48:32.473 [Thread Group 1-1] ERROR org.apache.jmeter.extractor.json.jmespath.JMESPathExtractor - Error processing JSON content in JSON JMESPath Extractor, message: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"hi dummy"; line: 1, column: 3]
+ 1 in 00:00:00 = 10.9/s Avg: 237 Min: 237 Max: 237 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
= 1 in 00:00:00 = 10.6/s Avg: 237 Min: 237 Max: 237 Err: 0 (0.00%)
. + 1 in 00:00:01 = 1.5/s Avg: 623 Min: 623 Max: 623 Err: 0 (0.00%) Active: 2 Started: 2 Finished: 0
..... = 1 in 00:00:01 = 1.5/s Avg: 599 Min: 599 Max: 599 Err: 0 (0.00%)
...E.E... = 0 in 00:00:00 = ******/s Avg: 0 Min: 9223372036854775807 Max: -9223372036854775808 Err: 0 (0.00%)
. + 3263 in 00:00:18 = 181.1/s Avg: 159 Min: 139 Max: 659 Err: 0 (0.00%) Active: 30 Started: 30 Finished: 0
+ 627 in 00:00:03 = 186.8/s Avg: 155 Min: 139 Max: 441 Err: 0 (0.00%) Active: 0 Started: 30 Finished: 30
= 3890 in 00:00:21 = 182.0/s Avg: 158 Min: 139 Max: 659 Err: 0 (0.00%)
F + 1 in 00:00:00 = 1000.0/s Avg: 383 Min: 383 Max: 383 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
...... = 1 in 00:00:03 = 0.4/s Avg: 631 Min: 631 Max: 631 Err: 0 (0.00%)
.
======================================================================
ERROR: test_post_http_sampler_int_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 62, in test_post_http_sampler_int_input
).post(1, ContentType.APPLICATION_JSON)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 126, in post
self._http_sampler_instance = self.java_wrapped_element.post(
File "jnius\jnius_export_class.pxi", line 1163, in jnius.JavaMultipleMethod.__call__
jnius.JavaException: No methods called post in us/abstracta/jmeter/javadsl/http/DslHttpSampler matching your arguments, requested: (1, <org.apache.http.entity.ContentType at 0x1faa599b330 jclass=org/apache/http/entity/ContentType jself=<LocalRef obj=0x-5c93be20 at 0x1faa58b6550>>), available: ['(Ljava/lang/String;Lorg/apache/http/entity/ContentType;)Lus/abstracta/jmeter/javadsl/http/DslHttpSampler;', '(Ljava/util/function/Function;Lorg/apache/http/entity/ContentType;)Lus/abstracta/jmeter/javadsl/http/DslHttpSampler;']
======================================================================
ERROR: test_post_http_sampler_str_input (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 50, in test_post_http_sampler_str_input
).post('{"name": "John Doe"}', ContentType.APPLICATION_JSON)
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 122, in post
raise TypeError(
TypeError: Invalid type, expected `list`, 'dict', or 'str'. got <class 'str'>
======================================================================
FAIL: test_run_positive_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 74, in test_run_positive_flow
self.assertLessEqual(
AssertionError: 488 not less than or equal to 443
----------------------------------------------------------------------
Ran 25 tests in 45.195s
FAILED (failures=1, errors=2)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_12"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_12_1" aria-expanded="false" aria-controls="job_list___sub_collapse_12_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_12_1"><button class="btn btn-outline-success"><span class="job_id">12 : Job ID 1a0fb1af6e294eed8d308a673d927a20</span></button></div></a><div aria-labelledby="job_list___sub_heading_12_1" data-parent="#job_list___sub_accordion_12" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_12_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\samplers.py&line=144" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\samplers.py, start pos: (144, 11), end pos: (144, 14)</button></a></pre><pre>operator: core/ReplaceUnaryOperator_Delete_Not, occurrence: 1</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\samplers.py
+++ bsrc\pymeter\api\samplers.py
@@ -141,7 +141,7 @@
Self: a new sampler instance
"""
- if not isinstance(key, str):
+ if isinstance(key, str):
raise TypeError("key field must be a string")
if not isinstance(value, str):
raise TypeError("value field must be a string")</pre></div><div class="alert alert-secondary"><pre class="diff">Warning: Nashorn engine is planned to be removed from a future JDK release
.00:49:19.609 [Thread Group 1-1] ERROR org.apache.jmeter.extractor.json.jmespath.JMESPathExtractor - Error processing JSON content in JSON JMESPath Extractor, message: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"hi dummy"; line: 1, column: 3]
= 1 in 00:00:00 = 7.5/s Avg: 349 Min: 349 Max: 349 Err: 0 (0.00%)
..EEEF = 1 in 00:00:01 = 1.4/s Avg: 621 Min: 621 Max: 621 Err: 0 (0.00%)
.E....... = 0 in 00:00:00 = ******/s Avg: 0 Min: 9223372036854775807 Max: -9223372036854775808 Err: 0 (0.00%)
. + 13 in 00:00:01 = 13.9/s Avg: 473 Min: 145 Max: 657 Err: 0 (0.00%) Active: 27 Started: 27 Finished: 0
+ 3828 in 00:00:20 = 188.7/s Avg: 159 Min: 138 Max: 674 Err: 0 (0.00%) Active: 0 Started: 30 Finished: 30
= 3841 in 00:00:21 = 181.0/s Avg: 160 Min: 138 Max: 674 Err: 0 (0.00%)
F...... = 1 in 00:00:03 = 0.4/s Avg: 612 Min: 612 Max: 612 Err: 0 (0.00%)
.
======================================================================
ERROR: test_http_2_headers (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 90, in test_http_2_headers
.header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 145, in header
raise TypeError("key field must be a string")
TypeError: key field must be a string
======================================================================
ERROR: test_http_duplicated_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 105, in test_http_duplicated_header
.header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 145, in header
raise TypeError("key field must be a string")
TypeError: key field must be a string
======================================================================
ERROR: test_http_invalid_header_key (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 119, in test_http_invalid_header_key
).header(1, "aa")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 148, in header
self._http_sampler_instance = self.java_wrapped_element.header(key, value)
File "jnius\jnius_export_class.pxi", line 1163, in jnius.JavaMultipleMethod.__call__
jnius.JavaException: No methods called header in us/abstracta/jmeter/javadsl/http/DslHttpSampler matching your arguments, requested: (1, 'aa'), available: ['(Ljava/lang/String;Ljava/util/function/Function;)Lus/abstracta/jmeter/javadsl/http/DslBaseHttpSampler;', '(Ljava/lang/String;Ljava/lang/String;)Lus/abstracta/jmeter/javadsl/http/DslBaseHttpSampler;']
======================================================================
ERROR: test_http_valid_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 77, in test_http_valid_header
).header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 145, in header
raise TypeError("key field must be a string")
TypeError: key field must be a string
======================================================================
FAIL: test_http_invalid_header_value (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 140, in test_http_invalid_header_value
self.assertEqual(
AssertionError: 'key field must be a string' != 'value field must be a string'
- key field must be a string
? ^ -
+ value field must be a string
? ^^^^
======================================================================
FAIL: test_run_positive_flow (utests.test_test_plan.TestTestPlanClass)
should run test flow with no exceptions
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_test_plan.py", line 78, in test_run_positive_flow
self.assertLessEqual(
AssertionError: 632 not less than or equal to 611
----------------------------------------------------------------------
Ran 25 tests in 44.790s
FAILED (failures=2, errors=4)
</pre></div></div></div></div></div><div class="mb-1" id="job_list___sub_accordion_13"><div class="card"><a data-toggle="collapse" data-target="#job_list___sub_collapse_13_1" aria-expanded="false" aria-controls="job_list___sub_collapse_13_1" href="#" class="job_list___sub_multi_heading"><div role="alert" class="card-header alert-success" id="job_list___sub_heading_13_1"><button class="btn btn-outline-success"><span class="job_id">13 : Job ID 994e7b4e58694468ba9e16f773c8c907</span></button></div></a><div aria-labelledby="job_list___sub_heading_13_1" data-parent="#job_list___sub_accordion_13" class="collapse job_list___sub_multi_collapse" id="job_list___sub_collapse_13_1"><div class="card-body"><div class="work-item"><div class="alert alert-success test-outcome" role="alert"><p>worker outcome: normal</p><p>test outcome: killed</p></div></div><pre class="location"><a href="pycharm://open?file=src\pymeter\api\samplers.py&line=146" class="text-secondary"><button class="btn btn-outline-dark">src\pymeter\api\samplers.py, start pos: (146, 11), end pos: (146, 14)</button></a></pre><pre>operator: core/ReplaceUnaryOperator_Delete_Not, occurrence: 2</pre><div class="alert alert-secondary"><pre class="diff">--- mutation diff ---
--- asrc\pymeter\api\samplers.py
+++ bsrc\pymeter\api\samplers.py
@@ -143,7 +143,7 @@
"""
if not isinstance(key, str):
raise TypeError("key field must be a string")
- if not isinstance(value, str):
+ if isinstance(value, str):
raise TypeError("value field must be a string")
self._http_sampler_instance = self.java_wrapped_element.header(key, value)
return self</pre></div><div class="alert alert-secondary"><pre class="diff">Warning: Nashorn engine is planned to be removed from a future JDK release
+ 1 in 00:00:01 = 0.7/s Avg: 994 Min: 994 Max: 994 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0
.00:50:06.335 [Thread Group 1-1] ERROR org.apache.jmeter.extractor.json.jmespath.JMESPathExtractor - Error processing JSON content in JSON JMESPath Extractor, message: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"hi dummy"; line: 1, column: 3]
= 1 in 00:00:00 = 9.3/s Avg: 86 Min: 86 Max: 86 Err: 0 (0.00%)
..EE.E = 1 in 00:00:01 = 1.5/s Avg: 598 Min: 598 Max: 598 Err: 0 (0.00%)
.E....... = 0 in 00:00:00 = ******/s Avg: 0 Min: 9223372036854775807 Max: -9223372036854775808 Err: 0 (0.00%)
. + 2530 in 00:00:14 = 176.8/s Avg: 161 Min: 138 Max: 672 Err: 0 (0.00%) Active: 30 Started: 30 Finished: 0
+ 1340 in 00:00:07 = 194.2/s Avg: 155 Min: 138 Max: 440 Err: 0 (0.00%) Active: 0 Started: 30 Finished: 30
= 3870 in 00:00:21 = 182.4/s Avg: 159 Min: 138 Max: 672 Err: 0 (0.00%)
....... = 1 in 00:00:03 = 0.4/s Avg: 585 Min: 585 Max: 585 Err: 0 (0.00%)
.
======================================================================
ERROR: test_http_2_headers (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 90, in test_http_2_headers
.header("key1", "val1")
File "C:\workspace-vscode\pymeter\src\pymeter\api\samplers.py", line 147, in header
raise TypeError("value field must be a string")
TypeError: value field must be a string
======================================================================
ERROR: test_http_duplicated_header (utests.test_sampler.TestSampler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\workspace-vscode\pymeter\utests\test_sampler.py", line 105, in test_h
gitextract_eu2_wdlm/
├── .all-contributorsrc
├── .github/
│ ├── dependabot.yml
│ └── workflows/
│ ├── build.yaml
│ └── publish-pypi.yaml
├── .gitignore
├── .pylintrc
├── .readthedocs.yaml
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── cosmic-ray-config.ini
├── docs/
│ ├── Mutation-Testing/
│ │ ├── 01102022.html
│ │ └── 27092022.html
│ ├── requirements.txt
│ └── user-guide/
│ ├── Makefile
│ ├── make.bat
│ └── source/
│ ├── api.rst
│ ├── assertions.rst
│ ├── conf.py
│ ├── config.rst
│ ├── index.rst
│ ├── installation.rst
│ ├── postprocessors.rst
│ ├── quickstart.rst
│ ├── reporters.rst
│ ├── samplers.rst
│ └── timers.rst
├── java-dependencies/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ └── java/
│ │ └── us/
│ │ └── abstracta/
│ │ └── jmeter/
│ │ └── App.java
│ └── test/
│ └── java/
│ └── us/
│ └── abstracta/
│ └── jmeter/
│ └── AppTest.java
├── pyproject.toml
├── src/
│ └── pymeter/
│ ├── __init__.py
│ └── api/
│ ├── __init__.py
│ ├── assertions.py
│ ├── config.py
│ ├── postprocessors.py
│ ├── reporters.py
│ ├── samplers.py
│ └── timers.py
├── tox.ini
└── utests/
├── __init__.py
├── resources/
│ └── test_data.csv
├── test_assertions.py
├── test_csv_data_set.py
├── test_postprocessors.py
├── test_reporter.py
├── test_sampler.py
├── test_test_plan.py
├── test_thread_group.py
├── test_timers.py
└── test_vars.py
SYMBOL INDEX (138 symbols across 19 files)
FILE: docs/user-guide/source/conf.py
function github_link (line 64) | def github_link(name, rawtext, text, lineno, inliner, options=None, cont...
function setup (line 92) | def setup(app):
FILE: java-dependencies/src/main/java/us/abstracta/jmeter/App.java
class App (line 7) | public class App
method main (line 9) | public static void main( String[] args )
FILE: java-dependencies/src/test/java/us/abstracta/jmeter/AppTest.java
class AppTest (line 10) | public class AppTest
method shouldAnswerWithTrue (line 15) | @Test
FILE: src/pymeter/api/__init__.py
class ContentType (line 214) | class ContentType(Enum):
method get_mime_type (line 230) | def get_mime_type(self) -> str:
class BaseJMeterClass (line 241) | class BaseJMeterClass:
method get_java_class_name (line 250) | def get_java_class_name(self):
method java_wrapped_element (line 262) | def java_wrapped_element(self):
method children (line 273) | def children(self, *children):
class TestPlanChildElement (line 309) | class TestPlanChildElement(BaseJMeterClass):
class ThreadGroupChildElement (line 313) | class ThreadGroupChildElement(BaseJMeterClass):
class ChildrenAreNotAllowed (line 317) | class ChildrenAreNotAllowed(Exception):
FILE: src/pymeter/api/assertions.py
class BaseAssertion (line 38) | class BaseAssertion(ThreadGroupChildElement):
method children (line 41) | def children(self, *children):
class ResponseAssertion (line 45) | class ResponseAssertion(BaseAssertion):
method __init__ (line 47) | def __init__(self) -> None:
method contains_substrings (line 54) | def contains_substrings(self, *strings_to_look):
FILE: src/pymeter/api/config.py
class BaseConfigElement (line 179) | class BaseConfigElement(TestPlanChildElement):
class Vars (line 183) | class Vars(TestPlanChildElement):
method __init__ (line 186) | def __init__(self, **variables) -> None:
method children (line 192) | def children(self, *children):
method set (line 195) | def set(self, key: str, value: str):
class CsvDataset (line 204) | class CsvDataset(TestPlanChildElement, ThreadGroupChildElement):
method __init__ (line 209) | def __init__(self, csv_file: str) -> None:
method children (line 217) | def children(self, *children):
class TestPlan (line 221) | class TestPlan(BaseConfigElement):
class TestPlanStats (line 226) | class TestPlanStats(BaseConfigElement):
method __init__ (line 229) | def __init__(self, java_instance) -> None:
method sample_time_mean_milliseconds (line 234) | def sample_time_mean_milliseconds(self):
method sample_time_min_milliseconds (line 239) | def sample_time_min_milliseconds(self):
method sample_time_median_milliseconds (line 244) | def sample_time_median_milliseconds(self):
method sample_time_90_percentile_milliseconds (line 251) | def sample_time_90_percentile_milliseconds(self):
method sample_time_95_percentile_milliseconds (line 258) | def sample_time_95_percentile_milliseconds(self):
method sample_time_99_percentile_milliseconds (line 265) | def sample_time_99_percentile_milliseconds(self):
method sample_time_max_milliseconds (line 272) | def sample_time_max_milliseconds(self):
method duration_milliseconds (line 277) | def duration_milliseconds(self):
method __init__ (line 281) | def __init__(self, *children: TestPlanChildElement) -> None:
method children (line 288) | def children(self, *children):
method run (line 293) | def run(self):
class BaseThreadGroup (line 309) | class BaseThreadGroup(BaseConfigElement):
method __init__ (line 312) | def __init__(self, *children: ThreadGroupChildElement) -> None:
method children (line 316) | def children(self, *children):
class SetupThreadGroup (line 322) | class SetupThreadGroup(BaseThreadGroup):
method __init__ (line 325) | def __init__(self, *children: ThreadGroupChildElement) -> None:
class TeardownThreadGroup (line 333) | class TeardownThreadGroup(BaseThreadGroup):
method __init__ (line 336) | def __init__(self, *children: ThreadGroupChildElement) -> None:
class ThreadGroupSimple (line 344) | class ThreadGroupSimple(BaseThreadGroup):
method __init__ (line 350) | def __init__(
class ThreadGroupWithRampUpAndHold (line 363) | class ThreadGroupWithRampUpAndHold(BaseThreadGroup):
method __init__ (line 366) | def __init__(
FILE: src/pymeter/api/postprocessors.py
class BasePostProcessors (line 29) | class BasePostProcessors(ThreadGroupChildElement):
method children (line 31) | def children(self, *children):
class JsonExtractor (line 35) | class JsonExtractor(BasePostProcessors):
method __init__ (line 41) | def __init__(self, variable_name: str, jmes_path: str) -> None:
FILE: src/pymeter/api/reporters.py
class BaseReporter (line 39) | class BaseReporter(TestPlanChildElement):
method children (line 41) | def children(self, *children):
class HtmlReporter (line 45) | class HtmlReporter(BaseReporter):
method __init__ (line 48) | def __init__(self, directory: Optional[str] = None) -> None:
FILE: src/pymeter/api/samplers.py
class BaseSampler (line 88) | class BaseSampler(ThreadGroupChildElement, BaseThreadGroup):
class DummySampler (line 92) | class DummySampler(BaseSampler):
method __init__ (line 98) | def __init__(self, name: str, response_body: str, *children) -> None:
class HttpSampler (line 105) | class HttpSampler(BaseSampler):
method __init__ (line 111) | def __init__(self, name: str, url: str, *children) -> None:
method post (line 124) | def post(self, body: Union[Dict, List, str], content_type: ContentType...
method header (line 151) | def header(self, key: str, value: str) -> Self:
method post_multipart_formdata (line 171) | def post_multipart_formdata(self, name: str, file_path: str, content_t...
FILE: src/pymeter/api/timers.py
class BaseTimer (line 67) | class BaseTimer(ThreadGroupChildElement):
method children (line 69) | def children(self, *children):
class ConstantTimer (line 72) | class ConstantTimer(BaseTimer):
method __init__ (line 78) | def __init__(self, time_milliseconds: int) -> None:
class UniformRandomTimer (line 85) | class UniformRandomTimer(BaseTimer):
method __init__ (line 95) | def __init__(self, bottom_milliseconds: int, top_milliseconds: int) ->...
FILE: utests/test_assertions.py
class TestAssertions (line 14) | class TestAssertions(TestCase):
method test_assertion_object_creation (line 15) | def test_assertion_object_creation(self):
method test_assertion_children (line 22) | def test_assertion_children(self):
method test_assertion_object_creation_with_contains_substrings (line 30) | def test_assertion_object_creation_with_contains_substrings(self):
method test_assertion_object_should_pass (line 37) | def test_assertion_object_should_pass(self):
method test_assertion_object_should_fail (line 52) | def test_assertion_object_should_fail(self):
FILE: utests/test_csv_data_set.py
class TestCsvDataSet (line 18) | class TestCsvDataSet(TestCase):
method test_csv_data_set_children (line 21) | def test_csv_data_set_children(self):
method test_csv_data_set_file_not_found (line 29) | def test_csv_data_set_file_not_found(self):
method test_data_set_for_entire_test_plan (line 37) | def test_data_set_for_entire_test_plan(self):
method test_data_set_for_only_one_thread_group (line 62) | def test_data_set_for_only_one_thread_group(self):
method test_data_set_too_small (line 88) | def test_data_set_too_small(self):
method test_data_set_too_big (line 112) | def test_data_set_too_big(self):
FILE: utests/test_postprocessors.py
class TestSampler (line 12) | class TestSampler(TestCase):
method test_http_sampler (line 15) | def test_http_sampler(self):
method test_postprocessor_children (line 36) | def test_postprocessor_children(self):
method test_postprocessor_on_thread_group (line 44) | def test_postprocessor_on_thread_group(self):
FILE: utests/test_reporter.py
class TestReporter (line 12) | class TestReporter(TestCase):
method test_reporter_children (line 15) | def test_reporter_children(self):
method test_http_sampler (line 23) | def test_http_sampler(self):
FILE: utests/test_sampler.py
class TestSampler (line 12) | class TestSampler(TestCase):
method test_http_sampler (line 15) | def test_http_sampler(self):
method test_http_sampler_with_valid_children (line 27) | def test_http_sampler_with_valid_children(self):
method test_http_sampler_with_valid_children_out_of_constructor (line 36) | def test_http_sampler_with_valid_children_out_of_constructor(self):
method test_post_http_sampler_dict_input (line 47) | def test_post_http_sampler_dict_input(self, content_type_name):
method test_post_http_sampler_list_input (line 66) | def test_post_http_sampler_list_input(self):
method test_post_http_sampler_str_input (line 76) | def test_post_http_sampler_str_input(self):
method test_post_http_sampler_int_input (line 86) | def test_post_http_sampler_int_input(self):
method test_http_valid_header (line 101) | def test_http_valid_header(self):
method test_http_2_headers (line 111) | def test_http_2_headers(self):
method test_http_duplicated_header (line 125) | def test_http_duplicated_header(self):
method test_http_invalid_header_key (line 139) | def test_http_invalid_header_key(self):
method test_http_invalid_header_value (line 154) | def test_http_invalid_header_value(self):
method test_http_multipart_body_file_not_found (line 169) | def test_http_multipart_body_file_not_found(self):
method test_http_multipart_body_file_found (line 185) | def test_http_multipart_body_file_found(self):
FILE: utests/test_test_plan.py
class TestTestPlanClass (line 17) | class TestTestPlanClass(TestCase):
method test_creation_of_empty_test_plan (line 20) | def test_creation_of_empty_test_plan(self):
method test_creation_of_test_plan_with_valid_children (line 28) | def test_creation_of_test_plan_with_valid_children(self):
method test_creation_of_test_plan_with_valid_children_out_of_constructor (line 39) | def test_creation_of_test_plan_with_valid_children_out_of_constructor(...
method test_creation_of_test_plan_with_invalid_children (line 53) | def test_creation_of_test_plan_with_invalid_children(self):
method test_creation_of_test_plan_with_invalid_children_out_of_constructor (line 67) | def test_creation_of_test_plan_with_invalid_children_out_of_constructo...
method test_run_positive_flow (line 82) | def test_run_positive_flow(self):
method test_run_empty_flow (line 116) | def test_run_empty_flow(self):
method test_run_validate_order (line 122) | def test_run_validate_order(self):
FILE: utests/test_thread_group.py
class TestThreadGroupClass (line 12) | class TestThreadGroupClass(TestCase):
method test_creation_of_empty_thread_group (line 15) | def test_creation_of_empty_thread_group(self):
method test_creation_of_empty_setup_thread_group (line 23) | def test_creation_of_empty_setup_thread_group(self):
method test_creation_of_empty_teardown_thread_group (line 31) | def test_creation_of_empty_teardown_thread_group(self):
method test_creation_of_thread_group_with_valid_children (line 39) | def test_creation_of_thread_group_with_valid_children(self):
method test_creation_of_thread_group_with_valid_children_out_of_constructor (line 49) | def test_creation_of_thread_group_with_valid_children_out_of_construct...
method test_creation_of_thread_group_with_invalid_children_out_of_constructor (line 60) | def test_creation_of_thread_group_with_invalid_children_out_of_constru...
method test_creation_of_thread_group_with_invalid_children (line 75) | def test_creation_of_thread_group_with_invalid_children(self):
FILE: utests/test_timers.py
class TestTimer (line 9) | class TestTimer(TestCase):
method test_timer_children (line 12) | def test_timer_children(self):
method test_uniform_random_timer (line 19) | def test_uniform_random_timer(self):
method test_constant_timer (line 37) | def test_constant_timer(self):
FILE: utests/test_vars.py
class TestVars (line 16) | class TestVars(TestCase):
method test_vars_children (line 19) | def test_vars_children(self):
method test_vars_set_from_constructor (line 27) | def test_vars_set_from_constructor(self):
method test_vars_set_from_set_method (line 49) | def test_vars_set_from_set_method(self):
method test_vars_value_is_int (line 72) | def test_vars_value_is_int(self):
method test_vars_value_is_stringable_class (line 95) | def test_vars_value_is_stringable_class(self):
method test_vars_illegal_key_type (line 121) | def test_vars_illegal_key_type(self):
Condensed preview — 51 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (666K chars).
[
{
"path": ".all-contributorsrc",
"chars": 839,
"preview": "{\n \"files\": [\n \"README.md\"\n ],\n \"imageSize\": 100,\n \"commit\": false,\n \"commitConvention\": \"angular\",\n \"contribut"
},
{
"path": ".github/dependabot.yml",
"chars": 672,
"preview": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where "
},
{
"path": ".github/workflows/build.yaml",
"chars": 1183,
"preview": "name: run tests\non: [pull_request]\n\n\njobs:\n test:\n runs-on: ${{ matrix.os }}\n strategy:\n matrix:\n os:"
},
{
"path": ".github/workflows/publish-pypi.yaml",
"chars": 1508,
"preview": "# This workflow will upload a Python Package using Twine when a release is created\n# For more information see: https://h"
},
{
"path": ".gitignore",
"chars": 6536,
"preview": "# File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig\n# Created by https://www.t"
},
{
"path": ".pylintrc",
"chars": 106,
"preview": "[MASTER]\ninit-hook='import sys; sys.path.append(\".\"); sys.path.append(\"src\")'\n[FORMAT]\nmax-line-length=150"
},
{
"path": ".readthedocs.yaml",
"chars": 699,
"preview": "version: 2\n\nbuild:\n os: ubuntu-20.04\n tools:\n python: \"3.8\"\n apt_packages:\n - default-jdk\n - maven\n jobs:\n "
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 4356,
"preview": "# Contributor Code of Conduct\n\nTrust, respect, collaboration and transparency are core values we believe should live and"
},
{
"path": "LICENSE",
"chars": 11357,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 8284,
"preview": "# pymeter\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[ as failed,\nwhich allows you to easi"
},
{
"path": "src/pymeter/api/config.py",
"chars": 14397,
"preview": "\"\"\"\nThe config module contain classes that define the overall structure of the test script.\nHere we will define the over"
},
{
"path": "src/pymeter/api/postprocessors.py",
"chars": 1818,
"preview": "\"\"\"\nPost processors are attached to samplers and are executed after the parent sampler gets executed.\nThe most common us"
},
{
"path": "src/pymeter/api/reporters.py",
"chars": 2116,
"preview": "\"\"\"\nReporters represent measurements about the samplers for testers to analyze.\n\nexample - 1:\n--------------\nHTML report"
},
{
"path": "src/pymeter/api/samplers.py",
"chars": 5726,
"preview": "\"\"\"\nSamplers are the basic test script steps.\n\nThey perform a specific action (eg, send an HTTP request) and report thei"
},
{
"path": "src/pymeter/api/timers.py",
"chars": 3658,
"preview": "\"\"\"\nTimers are used to pause the thread for a given amount of time.\nThe goal is to emulate either a user think time or a"
},
{
"path": "tox.ini",
"chars": 304,
"preview": "[tox]\nskipsdist = true\nenvlist = py38,py39,py310,py311\n[gh-actions]\npython = \n 3.8:py38\n 3.9:py39\n 3.10:py310\n "
},
{
"path": "utests/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "utests/resources/test_data.csv",
"chars": 8,
"preview": "id\n1\n2\n3"
},
{
"path": "utests/test_assertions.py",
"chars": 2867,
"preview": "\"\"\"unittest module\"\"\"\nimport json\nimport os\nfrom unittest import TestCase, main\nimport uuid\nfrom pymeter.api import Chil"
},
{
"path": "utests/test_csv_data_set.py",
"chars": 5119,
"preview": "\"\"\"unittest module\"\"\"\nimport os\nimport uuid\nfrom unittest import TestCase, main\nfrom collections import Counter\nfrom pym"
},
{
"path": "utests/test_postprocessors.py",
"chars": 2041,
"preview": "\"\"\"unittest module\"\"\"\nimport os\nfrom unittest import TestCase, main\nimport uuid\nfrom pymeter.api import ChildrenAreNotAl"
},
{
"path": "utests/test_reporter.py",
"chars": 1633,
"preview": "\"\"\"unittest module\"\"\"\nimport os\nimport uuid\nfrom unittest import TestCase, main\n\nfrom pymeter.api import ChildrenAreNotA"
},
{
"path": "utests/test_sampler.py",
"chars": 7123,
"preview": "\"\"\"unittest module\"\"\"\nfrom unittest import TestCase, main\n\nfrom parameterized import parameterized\n\nfrom pymeter.api imp"
},
{
"path": "utests/test_test_plan.py",
"chars": 5565,
"preview": "\"\"\"unittest module\"\"\"\nimport os\nimport uuid\nfrom unittest import TestCase, main\n\nfrom pymeter.api.config import (\n Se"
},
{
"path": "utests/test_thread_group.py",
"chars": 3970,
"preview": "\"\"\"unittest module\"\"\"\nfrom unittest import TestCase, main\n\nfrom pymeter.api.config import (\n SetupThreadGroup,\n Te"
},
{
"path": "utests/test_timers.py",
"chars": 2202,
"preview": "\"\"\"unittest module\"\"\"\nfrom unittest import TestCase, main\nfrom pymeter.api import ChildrenAreNotAllowed\nfrom pymeter.api"
},
{
"path": "utests/test_vars.py",
"chars": 4578,
"preview": "\"\"\"unittest module\"\"\"\nimport os\nimport uuid\nfrom unittest import TestCase, main\nfrom collections import Counter\nfrom pym"
}
]
About this extraction
This page contains the full source code of the eldaduzman/pymeter GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 51 files (611.2 KB), approximately 160.8k tokens, and a symbol index with 138 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.