kandi background
Explore Kits

jmeter | Apache JMeter can measure performance and load test static | Performance Testing library

 by   apache Java Version: Current License: Apache-2.0

 by   apache Java Version: Current License: Apache-2.0

Download this library from

kandi X-RAY | jmeter Summary

jmeter is a Java library typically used in Testing, Performance Testing applications. jmeter has no bugs, it has a Permissive License and it has high support. However jmeter has 3 vulnerabilities and it build file is not available. You can download it from GitHub, Maven.
Apache JMeter can measure performance and load test static and dynamic web applications. It can be used to simulate a heavy load on a server, group of servers, network or object to test its strength or to analyze overall performance under different load types.
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • jmeter has a highly active ecosystem.
  • It has 5756 star(s) with 1630 fork(s). There are 333 watchers for this library.
  • It had no major release in the last 12 months.
  • jmeter has no issues reported. There are 15 open pull requests and 0 closed requests.
  • It has a negative sentiment in the developer community.
  • The latest version of jmeter is current.
jmeter Support
Best in #Performance Testing
Average in #Performance Testing
jmeter Support
Best in #Performance Testing
Average in #Performance Testing

quality kandi Quality

  • jmeter has 0 bugs and 0 code smells.
jmeter Quality
Best in #Performance Testing
Average in #Performance Testing
jmeter Quality
Best in #Performance Testing
Average in #Performance Testing

securitySecurity

  • jmeter has 3 vulnerability issues reported (3 critical, 0 high, 0 medium, 0 low).
  • jmeter code analysis shows 0 unresolved vulnerabilities.
  • There are 0 security hotspots that need review.
jmeter Security
Best in #Performance Testing
Average in #Performance Testing
jmeter Security
Best in #Performance Testing
Average in #Performance Testing

license License

  • jmeter is licensed under the Apache-2.0 License. This license is Permissive.
  • Permissive licenses have the least restrictions, and you can use them in most projects.
jmeter License
Best in #Performance Testing
Average in #Performance Testing
jmeter License
Best in #Performance Testing
Average in #Performance Testing

buildReuse

  • jmeter releases are not available. You will need to build from source code and install.
  • Deployable package is available in Maven.
  • jmeter has no build file. You will be need to create the build yourself to build the component from source.
  • Installation instructions, examples and code snippets are available.
  • jmeter saves you 183568 person hours of effort in developing the same functionality from scratch.
  • It has 194124 lines of code, 13577 functions and 1602 files.
  • It has medium code complexity. Code complexity directly impacts maintainability of the code.
jmeter Reuse
Best in #Performance Testing
Average in #Performance Testing
jmeter Reuse
Best in #Performance Testing
Average in #Performance Testing
Top functions reviewed by kandi - BETA

kandi has reviewed jmeter and discovered the below as its top functions. This is intended to give you an instant insight into jmeter implemented functionality, and help decide if they suit your requirements.

  • Initialize the components .
  • Initialize properties .
  • Sample a sample from the URL .
  • Downloads the resources from the given resource .
  • Set up the post body data .
  • Recursive method to scan the nodes .
  • Adds key data to the result .
  • Load configuration from properties .
  • Initialize the pool .
  • Create the HTTPSampler panel .

jmeter Key Features

Complete portability and 100% Java. Multi-threading allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.

Release builds

copy iconCopydownload iconDownload
systemProp.http.proxyHost=proxy.example.invalid
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=your_user_name
systemProp.http.proxyPassword=your_password
systemProp.https.proxyHost=proxy.example.invalid
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=your_user_name
systemProp.https.proxyPassword=your_password

Test builds

copy iconCopydownload iconDownload
./gradlew build

Jmeter - bzm Streaming Sampler Content Protection

copy iconCopydownload iconDownload
file:///folder/anotherFolder/playlist.mpd 

Jmeter Favicon how to exclude?

copy iconCopydownload iconDownload
 httpsampler.ignore_failed_embedded_resources=true

Response code:Non HTTP response code: javax.net.ssl.SSLHandshakeException Non HTTP response message: Received fatal alert: protocol_version

copy iconCopydownload iconDownload
openssl s_client -connect your-host:your-port

JMeter maven plugin - Customize reportgenerator.properties

copy iconCopydownload iconDownload
<jmeter.reportgenerator.report_title>Shantonu Example</jmeter.reportgenerator.report_title>
-----------------------
<configuration>
    <propertiesUser>
        <jmeter.reportgenerator.report_title>your-custom-title</jmeter.reportgenerator.report_title>
    </propertiesUser>
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>jmeter-maven</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>3.4.0</version>
                <executions>
                    <!-- Generate JMeter configuration -->
                    <execution>
                        <id>configuration</id>
                        <goals>
                            <goal>configure</goal>
                        </goals>
                    </execution>
                    <!-- Run JMeter tests -->
                    <execution>
                        <id>jmeter-tests</id>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                    <!-- Fail build on errors in test -->
                    <execution>
                        <id>jmeter-check-results</id>
                        <goals>
                            <goal>results</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <propertiesUser>
                        <jmeter.reportgenerator.report_title>your-custom-title</jmeter.reportgenerator.report_title>
                    </propertiesUser>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
-----------------------
<configuration>
    <propertiesUser>
        <jmeter.reportgenerator.report_title>your-custom-title</jmeter.reportgenerator.report_title>
    </propertiesUser>
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>jmeter-maven</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>3.4.0</version>
                <executions>
                    <!-- Generate JMeter configuration -->
                    <execution>
                        <id>configuration</id>
                        <goals>
                            <goal>configure</goal>
                        </goals>
                    </execution>
                    <!-- Run JMeter tests -->
                    <execution>
                        <id>jmeter-tests</id>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                    <!-- Fail build on errors in test -->
                    <execution>
                        <id>jmeter-check-results</id>
                        <goals>
                            <goal>results</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <propertiesUser>
                        <jmeter.reportgenerator.report_title>your-custom-title</jmeter.reportgenerator.report_title>
                    </propertiesUser>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

How to concatenate string and integer values in jmeter

copy iconCopydownload iconDownload
for(int i in 1..100){    
    def cloudItemId="cloudItemId" <<i;
    log.info(cloudItemId.toString());
    def deviceItemId="deviceItemId"<<i;
    log.info(cloudItemId.toString());
}
for(int i in 1..100){
    def cloudItemId="cloudItemId" + String.valueOf(i);
    log.info(cloudItemId);
    def deviceItemId="deviceItemId"+ String.valueOf(i)
    log.info(cloudItemId);
}
-----------------------
for(int i in 1..100){    
    def cloudItemId="cloudItemId" <<i;
    log.info(cloudItemId.toString());
    def deviceItemId="deviceItemId"<<i;
    log.info(cloudItemId.toString());
}
for(int i in 1..100){
    def cloudItemId="cloudItemId" + String.valueOf(i);
    log.info(cloudItemId);
    def deviceItemId="deviceItemId"+ String.valueOf(i)
    log.info(cloudItemId);
}
-----------------------
1.upto(100, { i ->
    def cloudItemId = "cloudItemId$i"
    def deviceItemId = "deviceItemId$i"
    log.info('cloudItemId: ' + cloudItemId)
})

HTTP Raw request default is throwing Response message:java.net.SocketTimeoutException: Timeout exceeded while reading from socket

copy iconCopydownload iconDownload
GET / HTTP/1.1
Host: echo.websocket.org
Connection: close

Issue with Jmeter Beanshellcode for file writing

copy iconCopydownload iconDownload
if (prev.isSuccessful()){

}
-----------------------
if (${JMeterThread.last_sample_ok} == true)
if (vars.get("JMeterThread.last_sample_ok").equals("true"))
-----------------------
if (${JMeterThread.last_sample_ok} == true)
if (vars.get("JMeterThread.last_sample_ok").equals("true"))

Using JMeter plugins with justb4/jmeter Docker image results in error

copy iconCopydownload iconDownload
ENV JMETER_HOME /opt/apache-jmeter-${JMETER_VERSION}
if [ -d /plugins ]
then
    for plugin in /plugins/*.jar; do
        cp $plugin $(pwd)/lib/ext
    done;
fi
RUN wget https://jmeter-plugins.org/get/ -O /opt/apache-jmeter-${JMETER_VERSION}/lib/ext/jmeter-plugins-manager.jar
RUN wget https://repo1.maven.org/maven2/kg/apc/cmdrunner/2.2/cmdrunner-2.2.jar -P /opt/apache-jmeter-${JMETER_VERSION}/lib/
RUN java -cp /opt/apache-jmeter-${JMETER_VERSION}/lib/ext/jmeter-plugins-manager.jar org.jmeterplugins.repository.PluginManagerCMDInstaller
RUN /opt/apache-jmeter-${JMETER_VERSION}/bin/./PluginsManagerCMD.sh install bzm-parallel
-----------------------
ENV JMETER_HOME /opt/apache-jmeter-${JMETER_VERSION}
if [ -d /plugins ]
then
    for plugin in /plugins/*.jar; do
        cp $plugin $(pwd)/lib/ext
    done;
fi
RUN wget https://jmeter-plugins.org/get/ -O /opt/apache-jmeter-${JMETER_VERSION}/lib/ext/jmeter-plugins-manager.jar
RUN wget https://repo1.maven.org/maven2/kg/apc/cmdrunner/2.2/cmdrunner-2.2.jar -P /opt/apache-jmeter-${JMETER_VERSION}/lib/
RUN java -cp /opt/apache-jmeter-${JMETER_VERSION}/lib/ext/jmeter-plugins-manager.jar org.jmeterplugins.repository.PluginManagerCMDInstaller
RUN /opt/apache-jmeter-${JMETER_VERSION}/bin/./PluginsManagerCMD.sh install bzm-parallel
-----------------------
ENV JMETER_HOME /opt/apache-jmeter-${JMETER_VERSION}
if [ -d /plugins ]
then
    for plugin in /plugins/*.jar; do
        cp $plugin $(pwd)/lib/ext
    done;
fi
RUN wget https://jmeter-plugins.org/get/ -O /opt/apache-jmeter-${JMETER_VERSION}/lib/ext/jmeter-plugins-manager.jar
RUN wget https://repo1.maven.org/maven2/kg/apc/cmdrunner/2.2/cmdrunner-2.2.jar -P /opt/apache-jmeter-${JMETER_VERSION}/lib/
RUN java -cp /opt/apache-jmeter-${JMETER_VERSION}/lib/ext/jmeter-plugins-manager.jar org.jmeterplugins.repository.PluginManagerCMDInstaller
RUN /opt/apache-jmeter-${JMETER_VERSION}/bin/./PluginsManagerCMD.sh install bzm-parallel

Creating an object from string and using as monitor in synchronized block

copy iconCopydownload iconDownload
String annotationString = // ...;
synchronized (annotationString.intern())

Jmeter 2.11 : Getting Peer Not Authenticated

copy iconCopydownload iconDownload
javax.net.debug=ssl

Community Discussions

Trending Discussions on jmeter
  • Jmeter - bzm Streaming Sampler Content Protection
  • JMeter: How to assign weights/frequencies/smapleRates to ThreadGroups/&quot;TestSets&quot; dynamically from CSV file
  • Error while generating report in apache-jmeter-5.4.1.tgz
  • Capture simulated React aplication for Stress Test with JMeter
  • Jmeter Favicon how to exclude?
  • Response code:Non HTTP response code: javax.net.ssl.SSLHandshakeException Non HTTP response message: Received fatal alert: protocol_version
  • JMeter maven plugin - Customize reportgenerator.properties
  • Performance testing for Svelte applications
  • How to concatenate string and integer values in jmeter
  • Why does a variable of type com.ibm.jms.JMSTextMessage print truncated content and ellipses (...)?
Trending Discussions on jmeter

QUESTION

Jmeter - bzm Streaming Sampler Content Protection

Asked 2022-Mar-14 at 22:21

We use Jmeter with the BZM - Streaming Sampler to load test a streaming service. With this we are requesting a dash main.mpd file. That url would look like: https://url.com/5bf9c52c17e072d89e6527d45587d03826512bfa3b53a30bb90ecd7ed1bb7a77/dash/Main.mpd

Within the schema we have defined ContentProtection with value="cenc" as such:

<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="string" value="cenc"></ContentProtection>

This schema is being auto-generated via a third party code source... So, we do not have much flexibility to change the order... I mention this because with the below schema (from a previous version of the xml generator) Jmeter works perfectly fine:

<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="string"/>

The issue we are now facing is that jmeter is throwing this error:

2022-03-14 07:15:40,574 WARN c.b.j.v.c.VideoStreamingSampler: Problem downloading playlist
com.blazemeter.jmeter.videostreaming.core.exception.PlaylistParsingException: Error parsing contents from https://url/5bf9c52c17e072d89e6527d45587d03826512bfa3b53a30bb90ecd7ed1bb7a77/dash/Main.mpd
at com.blazemeter.jmeter.videostreaming.dash.Manifest.fromUriAndBody(Manifest.java:56) ~[jmeter-bzm-hls-3.0.3.jar:?]
at com.blazemeter.jmeter.videostreaming.core.VideoStreamingSampler.downloadPlaylist(VideoStreamingSampler.java:20) ~[jmeter-bzm-hls-3.0.3.jar:?]
at com.blazemeter.jmeter.videostreaming.dash.DashSampler.sample(DashSampler.java:34) ~[jmeter-bzm-hls-3.0.3.jar:?]
at com.blazemeter.jmeter.videostreaming.core.VideoStreamingSampler.sample(VideoStreamingSampler.java:79) [jmeter-bzm-hls-3.0.3.jar:?]
at com.blazemeter.jmeter.hls.logic.HlsSampler.sample(HlsSampler.java:198) [jmeter-bzm-hls-3.0.3.jar:?]
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1285) [ApacheJMeter_http.jar:5.4.1]
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:638) [ApacheJMeter_core.jar:5.4.1]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558) [ApacheJMeter_core.jar:5.4.1]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489) [ApacheJMeter_core.jar:5.4.1]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) [ApacheJMeter_core.jar:5.4.1]
at java.lang.Thread.run(Thread.java:832) [?:?]
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Undeclared namespace prefix "cenc" (for attribute "default_KID")
 at [row,col {unknown-source}]: [5,141]

My question is, can I alter this payload before it is ingested by Streaming Sampler to change the ContentProtection string? Or, can I automatically set the ContentProtection value as "cenc"?

EDIT

After digging through my main.mpd XML I found that the "cenc" namespace was left out. After adding:

xmlns:cenc="urn:mpeg:cenc:2013"

To the file, the main.mpd worked correctly.

ANSWER

Answered 2022-Mar-14 at 18:51

It is possible to:

  1. Download the playlist using HTTP Request sampler and Save Responses to a file listener so it would be saved to your local drive. See Performance Testing: Upload and Download Scenarios with Apache JMeter article for more comprehensive instructions if needed

  2. Amend the playlist as needed using JSR223 Sampler or OS Process Sampler

  3. In the bzm - Streaming Sampler use local URL via file URI scheme i.e.

file:///folder/anotherFolder/playlist.mpd 

You can also raise an issue in the plugin repo or if you're a BlazeMeter Customer open a BlazeMeter support ticket

Source https://stackoverflow.com/questions/71472249

Community Discussions, Code Snippets contain sources that include Stack Exchange Network

Vulnerabilities

CVE-2019-0187 CRITICAL
Unauthenticated RCE is possible when JMeter is used in distributed mode (-r or -R command line options). Attacker can establish a RMI connection to a jmeter-server using RemoteJMeterEngine and proceed with an attack using untrusted data deserialization. This only affect tests running in Distributed mode. Note that versions before 4.0 are not able to encrypt traffic between the nodes, nor authenticate the participating nodes so upgrade to JMeter 5.1 is also advised.
CVE-2018-1287 CRITICAL
In Apache JMeter 2.X and 3.X, when using Distributed Test only (RMI based), jmeter server binds RMI Registry to wildcard host. This could allow an attacker to get Access to JMeterEngine and send unauthorized code.
CVE-2018-1297 CRITICAL
When using Distributed Test only (RMI based), Apache JMeter 2.x and 3.x uses an unsecured RMI connection. This could allow an attacker to get Access to JMeterEngine and send unauthorized code.

Install jmeter

Note that spaces in directory names can cause problems.
Release builds Unpack the binary archive into a suitable directory structure.

Support

The documentation available as of the date of this release is also included, in HTML format, in the printable_docs directory, and it may be browsed starting from the file called index.html.

DOWNLOAD this Library from

Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

Explore Related Topics

Share this Page

share link
Consider Popular Performance Testing Libraries
Compare Performance Testing Libraries with Highest Support
Compare Performance Testing Libraries with Highest Quality
Compare Performance Testing Libraries with Highest Security
Compare Performance Testing Libraries with Permissive License
Compare Performance Testing Libraries with Highest Reuse
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

  • © 2022 Open Weaver Inc.