gridinit-jmeter 0.0.5 → 0.0.6

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.
@@ -22,4 +22,7 @@ require 'gridinit-jmeter/regex_extractor'
22
22
  require 'gridinit-jmeter/xpath_extractor'
23
23
  require 'gridinit-jmeter/user_defined_variable'
24
24
  require 'gridinit-jmeter/gaussian_random_timer'
25
- require 'gridinit-jmeter/response_assertion'
25
+ require 'gridinit-jmeter/response_assertion'
26
+ require 'gridinit-jmeter/table_visualizer'
27
+ require 'gridinit-jmeter/graph_visualizer'
28
+ require 'gridinit-jmeter/summary_report'
@@ -174,6 +174,24 @@ module Gridinit
174
174
  logger.fatal "There was an error: #{e.message}"
175
175
  end
176
176
  end
177
+
178
+ def table_visualizer(name="", params={}, &block)
179
+ node = Gridinit::Jmeter::TableVisualizer.new(name, params)
180
+ last_node_from(caller) << node.doc.children << hash_tree
181
+ self.instance_exec(&block) if block
182
+ end
183
+
184
+ def graph_visualizer(name="", params={}, &block)
185
+ node = Gridinit::Jmeter::GraphVisualizer.new(name, params)
186
+ last_node_from(caller) << node.doc.children << hash_tree
187
+ self.instance_exec(&block) if block
188
+ end
189
+
190
+ def summary_report(name="", params={}, &block)
191
+ node = Gridinit::Jmeter::SummaryReport.new(name, params)
192
+ last_node_from(caller) << node.doc.children << hash_tree
193
+ self.instance_exec(&block) if block
194
+ end
177
195
 
178
196
  private
179
197
 
@@ -234,4 +252,4 @@ def test(&block)
234
252
  t = Gridinit.dsl_eval(Gridinit::Jmeter::DSL.new, &block)
235
253
  t.out
236
254
  t
237
- end
255
+ end
@@ -0,0 +1,52 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class GraphVisualizer
5
+ attr_accessor :doc
6
+ def initialize(name="Graph Results", params={})
7
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
8
+ <ResultCollector guiclass="GraphVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
9
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
10
+ <objProp>
11
+ <name>saveConfig</name>
12
+ <value class="SampleSaveConfiguration">
13
+ <time>true</time>
14
+ <latency>true</latency>
15
+ <timestamp>true</timestamp>
16
+ <success>true</success>
17
+ <label>true</label>
18
+ <code>true</code>
19
+ <message>true</message>
20
+ <threadName>true</threadName>
21
+ <dataType>true</dataType>
22
+ <encoding>false</encoding>
23
+ <assertions>true</assertions>
24
+ <subresults>true</subresults>
25
+ <responseData>false</responseData>
26
+ <samplerData>false</samplerData>
27
+ <xml>true</xml>
28
+ <fieldNames>false</fieldNames>
29
+ <responseHeaders>false</responseHeaders>
30
+ <requestHeaders>false</requestHeaders>
31
+ <responseDataOnError>false</responseDataOnError>
32
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
33
+ <assertionsResultsToSave>0</assertionsResultsToSave>
34
+ <bytes>true</bytes>
35
+ </value>
36
+ </objProp>
37
+ <stringProp name="filename"></stringProp>
38
+ </ResultCollector>
39
+
40
+ EOF
41
+ params.each do |name, value|
42
+ node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
43
+ node.first.content = value unless node.empty?
44
+ end
45
+ end
46
+
47
+ private
48
+
49
+ end
50
+
51
+ end
52
+ end
@@ -0,0 +1,52 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class SummaryReport
5
+ attr_accessor :doc
6
+ def initialize(name="Summary Report", params={})
7
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
8
+ <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="#{name}" enabled="true">
9
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
10
+ <objProp>
11
+ <name>saveConfig</name>
12
+ <value class="SampleSaveConfiguration">
13
+ <time>true</time>
14
+ <latency>true</latency>
15
+ <timestamp>true</timestamp>
16
+ <success>true</success>
17
+ <label>true</label>
18
+ <code>true</code>
19
+ <message>true</message>
20
+ <threadName>true</threadName>
21
+ <dataType>true</dataType>
22
+ <encoding>false</encoding>
23
+ <assertions>true</assertions>
24
+ <subresults>true</subresults>
25
+ <responseData>false</responseData>
26
+ <samplerData>false</samplerData>
27
+ <xml>true</xml>
28
+ <fieldNames>false</fieldNames>
29
+ <responseHeaders>false</responseHeaders>
30
+ <requestHeaders>false</requestHeaders>
31
+ <responseDataOnError>false</responseDataOnError>
32
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
33
+ <assertionsResultsToSave>0</assertionsResultsToSave>
34
+ <bytes>true</bytes>
35
+ </value>
36
+ </objProp>
37
+ <stringProp name="filename"></stringProp>
38
+ </ResultCollector>
39
+
40
+ EOF
41
+ params.each do |name, value|
42
+ node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
43
+ node.first.content = value unless node.empty?
44
+ end
45
+ end
46
+
47
+ private
48
+
49
+ end
50
+
51
+ end
52
+ end
@@ -0,0 +1,51 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class TableVisualizer
5
+ attr_accessor :doc
6
+ def initialize(name="View Results in Table", params={})
7
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
8
+ <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
9
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
10
+ <objProp>
11
+ <name>saveConfig</name>
12
+ <value class="SampleSaveConfiguration">
13
+ <time>true</time>
14
+ <latency>true</latency>
15
+ <timestamp>true</timestamp>
16
+ <success>true</success>
17
+ <label>true</label>
18
+ <code>true</code>
19
+ <message>true</message>
20
+ <threadName>true</threadName>
21
+ <dataType>true</dataType>
22
+ <encoding>false</encoding>
23
+ <assertions>true</assertions>
24
+ <subresults>true</subresults>
25
+ <responseData>false</responseData>
26
+ <samplerData>false</samplerData>
27
+ <xml>true</xml>
28
+ <fieldNames>false</fieldNames>
29
+ <responseHeaders>false</responseHeaders>
30
+ <requestHeaders>false</requestHeaders>
31
+ <responseDataOnError>false</responseDataOnError>
32
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
33
+ <assertionsResultsToSave>0</assertionsResultsToSave>
34
+ <bytes>true</bytes>
35
+ </value>
36
+ </objProp>
37
+ <stringProp name="filename"></stringProp>
38
+ </ResultCollector>
39
+ EOF
40
+ params.each do |name, value|
41
+ node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
42
+ node.first.content = value unless node.empty?
43
+ end
44
+ end
45
+
46
+ private
47
+
48
+ end
49
+
50
+ end
51
+ end
@@ -1,5 +1,5 @@
1
1
  module Gridinit
2
2
  module Jmeter
3
- VERSION = "0.0.5"
3
+ VERSION = "0.0.6"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gridinit-jmeter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-10 00:00:00.000000000 Z
12
+ date: 2013-01-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
@@ -83,6 +83,7 @@ files:
83
83
  - lib/gridinit-jmeter/dsl.rb
84
84
  - lib/gridinit-jmeter/fallback_content_proxy.rb
85
85
  - lib/gridinit-jmeter/gaussian_random_timer.rb
86
+ - lib/gridinit-jmeter/graph_visualizer.rb
86
87
  - lib/gridinit-jmeter/http_sampler.rb
87
88
  - lib/gridinit-jmeter/if_controller.rb
88
89
  - lib/gridinit-jmeter/logger-colors.rb
@@ -91,6 +92,8 @@ files:
91
92
  - lib/gridinit-jmeter/request_defaults.rb
92
93
  - lib/gridinit-jmeter/response_assertion.rb
93
94
  - lib/gridinit-jmeter/strip-heredoc.rb
95
+ - lib/gridinit-jmeter/summary_report.rb
96
+ - lib/gridinit-jmeter/table_visualizer.rb
94
97
  - lib/gridinit-jmeter/test_plan.rb
95
98
  - lib/gridinit-jmeter/thread_group.rb
96
99
  - lib/gridinit-jmeter/transaction.rb