ruby-jmeter 2.13.2 → 2.13.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 80a0fc5d3feba8fe5cffe5ab6d7adb26847492ba
4
- data.tar.gz: b71b11d79fe62f97a5e663947e9f378f91f7f75c
3
+ metadata.gz: 68b5a89a9ad1fd1e5659763d2dfb64066b1e86e1
4
+ data.tar.gz: 840ebafe7550c59520181704decd556187339f72
5
5
  SHA512:
6
- metadata.gz: e0df33efe3f01b6eeea2269a25b756f5265d4b3fc70f976b5ada0b8d448798dce3380fcb0cdfd31a6a7d2dc9c34d8b1b478c884aad23d8ac18e4ea66dda2d80c
7
- data.tar.gz: a4a6cf46e43aed3a9dc4260fd414182b0bdc4d2743be10373fef6ee3b9ee8f080fc453af18e877b0c4cb07124737a3b3ff037f54014ba05a035905d3884662e1
6
+ metadata.gz: 5e7339dfe60edf6c580e1d0f118c0c8ddcee21b2ddb449821400dc44c6fa9bcd30746af5179b34f03932ce4f7c329cabf9c5d78298076991916c15107397cc08
7
+ data.tar.gz: a75f59422d0d44793e89560b9dd3767610fe468f2a5ca4cf066e795582286508789b923d532bcf096129780bbaa13cd191880c00fbf68495ee8c33b09a72f536
data/CHANGES.md CHANGED
@@ -67,5 +67,5 @@ test do
67
67
  debug_sampler
68
68
  view_results
69
69
  end
70
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
70
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
71
71
  ```
@@ -10,4 +10,4 @@ test do
10
10
  end
11
11
  end
12
12
  end
13
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
13
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -8,4 +8,4 @@ test do
8
8
  visit name: 'Home Page', url: 'http://google.com/'
9
9
  end
10
10
  end
11
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
11
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -8,4 +8,4 @@ test do
8
8
  visit name: 'Home Page', url: 'http://google.com/'
9
9
  end
10
10
  end
11
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
11
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -26,4 +26,4 @@ test do
26
26
  metric: 'Overall Active Threads'
27
27
  }
28
28
  ]
29
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
29
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -8,4 +8,4 @@ test do
8
8
  visit name: 'Home Page', url: 'http://google.com/'
9
9
  end
10
10
  end
11
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
11
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -3,9 +3,9 @@ require 'ruby-jmeter'
3
3
 
4
4
  test do
5
5
  threads 1, {
6
- rampup: 1,
6
+ rampup: 1,
7
7
  scheduler: true,
8
- duration: 60,
8
+ duration: 60,
9
9
  continue_forever: true
10
10
  } do
11
11
 
@@ -28,5 +28,5 @@ test do
28
28
 
29
29
  # end.jmx
30
30
  # end.flood(ENV['FLOOD_API_TOKEN'])
31
- # end.run(path: '/usr/share/jmeter/bin/', gui: true)
32
- end.run(path: '/usr/share/jmeter/bin/')
31
+ # end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
32
+ end.run(path: '/usr/share/jmeter-2.13/bin/')
@@ -5,6 +5,6 @@ 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
8
 
10
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
9
+
10
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -8,7 +8,7 @@ test do
8
8
  visit name: 'Home Page', url: 'http://google.com/'
9
9
  end
10
10
  end
11
-
11
+
12
12
  #
13
13
  # You need jmeter-plugins at Google code
14
14
  # http://code.google.com/p/jmeter-plugins
@@ -20,4 +20,4 @@ test do
20
20
  response_times_percentiles 'Response Times Percentiles'
21
21
  transactions_per_second 'Transactions per Second'
22
22
 
23
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
23
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -5,4 +5,4 @@ test do
5
5
  threads count: 1 do
6
6
  visit name: 'Home Page', url: 'http://google.com/'
7
7
  end
8
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
8
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -3,10 +3,10 @@ require 'ruby-jmeter'
3
3
 
4
4
  test do
5
5
  # header with multiple values
6
- header [
6
+ header [
7
7
  { name: 'Accept', value: '*' },
8
8
  { name: 'User-Agent', value: 'Test' }
9
- ]
9
+ ]
10
10
 
11
11
  with_user_agent :iphone
12
12
 
@@ -19,5 +19,5 @@ test do
19
19
  with_xhr
20
20
  end
21
21
  end
22
-
23
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
22
+
23
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -2,9 +2,9 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
  require 'ruby-jmeter'
3
3
 
4
4
  test do
5
- defaults domain: 'example.com',
5
+ defaults domain: 'example.com',
6
6
  protocol: 'https',
7
7
  download_resources: true,
8
8
  use_concurrent_pool: 5,
9
9
  urls_must_match: 'http.+?example.com'
10
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
10
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -3,14 +3,14 @@ require 'ruby-jmeter'
3
3
 
4
4
  test do
5
5
  threads count: 1 do
6
- ldap_ext name: 'ldap_ext sample',
7
- test: 'sbind',
6
+ ldap_ext name: 'ldap_ext sample',
7
+ test: 'sbind',
8
8
  user_dn: 'user_dn',
9
9
  user_pw: 'user_password',
10
10
  servername: 'your_ldap_server',
11
11
  secure: true,
12
12
  port: 636
13
-
13
+
14
14
  end
15
15
  view_results name: 'debug'
16
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
16
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -15,4 +15,4 @@ test do
15
15
  threads count: 1 do
16
16
  visit name: 'Home Page', url: 'http://google.com/'
17
17
  end
18
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
18
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -42,4 +42,4 @@ test do
42
42
  metric: 'localhost Memory memory-node'
43
43
  }
44
44
  ]
45
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
45
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -6,10 +6,10 @@ test do
6
6
  threads count: 1 do
7
7
 
8
8
  transaction name: 'Post with a Raw Body', parent: false do
9
- post name: 'Home Page', url: 'http://google.com',
9
+ post name: 'Home Page', url: 'http://google.com',
10
10
  raw_body: '{"name":"Big Poncho","price":10,"vendor_attendance_id":24,"product_id":1}'
11
11
  end
12
12
 
13
13
  end
14
14
 
15
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
15
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -17,5 +17,5 @@ test do
17
17
  ]
18
18
  }
19
19
  end
20
- # end.run(path: '/usr/share/jmeter/bin/', gui: true)
20
+ # end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
21
21
  end.out
@@ -5,4 +5,4 @@ test do
5
5
  threads count: 10 do
6
6
  visit name: 'Google Search', url: 'http://google.com/?hl=en&tbo=d&sclient=psy-ab&q=flood.io&oq=flood.io'
7
7
  end
8
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
8
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -0,0 +1,13 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ require 'ruby-jmeter'
3
+
4
+ test do
5
+ threads count: 2 do
6
+ transaction name: 'Assertions' do
7
+ visit name: 'Altentee', url: 'http://altentee.com/' do
8
+ response_assertion contains: 'We test, tune and secure your site'
9
+ response_assertion 'not-contains' => 'Something in frames', scope: 'children'
10
+ end
11
+ end
12
+ end
13
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -6,6 +6,6 @@ test do
6
6
  visit name: 'Home Page', url: 'http://google.com/'
7
7
 
8
8
  # write errors to a simple data writer with the log alias
9
- log filename: '/var/log/flood/custom.log', error_logging: true
9
+ log filename: '/var/log/flood/custom.log', error_logging: true
10
10
  end
11
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
11
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -33,28 +33,28 @@ test do
33
33
 
34
34
  # populate named ${postcode_random} from shared data url
35
35
  # using random result, match number 0 and override name
36
- test_data :postcodes,
37
- name: 'postcode_random',
36
+ test_data :postcodes,
37
+ name: 'postcode_random',
38
38
  match_num: 0
39
39
 
40
40
 
41
41
  # populate named ${postcode} from shared data url
42
42
  # using exact result, match number 1 and override name
43
- test_data 'postcodes',
44
- name: 'postcode_exact',
45
- regex: '^(\d+)',
43
+ test_data 'postcodes',
44
+ name: 'postcode_exact',
45
+ regex: '^(\d+)',
46
46
  match_num: 1
47
47
 
48
48
  # populate named ${postcode} from a stubbed data url
49
49
  # with stub = true and default value 2010
50
- test_data 'postcodes',
51
- name: 'postcode_stub',
52
- regex: '^(\d+)',
53
- match_num: 1,
54
- default: '2010',
50
+ test_data 'postcodes',
51
+ name: 'postcode_stub',
52
+ regex: '^(\d+)',
53
+ match_num: 1,
54
+ default: '2010',
55
55
  stub: true
56
56
 
57
57
  debug_sampler
58
58
  view_results
59
59
  end
60
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
60
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -12,4 +12,4 @@ test do
12
12
  end
13
13
 
14
14
  end
15
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
15
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -9,6 +9,6 @@ test do
9
9
  throughput_controller percent: 99 do
10
10
  transaction name: "TC_01", parent: true, include_timers: true
11
11
  end
12
-
12
+
13
13
  end
14
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
14
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -18,4 +18,4 @@ test do
18
18
  end
19
19
 
20
20
  end
21
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
21
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -3,8 +3,8 @@ require 'ruby-jmeter'
3
3
 
4
4
  test do
5
5
  # user defined with multiple values
6
- variables [
6
+ variables [
7
7
  { name: 'email', value: 'support@flood.io' },
8
8
  { name: 'password', value: 'password' }
9
- ]
10
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
9
+ ]
10
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -8,7 +8,7 @@ test do
8
8
  cache :clear_each_iteration => true
9
9
 
10
10
  cookies
11
-
11
+
12
12
  threads :count => 1, :loops => 10 do
13
13
 
14
14
  random_timer 1000, 3000
@@ -35,7 +35,7 @@ test do
35
35
  extract :regex => 'a href="(/browse.+?)"', :name => 'random_category'
36
36
  end
37
37
  end
38
- end
38
+ end
39
39
 
40
40
  exists 'random_category' do
41
41
 
@@ -61,4 +61,4 @@ test do
61
61
 
62
62
  # end.grid ARGV[1]
63
63
  # end.jmx
64
- end.run(path: '/usr/share/jmeter/bin/', gui: true)
64
+ end.run(path: '/usr/share/jmeter-2.13/bin/', gui: true)
@@ -10,7 +10,8 @@ module RubyJmeter
10
10
  params[:fill_in] ||= {}
11
11
  params[:params] && params[:params].split('&').each do |param|
12
12
  name,value = param.split('=')
13
- params[:fill_in][name] = value
13
+ params[:fill_in][name] ||= []
14
+ params[:fill_in][name] << value
14
15
  end
15
16
  end
16
17
 
@@ -42,20 +43,23 @@ module RubyJmeter
42
43
 
43
44
  def fill_in(params)
44
45
  params[:update_at_xpath] ||= []
45
- params[:update_at_xpath] += params[:fill_in].collect do |name, value|
46
- {
47
- :xpath => '//collectionProp',
48
- :value => Nokogiri::XML(<<-EOF.strip_heredoc).children
49
- <elementProp name="#{name}" elementType="HTTPArgument">
50
- <boolProp name="HTTPArgument.always_encode">#{params[:always_encode] ? 'true' : false}</boolProp>
51
- <stringProp name="Argument.value">#{value}</stringProp>
52
- <stringProp name="Argument.metadata">=</stringProp>
53
- <boolProp name="HTTPArgument.use_equals">true</boolProp>
54
- <stringProp name="Argument.name">#{name}</stringProp>
55
- </elementProp>
56
- EOF
57
- }
58
- end
46
+ params[:update_at_xpath] = params[:fill_in].
47
+ each_with_object(params[:update_at_xpath]) do |(name, values), memo|
48
+ Array(values).each do |value|
49
+ memo << {
50
+ :xpath => '//collectionProp',
51
+ :value => Nokogiri::XML(<<-EOF.strip_heredoc).children
52
+ <elementProp name="#{name}" elementType="HTTPArgument">
53
+ <boolProp name="HTTPArgument.always_encode">#{params[:always_encode] ? 'true' : false}</boolProp>
54
+ <stringProp name="Argument.value">#{value}</stringProp>
55
+ <stringProp name="Argument.metadata">=</stringProp>
56
+ <boolProp name="HTTPArgument.use_equals">true</boolProp>
57
+ <stringProp name="Argument.name">#{name}</stringProp>
58
+ </elementProp>
59
+ EOF
60
+ }
61
+ end
62
+ end
59
63
  params.delete(:fill_in)
60
64
  end
61
65
 
@@ -1,3 +1,3 @@
1
1
  module RubyJmeter
2
- VERSION = '2.13.2'
2
+ VERSION = '2.13.3'
3
3
  end
@@ -270,7 +270,7 @@ describe 'DSL' do
270
270
  test do
271
271
  threads do
272
272
  transaction name: "TC_01", parent: true, include_timers: true do
273
- visit url: "/home?location=melbourne", always_encode: true
273
+ visit url: "/home?location=melbourne&location=sydney", always_encode: true
274
274
  end
275
275
  end
276
276
  end.to_doc
@@ -282,8 +282,32 @@ describe 'DSL' do
282
282
  fragment.search(".//stringProp[@name='HTTPSampler.path']").text.should == '/home'
283
283
  end
284
284
 
285
- it 'should match on always_encode' do
286
- fragment.search(".//boolProp[@name='HTTPArgument.always_encode']").text.should == 'true'
285
+ context "first argument" do
286
+ it 'should match on always_encode' do
287
+ fragment.search(".//boolProp[@name='HTTPArgument.always_encode']")[0].text.should == 'true'
288
+ end
289
+
290
+ it 'should match on query param name: location' do
291
+ fragment.search(".//stringProp[@name='Argument.name']")[0].text.should == 'location'
292
+ end
293
+
294
+ it 'should match on query param value: melbourne' do
295
+ fragment.search(".//stringProp[@name='Argument.value']")[0].text.should == 'melbourne'
296
+ end
297
+ end
298
+
299
+ context "second argument" do
300
+ it 'should match on always_encode' do
301
+ fragment.search(".//boolProp[@name='HTTPArgument.always_encode']")[1].text.should == 'true'
302
+ end
303
+
304
+ it 'should match on query param name: location' do
305
+ fragment.search(".//stringProp[@name='Argument.name']")[1].text.should == 'location'
306
+ end
307
+
308
+ it 'should match on query param value: sydney' do
309
+ fragment.search(".//stringProp[@name='Argument.value']")[1].text.should == 'sydney'
310
+ end
287
311
  end
288
312
  end
289
313
 
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: 2.13.2
4
+ version: 2.13.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Koopmans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-20 00:00:00.000000000 Z
11
+ date: 2015-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -88,6 +88,7 @@ files:
88
88
  - examples/basic_post.rb
89
89
  - examples/basic_preprocessor_user_parameters.rb
90
90
  - examples/basic_query_params.rb
91
+ - examples/basic_response_assertion.rb
91
92
  - examples/basic_run.rb
92
93
  - examples/basic_simple_data_writer.rb
93
94
  - examples/basic_stepping_thread_group.rb