gridinit-jmeter 0.2.8 → 0.2.9

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.
Files changed (120) hide show
  1. data/lib/gridinit-jmeter/controllers/if_controller.rb +2 -2
  2. data/lib/gridinit-jmeter/idl.rb +63 -0
  3. data/lib/gridinit-jmeter/{dsl.xml → idl.xml} +0 -0
  4. data/lib/gridinit-jmeter/idl/access_log_sampler.rb +33 -0
  5. data/lib/gridinit-jmeter/idl/aggregate_graph.rb +56 -0
  6. data/lib/gridinit-jmeter/idl/aggregate_report.rb +56 -0
  7. data/lib/gridinit-jmeter/idl/ajp13_sampler.rb +42 -0
  8. data/lib/gridinit-jmeter/idl/assertion_results.rb +56 -0
  9. data/lib/gridinit-jmeter/idl/beanshell_assertion.rb +29 -0
  10. data/lib/gridinit-jmeter/idl/beanshell_listener.rb +29 -0
  11. data/lib/gridinit-jmeter/idl/beanshell_postprocessor.rb +29 -0
  12. data/lib/gridinit-jmeter/idl/beanshell_preprocessor.rb +29 -0
  13. data/lib/gridinit-jmeter/idl/beanshell_sampler.rb +29 -0
  14. data/lib/gridinit-jmeter/idl/beanshell_timer.rb +29 -0
  15. data/lib/gridinit-jmeter/idl/bsf_assertion.rb +29 -0
  16. data/lib/gridinit-jmeter/idl/bsf_listener.rb +29 -0
  17. data/lib/gridinit-jmeter/idl/bsf_postprocessor.rb +29 -0
  18. data/lib/gridinit-jmeter/idl/bsf_preprocessor.rb +29 -0
  19. data/lib/gridinit-jmeter/idl/bsf_sampler.rb +29 -0
  20. data/lib/gridinit-jmeter/idl/bsf_timer.rb +29 -0
  21. data/lib/gridinit-jmeter/idl/compare_assertion.rb +28 -0
  22. data/lib/gridinit-jmeter/idl/comparison_assertion_visualizer.rb +56 -0
  23. data/lib/gridinit-jmeter/idl/constant_throughput_timer.rb +31 -0
  24. data/lib/gridinit-jmeter/idl/constant_timer.rb +26 -0
  25. data/lib/gridinit-jmeter/idl/counter.rb +31 -0
  26. data/lib/gridinit-jmeter/idl/cssjquery_extractor.rb +31 -0
  27. data/lib/gridinit-jmeter/idl/csv_data_set_config.rb +33 -0
  28. data/lib/gridinit-jmeter/idl/debug_postprocessor.rb +29 -0
  29. data/lib/gridinit-jmeter/idl/debug_sampler.rb +28 -0
  30. data/lib/gridinit-jmeter/idl/distribution_graphalpha.rb +56 -0
  31. data/lib/gridinit-jmeter/idl/duration_assertion.rb +26 -0
  32. data/lib/gridinit-jmeter/idl/foreach_controller.rb +28 -0
  33. data/lib/gridinit-jmeter/idl/ftp_request.rb +35 -0
  34. data/lib/gridinit-jmeter/idl/ftp_request_defaults.rb +33 -0
  35. data/lib/gridinit-jmeter/idl/gaussian_random_timer.rb +27 -0
  36. data/lib/gridinit-jmeter/idl/generate_summary_results.rb +24 -0
  37. data/lib/gridinit-jmeter/idl/graph_results.rb +56 -0
  38. data/lib/gridinit-jmeter/idl/html_assertion.rb +31 -0
  39. data/lib/gridinit-jmeter/idl/html_link_parser.rb +24 -0
  40. data/lib/gridinit-jmeter/idl/html_parameter_mask.rb +33 -0
  41. data/lib/gridinit-jmeter/idl/http_authorization_manager.rb +26 -0
  42. data/lib/gridinit-jmeter/idl/http_cache_manager.rb +27 -0
  43. data/lib/gridinit-jmeter/idl/http_cookie_manager.rb +27 -0
  44. data/lib/gridinit-jmeter/idl/http_header_manager.rb +26 -0
  45. data/lib/gridinit-jmeter/idl/http_request.rb +42 -0
  46. data/lib/gridinit-jmeter/idl/http_request_defaults.rb +36 -0
  47. data/lib/gridinit-jmeter/idl/http_url_rewriting_modifier.rb +30 -0
  48. data/lib/gridinit-jmeter/idl/if_controller.rb +27 -0
  49. data/lib/gridinit-jmeter/idl/include_controller.rb +26 -0
  50. data/lib/gridinit-jmeter/idl/java_request.rb +70 -0
  51. data/lib/gridinit-jmeter/idl/java_request_defaults.rb +70 -0
  52. data/lib/gridinit-jmeter/idl/jdbc_connection_configuration.rb +38 -0
  53. data/lib/gridinit-jmeter/idl/jdbc_postprocessor.rb +32 -0
  54. data/lib/gridinit-jmeter/idl/jdbc_preprocessor.rb +32 -0
  55. data/lib/gridinit-jmeter/idl/jdbc_request.rb +32 -0
  56. data/lib/gridinit-jmeter/idl/jms_pointtopoint.rb +41 -0
  57. data/lib/gridinit-jmeter/idl/jms_publisher.rb +42 -0
  58. data/lib/gridinit-jmeter/idl/jms_subscriber.rb +36 -0
  59. data/lib/gridinit-jmeter/idl/jsr223_assertion.rb +30 -0
  60. data/lib/gridinit-jmeter/idl/jsr223_listener.rb +30 -0
  61. data/lib/gridinit-jmeter/idl/jsr223_postprocessor.rb +30 -0
  62. data/lib/gridinit-jmeter/idl/jsr223_preprocessor.rb +30 -0
  63. data/lib/gridinit-jmeter/idl/jsr223_sampler.rb +30 -0
  64. data/lib/gridinit-jmeter/idl/jsr223_timer.rb +30 -0
  65. data/lib/gridinit-jmeter/idl/junit_request.rb +38 -0
  66. data/lib/gridinit-jmeter/idl/keystore_configuration.rb +28 -0
  67. data/lib/gridinit-jmeter/idl/ldap_extended_request.rb +43 -0
  68. data/lib/gridinit-jmeter/idl/ldap_extended_request_defaults.rb +43 -0
  69. data/lib/gridinit-jmeter/idl/ldap_request.rb +36 -0
  70. data/lib/gridinit-jmeter/idl/ldap_request_defaults.rb +34 -0
  71. data/lib/gridinit-jmeter/idl/login_config_element.rb +27 -0
  72. data/lib/gridinit-jmeter/idl/loop_controller.rb +27 -0
  73. data/lib/gridinit-jmeter/idl/mail_reader_sampler.rb +38 -0
  74. data/lib/gridinit-jmeter/idl/mailer_visualizer.rb +65 -0
  75. data/lib/gridinit-jmeter/idl/md5hex_assertion.rb +26 -0
  76. data/lib/gridinit-jmeter/idl/module_controller.rb +24 -0
  77. data/lib/gridinit-jmeter/idl/monitor_results.rb +56 -0
  78. data/lib/gridinit-jmeter/idl/once_only_controller.rb +24 -0
  79. data/lib/gridinit-jmeter/idl/os_process_sampler.rb +35 -0
  80. data/lib/gridinit-jmeter/idl/poisson_random_timer.rb +27 -0
  81. data/lib/gridinit-jmeter/idl/random_controller.rb +26 -0
  82. data/lib/gridinit-jmeter/idl/random_order_controller.rb +24 -0
  83. data/lib/gridinit-jmeter/idl/random_variable.rb +31 -0
  84. data/lib/gridinit-jmeter/idl/recording_controller.rb +24 -0
  85. data/lib/gridinit-jmeter/idl/regex_user_parameters.rb +28 -0
  86. data/lib/gridinit-jmeter/idl/regular_expression_extractor.rb +31 -0
  87. data/lib/gridinit-jmeter/idl/response_assertion.rb +29 -0
  88. data/lib/gridinit-jmeter/idl/response_time_graph.rb +56 -0
  89. data/lib/gridinit-jmeter/idl/result_status_action_handler.rb +26 -0
  90. data/lib/gridinit-jmeter/idl/runtime_controller.rb +26 -0
  91. data/lib/gridinit-jmeter/idl/save_responses_to_a_file.rb +30 -0
  92. data/lib/gridinit-jmeter/idl/simple_config_element.rb +24 -0
  93. data/lib/gridinit-jmeter/idl/simple_controller.rb +24 -0
  94. data/lib/gridinit-jmeter/idl/simple_data_writer.rb +56 -0
  95. data/lib/gridinit-jmeter/idl/smime_assertion.rb +36 -0
  96. data/lib/gridinit-jmeter/idl/smtp_sampler.rb +52 -0
  97. data/lib/gridinit-jmeter/idl/soapxmlrpc_request.rb +34 -0
  98. data/lib/gridinit-jmeter/idl/spline_visualizer.rb +56 -0
  99. data/lib/gridinit-jmeter/idl/summary_report.rb +56 -0
  100. data/lib/gridinit-jmeter/idl/switch_controller.rb +26 -0
  101. data/lib/gridinit-jmeter/idl/synchronizing_timer.rb +26 -0
  102. data/lib/gridinit-jmeter/idl/tcp_sampler.rb +34 -0
  103. data/lib/gridinit-jmeter/idl/tcp_sampler_config.rb +32 -0
  104. data/lib/gridinit-jmeter/idl/test_action.rb +28 -0
  105. data/lib/gridinit-jmeter/idl/test_plan.rb +32 -0
  106. data/lib/gridinit-jmeter/idl/thread_group.rb +37 -0
  107. data/lib/gridinit-jmeter/idl/throughput_controller.rb +33 -0
  108. data/lib/gridinit-jmeter/idl/transaction_controller.rb +26 -0
  109. data/lib/gridinit-jmeter/idl/uniform_random_timer.rb +27 -0
  110. data/lib/gridinit-jmeter/idl/user_defined_variables.rb +26 -0
  111. data/lib/gridinit-jmeter/idl/user_parameters.rb +30 -0
  112. data/lib/gridinit-jmeter/idl/view_results_in_table.rb +56 -0
  113. data/lib/gridinit-jmeter/idl/view_results_tree.rb +56 -0
  114. data/lib/gridinit-jmeter/idl/while_controller.rb +26 -0
  115. data/lib/gridinit-jmeter/idl/xml_assertion.rb +24 -0
  116. data/lib/gridinit-jmeter/idl/xml_schema_assertion.rb +26 -0
  117. data/lib/gridinit-jmeter/idl/xpath_assertion.rb +31 -0
  118. data/lib/gridinit-jmeter/idl/xpath_extractor.rb +31 -0
  119. data/lib/gridinit-jmeter/version.rb +1 -1
  120. metadata +120 -7
@@ -4,10 +4,10 @@ module Gridinit
4
4
  class IfController
5
5
  attr_accessor :doc
6
6
  include Helper
7
- def initialize(name, condition, params={})
7
+ def initialize(name, params={})
8
8
  @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
9
9
  <IfController guiclass="IfControllerPanel" testclass="IfController" testname="#{name}" enabled="true">
10
- <stringProp name="IfController.condition">#{condition}</stringProp>
10
+ <stringProp name="IfController.condition">#{params[:condition]}</stringProp>
11
11
  <boolProp name="IfController.evaluateAll">false</boolProp>
12
12
  </IfController>
13
13
  EOF
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env ruby
2
+ require 'nokogiri'
3
+ # require 'pry-debugger'
4
+
5
+ file = File.open 'idl.xml'
6
+ doc = Nokogiri::XML file.read.gsub! /\n\s+/, ''
7
+ nodes = doc.xpath '//jmeterTestPlan/hashTree'
8
+
9
+ class String
10
+ def classify
11
+ return self if self !~ / / && self =~ /[A-Z]+.*/
12
+ split(' ').map{|e| e.capitalize}.join.gsub /[\(\)-\/\.]/, ''
13
+ end
14
+
15
+ def underscore
16
+ self.gsub(/::/, '/').
17
+ gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
18
+ gsub(/([a-z\d])([A-Z])/,'\1_\2').
19
+ tr("-", "_").
20
+ downcase
21
+ end
22
+ end
23
+
24
+ results = []
25
+ doc.traverse do |node|
26
+ results << node if node.class !=
27
+ Nokogiri::XML::Document &&
28
+ node.attributes['testclass'] &&
29
+ node.name != 'elementProp'
30
+ end
31
+
32
+ results.each do |element|
33
+ klass = element.attributes['testname'].to_s.classify
34
+
35
+ File.open("idl/#{klass.underscore}.rb", 'w') { |file| file.write(<<EOC)
36
+ module Gridinit
37
+ module Jmeter
38
+
39
+ class DSL
40
+ def #{klass.underscore}(params={}, &block)
41
+ node = Gridinit::Jmeter::#{klass}.new(params)
42
+ attach_node(node, &block)
43
+ end
44
+ end
45
+
46
+ class #{klass}
47
+ attr_accessor :doc
48
+ include Helper
49
+
50
+ def initialize(name, params={})
51
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
52
+ #{element.to_xml.gsub /testname=".+?"/, 'testname="#{name}"'})
53
+ EOS
54
+ update params
55
+ end
56
+ end
57
+
58
+ end
59
+ end
60
+ EOC
61
+ }
62
+ end
63
+
File without changes
@@ -0,0 +1,33 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class DSL
5
+ def access_log_sampler(params={}, &block)
6
+ node = Gridinit::Jmeter::AccessLogSampler.new(params)
7
+ attach_node(node, &block)
8
+ end
9
+ end
10
+
11
+ class AccessLogSampler
12
+ attr_accessor :doc
13
+ include Helper
14
+
15
+ def initialize(name, params={})
16
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
+ <AccessLogSampler guiclass="TestBeanGUI" testclass="AccessLogSampler" testname="#{name}" enabled="true">
18
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
19
+ <collectionProp name="Arguments.arguments"/>
20
+ </elementProp>
21
+ <stringProp name="domain"/>
22
+ <boolProp name="imageParsing">false</boolProp>
23
+ <stringProp name="logFile"/>
24
+ <stringProp name="parserClassName">org.apache.jmeter.protocol.http.util.accesslog.TCLogParser</stringProp>
25
+ <stringProp name="portString"/>
26
+ </AccessLogSampler>)
27
+ EOS
28
+ update params
29
+ end
30
+ end
31
+
32
+ end
33
+ end
@@ -0,0 +1,56 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class DSL
5
+ def aggregate_graph(params={}, &block)
6
+ node = Gridinit::Jmeter::AggregateGraph.new(params)
7
+ attach_node(node, &block)
8
+ end
9
+ end
10
+
11
+ class AggregateGraph
12
+ attr_accessor :doc
13
+ include Helper
14
+
15
+ def initialize(name, params={})
16
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
+ <ResultCollector guiclass="StatGraphVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
18
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
19
+ <objProp>
20
+ <name>saveConfig</name>
21
+ <value class="SampleSaveConfiguration">
22
+ <time>true</time>
23
+ <latency>true</latency>
24
+ <timestamp>true</timestamp>
25
+ <success>true</success>
26
+ <label>true</label>
27
+ <code>true</code>
28
+ <message>false</message>
29
+ <threadName>true</threadName>
30
+ <dataType>false</dataType>
31
+ <encoding>false</encoding>
32
+ <assertions>false</assertions>
33
+ <subresults>false</subresults>
34
+ <responseData>false</responseData>
35
+ <samplerData>false</samplerData>
36
+ <xml>false</xml>
37
+ <fieldNames>false</fieldNames>
38
+ <responseHeaders>false</responseHeaders>
39
+ <requestHeaders>false</requestHeaders>
40
+ <responseDataOnError>false</responseDataOnError>
41
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
42
+ <assertionsResultsToSave>0</assertionsResultsToSave>
43
+ <bytes>true</bytes>
44
+ <threadCounts>true</threadCounts>
45
+ <sampleCount>true</sampleCount>
46
+ </value>
47
+ </objProp>
48
+ <stringProp name="filename"/>
49
+ </ResultCollector>)
50
+ EOS
51
+ update params
52
+ end
53
+ end
54
+
55
+ end
56
+ end
@@ -0,0 +1,56 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class DSL
5
+ def aggregate_report(params={}, &block)
6
+ node = Gridinit::Jmeter::AggregateReport.new(params)
7
+ attach_node(node, &block)
8
+ end
9
+ end
10
+
11
+ class AggregateReport
12
+ attr_accessor :doc
13
+ include Helper
14
+
15
+ def initialize(name, params={})
16
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
+ <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
18
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
19
+ <objProp>
20
+ <name>saveConfig</name>
21
+ <value class="SampleSaveConfiguration">
22
+ <time>true</time>
23
+ <latency>true</latency>
24
+ <timestamp>true</timestamp>
25
+ <success>true</success>
26
+ <label>true</label>
27
+ <code>true</code>
28
+ <message>false</message>
29
+ <threadName>true</threadName>
30
+ <dataType>false</dataType>
31
+ <encoding>false</encoding>
32
+ <assertions>false</assertions>
33
+ <subresults>false</subresults>
34
+ <responseData>false</responseData>
35
+ <samplerData>false</samplerData>
36
+ <xml>false</xml>
37
+ <fieldNames>false</fieldNames>
38
+ <responseHeaders>false</responseHeaders>
39
+ <requestHeaders>false</requestHeaders>
40
+ <responseDataOnError>false</responseDataOnError>
41
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
42
+ <assertionsResultsToSave>0</assertionsResultsToSave>
43
+ <bytes>true</bytes>
44
+ <threadCounts>true</threadCounts>
45
+ <sampleCount>true</sampleCount>
46
+ </value>
47
+ </objProp>
48
+ <stringProp name="filename"/>
49
+ </ResultCollector>)
50
+ EOS
51
+ update params
52
+ end
53
+ end
54
+
55
+ end
56
+ end
@@ -0,0 +1,42 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class DSL
5
+ def ajp13_sampler(params={}, &block)
6
+ node = Gridinit::Jmeter::Ajp13Sampler.new(params)
7
+ attach_node(node, &block)
8
+ end
9
+ end
10
+
11
+ class Ajp13Sampler
12
+ attr_accessor :doc
13
+ include Helper
14
+
15
+ def initialize(name, params={})
16
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
+ <AjpSampler guiclass="AjpSamplerGui" testclass="AjpSampler" testname="#{name}" enabled="true">
18
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="#{name}" enabled="true">
19
+ <collectionProp name="Arguments.arguments"/>
20
+ </elementProp>
21
+ <stringProp name="HTTPSampler.domain"/>
22
+ <stringProp name="HTTPSampler.port"/>
23
+ <stringProp name="HTTPSampler.connect_timeout"/>
24
+ <stringProp name="HTTPSampler.response_timeout"/>
25
+ <stringProp name="HTTPSampler.protocol"/>
26
+ <stringProp name="HTTPSampler.contentEncoding"/>
27
+ <stringProp name="HTTPSampler.path"/>
28
+ <stringProp name="HTTPSampler.method">GET</stringProp>
29
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
30
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
31
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
32
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
33
+ <boolProp name="HTTPSampler.monitor">false</boolProp>
34
+ <stringProp name="HTTPSampler.embedded_url_re"/>
35
+ </AjpSampler>)
36
+ EOS
37
+ update params
38
+ end
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,56 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class DSL
5
+ def assertion_results(params={}, &block)
6
+ node = Gridinit::Jmeter::AssertionResults.new(params)
7
+ attach_node(node, &block)
8
+ end
9
+ end
10
+
11
+ class AssertionResults
12
+ attr_accessor :doc
13
+ include Helper
14
+
15
+ def initialize(name, params={})
16
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
+ <ResultCollector guiclass="AssertionVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
18
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
19
+ <objProp>
20
+ <name>saveConfig</name>
21
+ <value class="SampleSaveConfiguration">
22
+ <time>true</time>
23
+ <latency>true</latency>
24
+ <timestamp>true</timestamp>
25
+ <success>true</success>
26
+ <label>true</label>
27
+ <code>true</code>
28
+ <message>false</message>
29
+ <threadName>true</threadName>
30
+ <dataType>false</dataType>
31
+ <encoding>false</encoding>
32
+ <assertions>false</assertions>
33
+ <subresults>false</subresults>
34
+ <responseData>false</responseData>
35
+ <samplerData>false</samplerData>
36
+ <xml>false</xml>
37
+ <fieldNames>false</fieldNames>
38
+ <responseHeaders>false</responseHeaders>
39
+ <requestHeaders>false</requestHeaders>
40
+ <responseDataOnError>false</responseDataOnError>
41
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
42
+ <assertionsResultsToSave>0</assertionsResultsToSave>
43
+ <bytes>true</bytes>
44
+ <threadCounts>true</threadCounts>
45
+ <sampleCount>true</sampleCount>
46
+ </value>
47
+ </objProp>
48
+ <stringProp name="filename"/>
49
+ </ResultCollector>)
50
+ EOS
51
+ update params
52
+ end
53
+ end
54
+
55
+ end
56
+ end
@@ -0,0 +1,29 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class DSL
5
+ def beanshell_assertion(params={}, &block)
6
+ node = Gridinit::Jmeter::BeanshellAssertion.new(params)
7
+ attach_node(node, &block)
8
+ end
9
+ end
10
+
11
+ class BeanshellAssertion
12
+ attr_accessor :doc
13
+ include Helper
14
+
15
+ def initialize(name, params={})
16
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
+ <BeanShellAssertion guiclass="BeanShellAssertionGui" testclass="BeanShellAssertion" testname="#{name}" enabled="true">
18
+ <stringProp name="BeanShellAssertion.query"/>
19
+ <stringProp name="BeanShellAssertion.filename"/>
20
+ <stringProp name="BeanShellAssertion.parameters"/>
21
+ <boolProp name="BeanShellAssertion.resetInterpreter">false</boolProp>
22
+ </BeanShellAssertion>)
23
+ EOS
24
+ update params
25
+ end
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class DSL
5
+ def beanshell_listener(params={}, &block)
6
+ node = Gridinit::Jmeter::BeanshellListener.new(params)
7
+ attach_node(node, &block)
8
+ end
9
+ end
10
+
11
+ class BeanshellListener
12
+ attr_accessor :doc
13
+ include Helper
14
+
15
+ def initialize(name, params={})
16
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
+ <BeanShellListener guiclass="TestBeanGUI" testclass="BeanShellListener" testname="#{name}" enabled="true">
18
+ <stringProp name="filename"/>
19
+ <stringProp name="parameters"/>
20
+ <boolProp name="resetInterpreter">false</boolProp>
21
+ <stringProp name="script"/>
22
+ </BeanShellListener>)
23
+ EOS
24
+ update params
25
+ end
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class DSL
5
+ def beanshell_postprocessor(params={}, &block)
6
+ node = Gridinit::Jmeter::BeanshellPostprocessor.new(params)
7
+ attach_node(node, &block)
8
+ end
9
+ end
10
+
11
+ class BeanshellPostprocessor
12
+ attr_accessor :doc
13
+ include Helper
14
+
15
+ def initialize(name, params={})
16
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
+ <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="#{name}" enabled="true">
18
+ <stringProp name="filename"/>
19
+ <stringProp name="parameters"/>
20
+ <boolProp name="resetInterpreter">false</boolProp>
21
+ <stringProp name="script"/>
22
+ </BeanShellPostProcessor>)
23
+ EOS
24
+ update params
25
+ end
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class DSL
5
+ def beanshell_preprocessor(params={}, &block)
6
+ node = Gridinit::Jmeter::BeanshellPreprocessor.new(params)
7
+ attach_node(node, &block)
8
+ end
9
+ end
10
+
11
+ class BeanshellPreprocessor
12
+ attr_accessor :doc
13
+ include Helper
14
+
15
+ def initialize(name, params={})
16
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
+ <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="#{name}" enabled="true">
18
+ <stringProp name="filename"/>
19
+ <stringProp name="parameters"/>
20
+ <boolProp name="resetInterpreter">false</boolProp>
21
+ <stringProp name="script"/>
22
+ </BeanShellPreProcessor>)
23
+ EOS
24
+ update params
25
+ end
26
+ end
27
+
28
+ end
29
+ end