anasoid / jmeter-as-code Goto Github PK
View Code? Open in Web Editor NEWJmeter as code is the easy way to write jmeter test as code.
License: Apache License 2.0
Jmeter as code is the easy way to write jmeter test as code.
License: Apache License 2.0
Hey!
I see that you are a cool specialist in Jmeter and thank you very much for your contribution to the development of the community and the toolkit around it.
The thoughts of many JMeter users now have a similar trend. The trend is to write tests as code. But there are no good solutions to do this quickly and conveniently. What many are faced with is the paucity of functionality and the dampness of the solution.
What do I want to offer? I want to enlist the support of more like-minded people and focus them on one thing. Now it seems like you need to choose something the most popular. I studied the current solutions for a very long time and I think that I chose the most suitable one, this is https://github.com/abstracta/jmeter-java-dsl
We are going to contribute there and look for more people who are interested in this.
I think that together we will be able to make a really cool and useful DSL tool, which will be officially included in JMeter's delivery. At the moment, I also keep in touch with the JMeter developer, who can be seen in one of the issue abstracta/jmeter-java-dsl#30
I apologize in advance for disturbing you if this is not interesting to you.
If it's interesting, please let me know. ๐
Regards
Add implementation Synthesis Report
https://jmeter-plugins.org/?search=jpgc-synthesis
Add JDBC support
Add creation of isolated config context
https://jmc.anasoid.org/docs/users/properties#local-jmcconfig
Is your feature request related to a problem? Please describe.
Log4J2 has a security vulnerability for version previous than 2.17.1. Currently, the maven dependencies using 2.16.0.
my workaround is to add the 2.17.1 version dependencies independently in my project.
https://logging.apache.org/log4j/2.x/
Describe the solution you'd like
The dependencies need to updated, the latest version of JMeter already addressed this upgrade but I'm not sure if there's other related JMeter library change that may affect this project. So for now, upgrade the log4j version would be great.
Describe alternatives you've considered
Is this possible to attempt use the latest version of JMeter ? how often we plan to upgrade the Jmeter packages on regular basis ?
Please install our new product, Sonatype Lift with advanced features
add Random CSV Data Set Config
https://github.com/Blazemeter/jmeter-bzm-plugins/blob/master/random-csv-data-set/RandomCSVDataSetConfig.md
Add Set Variables Action
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.
.github/workflows/audit.yml
actions/checkout v4
actions/setup-java v4
actions/cache v4
actions/cache v4
actions/cache v4
actions/upload-artifact v4
ubuntu 22.04
.github/workflows/main.yml
actions/checkout v4
actions/setup-java v4
actions/cache v4
actions/cache v4
actions/cache v4
codecov/codecov-action v4
mikepenz/action-junit-report v4
actions/upload-artifact v4
ubuntu 22.04
.github/workflows/publish.yml
actions/checkout v4
actions/setup-java v4
actions/cache v4
actions/cache v4
actions/upload-artifact v4
actions/upload-artifact v4
actions/upload-artifact v4
ubuntu 22.04
.github/workflows/snapshot.yml
actions/checkout v4
actions/setup-java v4
actions/cache v4
actions/cache v4
mikepenz/action-junit-report v4
actions/upload-artifact v4
ubuntu 22.04
gradle.properties
org.apache.logging.log4j:log4j-slf4j-impl 2.23.1
org.apache.jmeter:ApacheJMeter_java 5.6.3
org.apache.jmeter:ApacheJMeter_http 5.6.3
org.apache.jmeter:ApacheJMeter_config 5.6.3
com.thoughtworks.xstream:xstream 1.4.20
org.projectlombok:lombok 1.18.32
org.apache.commons:commons-lang3 3.14.0
commons-io:commons-io 2.16.1
org.junit.jupiter:junit-jupiter 5.10.2
org.assertj:assertj-core 3.25.3
org.xmlunit:xmlunit-core 2.10.0
org.xmlunit:xmlunit-matchers 2.10.0
com.github.tomakehurst:wiremock-jre8 2.35.2
ru.lanwen.wiremock:wiremock-junit5 1.3.1
org.mockito:mockito-core 5.+
org.mockito:mockito-inline 5.+
uk.org.webcompere:system-stubs-jupiter 2.1.6
org.junit.jupiter:junit-jupiter-api 5.10.2
lombok 1.18.32
commons-beanutils:commons-beanutils 1.9.4
io.github.classgraph:classgraph 4.8.172
kg.apc:jmeter-plugins-casutg 2.10
kg.apc:jmeter-plugins-graphs-basic 2.0
kg.apc:jmeter-plugins-graphs-additional 2.0
com.blazemeter:jmeter-plugins-random-csv-data-set 0.8
kg.apc:jmeter-plugins-prmctl 0.4
kg.apc:jmeter-plugins-synthesis 2.2
com.blazemeter:jmeter-parallel 0.12
org.junit.jupiter:junit-jupiter-params 5.10.2
org.junit.jupiter:junit-jupiter-engine 5.10.2
settings.gradle
build.gradle
org.owasp:dependency-check-gradle 9.1.0
io.spring.dependency-management 1.1.5
org.sonarqube 5.0.0.4638
io.freefair.lombok 8.6
io.freefair.git-version 8.6
com.github.ben-manes.versions 0.51.0
jacoco 0.8.12
checkstyle 10.16.0
pmd 7.1.0
buildSrc/build.gradle
buildSrc/src/main/groovy/org.anasoid.jmc.java-application-conventions.gradle
buildSrc/src/main/groovy/org.anasoid.jmc.java-common-conventions.gradle
buildSrc/src/main/groovy/org.anasoid.jmc.java-library-conventions.gradle
gradle/ide.gradle
gradle/javadoc.gradle
gradle/release.gradle
jmc-core/jmc-core.gradle
jmc-jmeter-plugins/jmc-jmeter-plugins.gradle
jmc-plugin/jmc-plugin.gradle
jmc-test/jmc-test.gradle
gradle/wrapper/gradle-wrapper.properties
gradle 8.7
add wrapper for Weighted Switch Controller
https://github.com/Blazemeter/jmeter-bzm-plugins/blob/master/wsc/WeightedSwitchController.md
Load test using Jmeter on Test
Add Module Controller
https://jmeter.apache.org/usermanual/component_reference.html#Module_Controller
Add JSR223 Test elements equivalent in Java
Crash ReadOnlyArgumentsPanel on starting jmeter
Add jpgc-graphs-additional
(5 Additional Graphs)
https://jmeter-plugins.org/?search=jpgc-graphs-additional
Add implementation of (Flow Control Action)
https://jmeter.apache.org/usermanual/component_reference.html#Flow_Control_Action
add wrapper for Dummy Sampler
https://jmeter-plugins.org/wiki/DummySampler/
Add Implementation Test fragment
https://jmeter.apache.org/usermanual/component_reference.html#Test_Fragment
Lately started using Karate(https://github.com/karatelabs/karate) which essentially has the feature file written in gherkin format. I use it for API automation testing which is basically easier when written in a simpler English format.
Just a thought/idea: By any chance can we reuse the feature file for performance testing using JMeter-as-code?
Note: They(i.e Karate) have already implemented Gatling for performance testing.
add jpgc-graphs-basic
(3 Basic Graphs)
https://jmeter-plugins.org/?search=jpgc-graphs-basic
Upgrade dependies
v0.6.0
Modeule controller, detect Ambiguous target even, it's not
Add first jmeter-plugin components:
kg.apc:jmeter-plugins-casutg custom thread
add wrapper for Parallel Sampling for JMeter
https://github.com/Blazemeter/jmeter-bzm-plugins/blob/master/parallel/Parallel.md
remove need to have Jmeter_HOME env variable
Describe the bug
Crash in Error log when open jmeter in gui with jmc plugins
2022-09-02 09:42:47,941 WARN o.a.j.g.u.MenuFactory: Could not instantiate class: org.anasoid.jmc.plugins.component.java.assertions.JavaAssertionGui
java.lang.reflect.InvocationTargetException: null
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
at org.apache.jmeter.gui.util.MenuFactory.getGUIComponent(MenuFactory.java:207) ~[ApacheJMeter_core.jar:5.4.1]
at org.apache.jmeter.gui.util.MenuFactory.initializeMenus(MenuFactory.java:151) ~[ApacheJMeter_core.jar:5.4.1]
at org.apache.jmeter.gui.util.MenuFactory.(MenuFactory.java:107) ~[ApacheJMeter_core.jar:5.4.1]
at org.apache.jmeter.control.gui.TestPlanGui.createPopupMenu(TestPlanGui.java:94) ~[ApacheJMeter_core.jar:5.4.1]
at org.apache.jmeter.gui.tree.JMeterTreeNode.createPopupMenu(JMeterTreeNode.java:184) ~[ApacheJMeter_core.jar:5.4.1]
at org.apache.jmeter.gui.action.EditCommand.doAction(EditCommand.java:46) ~[ApacheJMeter_core.jar:5.4.1]
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:87) ~[ApacheJMeter_core.jar:5.4.1]
at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:69) ~[ApacheJMeter_core.jar:5.4.1]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) ~[?:?]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:721) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:715) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) ~[?:?]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:740) ~[?:?]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) ~[?:?]
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190) ~[?:?]
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235) ~[?:?]
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233) ~[?:?]
at java.awt.Dialog.show(Dialog.java:1070) ~[?:?]
at java.awt.Component.show(Component.java:1716) ~[?:?]
at java.awt.Component.setVisible(Component.java:1663) ~[?:?]
at java.awt.Window.setVisible(Window.java:1031) ~[?:?]
at java.awt.Dialog.setVisible(Dialog.java:1005) ~[?:?]
at org.apache.jmeter.SplashScreen.lambda$showScreen$0(SplashScreen.java:95) ~[ApacheJMeter_core.jar:5.4.1]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) [?:?]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) [?:?]
at java.awt.EventQueue$4.run(EventQueue.java:721) [?:?]
at java.awt.EventQueue$4.run(EventQueue.java:715) [?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) [?:?]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:740) [?:?]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [?:?]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:?]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [?:?]
Caused by: java.lang.IllegalStateException: No executor Found for : interface org.anasoid.jmc.plugins.component.java.assertions.JavaAssertionExecutor
at org.anasoid.jmc.plugins.component.java.AbstractJavaTestElementGui.createClassnamePanel(AbstractJavaTestElementGui.java:163) ~[jmc-plugin-v0.6.5.jar:?]
at org.anasoid.jmc.plugins.component.java.AbstractJavaTestElementGui.initialize(AbstractJavaTestElementGui.java:121) ~[jmc-plugin-v0.6.5.jar:?]
at org.anasoid.jmc.plugins.component.java.AbstractJavaTestElementGui.(AbstractJavaTestElementGui.java:95) ~[jmc-plugin-v0.6.5.jar:?]
at org.anasoid.jmc.plugins.component.java.assertions.JavaAssertionGui.(JavaAssertionGui.java:28) ~[jmc-plugin-v0.6.5.jar:?]
... 46 more
Complete All Jmeter functions coverage
Java Executor can now handle event before and after test start/end to use cache or any needed features
Version v0.6.0
Error message from prepare Interceptor doesn't display origin node
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.