ruby-jmeter 2.13.2 → 2.13.3

Sign up to get free protection for your applications and to get access to all the features.
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