ruby-jmeter 2.13.10 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.ruby-version +1 -1
- data/.travis.yml +1 -1
- data/Gemfile +2 -2
- data/LICENSE.txt +2 -2
- data/README.md +4 -5
- data/Rakefile +3 -3
- data/examples/{basic_os_process_sampler.rb → OS_process_sampler.rb} +1 -1
- data/examples/{basic_assertion_results.rb → assertion_results.rb} +1 -3
- data/examples/basic_auth.rb +1 -1
- data/examples/{basic_browser_headers.rb → browser_headers.rb} +1 -1
- data/examples/{basic_composite_graph.rb → composite_graph.rb} +1 -1
- data/examples/{basic_gc_dummy_sampler.rb → dummy_sampler.rb} +1 -3
- data/examples/{basic_duration_assertion.rb → duration_assertion.rb} +1 -1
- data/examples/etsy_login_browse.rb +1 -4
- data/examples/{basic_extract.rb → extract.rb} +1 -1
- data/examples/{basic_foreach.rb → foreach_controller.rb} +1 -4
- data/examples/{basic_header.rb → header_manager.rb} +2 -3
- data/examples/{basic_cache.rb → http_cache_manager.rb} +1 -1
- data/examples/{basic_cookies.rb → http_cookie_manager.rb} +1 -1
- data/examples/{basic_http_request_defaults.rb → http_request_defaults.rb} +3 -2
- data/examples/{basic_post.rb → http_request_post.rb} +1 -5
- data/examples/{basic_http_request_with_files.rb → http_request_with_files.rb} +1 -1
- data/examples/{basic_query_params.rb → http_request_with_query_params.rb} +1 -1
- data/examples/{basic_gc_results.rb → jmeter_plugins_graphs.rb} +1 -2
- data/examples/{basic_json_path_assertion.rb → json_path_assertions.rb} +1 -1
- data/examples/{basic_json_path_extractor.rb → json_path_extractor.rb} +1 -3
- data/examples/{basic_ldap_ext.rb → ldap_sampler.rb} +1 -1
- data/examples/{basic_loadosophia.rb → loadosophia.rb} +1 -1
- data/examples/{basic_loops.rb → loop_controller.rb} +2 -2
- data/examples/{basic_counter.rb → loops_with_counter.rb} +2 -2
- data/examples/{basic_perfmon.rb → perfmon.rb} +1 -1
- data/examples/real_page_objects.rb +1 -1
- data/examples/real_user_objects_github.rb +1 -1
- data/examples/regular_expression_extractor.rb +11 -0
- data/examples/{basic_assertion.rb → response_assertion.rb} +2 -1
- data/examples/{basic_response_time_percentiles_graph.rb → response_time_percentiles_graph.rb} +1 -2
- data/examples/{basic_simple_data_writer.rb → simple_data_writer_listener.rb} +1 -1
- data/examples/{basic_stepping_thread_group.rb → stepping_thread_group.rb} +1 -3
- data/examples/{basic_test_fragment.rb → test_fragment.rb} +1 -1
- data/examples/{basic_think_time.rb → think_time.rb} +2 -2
- data/examples/{basic_thread_groups.rb → thread_groups.rb} +1 -1
- data/examples/{basic_throughput_controller.rb → throughput_controller.rb} +1 -1
- data/examples/{basic_throughput_shaping_timer.rb → throughput_shaping_timer.rb} +1 -2
- data/examples/{basic_ultimate_thread_group.rb → ultimate_thread_group.rb} +1 -2
- data/examples/{basic_user_defined_variables.rb → user_defined_variables.rb} +1 -1
- data/examples/{basic_preprocessor_user_parameters.rb → user_parameters.rb} +7 -7
- data/lib/ruby-jmeter.rb +13 -8
- data/lib/ruby-jmeter/DSL.md +3 -1
- data/lib/ruby-jmeter/dsl.rb +11 -615
- data/lib/ruby-jmeter/dsl/foreach_controller.rb +0 -2
- data/lib/ruby-jmeter/dsl/html_parameter_mask.rb +3 -3
- data/lib/ruby-jmeter/dsl/http_request.rb +0 -2
- data/lib/ruby-jmeter/dsl/http_request_defaults.rb +0 -1
- data/lib/ruby-jmeter/dsl/jms_publisher.rb +2 -0
- data/lib/ruby-jmeter/dsl/regular_expression_extractor.rb +1 -3
- data/lib/ruby-jmeter/dsl/response_assertion.rb +0 -1
- data/lib/ruby-jmeter/dsl/test_fragment.rb +1 -1
- data/lib/ruby-jmeter/dsl/user_parameters.rb +3 -1
- data/lib/ruby-jmeter/extend/assertions/response_assertion.rb +36 -0
- data/lib/ruby-jmeter/extend/config_elements/header_manager.rb +13 -0
- data/lib/ruby-jmeter/extend/config_elements/http_cache_manager.rb +11 -0
- data/lib/ruby-jmeter/extend/config_elements/http_cookie_manager.rb +11 -0
- data/lib/ruby-jmeter/extend/config_elements/http_request_defaults.rb +28 -0
- data/lib/ruby-jmeter/extend/config_elements/user_defined_variables.rb +13 -0
- data/lib/ruby-jmeter/extend/config_elements/user_parameters.rb +31 -0
- data/lib/ruby-jmeter/extend/controllers/foreach_controller.rb +25 -0
- data/lib/ruby-jmeter/extend/controllers/loop_controller.rb +11 -0
- data/lib/ruby-jmeter/extend/controllers/module_controller.rb +23 -0
- data/lib/ruby-jmeter/extend/controllers/throughput_controller.rb +15 -0
- data/lib/ruby-jmeter/extend/controllers/transaction_controller.rb +14 -0
- data/lib/ruby-jmeter/extend/misc/aliases.rb +21 -0
- data/lib/ruby-jmeter/extend/misc/exists.rb +13 -0
- data/lib/ruby-jmeter/extend/misc/flood.rb +48 -0
- data/lib/ruby-jmeter/extend/misc/with_helpers.rb +27 -0
- data/lib/ruby-jmeter/extend/plugins/jmeter_plugins.rb +115 -0
- data/lib/ruby-jmeter/extend/processors/extract.rb +28 -0
- data/lib/ruby-jmeter/extend/processors/regular_expression_extractor.rb +25 -0
- data/lib/ruby-jmeter/extend/samplers/http_request.rb +47 -0
- data/lib/ruby-jmeter/extend/samplers/soapxmlrpc_request.rb +9 -0
- data/lib/ruby-jmeter/extend/threads/setup_thread_group.rb +18 -0
- data/lib/ruby-jmeter/extend/threads/thread_group.rb +19 -0
- data/lib/ruby-jmeter/extend/timers/constant_throughput_timer.rb +12 -0
- data/lib/ruby-jmeter/extend/timers/random_timer.rb +14 -0
- data/lib/ruby-jmeter/helpers/helper.rb +1 -2
- data/lib/ruby-jmeter/idl.xml +6 -4
- data/lib/ruby-jmeter/version.rb +1 -1
- data/ruby-jmeter.gemspec +7 -7
- data/spec/constant_throughput_timer_spec.rb +22 -0
- data/spec/header_manager_spec.rb +37 -0
- data/spec/http_cache_manager_spec.rb +17 -0
- data/spec/http_cookie_manager_spec.rb +17 -0
- data/spec/http_request_defaults_spec.rb +47 -0
- data/spec/http_request_spec.rb +305 -0
- data/spec/jmeter_plugins_spec.rb +155 -0
- data/spec/json_extractor_spec.rb +19 -0
- data/spec/json_path_assertion_spec.rb +28 -0
- data/spec/logic_controller_spec.rb +148 -0
- data/spec/loop_controller_spec.rb +19 -0
- data/spec/module_controller_spec.rb +56 -0
- data/spec/regular_expression_extractor_spec.rb +63 -0
- data/spec/response_assertion_spec.rb +69 -0
- data/spec/setup_thread_group_spec.rb +31 -0
- data/spec/thread_group_spec.rb +57 -0
- data/spec/throughput_controller_spec.rb +24 -0
- data/spec/transaction_controller_spec.rb +30 -0
- data/spec/user_defined_variables_spec.rb +22 -0
- data/spec/user_parameters_spec.rb +45 -0
- data/spec/with_helpers_spec.rb +57 -0
- data/spec/xpath_extractor_spec.rb +15 -0
- metadata +87 -59
- data/examples/basic_flood.rb +0 -12
- data/examples/basic_flood_real.rb +0 -7
- data/examples/basic_flood_with_csv.rb +0 -16
- data/examples/basic_google.rb +0 -8
- data/examples/basic_har.json +0 -4252
- data/examples/basic_har.rb +0 -34
- data/examples/basic_meta_fu.rb +0 -63
- data/examples/basic_response_assertion.rb +0 -13
- data/examples/basic_run.rb +0 -12
- data/examples/basic_testdata.rb +0 -60
- data/examples/demo.csv +0 -3
- data/examples/real_flood_test.rb +0 -14
- data/examples/real_flood_test_data.rb +0 -15
- data/examples/real_immi.gov.au_visa.rb +0 -78
- data/lib/ruby-jmeter/helpers/jmeter.properties +0 -28
- data/spec/dsl_spec.rb +0 -1157
- data/spec/stub.rb +0 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c74a1b79ce925ae4f7421e7b66178cd905806d40
|
4
|
+
data.tar.gz: 72326c3b7f61cba3734a4d1d0a81476d1c9e29bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d917316e79440554e0bb9ecfa68c448a41e88bde5352b5aa6593bca193c08ccf2f861fb80e5348087c3481dcfc6b7134636a8229473f6a9d8bc925e2286f96c8
|
7
|
+
data.tar.gz: e252f9f2b3f077d9b87cffbe9658add5fab4201ab448b63f9be3ee4e0320f3c94f6221912dc9aa56be752e13f97dbb35985b9b2a1dce070ba886381748a70cd7
|
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.3.1
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
source '
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in ruby-jmeter.gemspec
|
4
4
|
gemspec
|
@@ -12,7 +12,7 @@ platforms :jruby do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
group :development do
|
15
|
-
gem '
|
15
|
+
gem 'byebug'
|
16
16
|
end
|
17
17
|
|
18
18
|
group :test do
|
data/LICENSE.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c)
|
1
|
+
Copyright (c) 2016 Flood IO
|
2
2
|
|
3
3
|
MIT License
|
4
4
|
|
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
19
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
20
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
21
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -23,7 +23,6 @@ Install it yourself as:
|
|
23
23
|
To use the DSL, first let's require the gem:
|
24
24
|
|
25
25
|
```ruby
|
26
|
-
require 'rubygems'
|
27
26
|
require 'ruby-jmeter'
|
28
27
|
```
|
29
28
|
|
@@ -413,7 +412,7 @@ You **should never manually update** code in `lib/ruby-jmeter/dsl` as this is au
|
|
413
412
|
|
414
413
|
### DSL
|
415
414
|
|
416
|
-
Much of the behaviour of the gem is defined in `lib/ruby-jmeter/dsl.rb` which is where you should be updating code.
|
415
|
+
Much of the behaviour of the gem is defined in `lib/ruby-jmeter/dsl.rb` which is where you should be updating code. You can extend individual DSL component behaviour in `live/ruby-jmeter/extend/**/*.rb`
|
417
416
|
|
418
417
|
### Plugins
|
419
418
|
|
@@ -434,7 +433,7 @@ Then you can run any rake / test tasks with the prefix `bundle exec`
|
|
434
433
|
|
435
434
|
### Tests
|
436
435
|
|
437
|
-
If contributing please add an appropriate test. See `spec
|
436
|
+
If contributing please add an appropriate test. See `spec/*_spec.rb` for examples. Tests can be run from the command line as follows:
|
438
437
|
|
439
438
|
$ bundle exec rspec
|
440
439
|
|
@@ -449,10 +448,10 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
449
448
|
$ flood/ruby-jmeter - [master●] » ruby examples/basic_assertion.rb
|
450
449
|
W, [2015-10-17T19:31:12.021004 #33216] WARN -- : Test executing locally ...
|
451
450
|
|
452
|
-
Note: most of the examples assume the JMeter binary is installed in `/usr/share/jmeter
|
451
|
+
Note: most of the examples assume the JMeter binary is installed in `/usr/share/jmeter/bin/` however you can modify this in your example to something that suits your installation e.g.:
|
453
452
|
|
454
453
|
|
455
454
|
```ruby
|
456
455
|
...
|
457
|
-
end.run(path: 'C/Program Files/JMeter
|
456
|
+
end.run(path: 'C/Program Files/JMeter/bin/', gui: true)
|
458
457
|
```
|
data/Rakefile
CHANGED
data/examples/basic_auth.rb
CHANGED
@@ -5,6 +5,4 @@ test do
|
|
5
5
|
threads count: 1 do
|
6
6
|
dummy_sampler '__grid_data_api', {response_data: "ACIR0001, ACIR0002, ACIR0003, ACIR0004, ACIR0005, ACIR0006, ABS0003, MBS0001, MBS0004, MBS0005, ABS0004, ABS0005, ABS0010, ABS0011, ABS0012, ABS0013, ABS0014, ABS0016, ABS0017, ABS0018, ABS0021, ABS0022, MBS0006, MBS0009, MBS0010"}
|
7
7
|
end
|
8
|
-
|
9
|
-
|
10
|
-
end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
|
8
|
+
end.run(path: '/usr/share/jmeter/bin/', gui: true)
|
@@ -19,12 +19,11 @@ test do
|
|
19
19
|
with_xhr
|
20
20
|
end
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
post name: 'with_headers', ur: '/',
|
24
24
|
fill_in: {
|
25
25
|
js: true
|
26
26
|
} do
|
27
27
|
header [{ name: 'Cache-Control', value: 'no-cache'}]
|
28
28
|
end
|
29
|
-
|
30
|
-
end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
|
29
|
+
end.run(path: '/usr/share/jmeter/bin/', gui: true)
|
@@ -6,5 +6,6 @@ test do
|
|
6
6
|
protocol: 'https',
|
7
7
|
download_resources: true,
|
8
8
|
use_concurrent_pool: 5,
|
9
|
-
urls_must_match: 'http.+?example.com'
|
10
|
-
|
9
|
+
urls_must_match: 'http.+?example.com',
|
10
|
+
md5: true
|
11
|
+
end.run(path: '/usr/share/jmeter/bin/', gui: true)
|
@@ -2,14 +2,10 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
2
2
|
require 'ruby-jmeter'
|
3
3
|
|
4
4
|
test do
|
5
|
-
|
6
5
|
threads count: 1 do
|
7
|
-
|
8
6
|
transaction name: 'Post with a Raw Body', parent: false do
|
9
7
|
post name: 'Home Page', url: 'http://google.com',
|
10
8
|
raw_body: '{"name":"Big Poncho","price":10,"vendor_attendance_id":24,"product_id":1}'
|
11
9
|
end
|
12
|
-
|
13
10
|
end
|
14
|
-
|
15
|
-
end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
|
11
|
+
end.run(path: '/usr/share/jmeter/bin/', gui: true)
|
@@ -19,5 +19,4 @@ test do
|
|
19
19
|
response_times_over_time 'Response Times Over Time'
|
20
20
|
response_times_percentiles 'Response Times Percentiles'
|
21
21
|
transactions_per_second 'Transactions per Second'
|
22
|
-
|
23
|
-
end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
|
22
|
+
end.run(path: '/usr/share/jmeter/bin/', gui: true)
|
@@ -3,8 +3,8 @@ require 'ruby-jmeter'
|
|
3
3
|
|
4
4
|
test do
|
5
5
|
threads count: 1 do
|
6
|
-
|
6
|
+
loops count:10 do
|
7
7
|
visit name: 'Home Page', url: 'http://google.com/'
|
8
8
|
end
|
9
9
|
end
|
10
|
-
end.run(path: '/usr/share/jmeter
|
10
|
+
end.run(path: '/usr/share/jmeter/bin/', gui: true)
|
@@ -3,7 +3,7 @@ require 'ruby-jmeter'
|
|
3
3
|
|
4
4
|
test do
|
5
5
|
threads count: 1 do
|
6
|
-
|
6
|
+
loops count:10 do
|
7
7
|
counter 'CounterConfig.name' => 'visit',
|
8
8
|
'CounterConfig.start' => 1,
|
9
9
|
'CounterConfig.incr' => 1,
|
@@ -12,4 +12,4 @@ test do
|
|
12
12
|
visit name: 'Home Page', url: 'http://google.com/'
|
13
13
|
end
|
14
14
|
end
|
15
|
-
end.run(path: '/usr/share/jmeter
|
15
|
+
end.run(path: '/usr/share/jmeter/bin/', gui: true)
|
@@ -0,0 +1,11 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
require 'ruby-jmeter'
|
3
|
+
|
4
|
+
test do
|
5
|
+
threads count: 1 do
|
6
|
+
visit name: 'Home', url: 'https://flood.io' do
|
7
|
+
regex pattern: "content='(.+?)' name='csrf-token'", name: 'csrf-token', match_number: 1, default: '424242'
|
8
|
+
regex pattern: 'pattern', name: 'jmeter_variable_regex', variable: 'test'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end.run(path: '/usr/share/jmeter/bin/', gui: true)
|
@@ -7,7 +7,8 @@ test do
|
|
7
7
|
visit name: 'Altentee', url: 'http://altentee.com/' do
|
8
8
|
assert contains: 'We test, tune and secure your site'
|
9
9
|
assert 'not-contains' => 'Something in frames', scope: 'children'
|
10
|
+
assert 'substring' => 'Something in frames', variable: 'test'
|
10
11
|
end
|
11
12
|
end
|
12
13
|
end
|
13
|
-
end.run(path: '/usr/share/jmeter
|
14
|
+
end.run(path: '/usr/share/jmeter/bin/', gui: true)
|
data/examples/{basic_response_time_percentiles_graph.rb → response_time_percentiles_graph.rb}
RENAMED
@@ -3,10 +3,9 @@ require 'ruby-jmeter'
|
|
3
3
|
|
4
4
|
test do
|
5
5
|
threads count: 100 do
|
6
|
-
|
7
6
|
response_times_percentiles 'Response Times Percentiles', filename: '/path/to/output', update_at_xpath: [
|
8
7
|
{ '//value/xml' => 'false' }
|
9
8
|
]
|
10
9
|
|
11
10
|
end
|
12
|
-
end.run(path: '/usr/share/jmeter
|
11
|
+
end.run(path: '/usr/share/jmeter/bin/', gui: true)
|
@@ -4,7 +4,7 @@ require 'ruby-jmeter'
|
|
4
4
|
test do
|
5
5
|
threads count: 100 do
|
6
6
|
|
7
|
-
think_time 5000,5000
|
7
|
+
think_time 5000, 5000
|
8
8
|
|
9
9
|
transaction name: 'Google Search' do
|
10
10
|
visit name: 'Home Page', url: 'http://google.com/'
|
@@ -12,4 +12,4 @@ test do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
end
|
15
|
-
end.run(path: '/usr/share/jmeter
|
15
|
+
end.run(path: '/usr/share/jmeter/bin/', gui: true)
|