ruby-jmeter 3.1.05 → 3.1.06
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/examples/csv_data_set.rb +19 -0
- data/examples/uuid_per_iteration.rb +15 -0
- data/lib/ruby-jmeter/dsl/csv_data_set_config.rb +1 -0
- data/lib/ruby-jmeter/extend/misc/uuid.rb +12 -0
- data/lib/ruby-jmeter/idl.xml +1 -0
- data/lib/ruby-jmeter/version.rb +1 -1
- data/spec/csv_data_set_config_spec.rb +33 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5db93664cf0240974b592a329ce2e0fce9208676
|
4
|
+
data.tar.gz: 7f22c6cba517fc8baa43bee0bd56b123bf863dfc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d608ddc88467133b66be4c943bc1d01f7c005c66eb2750c86f2303d1e63b5baea6d24e38406fd527e96a2d0a9380f2969fd347732968e4a1c33e42b741658e6c
|
7
|
+
data.tar.gz: a398c2432bc260380769b86d7ae572fcf5a99472f624b174363fecfaac2814d50cb0a8cb2b08748cfebbab13a09a50e2b350ca446e252f02c7ee265986bf9373
|
data/.gitignore
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
require 'ruby-jmeter'
|
3
|
+
|
4
|
+
test do
|
5
|
+
csv_data_set_config filename: 'postcodes.csv',
|
6
|
+
variableNames: 'postcode'
|
7
|
+
|
8
|
+
threads count: 1 do
|
9
|
+
visit name: 'Home', url: 'https://flooded.io?query=${postcode}'
|
10
|
+
end
|
11
|
+
end.flood ENV['FLOOD_API_TOKEN'],
|
12
|
+
privacy: 'public',
|
13
|
+
name: ENV['FLOOD_NAME'] ||= 'Simple Demo',
|
14
|
+
project: 'workspace',
|
15
|
+
region: ENV['REGION'] ||= 'us-west-2',
|
16
|
+
override_parameters: '-Dsun.net.inetaddr.ttl=30',
|
17
|
+
files: [
|
18
|
+
"#{Dir.pwd}/postcodes.csv"
|
19
|
+
]
|
@@ -0,0 +1,15 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
require 'ruby-jmeter'
|
3
|
+
|
4
|
+
test do
|
5
|
+
threads count: 1, loops: 5, scheduler: false do
|
6
|
+
# Helper method to generate a single UUID per iteration
|
7
|
+
uuid_per_iteration
|
8
|
+
|
9
|
+
dummy_sampler name: '${__threadNum} - ${UUID}'
|
10
|
+
dummy_sampler name: '${__threadNum} - ${UUID}'
|
11
|
+
dummy_sampler name: '${__threadNum} - ${UUID}'
|
12
|
+
|
13
|
+
view_results
|
14
|
+
end
|
15
|
+
end.run(path: '/usr/local/share/jmeter-3.1/bin', gui: true)
|
@@ -21,6 +21,7 @@ module RubyJmeter
|
|
21
21
|
<boolProp name="recycle">true</boolProp>
|
22
22
|
<stringProp name="shareMode">shareMode.all</stringProp>
|
23
23
|
<boolProp name="stopThread">false</boolProp>
|
24
|
+
<boolProp name="ignoreFirstLine">false</boolProp>
|
24
25
|
<stringProp name="variableNames"/>
|
25
26
|
</CSVDataSet>)
|
26
27
|
EOS
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module RubyJmeter
|
2
|
+
class ExtendedDSL < DSL
|
3
|
+
def uuid_per_iteration(params = {}, &block)
|
4
|
+
params[:name] ||= '__UUID'
|
5
|
+
params[:variable] ||= 'UUID'
|
6
|
+
|
7
|
+
dummy_sampler name: params[:name], response_data: '${__UUID}' do
|
8
|
+
regex pattern: '(.*)', name: params[:variable], match_number: 1
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/ruby-jmeter/idl.xml
CHANGED
@@ -29,6 +29,7 @@
|
|
29
29
|
<boolProp name="recycle">true</boolProp>
|
30
30
|
<stringProp name="shareMode">shareMode.all</stringProp>
|
31
31
|
<boolProp name="stopThread">false</boolProp>
|
32
|
+
<boolProp name="ignoreFirstLine">false</boolProp>
|
32
33
|
<stringProp name="variableNames"></stringProp>
|
33
34
|
</CSVDataSet>
|
34
35
|
<hashTree/>
|
data/lib/ruby-jmeter/version.rb
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'csv_data_set_config' do
|
4
|
+
describe 'the options should be respected' do
|
5
|
+
let(:doc) do
|
6
|
+
test do
|
7
|
+
csv_data_set_config delimiter: '|',
|
8
|
+
filename: 'test.csv',
|
9
|
+
ignoreFirstLine: true,
|
10
|
+
variableNames: 'test1,test2'
|
11
|
+
end.to_doc
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:csv_data_set) { doc.search("//CSVDataSet") }
|
15
|
+
|
16
|
+
it 'should match on variableNames' do
|
17
|
+
expect(csv_data_set.search(".//stringProp[@name='variableNames']").first.text).to eq 'test1,test2'
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should match on delimiter' do
|
21
|
+
expect(csv_data_set.search(".//stringProp[@name='delimiter']").first.text).to eq '|'
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should match on filename' do
|
25
|
+
expect(csv_data_set.search(".//stringProp[@name='filename']").first.text).to eq 'test.csv'
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should match on ignoreFirstLine' do
|
29
|
+
expect(csv_data_set.search(".//boolProp[@name='ignoreFirstLine']").first.text).to eq 'true'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
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: 3.1.
|
4
|
+
version: 3.1.06
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Koopmans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -63,6 +63,7 @@ files:
|
|
63
63
|
- examples/browser_headers.rb
|
64
64
|
- examples/composite_graph.rb
|
65
65
|
- examples/constant_throughput_timer.rb
|
66
|
+
- examples/csv_data_set.rb
|
66
67
|
- examples/dummy_sampler.rb
|
67
68
|
- examples/duration_assertion.rb
|
68
69
|
- examples/etsy_login_browse.rb
|
@@ -109,6 +110,7 @@ files:
|
|
109
110
|
- examples/unicode.rb
|
110
111
|
- examples/user_defined_variables.rb
|
111
112
|
- examples/user_parameters.rb
|
113
|
+
- examples/uuid_per_iteration.rb
|
112
114
|
- lib/ruby-jmeter.rb
|
113
115
|
- lib/ruby-jmeter/DSL.md
|
114
116
|
- lib/ruby-jmeter/dsl.rb
|
@@ -246,6 +248,7 @@ files:
|
|
246
248
|
- lib/ruby-jmeter/extend/misc/exists.rb
|
247
249
|
- lib/ruby-jmeter/extend/misc/flood.rb
|
248
250
|
- lib/ruby-jmeter/extend/misc/rsync.rb
|
251
|
+
- lib/ruby-jmeter/extend/misc/uuid.rb
|
249
252
|
- lib/ruby-jmeter/extend/misc/with_helpers.rb
|
250
253
|
- lib/ruby-jmeter/extend/plugins/jmeter_plugins.rb
|
251
254
|
- lib/ruby-jmeter/extend/processors/extract.rb
|
@@ -287,6 +290,7 @@ files:
|
|
287
290
|
- lib/ruby-jmeter/version.rb
|
288
291
|
- ruby-jmeter.gemspec
|
289
292
|
- spec/constant_throughput_timer_spec.rb
|
293
|
+
- spec/csv_data_set_config_spec.rb
|
290
294
|
- spec/header_manager_spec.rb
|
291
295
|
- spec/http_cache_manager_spec.rb
|
292
296
|
- spec/http_cookie_manager_spec.rb
|
@@ -329,7 +333,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
329
333
|
version: '0'
|
330
334
|
requirements: []
|
331
335
|
rubyforge_project:
|
332
|
-
rubygems_version: 2.
|
336
|
+
rubygems_version: 2.6.12
|
333
337
|
signing_key:
|
334
338
|
specification_version: 4
|
335
339
|
summary: Ruby based DSL for writing JMeter test plans
|