{"id":22871554,"url":"https://github.com/qainsights/jeval","last_synced_at":"2025-10-13T06:38:21.332Z","repository":{"id":39669277,"uuid":"296462047","full_name":"QAInsights/JEval","owner":"QAInsights","description":"⚡ JEval helps you to evaluate your JMeter test plan and provides recommendation before you start your performance testing. All contributions welcome 🙏.","archived":false,"fork":false,"pushed_at":"2020-10-21T01:16:20.000Z","size":727,"stargazers_count":32,"open_issues_count":0,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-05T22:42:13.713Z","etag":null,"topics":["apache","jeval","jmeter","performance","performance-engineering","performance-testing","python","testing","tools","utilities"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QAInsights.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"custom":["https://www.buymeacoffee.com/qainsights"]}},"created_at":"2020-09-17T23:12:26.000Z","updated_at":"2025-02-13T14:14:10.000Z","dependencies_parsed_at":"2022-09-20T07:10:47.551Z","dependency_job_id":null,"html_url":"https://github.com/QAInsights/JEval","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/QAInsights/JEval","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FJEval","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FJEval/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FJEval/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FJEval/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QAInsights","download_url":"https://codeload.github.com/QAInsights/JEval/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FJEval/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013974,"owners_count":26085429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache","jeval","jmeter","performance","performance-engineering","performance-testing","python","testing","tools","utilities"],"created_at":"2024-12-13T13:19:57.569Z","updated_at":"2025-10-13T06:38:21.318Z","avatar_url":"https://github.com/QAInsights.png","language":"Python","funding_links":["https://www.buymeacoffee.com/qainsights","https://www.paypal.com/paypalme/NAVEENKUMARN"],"categories":[],"sub_categories":[],"readme":"# 🚀 JEval\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-3-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-1EAEDB)]()\n[![saythanks](https://img.shields.io/badge/say-thanks-1EAEDB.svg)](https://saythanks.io/to/catch.nkn%40gmail.com)\n[![](https://img.shields.io/badge/license-MIT-0a0a0a.svg?style=flat\u0026colorA=1EAEDB)](https://qainsights.com)\n[![](https://img.shields.io/badge/%E2%9D%A4-QAInsights-0a0a0a.svg?style=flat\u0026colorA=1EAEDB)](https://qainsights.com)\n[![](https://img.shields.io/badge/%E2%9D%A4-YouTube%20Channel-0a0a0a.svg?style=flat\u0026colorA=1EAEDB)](https://www.youtube.com/user/QAInsights?sub_confirmation=1)\n[![](https://img.shields.io/badge/donate-paypal-1EAEDB)](https://www.paypal.com/paypalme/NAVEENKUMARN)\n\n\u003cpre\u003e\n***************************************************************\n*                _   ______                   _               *\n*               | | |  ____|                 | |              *\n*               | | | |__    __   __   __ _  | |              *\n*           _   | | |  __|   \\ \\ / /  / _` | | |              *\n*          | |__| | | |____   \\ V /  | (_| | | |              *\n*           \\____/  |______|   \\_/    \\__,_| |_|              *\n*                                                             *\n*            (c) NaveenKumar Namachivayam 2020                *\n*                       QAInsights.com                        *\n*                                                             *\n***************************************************************\n\u003c/pre\u003e\n\nJEval helps you to evaluate your JMeter test plan and provides recommendation before you start your performance testing.\n\n# 🛠 Prerequisites\n\n* Clone this repository.\n* Install the latest version of Python\n* Install the dependencies  \n`pip install -r requirements.txt`\n\n**Important Notes**  \n* *JEval doesn't make any modifications to your JMeter test plan. But it is advisable to make a backup of your JMeter test plan.*  \n* *JEval utility doesn't collect any sort of data*\n\n# ✨ Usage\n\n* cd into the repository\n* Issue the below command  \n`python app.py -f \u003cJMeter-File-Path\u003e`  \nE.g.  \n`python app.py -f .\\jmx\\Sample.jmx`\n\n## 💪 Output\n\n![JEval Output](./assets/JEval-Output.jpg)\n\n# ✍ Log file\n\nTo view the log, open the `tmp.log` file.\n\n# ✔ Features\n\n* JEval detects the JMeter version and validates the test plan.\n\n* JEval detects the following:\n \n    **JMeter elements**\n    - AuthManager\n    - CookieManager\n    - HeaderManager\n    - CacheManager\n    - CSVDataSet  \n    - TransactionController  \n    - ConfigTestElement\n    - ConstantTimer\n    - UniformRandomTimer\n    - GaussianRandomTimer\n    - Arguments\n    - ProxyControl\n    - RegexExtractor\n    - TestAction\n    - BeanShellSampler\n    - JSR223Sampler\n    - IfController\n    - LoopController\n    - ResultCollector\n    - ResponseAssertion\n    - XPath2Assertion\n    - JSONPathAssertion\n    - DebugSampler\n\n    If you want to add custom elements, you can add it in the `config.yaml` file. \n\n    **JMeter Plugins (default)**\n    - DummySampler\n    - UDP\n    - SeleniumWebDriver\n    - Visualizer\n\n    You can add custom plugins in `config.yaml` file under Custom tag, as shown in below example.\n    ```yaml\n        Custom:\n          Plugin1: org.Sample.plugin.name\n          DummySampler: kg.apc.jmeter.samplers.DummySampler\n    ```\n\n# 🛑 Limitations\n\n* If the elements added inside `Controllers` elements e.g. `Loop Controller`, then those elements will not be detected.\n\n# 💰 Donate\n☕ \u003ca target=\"_blank\" href=\"https://www.buymeacoffee.com/qainsights\"\u003eBuy me a tea\u003c/a\u003e\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://QAInsights.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/2826376?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNaveenKumar\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/QAInsights/JEval/commits?author=QAInsights\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://goo.gl/rTd92i\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/6709533?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAnthony Gauthier\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/QAInsights/JEval/commits?author=delirius325\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://bit.ly/33oAQDj\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/47483946?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLeela Prasad\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/QAInsights/JEval/commits?author=leelaprasadv\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqainsights%2Fjeval","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqainsights%2Fjeval","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqainsights%2Fjeval/lists"}