diff --git a/README.md b/README.md index c6292fb78e3..cce7bfa8d86 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,36 @@
+## Features
-Apache JMeter features include:
+Complete portability and 100% Java.
-Ability to load and performance test many different applications/server/protocol types:
+Multi-threading allows concurrent sampling by many threads and
+simultaneous sampling of different functions by separate thread groups.
+
+### Protocols
+
+Ability to load and performance test many applications/server/protocol types:
- Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET,...)
- SOAP / REST Webservices
@@ -32,40 +43,48 @@ Ability to load and performance test many different applications/server/protocol
- TCP
- Java Objects
-Full featured Test IDE that allows fast Test Plan **recording (from Browsers or native applications), building and debugging.**
+### IDE
-[**Command-line mode (Non GUI / headless mode)**](http://jmeter.apache.org/usermanual/get-started.html#non_gui) to load test from any Java compatible OS (Linux, Windows, Mac OSX, ...)
+Fully featured Test IDE that allows fast Test Plan **recording**
+ (from Browsers or native applications), **building** and **debugging**.
-A complete and [**ready to present dynamic HTML report**](http://jmeter.apache.org/usermanual/generating-dashboard.html)
+### Command Line
-
+[Command-line mode (Non GUI / headless mode)](https://jmeter.apache.org/usermanual/get-started.html#non_gui)
+to load test from any Java compatible OS (Linux, Windows, Mac OSX, ...)
-[**Live reporting**](http://jmeter.apache.org/usermanual/realtime-results.html) into 3rd party databases like InfluxDB or Graphite
+### Reporting
-
+A complete and ready to present [dynamic HTML report](https://jmeter.apache.org/usermanual/generating-dashboard.html)
-Easy correlation through ability to extract data from most popular response formats, [**HTML**](http://jmeter.apache.org/usermanual/component_reference.html#CSS/JQuery_Extractor), [**JSON**](http://jmeter.apache.org/usermanual/component_reference.html#JSON_Extractor), [**XML**](http://jmeter.apache.org/usermanual/component_reference.html#XPath_Extractor) or [**any textual format**](http://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor)
+
+
+[Live reporting](https://jmeter.apache.org/usermanual/realtime-results.html)
+into 3rd party databases like InfluxDB or Graphite
-Complete portability and 100% Java purity
+
-Full multi-threading framework allows concurrent sampling by many threads
-and simultaneous sampling of different functions by separate thread groups.
+### Correlation
-Caching and offline analysis/replaying of test results.
+Easy correlation through ability to extract data from most popular response formats,
+[HTML](https://jmeter.apache.org/usermanual/component_reference.html#CSS/JQuery_Extractor),
+[JSON](https://jmeter.apache.org/usermanual/component_reference.html#JSON_Extractor),
+[XML](https://jmeter.apache.org/usermanual/component_reference.html#XPath_Extractor) or
+[any textual format](https://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor)
-Highly Extensible core:
+### Highly Extensible Core
- Pluggable Samplers allow unlimited testing capabilities.
-- **Scriptable Samplers** (JSR223-compatible languages like Groovy)
-- Several load statistics may be chosen with **pluggable tiers**.
-- Data analysis and **visualization plugins** allow great exensibility and personalization.
-- Functions can be used to provide dynamic input to a test orprovide data manipulation.
-- Easy Continuous Integration through 3rd party Open Source libraries for Maven, Gradle and Jenkins
+- **Scriptable Samplers** (JSR223-compatible languages like Groovy).
+- Several load statistics can be chosen with **pluggable tiers**.
+- Data analysis and **visualization plugins** allow great extensibility and personalization.
+- Functions can be used to provide dynamic input to a test or provide data manipulation.
+- Easy Continuous Integration via 3rd party Open Source libraries for Maven, Gradle and Jenkins.
## The Latest Version
-Details of the latest version can be found on the [JMeter Apache
-Project web site](https://jmeter.apache.org/)
+Details of the latest version can be found on the
+[JMeter Apache Project web site](https://jmeter.apache.org/)
## Requirements
@@ -83,7 +102,7 @@ The following requirements exist for running Apache JMeter:
If required, these should be downloaded and placed in the lib directory
- JDBC - available from the database supplier
- JMS - available from the JMS provider
- - [Bouncy Castle](http://www.bouncycastle.org/test_releases.html) -
+ - [Bouncy Castle](https://www.bouncycastle.org/) -
only needed for SMIME Assertion
- Java Compiler (*OPTIONAL*):
@@ -122,7 +141,7 @@ and it may be browsed starting from the file called [index.html](printable_docs/
## Reporting a bug/enhancement
-See [Issue Tracking](https://jmeter.apache.org/issues.html)
+See [Issue Tracking](https://jmeter.apache.org/issues.html).
## Build instructions
@@ -140,7 +159,8 @@ but won't be used at run-time.
_This is useful for testing what happens if the optional jars are not
downloaded by other JMeter users._
-If you are behind a proxy, you can set a few build properties in `~/.gradle/gradle.properties` for gradle to use the proxy:
+If you are behind a proxy, you can set a few build properties in
+`~/.gradle/gradle.properties` for gradle to use the proxy:
```properties
systemProp.http.proxyHost=proxy.example.invalid
@@ -157,49 +177,52 @@ systemProp.https.proxyPassword=your_password
JMeter is built using Gradle.
-The following command would build and test JMeter:
+The following command builds and tests JMeter:
```sh
-./gradlew build [-Djava.awt.headless=true]
+./gradlew build
```
-The optional property definition is required if the system
-does not have a suitable GUI display.
+If the system does not have a GUI display then:
-The output artifacts (jars, reports) are placed to `build` folders.
+```sh
+./gradlew build -Djava.awt.headless=true
+```
+
+The output artifacts (jars, reports) are placed in the `build` folder.
For instance, binary artifacts can be found under `src/dist/build/distributions`.
-The following command would compile the application and enable you to run `jmeter` from the `bin`
-directory. Note: it completely refreshes `lib/` contents, so it would remove clustom plugins
-should you have them installed.
+The following command would compile the application and enable you to run `jmeter`
+from the `bin` directory. Note: it completely refreshes `lib/` contents,
+so it would remove clustom plugins should you have them installed.
```sh
./gradlew createDist
```
-Alternatively you could start GUI via
+Alternatively you could get Gradle to start the GUI:
```sh
./gradlew runGui
```
-## Developer information
+## Developer Information
-Building and contributing is explained in details at [building JMeter](https://jmeter.apache.org/building.html)
+Building and contributing is explained in details at
+[building JMeter](https://jmeter.apache.org/building.html)
and [CONTRIBUTING.md](CONTRIBUTING.md). More information on the tasks available for
building JMeter with Gradle is available in [gradle.md](gradle.md).
-The code is maintained at GitHub:
+The code can be obtained from:
--