ruby-jmeter 2.13.10 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'throughput controller' do
|
4
|
+
let(:doc) do
|
5
|
+
test do
|
6
|
+
threads do
|
7
|
+
throughput_controller percent: 99 do
|
8
|
+
transaction name: "TC_01", parent: true, include_timers: true
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end.to_doc
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:fragment) { doc.search("//ThroughputController").first }
|
15
|
+
|
16
|
+
it 'should match on maxThroughput' do
|
17
|
+
expect(fragment.search(".//intProp[@name='ThroughputController.maxThroughput']").text).to eq '99'
|
18
|
+
expect(fragment.search(".//FloatProperty/value").text).to eq '99.0'
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should match on style' do
|
22
|
+
expect(fragment.search(".//intProp[@name='ThroughputController.style']").text).to eq '1'
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'transaction controller' do
|
4
|
+
let(:doc) do
|
5
|
+
test do
|
6
|
+
threads do
|
7
|
+
transaction name: 'TC_01', parent: false, include_timers: true
|
8
|
+
transaction name: 'TC_02', parent: true, include_timers: false
|
9
|
+
end
|
10
|
+
end.to_doc
|
11
|
+
end
|
12
|
+
|
13
|
+
let(:fragment) { doc.search("//TransactionController") }
|
14
|
+
|
15
|
+
it 'should match on parent when false' do
|
16
|
+
expect(fragment.first.search(".//boolProp[@name='TransactionController.parent']").text).to eq 'false'
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should match on includeTimers when true' do
|
20
|
+
expect(fragment.first.search(".//boolProp[@name='TransactionController.includeTimers']").text).to eq 'true'
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should match on parent when true' do
|
24
|
+
expect(fragment.last.search(".//boolProp[@name='TransactionController.parent']").text).to eq 'true'
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should match on includeTimers when false' do
|
28
|
+
expect(fragment.last.search(".//boolProp[@name='TransactionController.includeTimers']").text).to eq 'false'
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'user_defined_variables' do
|
4
|
+
let(:doc) do
|
5
|
+
test do
|
6
|
+
variables [
|
7
|
+
{ name: 'email', value: 'support@flood.io' },
|
8
|
+
{ name: 'password', value: 'correcthorsebatterystaple' }
|
9
|
+
]
|
10
|
+
end.to_doc
|
11
|
+
end
|
12
|
+
|
13
|
+
let(:fragment) { doc.search('//Arguments').first }
|
14
|
+
let(:collectionProp) { fragment.search("//collectionProp[@name='Arguments.arguments']").first }
|
15
|
+
|
16
|
+
it 'should have collection properties' do
|
17
|
+
expect(collectionProp.search("//stringProp[@name='Argument.name']").first.text).to eq 'email'
|
18
|
+
expect(collectionProp.search("//stringProp[@name='Argument.value']").first.text).to eq 'support@flood.io'
|
19
|
+
expect(collectionProp.search("//stringProp[@name='Argument.name']").last.text).to eq 'password'
|
20
|
+
expect(collectionProp.search("//stringProp[@name='Argument.value']").last.text).to eq 'correcthorsebatterystaple'
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'user_parameters' do
|
4
|
+
let(:doc) do
|
5
|
+
test do
|
6
|
+
threads do
|
7
|
+
transaction name: 'user_parameters', parent: true, include_timers: true do
|
8
|
+
visit url: "/" do
|
9
|
+
user_parameters names: ['name1', 'name2'],
|
10
|
+
thread_values: {
|
11
|
+
user_1: [
|
12
|
+
'value1',
|
13
|
+
'value2'
|
14
|
+
],
|
15
|
+
|
16
|
+
user_2: [
|
17
|
+
'value1',
|
18
|
+
'value2'
|
19
|
+
]
|
20
|
+
},
|
21
|
+
per_iteration: true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end.to_doc
|
26
|
+
end
|
27
|
+
|
28
|
+
let(:fragment) { doc.search('//UserParameters').first }
|
29
|
+
let(:names) { doc.search("//collectionProp[@name='UserParameters.names']").first }
|
30
|
+
let(:thread_values) { doc.search("//collectionProp[@name='UserParameters.thread_values']").first }
|
31
|
+
|
32
|
+
it 'should match on names' do
|
33
|
+
expect(names.search(".//stringProp[@name='name1']").text).to eq 'name1'
|
34
|
+
expect(names.search(".//stringProp[@name='name2']").text).to eq 'name2'
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'should match on thread values' do
|
38
|
+
expect(thread_values.search(".//stringProp[@name='0']").first.text).to eq 'value1'
|
39
|
+
expect(thread_values.search(".//stringProp[@name='1']").first.text).to eq 'value2'
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'should match on per iteration' do
|
43
|
+
expect(fragment.search(".//boolProp[@name='UserParameters.per_iteration']").text).to eq 'true'
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'xhr' do
|
4
|
+
let(:doc) do
|
5
|
+
test do
|
6
|
+
threads do
|
7
|
+
transaction name: "TC_02", parent: true, include_timers: true do
|
8
|
+
visit url: "/" do
|
9
|
+
with_xhr
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end.to_doc
|
14
|
+
end
|
15
|
+
|
16
|
+
let(:fragment) { doc.search('//HeaderManager').first }
|
17
|
+
|
18
|
+
it 'should match on XHR' do
|
19
|
+
expect(fragment.search(".//stringProp[@name='Header.value']").text).to eq 'XMLHttpRequest'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe 'gzip' do
|
24
|
+
let(:doc) do
|
25
|
+
test do
|
26
|
+
threads do
|
27
|
+
transaction name: 'TC_02', parent: true, include_timers: true do
|
28
|
+
visit url: '/' do
|
29
|
+
with_gzip
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end.to_doc
|
34
|
+
end
|
35
|
+
|
36
|
+
let(:fragment) { doc.search('//HeaderManager').first }
|
37
|
+
|
38
|
+
it 'should match on Acept Encoding' do
|
39
|
+
expect(fragment.search(".//stringProp[@name='Header.value']").text).to eq 'gzip, deflate'
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe 'user agent' do
|
44
|
+
let(:doc) do
|
45
|
+
test do
|
46
|
+
with_user_agent :chrome
|
47
|
+
threads
|
48
|
+
end.to_doc
|
49
|
+
end
|
50
|
+
|
51
|
+
let(:fragment) { doc.search('//HeaderManager').first }
|
52
|
+
|
53
|
+
it 'should match on user_agent' do
|
54
|
+
expect(fragment.search(".//stringProp[@name='Header.name']").text).to eq 'User-Agent'
|
55
|
+
expect(fragment.search(".//stringProp[@name='Header.value']").text).to eq 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5'
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'xpath extract' do
|
4
|
+
let(:doc) do
|
5
|
+
test do
|
6
|
+
extract xpath: '//node', name: 'my_xpath'
|
7
|
+
end.to_doc
|
8
|
+
end
|
9
|
+
|
10
|
+
let(:fragment) { doc.search('//XPathExtractor').first }
|
11
|
+
|
12
|
+
it 'should match on refname' do
|
13
|
+
expect(fragment.search(".//stringProp[@name='XPathExtractor.refname']").text).to eq 'my_xpath'
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-jmeter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Koopmans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -57,60 +57,47 @@ files:
|
|
57
57
|
- README.md
|
58
58
|
- Rakefile
|
59
59
|
- bin/flood
|
60
|
-
- examples/
|
61
|
-
- examples/
|
60
|
+
- examples/OS_process_sampler.rb
|
61
|
+
- examples/assertion_results.rb
|
62
62
|
- examples/basic_auth.rb
|
63
|
-
- examples/
|
64
|
-
- examples/
|
65
|
-
- examples/
|
66
|
-
- examples/
|
67
|
-
- examples/basic_counter.rb
|
68
|
-
- examples/basic_duration_assertion.rb
|
69
|
-
- examples/basic_extract.rb
|
70
|
-
- examples/basic_flood.rb
|
71
|
-
- examples/basic_flood_real.rb
|
72
|
-
- examples/basic_flood_with_csv.rb
|
73
|
-
- examples/basic_foreach.rb
|
74
|
-
- examples/basic_gc_dummy_sampler.rb
|
75
|
-
- examples/basic_gc_results.rb
|
76
|
-
- examples/basic_google.rb
|
77
|
-
- examples/basic_har.json
|
78
|
-
- examples/basic_har.rb
|
79
|
-
- examples/basic_header.rb
|
80
|
-
- examples/basic_http_request_defaults.rb
|
81
|
-
- examples/basic_http_request_with_files.rb
|
82
|
-
- examples/basic_json_path_assertion.rb
|
83
|
-
- examples/basic_json_path_extractor.rb
|
84
|
-
- examples/basic_ldap_ext.rb
|
85
|
-
- examples/basic_loadosophia.rb
|
86
|
-
- examples/basic_loops.rb
|
87
|
-
- examples/basic_meta_fu.rb
|
88
|
-
- examples/basic_os_process_sampler.rb
|
89
|
-
- examples/basic_perfmon.rb
|
90
|
-
- examples/basic_post.rb
|
91
|
-
- examples/basic_preprocessor_user_parameters.rb
|
92
|
-
- examples/basic_query_params.rb
|
93
|
-
- examples/basic_response_assertion.rb
|
94
|
-
- examples/basic_response_time_percentiles_graph.rb
|
95
|
-
- examples/basic_run.rb
|
96
|
-
- examples/basic_simple_data_writer.rb
|
97
|
-
- examples/basic_stepping_thread_group.rb
|
98
|
-
- examples/basic_test_fragment.rb
|
99
|
-
- examples/basic_testdata.rb
|
100
|
-
- examples/basic_think_time.rb
|
101
|
-
- examples/basic_thread_groups.rb
|
102
|
-
- examples/basic_throughput_controller.rb
|
103
|
-
- examples/basic_throughput_shaping_timer.rb
|
104
|
-
- examples/basic_ultimate_thread_group.rb
|
105
|
-
- examples/basic_user_defined_variables.rb
|
106
|
-
- examples/demo.csv
|
63
|
+
- examples/browser_headers.rb
|
64
|
+
- examples/composite_graph.rb
|
65
|
+
- examples/dummy_sampler.rb
|
66
|
+
- examples/duration_assertion.rb
|
107
67
|
- examples/etsy_login_browse.rb
|
108
|
-
- examples/
|
109
|
-
- examples/
|
110
|
-
- examples/
|
68
|
+
- examples/extract.rb
|
69
|
+
- examples/foreach_controller.rb
|
70
|
+
- examples/header_manager.rb
|
71
|
+
- examples/http_cache_manager.rb
|
72
|
+
- examples/http_cookie_manager.rb
|
73
|
+
- examples/http_request_defaults.rb
|
74
|
+
- examples/http_request_post.rb
|
75
|
+
- examples/http_request_with_files.rb
|
76
|
+
- examples/http_request_with_query_params.rb
|
77
|
+
- examples/jmeter_plugins_graphs.rb
|
78
|
+
- examples/json_path_assertions.rb
|
79
|
+
- examples/json_path_extractor.rb
|
80
|
+
- examples/ldap_sampler.rb
|
81
|
+
- examples/loadosophia.rb
|
82
|
+
- examples/loop_controller.rb
|
83
|
+
- examples/loops_with_counter.rb
|
84
|
+
- examples/perfmon.rb
|
111
85
|
- examples/real_page_objects.rb
|
112
86
|
- examples/real_redis_data_set_with_setup.rb
|
113
87
|
- examples/real_user_objects_github.rb
|
88
|
+
- examples/regular_expression_extractor.rb
|
89
|
+
- examples/response_assertion.rb
|
90
|
+
- examples/response_time_percentiles_graph.rb
|
91
|
+
- examples/simple_data_writer_listener.rb
|
92
|
+
- examples/stepping_thread_group.rb
|
93
|
+
- examples/test_fragment.rb
|
94
|
+
- examples/think_time.rb
|
95
|
+
- examples/thread_groups.rb
|
96
|
+
- examples/throughput_controller.rb
|
97
|
+
- examples/throughput_shaping_timer.rb
|
98
|
+
- examples/ultimate_thread_group.rb
|
99
|
+
- examples/user_defined_variables.rb
|
100
|
+
- examples/user_parameters.rb
|
114
101
|
- lib/ruby-jmeter.rb
|
115
102
|
- lib/ruby-jmeter/DSL.md
|
116
103
|
- lib/ruby-jmeter/dsl.rb
|
@@ -231,9 +218,33 @@ files:
|
|
231
218
|
- lib/ruby-jmeter/dsl/xml_schema_assertion.rb
|
232
219
|
- lib/ruby-jmeter/dsl/xpath_assertion.rb
|
233
220
|
- lib/ruby-jmeter/dsl/xpath_extractor.rb
|
221
|
+
- lib/ruby-jmeter/extend/assertions/response_assertion.rb
|
222
|
+
- lib/ruby-jmeter/extend/config_elements/header_manager.rb
|
223
|
+
- lib/ruby-jmeter/extend/config_elements/http_cache_manager.rb
|
224
|
+
- lib/ruby-jmeter/extend/config_elements/http_cookie_manager.rb
|
225
|
+
- lib/ruby-jmeter/extend/config_elements/http_request_defaults.rb
|
226
|
+
- lib/ruby-jmeter/extend/config_elements/user_defined_variables.rb
|
227
|
+
- lib/ruby-jmeter/extend/config_elements/user_parameters.rb
|
228
|
+
- lib/ruby-jmeter/extend/controllers/foreach_controller.rb
|
229
|
+
- lib/ruby-jmeter/extend/controllers/loop_controller.rb
|
230
|
+
- lib/ruby-jmeter/extend/controllers/module_controller.rb
|
231
|
+
- lib/ruby-jmeter/extend/controllers/throughput_controller.rb
|
232
|
+
- lib/ruby-jmeter/extend/controllers/transaction_controller.rb
|
233
|
+
- lib/ruby-jmeter/extend/misc/aliases.rb
|
234
|
+
- lib/ruby-jmeter/extend/misc/exists.rb
|
235
|
+
- lib/ruby-jmeter/extend/misc/flood.rb
|
236
|
+
- lib/ruby-jmeter/extend/misc/with_helpers.rb
|
237
|
+
- lib/ruby-jmeter/extend/plugins/jmeter_plugins.rb
|
238
|
+
- lib/ruby-jmeter/extend/processors/extract.rb
|
239
|
+
- lib/ruby-jmeter/extend/processors/regular_expression_extractor.rb
|
240
|
+
- lib/ruby-jmeter/extend/samplers/http_request.rb
|
241
|
+
- lib/ruby-jmeter/extend/samplers/soapxmlrpc_request.rb
|
242
|
+
- lib/ruby-jmeter/extend/threads/setup_thread_group.rb
|
243
|
+
- lib/ruby-jmeter/extend/threads/thread_group.rb
|
244
|
+
- lib/ruby-jmeter/extend/timers/constant_throughput_timer.rb
|
245
|
+
- lib/ruby-jmeter/extend/timers/random_timer.rb
|
234
246
|
- lib/ruby-jmeter/helpers/fallback_content_proxy.rb
|
235
247
|
- lib/ruby-jmeter/helpers/helper.rb
|
236
|
-
- lib/ruby-jmeter/helpers/jmeter.properties
|
237
248
|
- lib/ruby-jmeter/helpers/logger-colors.rb
|
238
249
|
- lib/ruby-jmeter/helpers/parser.rb
|
239
250
|
- lib/ruby-jmeter/helpers/strip-heredoc.rb
|
@@ -260,9 +271,29 @@ files:
|
|
260
271
|
- lib/ruby-jmeter/plugins/variable_throughput_timer.rb
|
261
272
|
- lib/ruby-jmeter/version.rb
|
262
273
|
- ruby-jmeter.gemspec
|
263
|
-
- spec/
|
274
|
+
- spec/constant_throughput_timer_spec.rb
|
275
|
+
- spec/header_manager_spec.rb
|
276
|
+
- spec/http_cache_manager_spec.rb
|
277
|
+
- spec/http_cookie_manager_spec.rb
|
278
|
+
- spec/http_request_defaults_spec.rb
|
279
|
+
- spec/http_request_spec.rb
|
280
|
+
- spec/jmeter_plugins_spec.rb
|
281
|
+
- spec/json_extractor_spec.rb
|
282
|
+
- spec/json_path_assertion_spec.rb
|
283
|
+
- spec/logic_controller_spec.rb
|
284
|
+
- spec/loop_controller_spec.rb
|
285
|
+
- spec/module_controller_spec.rb
|
286
|
+
- spec/regular_expression_extractor_spec.rb
|
287
|
+
- spec/response_assertion_spec.rb
|
288
|
+
- spec/setup_thread_group_spec.rb
|
264
289
|
- spec/spec_helper.rb
|
265
|
-
- spec/
|
290
|
+
- spec/thread_group_spec.rb
|
291
|
+
- spec/throughput_controller_spec.rb
|
292
|
+
- spec/transaction_controller_spec.rb
|
293
|
+
- spec/user_defined_variables_spec.rb
|
294
|
+
- spec/user_parameters_spec.rb
|
295
|
+
- spec/with_helpers_spec.rb
|
296
|
+
- spec/xpath_extractor_spec.rb
|
266
297
|
homepage: http://flood-io.github.io/ruby-jmeter/
|
267
298
|
licenses:
|
268
299
|
- MIT
|
@@ -283,11 +314,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
283
314
|
version: '0'
|
284
315
|
requirements: []
|
285
316
|
rubyforge_project:
|
286
|
-
rubygems_version: 2.
|
317
|
+
rubygems_version: 2.5.1
|
287
318
|
signing_key:
|
288
319
|
specification_version: 4
|
289
320
|
summary: Ruby based DSL for writing JMeter test plans
|
290
|
-
test_files:
|
291
|
-
- spec/dsl_spec.rb
|
292
|
-
- spec/spec_helper.rb
|
293
|
-
- spec/stub.rb
|
321
|
+
test_files: []
|
data/examples/basic_flood.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
-
require 'ruby-jmeter'
|
3
|
-
|
4
|
-
test do
|
5
|
-
threads count: 20 do
|
6
|
-
visit name: 'Home Page', url: 'http://google.com/'
|
7
|
-
end
|
8
|
-
end.flood('vgzGtzM5hGv61exPSs6P', {
|
9
|
-
name: 'Demo using flood.io',
|
10
|
-
region: 'us-west-2',
|
11
|
-
endpoint: 'dev.api.flood.io:3000'
|
12
|
-
})
|
@@ -1,16 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
-
require 'ruby-jmeter'
|
3
|
-
|
4
|
-
test do
|
5
|
-
csv_data_set_config filename: 'demo.csv',
|
6
|
-
variableNames: 'fruit'
|
7
|
-
|
8
|
-
threads count: 1 do
|
9
|
-
visit name: 'Home Page', url: 'http://127.0.0.1/?fruit=${fruit}'
|
10
|
-
end
|
11
|
-
end.flood('fyxequ4bsLhjgvGqQnD1', {
|
12
|
-
name: 'Fruity demo with additional CSV',
|
13
|
-
region: 'us-west-2',
|
14
|
-
endpoint: 'dev.api.flood.io:8000',
|
15
|
-
files: ["#{Dir.pwd}/examples/demo.csv"]
|
16
|
-
})
|
data/examples/basic_google.rb
DELETED