gridinit-jmeter 0.3.2 → 1.0.0.pre

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 (198) hide show
  1. data/Gemfile +2 -1
  2. data/README.md +51 -72
  3. data/examples/basic_assertion.rb +6 -6
  4. data/examples/basic_auth.rb +5 -5
  5. data/examples/basic_cache.rb +5 -5
  6. data/examples/basic_cookies.rb +5 -5
  7. data/examples/basic_extract.rb +4 -10
  8. data/examples/basic_gc_results.rb +12 -9
  9. data/examples/basic_google.rb +3 -3
  10. data/examples/basic_grid.rb +3 -6
  11. data/examples/basic_header.rb +12 -10
  12. data/examples/basic_ldap_ext.rb +11 -12
  13. data/examples/basic_post.rb +5 -6
  14. data/examples/basic_query_params.rb +3 -3
  15. data/examples/basic_think_time.rb +7 -4
  16. data/examples/basic_throughput_shaping_timer.rb +4 -4
  17. data/examples/etsy_login_browse.rb +21 -21
  18. data/lib/gridinit-jmeter/DSL.md +237 -0
  19. data/lib/gridinit-jmeter/{idl → dsl}/access_log_sampler.rb +4 -2
  20. data/lib/gridinit-jmeter/{idl → dsl}/aggregate_graph.rb +4 -2
  21. data/lib/gridinit-jmeter/{idl → dsl}/aggregate_report.rb +4 -2
  22. data/lib/gridinit-jmeter/{idl → dsl}/ajp13_sampler.rb +5 -3
  23. data/lib/gridinit-jmeter/{idl → dsl}/assertion_results.rb +4 -2
  24. data/lib/gridinit-jmeter/{idl → dsl}/beanshell_assertion.rb +4 -2
  25. data/lib/gridinit-jmeter/{idl → dsl}/beanshell_listener.rb +4 -2
  26. data/lib/gridinit-jmeter/{idl → dsl}/beanshell_postprocessor.rb +4 -2
  27. data/lib/gridinit-jmeter/{idl → dsl}/beanshell_preprocessor.rb +4 -2
  28. data/lib/gridinit-jmeter/{idl → dsl}/beanshell_sampler.rb +4 -2
  29. data/lib/gridinit-jmeter/{idl → dsl}/beanshell_timer.rb +4 -2
  30. data/lib/gridinit-jmeter/{idl → dsl}/bsf_assertion.rb +4 -2
  31. data/lib/gridinit-jmeter/{idl → dsl}/bsf_listener.rb +4 -2
  32. data/lib/gridinit-jmeter/{idl → dsl}/bsf_postprocessor.rb +4 -2
  33. data/lib/gridinit-jmeter/{idl → dsl}/bsf_preprocessor.rb +4 -2
  34. data/lib/gridinit-jmeter/{idl → dsl}/bsf_sampler.rb +4 -2
  35. data/lib/gridinit-jmeter/{idl → dsl}/bsf_timer.rb +4 -2
  36. data/lib/gridinit-jmeter/{idl → dsl}/compare_assertion.rb +4 -2
  37. data/lib/gridinit-jmeter/{idl → dsl}/comparison_assertion_visualizer.rb +4 -2
  38. data/lib/gridinit-jmeter/{idl → dsl}/constant_throughput_timer.rb +4 -2
  39. data/lib/gridinit-jmeter/{idl → dsl}/constant_timer.rb +4 -2
  40. data/lib/gridinit-jmeter/{idl → dsl}/counter.rb +4 -2
  41. data/lib/gridinit-jmeter/{idl → dsl}/cssjquery_extractor.rb +4 -2
  42. data/lib/gridinit-jmeter/{idl → dsl}/csv_data_set_config.rb +4 -2
  43. data/lib/gridinit-jmeter/{idl → dsl}/debug_postprocessor.rb +4 -2
  44. data/lib/gridinit-jmeter/{idl → dsl}/debug_sampler.rb +4 -2
  45. data/lib/gridinit-jmeter/{idl → dsl}/distribution_graphalpha.rb +4 -2
  46. data/lib/gridinit-jmeter/{idl → dsl}/duration_assertion.rb +4 -2
  47. data/lib/gridinit-jmeter/{idl → dsl}/foreach_controller.rb +4 -2
  48. data/lib/gridinit-jmeter/{idl → dsl}/ftp_request.rb +4 -2
  49. data/lib/gridinit-jmeter/{idl → dsl}/ftp_request_defaults.rb +4 -2
  50. data/lib/gridinit-jmeter/{idl → dsl}/gaussian_random_timer.rb +4 -2
  51. data/lib/gridinit-jmeter/{idl → dsl}/generate_summary_results.rb +4 -2
  52. data/lib/gridinit-jmeter/{idl → dsl}/graph_results.rb +4 -2
  53. data/lib/gridinit-jmeter/{idl → dsl}/html_assertion.rb +4 -2
  54. data/lib/gridinit-jmeter/{idl → dsl}/html_link_parser.rb +4 -2
  55. data/lib/gridinit-jmeter/{idl → dsl}/html_parameter_mask.rb +4 -2
  56. data/lib/gridinit-jmeter/dsl/http_authorization_manager.rb +36 -0
  57. data/lib/gridinit-jmeter/{idl → dsl}/http_cache_manager.rb +4 -2
  58. data/lib/gridinit-jmeter/{idl → dsl}/http_cookie_manager.rb +5 -2
  59. data/lib/gridinit-jmeter/{idl → dsl}/http_header_manager.rb +10 -3
  60. data/lib/gridinit-jmeter/{idl → dsl}/http_request.rb +5 -3
  61. data/lib/gridinit-jmeter/{idl → dsl}/http_request_defaults.rb +15 -4
  62. data/lib/gridinit-jmeter/{idl → dsl}/http_url_rewriting_modifier.rb +4 -2
  63. data/lib/gridinit-jmeter/{idl → dsl}/if_controller.rb +5 -2
  64. data/lib/gridinit-jmeter/{idl → dsl}/include_controller.rb +4 -2
  65. data/lib/gridinit-jmeter/{idl → dsl}/java_request.rb +4 -2
  66. data/lib/gridinit-jmeter/{idl → dsl}/java_request_defaults.rb +4 -2
  67. data/lib/gridinit-jmeter/{idl → dsl}/jdbc_connection_configuration.rb +4 -2
  68. data/lib/gridinit-jmeter/{idl → dsl}/jdbc_postprocessor.rb +4 -2
  69. data/lib/gridinit-jmeter/{idl → dsl}/jdbc_preprocessor.rb +4 -2
  70. data/lib/gridinit-jmeter/{idl → dsl}/jdbc_request.rb +4 -2
  71. data/lib/gridinit-jmeter/{idl → dsl}/jms_pointtopoint.rb +6 -4
  72. data/lib/gridinit-jmeter/{idl → dsl}/jms_publisher.rb +5 -3
  73. data/lib/gridinit-jmeter/{idl → dsl}/jms_subscriber.rb +4 -2
  74. data/lib/gridinit-jmeter/{idl → dsl}/jsr223_assertion.rb +4 -2
  75. data/lib/gridinit-jmeter/{idl → dsl}/jsr223_listener.rb +4 -2
  76. data/lib/gridinit-jmeter/{idl → dsl}/jsr223_postprocessor.rb +4 -2
  77. data/lib/gridinit-jmeter/{idl → dsl}/jsr223_preprocessor.rb +4 -2
  78. data/lib/gridinit-jmeter/{idl → dsl}/jsr223_sampler.rb +4 -2
  79. data/lib/gridinit-jmeter/{idl → dsl}/jsr223_timer.rb +4 -2
  80. data/lib/gridinit-jmeter/{idl → dsl}/junit_request.rb +4 -2
  81. data/lib/gridinit-jmeter/{idl → dsl}/keystore_configuration.rb +4 -2
  82. data/lib/gridinit-jmeter/{idl → dsl}/ldap_extended_request.rb +4 -2
  83. data/lib/gridinit-jmeter/{idl → dsl}/ldap_extended_request_defaults.rb +4 -2
  84. data/lib/gridinit-jmeter/{idl → dsl}/ldap_request.rb +5 -3
  85. data/lib/gridinit-jmeter/{idl → dsl}/ldap_request_defaults.rb +13 -4
  86. data/lib/gridinit-jmeter/{idl → dsl}/login_config_element.rb +4 -2
  87. data/lib/gridinit-jmeter/{idl → dsl}/loop_controller.rb +4 -2
  88. data/lib/gridinit-jmeter/{idl → dsl}/mail_reader_sampler.rb +4 -2
  89. data/lib/gridinit-jmeter/{idl → dsl}/mailer_visualizer.rb +4 -2
  90. data/lib/gridinit-jmeter/{idl → dsl}/md5hex_assertion.rb +4 -2
  91. data/lib/gridinit-jmeter/{idl → dsl}/module_controller.rb +4 -2
  92. data/lib/gridinit-jmeter/{idl → dsl}/monitor_results.rb +4 -2
  93. data/lib/gridinit-jmeter/{idl → dsl}/once_only_controller.rb +4 -2
  94. data/lib/gridinit-jmeter/{idl → dsl}/os_process_sampler.rb +6 -4
  95. data/lib/gridinit-jmeter/{idl → dsl}/poisson_random_timer.rb +4 -2
  96. data/lib/gridinit-jmeter/{idl → dsl}/random_controller.rb +4 -2
  97. data/lib/gridinit-jmeter/{idl → dsl}/random_order_controller.rb +4 -2
  98. data/lib/gridinit-jmeter/{idl → dsl}/random_variable.rb +4 -2
  99. data/lib/gridinit-jmeter/{idl → dsl}/recording_controller.rb +4 -2
  100. data/lib/gridinit-jmeter/{idl → dsl}/regex_user_parameters.rb +4 -2
  101. data/lib/gridinit-jmeter/{idl → dsl}/regular_expression_extractor.rb +5 -2
  102. data/lib/gridinit-jmeter/{idl → dsl}/response_assertion.rb +8 -3
  103. data/lib/gridinit-jmeter/{idl → dsl}/response_time_graph.rb +4 -2
  104. data/lib/gridinit-jmeter/{idl → dsl}/result_status_action_handler.rb +4 -2
  105. data/lib/gridinit-jmeter/{idl → dsl}/runtime_controller.rb +4 -2
  106. data/lib/gridinit-jmeter/{idl → dsl}/save_responses_to_a_file.rb +4 -2
  107. data/lib/gridinit-jmeter/{idl → dsl}/simple_config_element.rb +4 -2
  108. data/lib/gridinit-jmeter/{idl → dsl}/simple_controller.rb +4 -2
  109. data/lib/gridinit-jmeter/{idl → dsl}/simple_data_writer.rb +4 -2
  110. data/lib/gridinit-jmeter/{idl → dsl}/smime_assertion.rb +4 -2
  111. data/lib/gridinit-jmeter/{idl → dsl}/smtp_sampler.rb +4 -2
  112. data/lib/gridinit-jmeter/{idl → dsl}/soapxmlrpc_request.rb +4 -2
  113. data/lib/gridinit-jmeter/{idl → dsl}/spline_visualizer.rb +4 -2
  114. data/lib/gridinit-jmeter/{idl → dsl}/summary_report.rb +4 -2
  115. data/lib/gridinit-jmeter/{idl → dsl}/switch_controller.rb +4 -2
  116. data/lib/gridinit-jmeter/{idl → dsl}/synchronizing_timer.rb +4 -2
  117. data/lib/gridinit-jmeter/{idl → dsl}/tcp_sampler.rb +4 -2
  118. data/lib/gridinit-jmeter/{idl → dsl}/tcp_sampler_config.rb +4 -2
  119. data/lib/gridinit-jmeter/{idl → dsl}/test_action.rb +4 -2
  120. data/lib/gridinit-jmeter/{idl → dsl}/test_plan.rb +5 -3
  121. data/lib/gridinit-jmeter/{idl → dsl}/thread_group.rb +5 -3
  122. data/lib/gridinit-jmeter/{idl → dsl}/throughput_controller.rb +5 -3
  123. data/lib/gridinit-jmeter/{idl → dsl}/transaction_controller.rb +6 -3
  124. data/lib/gridinit-jmeter/{idl → dsl}/uniform_random_timer.rb +4 -2
  125. data/lib/gridinit-jmeter/dsl/user_defined_variables.rb +35 -0
  126. data/lib/gridinit-jmeter/{idl → dsl}/user_parameters.rb +4 -2
  127. data/lib/gridinit-jmeter/{idl → dsl}/view_results_in_table.rb +4 -2
  128. data/lib/gridinit-jmeter/{idl → dsl}/view_results_tree.rb +4 -2
  129. data/lib/gridinit-jmeter/{idl → dsl}/while_controller.rb +4 -2
  130. data/lib/gridinit-jmeter/{idl → dsl}/xml_assertion.rb +4 -2
  131. data/lib/gridinit-jmeter/{idl → dsl}/xml_schema_assertion.rb +4 -2
  132. data/lib/gridinit-jmeter/{idl → dsl}/xpath_assertion.rb +4 -2
  133. data/lib/gridinit-jmeter/{idl → dsl}/xpath_extractor.rb +4 -2
  134. data/lib/gridinit-jmeter/dsl.rb +170 -187
  135. data/lib/gridinit-jmeter/helpers/helper.rb +43 -0
  136. data/lib/gridinit-jmeter/helpers/parser.rb +109 -0
  137. data/lib/gridinit-jmeter/idl.rb +16 -6
  138. data/lib/gridinit-jmeter/idl.xml +54 -11
  139. data/lib/gridinit-jmeter/{listeners → plugins}/gc_console_status_logger.rb +0 -0
  140. data/lib/gridinit-jmeter/{listeners → plugins}/gc_latencies_over_time.rb +0 -0
  141. data/lib/gridinit-jmeter/{listeners → plugins}/gc_response_codes_per_second.rb +0 -0
  142. data/lib/gridinit-jmeter/{listeners → plugins}/gc_response_times_distribution.rb +0 -0
  143. data/lib/gridinit-jmeter/{listeners → plugins}/gc_response_times_over_time.rb +0 -0
  144. data/lib/gridinit-jmeter/{listeners → plugins}/gc_response_times_percentiles.rb +0 -0
  145. data/lib/gridinit-jmeter/{listeners → plugins}/gc_transactions_per_second.rb +0 -0
  146. data/lib/gridinit-jmeter/{timers/gc_throughput_shaping_timer.rb → plugins/gc_variable_throughput_timer.rb} +1 -1
  147. data/lib/gridinit-jmeter/version.rb +1 -1
  148. data/lib/gridinit-jmeter.rb +6 -105
  149. data/spec/dsl_spec.rb +377 -82
  150. metadata +131 -174
  151. data/examples/basic_proxy.rb +0 -8
  152. data/examples/basic_results.rb +0 -22
  153. data/examples/basic_run.rb +0 -12
  154. data/examples/basic_simple_data_writer.rb +0 -14
  155. data/examples/basic_stdout.rb +0 -8
  156. data/examples/basic_test_data.rb +0 -15
  157. data/examples/basic_testplan.jmx +0 -138
  158. data/examples/basic_testplan.rb +0 -44
  159. data/examples/jbhifi_now_search.rb +0 -94
  160. data/lib/gridinit-jmeter/assertions/response_assertion.rb +0 -55
  161. data/lib/gridinit-jmeter/config/auth_manager.rb +0 -26
  162. data/lib/gridinit-jmeter/config/cache_manager.rb +0 -20
  163. data/lib/gridinit-jmeter/config/cookie_manager.rb +0 -21
  164. data/lib/gridinit-jmeter/config/counter_config.rb +0 -24
  165. data/lib/gridinit-jmeter/config/header_manager.rb +0 -26
  166. data/lib/gridinit-jmeter/config/random_variable.rb +0 -24
  167. data/lib/gridinit-jmeter/config/request_defaults.rb +0 -31
  168. data/lib/gridinit-jmeter/config/user_defined_variable.rb +0 -25
  169. data/lib/gridinit-jmeter/controllers/if_controller.rb +0 -20
  170. data/lib/gridinit-jmeter/controllers/interleave.rb +0 -18
  171. data/lib/gridinit-jmeter/controllers/loop_controller.rb +0 -19
  172. data/lib/gridinit-jmeter/controllers/once_only.rb +0 -17
  173. data/lib/gridinit-jmeter/controllers/random_order.rb +0 -16
  174. data/lib/gridinit-jmeter/controllers/simple.rb +0 -17
  175. data/lib/gridinit-jmeter/controllers/switch.rb +0 -20
  176. data/lib/gridinit-jmeter/controllers/throughput.rb +0 -26
  177. data/lib/gridinit-jmeter/controllers/transaction.rb +0 -19
  178. data/lib/gridinit-jmeter/controllers/while_controller.rb +0 -18
  179. data/lib/gridinit-jmeter/helpers/dsl_helper.rb +0 -21
  180. data/lib/gridinit-jmeter/idl/http_authorization_manager.rb +0 -26
  181. data/lib/gridinit-jmeter/idl/user_defined_variables.rb +0 -26
  182. data/lib/gridinit-jmeter/listeners/aggregate_report.rb +0 -47
  183. data/lib/gridinit-jmeter/listeners/graph_visualizer.rb +0 -46
  184. data/lib/gridinit-jmeter/listeners/response_time_graph_visualizer.rb +0 -47
  185. data/lib/gridinit-jmeter/listeners/simple_data_writer.rb +0 -51
  186. data/lib/gridinit-jmeter/listeners/stat_visualizer.rb +0 -46
  187. data/lib/gridinit-jmeter/listeners/summary_report.rb +0 -46
  188. data/lib/gridinit-jmeter/listeners/table_visualizer.rb +0 -46
  189. data/lib/gridinit-jmeter/listeners/view_results_full_visualizer.rb +0 -57
  190. data/lib/gridinit-jmeter/post_processors/regex_extractor.rb +0 -34
  191. data/lib/gridinit-jmeter/post_processors/xpath_extractor.rb +0 -23
  192. data/lib/gridinit-jmeter/pre_processors/bean_shell_pre_processor.rb +0 -23
  193. data/lib/gridinit-jmeter/samplers/http_sampler.rb +0 -99
  194. data/lib/gridinit-jmeter/samplers/ldap_ext_sampler.rb +0 -36
  195. data/lib/gridinit-jmeter/samplers/soap_sampler.rb +0 -26
  196. data/lib/gridinit-jmeter/test_plan/test_plan.rb +0 -23
  197. data/lib/gridinit-jmeter/threads/thread_group.rb +0 -30
  198. data/lib/gridinit-jmeter/timers/gaussian_random_timer.rb +0 -18
@@ -12,13 +12,15 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'RandomController'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <RandomController guiclass="RandomControlGui" testclass="RandomController" testname="#{name}" enabled="true">
18
+ <RandomController guiclass="RandomControlGui" testclass="RandomController" testname="#{params[:name]}" enabled="true">
18
19
  <intProp name="InterleaveControl.style">1</intProp>
19
20
  </RandomController>)
20
21
  EOS
21
22
  update params
23
+ update_at_xpath params if params[:update_at_xpath]
22
24
  end
23
25
  end
24
26
 
@@ -12,11 +12,13 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'RandomOrderController'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <RandomOrderController guiclass="RandomOrderControllerGui" testclass="RandomOrderController" testname="#{name}" enabled="true"/>)
18
+ <RandomOrderController guiclass="RandomOrderControllerGui" testclass="RandomOrderController" testname="#{params[:name]}" enabled="true"/>)
18
19
  EOS
19
20
  update params
21
+ update_at_xpath params if params[:update_at_xpath]
20
22
  end
21
23
  end
22
24
 
@@ -12,9 +12,10 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'RandomVariable'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <RandomVariableConfig guiclass="TestBeanGUI" testclass="RandomVariableConfig" testname="#{name}" enabled="true">
18
+ <RandomVariableConfig guiclass="TestBeanGUI" testclass="RandomVariableConfig" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="maximumValue"/>
19
20
  <stringProp name="minimumValue">1</stringProp>
20
21
  <stringProp name="outputFormat"/>
@@ -24,6 +25,7 @@ module Gridinit
24
25
  </RandomVariableConfig>)
25
26
  EOS
26
27
  update params
28
+ update_at_xpath params if params[:update_at_xpath]
27
29
  end
28
30
  end
29
31
 
@@ -12,11 +12,13 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'RecordingController'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <RecordingController guiclass="RecordController" testclass="RecordingController" testname="#{name}" enabled="true"/>)
18
+ <RecordingController guiclass="RecordController" testclass="RecordingController" testname="#{params[:name]}" enabled="true"/>)
18
19
  EOS
19
20
  update params
21
+ update_at_xpath params if params[:update_at_xpath]
20
22
  end
21
23
  end
22
24
 
@@ -12,15 +12,17 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'RegexUserParameters'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <RegExUserParameters guiclass="RegExUserParametersGui" testclass="RegExUserParameters" testname="#{name}" enabled="true">
18
+ <RegExUserParameters guiclass="RegExUserParametersGui" testclass="RegExUserParameters" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="RegExUserParameters.regex_ref_name"/>
19
20
  <stringProp name="RegExUserParameters.param_names_gr_nr"/>
20
21
  <stringProp name="RegExUserParameters.param_values_gr_nr"/>
21
22
  </RegExUserParameters>)
22
23
  EOS
23
24
  update params
25
+ update_at_xpath params if params[:update_at_xpath]
24
26
  end
25
27
  end
26
28
 
@@ -12,18 +12,21 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'RegularExpressionExtractor'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="#{name}" enabled="true">
18
+ <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
19
20
  <stringProp name="RegexExtractor.refname"/>
20
21
  <stringProp name="RegexExtractor.regex"/>
21
22
  <stringProp name="RegexExtractor.template"/>
22
23
  <stringProp name="RegexExtractor.default"/>
23
24
  <stringProp name="RegexExtractor.match_number"/>
25
+ <stringProp name="Sample.scope">all</stringProp>
24
26
  </RegexExtractor>)
25
27
  EOS
26
28
  update params
29
+ update_at_xpath params if params[:update_at_xpath]
27
30
  end
28
31
  end
29
32
 
@@ -12,16 +12,21 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'ResponseAssertion'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="#{name}" enabled="true">
18
- <collectionProp name="Asserion.test_strings"/>
18
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="#{params[:name]}" enabled="true">
19
+ <collectionProp name="Asserion.test_strings">
20
+ <stringProp name="match"/>
21
+ </collectionProp>
19
22
  <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
20
23
  <boolProp name="Assertion.assume_success">false</boolProp>
21
24
  <intProp name="Assertion.test_type">2</intProp>
25
+ <stringProp name="Assertion.scope">all</stringProp>
22
26
  </ResponseAssertion>)
23
27
  EOS
24
28
  update params
29
+ update_at_xpath params if params[:update_at_xpath]
25
30
  end
26
31
  end
27
32
 
@@ -12,9 +12,10 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'ResponseTimeGraph'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <ResultCollector guiclass="RespTimeGraphVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
18
+ <ResultCollector guiclass="RespTimeGraphVisualizer" testclass="ResultCollector" testname="#{params[:name]}" enabled="true">
18
19
  <boolProp name="ResultCollector.error_logging">false</boolProp>
19
20
  <objProp>
20
21
  <name>saveConfig</name>
@@ -49,6 +50,7 @@ module Gridinit
49
50
  </ResultCollector>)
50
51
  EOS
51
52
  update params
53
+ update_at_xpath params if params[:update_at_xpath]
52
54
  end
53
55
  end
54
56
 
@@ -12,13 +12,15 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'ResultStatusActionHandler'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <ResultAction guiclass="ResultActionGui" testclass="ResultAction" testname="#{name}" enabled="true">
18
+ <ResultAction guiclass="ResultActionGui" testclass="ResultAction" testname="#{params[:name]}" enabled="true">
18
19
  <intProp name="OnError.action">0</intProp>
19
20
  </ResultAction>)
20
21
  EOS
21
22
  update params
23
+ update_at_xpath params if params[:update_at_xpath]
22
24
  end
23
25
  end
24
26
 
@@ -12,13 +12,15 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'RuntimeController'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <RunTime guiclass="RunTimeGui" testclass="RunTime" testname="#{name}" enabled="true">
18
+ <RunTime guiclass="RunTimeGui" testclass="RunTime" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="RunTime.seconds">1</stringProp>
19
20
  </RunTime>)
20
21
  EOS
21
22
  update params
23
+ update_at_xpath params if params[:update_at_xpath]
22
24
  end
23
25
  end
24
26
 
@@ -12,9 +12,10 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'SaveResponsesToAFile'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <ResultSaver guiclass="ResultSaverGui" testclass="ResultSaver" testname="#{name}" enabled="true">
18
+ <ResultSaver guiclass="ResultSaverGui" testclass="ResultSaver" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="FileSaver.filename"/>
19
20
  <boolProp name="FileSaver.errorsonly">false</boolProp>
20
21
  <boolProp name="FileSaver.skipautonumber">false</boolProp>
@@ -23,6 +24,7 @@ module Gridinit
23
24
  </ResultSaver>)
24
25
  EOS
25
26
  update params
27
+ update_at_xpath params if params[:update_at_xpath]
26
28
  end
27
29
  end
28
30
 
@@ -12,11 +12,13 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'SimpleConfigElement'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <ConfigTestElement guiclass="SimpleConfigGui" testclass="ConfigTestElement" testname="#{name}" enabled="true"/>)
18
+ <ConfigTestElement guiclass="SimpleConfigGui" testclass="ConfigTestElement" testname="#{params[:name]}" enabled="true"/>)
18
19
  EOS
19
20
  update params
21
+ update_at_xpath params if params[:update_at_xpath]
20
22
  end
21
23
  end
22
24
 
@@ -12,11 +12,13 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'SimpleController'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="#{name}" enabled="true"/>)
18
+ <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="#{params[:name]}" enabled="true"/>)
18
19
  EOS
19
20
  update params
21
+ update_at_xpath params if params[:update_at_xpath]
20
22
  end
21
23
  end
22
24
 
@@ -12,9 +12,10 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'SimpleDataWriter'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="#{name}" enabled="true">
18
+ <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="#{params[:name]}" enabled="true">
18
19
  <boolProp name="ResultCollector.error_logging">false</boolProp>
19
20
  <objProp>
20
21
  <name>saveConfig</name>
@@ -49,6 +50,7 @@ module Gridinit
49
50
  </ResultCollector>)
50
51
  EOS
51
52
  update params
53
+ update_at_xpath params if params[:update_at_xpath]
52
54
  end
53
55
  end
54
56
 
@@ -12,9 +12,10 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'SmimeAssertion'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <SMIMEAssertion guiclass="SMIMEAssertionGui" testclass="SMIMEAssertion" testname="#{name}" enabled="true">
18
+ <SMIMEAssertion guiclass="SMIMEAssertionGui" testclass="SMIMEAssertion" testname="#{params[:name]}" enabled="true">
18
19
  <boolProp name="SMIMEAssert.verifySignature">false</boolProp>
19
20
  <boolProp name="SMIMEAssert.notSigned">false</boolProp>
20
21
  <stringProp name="SMIMEAssert.issuerDn"/>
@@ -29,6 +30,7 @@ module Gridinit
29
30
  </SMIMEAssertion>)
30
31
  EOS
31
32
  update params
33
+ update_at_xpath params if params[:update_at_xpath]
32
34
  end
33
35
  end
34
36
 
@@ -12,9 +12,10 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'SmtpSampler'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <SmtpSampler guiclass="SmtpSamplerGui" testclass="SmtpSampler" testname="#{name}" enabled="true">
18
+ <SmtpSampler guiclass="SmtpSamplerGui" testclass="SmtpSampler" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="SMTPSampler.server"/>
19
20
  <stringProp name="SMTPSampler.serverPort"/>
20
21
  <stringProp name="SMTPSampler.mailFrom"/>
@@ -45,6 +46,7 @@ module Gridinit
45
46
  </SmtpSampler>)
46
47
  EOS
47
48
  update params
49
+ update_at_xpath params if params[:update_at_xpath]
48
50
  end
49
51
  end
50
52
 
@@ -12,9 +12,10 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'SoapxmlrpcRequest'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <SoapSampler guiclass="SoapSamplerGui" testclass="SoapSampler" testname="#{name}" enabled="true">
18
+ <SoapSampler guiclass="SoapSamplerGui" testclass="SoapSampler" testname="#{params[:name]}" enabled="true">
18
19
  <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
19
20
  <collectionProp name="Arguments.arguments"/>
20
21
  </elementProp>
@@ -27,6 +28,7 @@ module Gridinit
27
28
  </SoapSampler>)
28
29
  EOS
29
30
  update params
31
+ update_at_xpath params if params[:update_at_xpath]
30
32
  end
31
33
  end
32
34
 
@@ -12,9 +12,10 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'SplineVisualizer'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <ResultCollector guiclass="SplineVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
18
+ <ResultCollector guiclass="SplineVisualizer" testclass="ResultCollector" testname="#{params[:name]}" enabled="true">
18
19
  <boolProp name="ResultCollector.error_logging">false</boolProp>
19
20
  <objProp>
20
21
  <name>saveConfig</name>
@@ -49,6 +50,7 @@ module Gridinit
49
50
  </ResultCollector>)
50
51
  EOS
51
52
  update params
53
+ update_at_xpath params if params[:update_at_xpath]
52
54
  end
53
55
  end
54
56
 
@@ -12,9 +12,10 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'SummaryReport'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="#{name}" enabled="true">
18
+ <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="#{params[:name]}" enabled="true">
18
19
  <boolProp name="ResultCollector.error_logging">false</boolProp>
19
20
  <objProp>
20
21
  <name>saveConfig</name>
@@ -49,6 +50,7 @@ module Gridinit
49
50
  </ResultCollector>)
50
51
  EOS
51
52
  update params
53
+ update_at_xpath params if params[:update_at_xpath]
52
54
  end
53
55
  end
54
56
 
@@ -12,13 +12,15 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'SwitchController'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="#{name}" enabled="true">
18
+ <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="SwitchController.value"/>
19
20
  </SwitchController>)
20
21
  EOS
21
22
  update params
23
+ update_at_xpath params if params[:update_at_xpath]
22
24
  end
23
25
  end
24
26
 
@@ -12,13 +12,15 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'SynchronizingTimer'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="#{name}" enabled="true">
18
+ <SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="#{params[:name]}" enabled="true">
18
19
  <intProp name="groupSize">0</intProp>
19
20
  </SyncTimer>)
20
21
  EOS
21
22
  update params
23
+ update_at_xpath params if params[:update_at_xpath]
22
24
  end
23
25
  end
24
26
 
@@ -12,9 +12,10 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'TcpSampler'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <TCPSampler guiclass="TCPSamplerGui" testclass="TCPSampler" testname="#{name}" enabled="true">
18
+ <TCPSampler guiclass="TCPSamplerGui" testclass="TCPSampler" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="TCPSampler.server"/>
19
20
  <boolProp name="TCPSampler.reUseConnection">true</boolProp>
20
21
  <stringProp name="TCPSampler.port"/>
@@ -27,6 +28,7 @@ module Gridinit
27
28
  </TCPSampler>)
28
29
  EOS
29
30
  update params
31
+ update_at_xpath params if params[:update_at_xpath]
30
32
  end
31
33
  end
32
34
 
@@ -12,9 +12,10 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'TcpSamplerConfig'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <ConfigTestElement guiclass="TCPConfigGui" testclass="ConfigTestElement" testname="#{name}" enabled="true">
18
+ <ConfigTestElement guiclass="TCPConfigGui" testclass="ConfigTestElement" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="TCPSampler.server"/>
19
20
  <boolProp name="TCPSampler.reUseConnection">true</boolProp>
20
21
  <stringProp name="TCPSampler.port"/>
@@ -25,6 +26,7 @@ module Gridinit
25
26
  </ConfigTestElement>)
26
27
  EOS
27
28
  update params
29
+ update_at_xpath params if params[:update_at_xpath]
28
30
  end
29
31
  end
30
32
 
@@ -12,15 +12,17 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'TestAction'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <TestAction guiclass="TestActionGui" testclass="TestAction" testname="#{name}" enabled="true">
18
+ <TestAction guiclass="TestActionGui" testclass="TestAction" testname="#{params[:name]}" enabled="true">
18
19
  <intProp name="ActionProcessor.action">1</intProp>
19
20
  <intProp name="ActionProcessor.target">0</intProp>
20
21
  <stringProp name="ActionProcessor.duration"/>
21
22
  </TestAction>)
22
23
  EOS
23
24
  update params
25
+ update_at_xpath params if params[:update_at_xpath]
24
26
  end
25
27
  end
26
28
 
@@ -12,19 +12,21 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'TestPlan'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="#{name}" enabled="true">
18
+ <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="TestPlan.comments"/>
19
20
  <boolProp name="TestPlan.functional_mode">false</boolProp>
20
21
  <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
21
- <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="#{name}" enabled="true">
22
+ <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="#{params[:name]}" enabled="true">
22
23
  <collectionProp name="Arguments.arguments"/>
23
24
  </elementProp>
24
25
  <stringProp name="TestPlan.user_define_classpath"/>
25
26
  </TestPlan>)
26
27
  EOS
27
28
  update params
29
+ update_at_xpath params if params[:update_at_xpath]
28
30
  end
29
31
  end
30
32
 
@@ -12,11 +12,12 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'ThreadGroup'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="#{name}" enabled="true">
18
+ <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
19
- <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="#{name}" enabled="true">
20
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="#{params[:name]}" enabled="true">
20
21
  <boolProp name="LoopController.continue_forever">false</boolProp>
21
22
  <stringProp name="LoopController.loops">1</stringProp>
22
23
  </elementProp>
@@ -30,6 +31,7 @@ module Gridinit
30
31
  </ThreadGroup>)
31
32
  EOS
32
33
  update params
34
+ update_at_xpath params if params[:update_at_xpath]
33
35
  end
34
36
  end
35
37
 
@@ -12,11 +12,12 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'ThroughputController'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <ThroughputController guiclass="ThroughputControllerGui" testclass="ThroughputController" testname="#{name}" enabled="true">
18
+ <ThroughputController guiclass="ThroughputControllerGui" testclass="ThroughputController" testname="#{params[:name]}" enabled="true">
18
19
  <intProp name="ThroughputController.style">0</intProp>
19
- <boolProp name="ThroughputController.perThread">true</boolProp>
20
+ <boolProp name="ThroughputController.perThread">false</boolProp>
20
21
  <intProp name="ThroughputController.maxThroughput">1</intProp>
21
22
  <FloatProperty>
22
23
  <name>ThroughputController.percentThroughput</name>
@@ -26,6 +27,7 @@ module Gridinit
26
27
  </ThroughputController>)
27
28
  EOS
28
29
  update params
30
+ update_at_xpath params if params[:update_at_xpath]
29
31
  end
30
32
  end
31
33
 
@@ -12,13 +12,16 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'TransactionController'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="#{name}" enabled="true">
18
- <boolProp name="TransactionController.parent">false</boolProp>
18
+ <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="#{params[:name]}" enabled="true">
19
+ <boolProp name="TransactionController.parent">true</boolProp>
20
+ <boolProp name="TransactionController.includeTimers">false</boolProp>
19
21
  </TransactionController>)
20
22
  EOS
21
23
  update params
24
+ update_at_xpath params if params[:update_at_xpath]
22
25
  end
23
26
  end
24
27
 
@@ -12,14 +12,16 @@ module Gridinit
12
12
  attr_accessor :doc
13
13
  include Helper
14
14
 
15
- def initialize(name, params={})
15
+ def initialize(params={})
16
+ params[:name] ||= 'UniformRandomTimer'
16
17
  @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
17
- <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="#{name}" enabled="true">
18
+ <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="#{params[:name]}" enabled="true">
18
19
  <stringProp name="ConstantTimer.delay">0</stringProp>
19
20
  <stringProp name="RandomTimer.range">100.0</stringProp>
20
21
  </UniformRandomTimer>)
21
22
  EOS
22
23
  update params
24
+ update_at_xpath params if params[:update_at_xpath]
23
25
  end
24
26
  end
25
27
 
@@ -0,0 +1,35 @@
1
+ module Gridinit
2
+ module Jmeter
3
+
4
+ class DSL
5
+ def user_defined_variables(params={}, &block)
6
+ node = Gridinit::Jmeter::UserDefinedVariables.new(params)
7
+ attach_node(node, &block)
8
+ end
9
+ end
10
+
11
+ class UserDefinedVariables
12
+ attr_accessor :doc
13
+ include Helper
14
+
15
+ def initialize(params={})
16
+ params[:name] ||= 'UserDefinedVariables'
17
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
18
+ <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="#{params[:name]}" enabled="true">
19
+ <collectionProp name="Arguments.arguments">
20
+ <elementProp name="testguid" elementType="Argument">
21
+ <stringProp name="Argument.name"/>
22
+ <stringProp name="Argument.value"/>
23
+ <stringProp name="Argument.metadata">=</stringProp>
24
+ </elementProp>
25
+ </collectionProp>
26
+ <stringProp name="TestPlan.comments"/>
27
+ </Arguments>)
28
+ EOS
29
+ update params
30
+ update_at_xpath params if params[:update_at_xpath]
31
+ end
32
+ end
33
+
34
+ end
35
+ end