jmeter-ruby 3.0.0

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 (266) hide show
  1. checksums.yaml +7 -0
  2. data/.gitattributes +22 -0
  3. data/.github/workflows/ci.yml +54 -0
  4. data/.gitignore +24 -0
  5. data/.rspec +1 -0
  6. data/.ruby-version +1 -0
  7. data/CHANGES.md +77 -0
  8. data/Gemfile +23 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +434 -0
  11. data/Rakefile +18 -0
  12. data/examples/OS_process_sampler.rb +24 -0
  13. data/examples/assertion_results.rb +18 -0
  14. data/examples/basic_auth.rb +11 -0
  15. data/examples/browser_headers.rb +7 -0
  16. data/examples/composite_graph.rb +29 -0
  17. data/examples/constant_throughput_timer.rb +11 -0
  18. data/examples/csv_data_set.rb +11 -0
  19. data/examples/dummy_sampler.rb +9 -0
  20. data/examples/duration_assertion.rb +10 -0
  21. data/examples/etsy_login_browse.rb +61 -0
  22. data/examples/extract.rb +12 -0
  23. data/examples/foreach_controller.rb +29 -0
  24. data/examples/header_manager.rb +29 -0
  25. data/examples/http_cache_manager.rb +11 -0
  26. data/examples/http_cookie_manager.rb +11 -0
  27. data/examples/http_request_defaults.rb +11 -0
  28. data/examples/http_request_post.rb +11 -0
  29. data/examples/http_request_with_files.rb +13 -0
  30. data/examples/http_request_with_query_params.rb +8 -0
  31. data/examples/jmeter_plugins_graphs.rb +22 -0
  32. data/examples/json_path_assertions.rb +11 -0
  33. data/examples/json_path_extractor.rb +10 -0
  34. data/examples/json_path_postprocessor.rb +10 -0
  35. data/examples/jsr223_assertion.rb +13 -0
  36. data/examples/ldap_sampler.rb +16 -0
  37. data/examples/loadosophia.rb +18 -0
  38. data/examples/loop_controller.rb +10 -0
  39. data/examples/loops_with_counter.rb +15 -0
  40. data/examples/once_only_controller.rb +15 -0
  41. data/examples/perfmon.rb +46 -0
  42. data/examples/real_custom_methods.rb +19 -0
  43. data/examples/real_page_objects.rb +41 -0
  44. data/examples/real_redis_data_set_with_setup.rb +123 -0
  45. data/examples/real_user_objects_github.rb +112 -0
  46. data/examples/regular_expression_extractor.rb +12 -0
  47. data/examples/response_assertion.rb +15 -0
  48. data/examples/response_time_percentiles_graph.rb +11 -0
  49. data/examples/rsync.rb +16 -0
  50. data/examples/sample_transaction.rb +18 -0
  51. data/examples/simple_data_writer_listener.rb +11 -0
  52. data/examples/stepping_thread_group.rb +30 -0
  53. data/examples/test_fragment.rb +14 -0
  54. data/examples/think_time.rb +15 -0
  55. data/examples/thread_groups.rb +7 -0
  56. data/examples/throughput_controller.rb +14 -0
  57. data/examples/throughput_shaping_timer.rb +20 -0
  58. data/examples/ultimate_thread_group.rb +39 -0
  59. data/examples/unicode.rb +8 -0
  60. data/examples/user_defined_variables.rb +10 -0
  61. data/examples/user_parameters.rb +28 -0
  62. data/examples/uuid_per_iteration.rb +15 -0
  63. data/jmeter-ruby.gemspec +28 -0
  64. data/lib/jmeter-ruby/DSL.md +235 -0
  65. data/lib/jmeter-ruby/dsl/access_log_sampler.rb +32 -0
  66. data/lib/jmeter-ruby/dsl/aggregate_graph.rb +55 -0
  67. data/lib/jmeter-ruby/dsl/aggregate_report.rb +55 -0
  68. data/lib/jmeter-ruby/dsl/ajp13_sampler.rb +41 -0
  69. data/lib/jmeter-ruby/dsl/assertion_results.rb +55 -0
  70. data/lib/jmeter-ruby/dsl/beanshell_assertion.rb +28 -0
  71. data/lib/jmeter-ruby/dsl/beanshell_listener.rb +28 -0
  72. data/lib/jmeter-ruby/dsl/beanshell_postprocessor.rb +28 -0
  73. data/lib/jmeter-ruby/dsl/beanshell_preprocessor.rb +28 -0
  74. data/lib/jmeter-ruby/dsl/beanshell_sampler.rb +28 -0
  75. data/lib/jmeter-ruby/dsl/beanshell_timer.rb +28 -0
  76. data/lib/jmeter-ruby/dsl/bsf_assertion.rb +28 -0
  77. data/lib/jmeter-ruby/dsl/bsf_listener.rb +28 -0
  78. data/lib/jmeter-ruby/dsl/bsf_postprocessor.rb +28 -0
  79. data/lib/jmeter-ruby/dsl/bsf_preprocessor.rb +28 -0
  80. data/lib/jmeter-ruby/dsl/bsf_sampler.rb +28 -0
  81. data/lib/jmeter-ruby/dsl/bsf_timer.rb +28 -0
  82. data/lib/jmeter-ruby/dsl/compare_assertion.rb +27 -0
  83. data/lib/jmeter-ruby/dsl/comparison_assertion_visualizer.rb +55 -0
  84. data/lib/jmeter-ruby/dsl/constant_throughput_timer.rb +26 -0
  85. data/lib/jmeter-ruby/dsl/constant_timer.rb +25 -0
  86. data/lib/jmeter-ruby/dsl/counter.rb +31 -0
  87. data/lib/jmeter-ruby/dsl/cssjquery_extractor.rb +31 -0
  88. data/lib/jmeter-ruby/dsl/csv_data_set_config.rb +33 -0
  89. data/lib/jmeter-ruby/dsl/debug_postprocessor.rb +28 -0
  90. data/lib/jmeter-ruby/dsl/debug_sampler.rb +27 -0
  91. data/lib/jmeter-ruby/dsl/distribution_graphalpha.rb +55 -0
  92. data/lib/jmeter-ruby/dsl/duration_assertion.rb +25 -0
  93. data/lib/jmeter-ruby/dsl/foreach_controller.rb +27 -0
  94. data/lib/jmeter-ruby/dsl/ftp_request.rb +34 -0
  95. data/lib/jmeter-ruby/dsl/ftp_request_defaults.rb +32 -0
  96. data/lib/jmeter-ruby/dsl/gaussian_random_timer.rb +26 -0
  97. data/lib/jmeter-ruby/dsl/generate_summary_results.rb +23 -0
  98. data/lib/jmeter-ruby/dsl/graph_results.rb +55 -0
  99. data/lib/jmeter-ruby/dsl/html_assertion.rb +30 -0
  100. data/lib/jmeter-ruby/dsl/html_link_parser.rb +23 -0
  101. data/lib/jmeter-ruby/dsl/html_parameter_mask.rb +32 -0
  102. data/lib/jmeter-ruby/dsl/http_authorization_manager.rb +33 -0
  103. data/lib/jmeter-ruby/dsl/http_cache_manager.rb +26 -0
  104. data/lib/jmeter-ruby/dsl/http_cookie_manager.rb +28 -0
  105. data/lib/jmeter-ruby/dsl/http_header_manager.rb +30 -0
  106. data/lib/jmeter-ruby/dsl/http_request.rb +41 -0
  107. data/lib/jmeter-ruby/dsl/http_request_defaults.rb +41 -0
  108. data/lib/jmeter-ruby/dsl/http_url_rewriting_modifier.rb +30 -0
  109. data/lib/jmeter-ruby/dsl/if_controller.rb +27 -0
  110. data/lib/jmeter-ruby/dsl/include_controller.rb +25 -0
  111. data/lib/jmeter-ruby/dsl/java_request.rb +69 -0
  112. data/lib/jmeter-ruby/dsl/java_request_defaults.rb +69 -0
  113. data/lib/jmeter-ruby/dsl/jdbc_connection_configuration.rb +37 -0
  114. data/lib/jmeter-ruby/dsl/jdbc_postprocessor.rb +33 -0
  115. data/lib/jmeter-ruby/dsl/jdbc_preprocessor.rb +33 -0
  116. data/lib/jmeter-ruby/dsl/jdbc_request.rb +33 -0
  117. data/lib/jmeter-ruby/dsl/jms_pointtopoint.rb +41 -0
  118. data/lib/jmeter-ruby/dsl/jms_publisher.rb +43 -0
  119. data/lib/jmeter-ruby/dsl/jms_subscriber.rb +35 -0
  120. data/lib/jmeter-ruby/dsl/json_path_postprocessor.rb +27 -0
  121. data/lib/jmeter-ruby/dsl/jsr223_assertion.rb +29 -0
  122. data/lib/jmeter-ruby/dsl/jsr223_listener.rb +29 -0
  123. data/lib/jmeter-ruby/dsl/jsr223_postprocessor.rb +29 -0
  124. data/lib/jmeter-ruby/dsl/jsr223_preprocessor.rb +29 -0
  125. data/lib/jmeter-ruby/dsl/jsr223_sampler.rb +29 -0
  126. data/lib/jmeter-ruby/dsl/jsr223_timer.rb +29 -0
  127. data/lib/jmeter-ruby/dsl/junit_request.rb +37 -0
  128. data/lib/jmeter-ruby/dsl/keystore_configuration.rb +28 -0
  129. data/lib/jmeter-ruby/dsl/ldap_extended_request.rb +42 -0
  130. data/lib/jmeter-ruby/dsl/ldap_extended_request_defaults.rb +42 -0
  131. data/lib/jmeter-ruby/dsl/ldap_request.rb +35 -0
  132. data/lib/jmeter-ruby/dsl/ldap_request_defaults.rb +39 -0
  133. data/lib/jmeter-ruby/dsl/login_config_element.rb +26 -0
  134. data/lib/jmeter-ruby/dsl/loop_controller.rb +26 -0
  135. data/lib/jmeter-ruby/dsl/mail_reader_sampler.rb +37 -0
  136. data/lib/jmeter-ruby/dsl/mailer_visualizer.rb +64 -0
  137. data/lib/jmeter-ruby/dsl/md5hex_assertion.rb +25 -0
  138. data/lib/jmeter-ruby/dsl/module_controller.rb +25 -0
  139. data/lib/jmeter-ruby/dsl/monitor_results.rb +55 -0
  140. data/lib/jmeter-ruby/dsl/once_only_controller.rb +23 -0
  141. data/lib/jmeter-ruby/dsl/os_process_sampler.rb +34 -0
  142. data/lib/jmeter-ruby/dsl/poisson_random_timer.rb +26 -0
  143. data/lib/jmeter-ruby/dsl/random_controller.rb +25 -0
  144. data/lib/jmeter-ruby/dsl/random_order_controller.rb +23 -0
  145. data/lib/jmeter-ruby/dsl/random_variable.rb +30 -0
  146. data/lib/jmeter-ruby/dsl/recording_controller.rb +23 -0
  147. data/lib/jmeter-ruby/dsl/regex_user_parameters.rb +27 -0
  148. data/lib/jmeter-ruby/dsl/regular_expression_extractor.rb +32 -0
  149. data/lib/jmeter-ruby/dsl/response_assertion.rb +31 -0
  150. data/lib/jmeter-ruby/dsl/response_time_graph.rb +55 -0
  151. data/lib/jmeter-ruby/dsl/result_status_action_handler.rb +25 -0
  152. data/lib/jmeter-ruby/dsl/runtime_controller.rb +25 -0
  153. data/lib/jmeter-ruby/dsl/save_responses_to_a_file.rb +29 -0
  154. data/lib/jmeter-ruby/dsl/setup_thread_group.rb +36 -0
  155. data/lib/jmeter-ruby/dsl/simple_config_element.rb +23 -0
  156. data/lib/jmeter-ruby/dsl/simple_controller.rb +23 -0
  157. data/lib/jmeter-ruby/dsl/simple_data_writer.rb +55 -0
  158. data/lib/jmeter-ruby/dsl/smime_assertion.rb +35 -0
  159. data/lib/jmeter-ruby/dsl/smtp_sampler.rb +51 -0
  160. data/lib/jmeter-ruby/dsl/soapxmlrpc_request.rb +33 -0
  161. data/lib/jmeter-ruby/dsl/spline_visualizer.rb +55 -0
  162. data/lib/jmeter-ruby/dsl/summary_report.rb +55 -0
  163. data/lib/jmeter-ruby/dsl/switch_controller.rb +25 -0
  164. data/lib/jmeter-ruby/dsl/synchronizing_timer.rb +26 -0
  165. data/lib/jmeter-ruby/dsl/tcp_sampler.rb +33 -0
  166. data/lib/jmeter-ruby/dsl/tcp_sampler_config.rb +31 -0
  167. data/lib/jmeter-ruby/dsl/test_action.rb +27 -0
  168. data/lib/jmeter-ruby/dsl/test_fragment.rb +23 -0
  169. data/lib/jmeter-ruby/dsl/test_plan.rb +31 -0
  170. data/lib/jmeter-ruby/dsl/thread_group.rb +37 -0
  171. data/lib/jmeter-ruby/dsl/throughput_controller.rb +32 -0
  172. data/lib/jmeter-ruby/dsl/transaction_controller.rb +26 -0
  173. data/lib/jmeter-ruby/dsl/uniform_random_timer.rb +26 -0
  174. data/lib/jmeter-ruby/dsl/user_defined_variables.rb +33 -0
  175. data/lib/jmeter-ruby/dsl/user_parameters.rb +30 -0
  176. data/lib/jmeter-ruby/dsl/view_results_in_table.rb +55 -0
  177. data/lib/jmeter-ruby/dsl/view_results_tree.rb +55 -0
  178. data/lib/jmeter-ruby/dsl/while_controller.rb +25 -0
  179. data/lib/jmeter-ruby/dsl/xml_assertion.rb +23 -0
  180. data/lib/jmeter-ruby/dsl/xml_schema_assertion.rb +25 -0
  181. data/lib/jmeter-ruby/dsl/xpath_assertion.rb +31 -0
  182. data/lib/jmeter-ruby/dsl/xpath_extractor.rb +31 -0
  183. data/lib/jmeter-ruby/dsl.rb +102 -0
  184. data/lib/jmeter-ruby/extend/assertions/response_assertion.rb +36 -0
  185. data/lib/jmeter-ruby/extend/config_elements/header_manager.rb +13 -0
  186. data/lib/jmeter-ruby/extend/config_elements/http_cache_manager.rb +12 -0
  187. data/lib/jmeter-ruby/extend/config_elements/http_cookie_manager.rb +36 -0
  188. data/lib/jmeter-ruby/extend/config_elements/http_request_defaults.rb +39 -0
  189. data/lib/jmeter-ruby/extend/config_elements/user_defined_variables.rb +13 -0
  190. data/lib/jmeter-ruby/extend/config_elements/user_parameters.rb +31 -0
  191. data/lib/jmeter-ruby/extend/controllers/foreach_controller.rb +27 -0
  192. data/lib/jmeter-ruby/extend/controllers/loop_controller.rb +11 -0
  193. data/lib/jmeter-ruby/extend/controllers/module_controller.rb +23 -0
  194. data/lib/jmeter-ruby/extend/controllers/throughput_controller.rb +15 -0
  195. data/lib/jmeter-ruby/extend/controllers/transaction_controller.rb +14 -0
  196. data/lib/jmeter-ruby/extend/misc/aliases.rb +21 -0
  197. data/lib/jmeter-ruby/extend/misc/exists.rb +13 -0
  198. data/lib/jmeter-ruby/extend/misc/rsync.rb +24 -0
  199. data/lib/jmeter-ruby/extend/misc/uuid.rb +12 -0
  200. data/lib/jmeter-ruby/extend/misc/with_helpers.rb +27 -0
  201. data/lib/jmeter-ruby/extend/plugins/jmeter_plugins.rb +120 -0
  202. data/lib/jmeter-ruby/extend/processors/extract.rb +28 -0
  203. data/lib/jmeter-ruby/extend/processors/regular_expression_extractor.rb +25 -0
  204. data/lib/jmeter-ruby/extend/samplers/http_request.rb +58 -0
  205. data/lib/jmeter-ruby/extend/samplers/jms_pointtopoint.rb +26 -0
  206. data/lib/jmeter-ruby/extend/samplers/soapxmlrpc_request.rb +9 -0
  207. data/lib/jmeter-ruby/extend/threads/setup_thread_group.rb +18 -0
  208. data/lib/jmeter-ruby/extend/threads/thread_group.rb +19 -0
  209. data/lib/jmeter-ruby/extend/timers/constant_throughput_timer.rb +11 -0
  210. data/lib/jmeter-ruby/extend/timers/random_timer.rb +14 -0
  211. data/lib/jmeter-ruby/helpers/fallback_content_proxy.rb +54 -0
  212. data/lib/jmeter-ruby/helpers/helper.rb +75 -0
  213. data/lib/jmeter-ruby/helpers/logger-colors.rb +48 -0
  214. data/lib/jmeter-ruby/helpers/parser.rb +135 -0
  215. data/lib/jmeter-ruby/helpers/strip-heredoc.rb +5 -0
  216. data/lib/jmeter-ruby/helpers/user-agents.rb +27 -0
  217. data/lib/jmeter-ruby/idl.rb +70 -0
  218. data/lib/jmeter-ruby/idl.xml +1488 -0
  219. data/lib/jmeter-ruby/plugins/active_threads_over_time.rb +57 -0
  220. data/lib/jmeter-ruby/plugins/composite_graph.rb +71 -0
  221. data/lib/jmeter-ruby/plugins/console_status_logger.rb +15 -0
  222. data/lib/jmeter-ruby/plugins/dummy_sampler.rb +26 -0
  223. data/lib/jmeter-ruby/plugins/jmx_collector.rb +73 -0
  224. data/lib/jmeter-ruby/plugins/json_path_assertion.rb +19 -0
  225. data/lib/jmeter-ruby/plugins/json_path_extractor.rb +20 -0
  226. data/lib/jmeter-ruby/plugins/latencies_over_time.rb +49 -0
  227. data/lib/jmeter-ruby/plugins/loadosophia_uploader.rb +63 -0
  228. data/lib/jmeter-ruby/plugins/perfmon_collector.rb +80 -0
  229. data/lib/jmeter-ruby/plugins/redis_data_set.rb +39 -0
  230. data/lib/jmeter-ruby/plugins/response_codes_per_second.rb +49 -0
  231. data/lib/jmeter-ruby/plugins/response_times_distribution.rb +49 -0
  232. data/lib/jmeter-ruby/plugins/response_times_over_time.rb +50 -0
  233. data/lib/jmeter-ruby/plugins/response_times_percentiles.rb +51 -0
  234. data/lib/jmeter-ruby/plugins/stepping_thread_group.rb +30 -0
  235. data/lib/jmeter-ruby/plugins/transactions_per_second.rb +50 -0
  236. data/lib/jmeter-ruby/plugins/ultimate_thread_group.rb +23 -0
  237. data/lib/jmeter-ruby/plugins/variable_throughput_timer.rb +27 -0
  238. data/lib/jmeter-ruby/version.rb +12 -0
  239. data/lib/jmeter-ruby.rb +27 -0
  240. data/mise.toml +2 -0
  241. data/script/release +162 -0
  242. data/spec/constant_throughput_timer_spec.rb +20 -0
  243. data/spec/csv_data_set_config_spec.rb +33 -0
  244. data/spec/header_manager_spec.rb +37 -0
  245. data/spec/http_cache_manager_spec.rb +29 -0
  246. data/spec/http_cookie_manager_spec.rb +169 -0
  247. data/spec/http_request_defaults_spec.rb +57 -0
  248. data/spec/http_request_spec.rb +305 -0
  249. data/spec/jmeter_plugins_spec.rb +245 -0
  250. data/spec/json_extractor_spec.rb +19 -0
  251. data/spec/json_path_assertion_spec.rb +28 -0
  252. data/spec/logic_controller_spec.rb +148 -0
  253. data/spec/loop_controller_spec.rb +19 -0
  254. data/spec/module_controller_spec.rb +56 -0
  255. data/spec/regular_expression_extractor_spec.rb +63 -0
  256. data/spec/response_assertion_spec.rb +69 -0
  257. data/spec/setup_thread_group_spec.rb +31 -0
  258. data/spec/spec_helper.rb +19 -0
  259. data/spec/thread_group_spec.rb +57 -0
  260. data/spec/throughput_controller_spec.rb +24 -0
  261. data/spec/transaction_controller_spec.rb +30 -0
  262. data/spec/user_defined_variables_spec.rb +22 -0
  263. data/spec/user_parameters_spec.rb +45 -0
  264. data/spec/with_helpers_spec.rb +57 -0
  265. data/spec/xpath_extractor_spec.rb +15 -0
  266. metadata +360 -0
@@ -0,0 +1,57 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class ActiveThreadsOverTime
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(params={})
7
+ testname = params.kind_of?(Array) ? 'ActiveThreadsOverTime' : (params[:name] || 'ActiveThreadsOverTime')
8
+ @doc = Nokogiri::XML(<<-XML.strip_heredoc)
9
+ <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="#{testname}" enabled="true">
10
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
11
+ <objProp>
12
+ <name>saveConfig</name>
13
+ <value class="SampleSaveConfiguration">
14
+ <time>true</time>
15
+ <latency>true</latency>
16
+ <timestamp>true</timestamp>
17
+ <success>true</success>
18
+ <label>true</label>
19
+ <code>true</code>
20
+ <message>false</message>
21
+ <threadName>true</threadName>
22
+ <dataType>false</dataType>
23
+ <encoding>false</encoding>
24
+ <assertions>false</assertions>
25
+ <subresults>false</subresults>
26
+ <responseData>false</responseData>
27
+ <samplerData>false</samplerData>
28
+ <xml>false</xml>
29
+ <fieldNames>false</fieldNames>
30
+ <responseHeaders>false</responseHeaders>
31
+ <requestHeaders>false</requestHeaders>
32
+ <responseDataOnError>false</responseDataOnError>
33
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
34
+ <assertionsResultsToSave>0</assertionsResultsToSave>
35
+ <bytes>true</bytes>
36
+ <threadCounts>true</threadCounts>
37
+ <sampleCount>true</sampleCount>
38
+ </value>
39
+ </objProp>
40
+ <stringProp name="filename"></stringProp>
41
+ <longProp name="interval_grouping">500</longProp>
42
+ <boolProp name="graph_aggregated">false</boolProp>
43
+ <stringProp name="include_sample_labels"></stringProp>
44
+ <stringProp name="exclude_sample_labels"></stringProp>
45
+ <stringProp name="start_offset"></stringProp>
46
+ <stringProp name="end_offset"></stringProp>
47
+ <boolProp name="include_checkbox_state">false</boolProp>
48
+ <boolProp name="exclude_checkbox_state">false</boolProp>
49
+ </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
50
+ XML
51
+ update params
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+
@@ -0,0 +1,71 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class CompositeGraph
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(params={})
7
+ testname = params.kind_of?(Array) ? 'CompositeGraph' : (params[:name] || 'CompositeGraph')
8
+ graphNodes = params.collect { |g| "<stringProp name=\"\">#{g[:graph]}</stringProp>"}
9
+ metricNodes = params.collect { |m| "<stringProp name=\"\">#{m[:metric]}</stringProp>"}
10
+
11
+ composite_collections = Nokogiri::XML(<<-XML.strip_heredoc)
12
+ <collectionProp name="COMPOSITE_CFG">
13
+ <collectionProp name="">
14
+ #{graphNodes.join "\n"}
15
+ </collectionProp>
16
+ <collectionProp name="">
17
+ #{metricNodes.join "\n"}
18
+ </collectionProp>
19
+ </collectionProp>
20
+ XML
21
+
22
+ @doc = Nokogiri::XML(<<-XML.strip_heredoc)
23
+ <kg.apc.jmeter.vizualizers.CompositeResultCollector guiclass="kg.apc.jmeter.vizualizers.CompositeGraphGui" testclass="kg.apc.jmeter.vizualizers.CompositeResultCollector" testname="#{testname}" enabled="true">
24
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
25
+ <objProp>
26
+ <name>saveConfig</name>
27
+ <value class="SampleSaveConfiguration">
28
+ <time>true</time>
29
+ <latency>true</latency>
30
+ <timestamp>true</timestamp>
31
+ <success>true</success>
32
+ <label>true</label>
33
+ <code>true</code>
34
+ <message>false</message>
35
+ <threadName>true</threadName>
36
+ <dataType>false</dataType>
37
+ <encoding>false</encoding>
38
+ <assertions>false</assertions>
39
+ <subresults>false</subresults>
40
+ <responseData>false</responseData>
41
+ <samplerData>false</samplerData>
42
+ <xml>false</xml>
43
+ <fieldNames>false</fieldNames>
44
+ <responseHeaders>false</responseHeaders>
45
+ <requestHeaders>false</requestHeaders>
46
+ <responseDataOnError>false</responseDataOnError>
47
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
48
+ <assertionsResultsToSave>0</assertionsResultsToSave>
49
+ <bytes>true</bytes>
50
+ <threadCounts>true</threadCounts>
51
+ <sampleCount>true</sampleCount>
52
+ </value>
53
+ </objProp>
54
+ <stringProp name="filename"></stringProp>
55
+ <longProp name="interval_grouping">500</longProp>
56
+ <boolProp name="graph_aggregated">false</boolProp>
57
+ <stringProp name="include_sample_labels"></stringProp>
58
+ <stringProp name="exclude_sample_labels"></stringProp>
59
+ <stringProp name="start_offset"></stringProp>
60
+ <stringProp name="end_offset"></stringProp>
61
+ <boolProp name="include_checkbox_state">false</boolProp>
62
+ <boolProp name="exclude_checkbox_state">false</boolProp>
63
+ #{composite_collections.root.to_s}
64
+ </kg.apc.jmeter.vizualizers.CompositeResultCollector>
65
+ XML
66
+ update params
67
+ end
68
+ end
69
+ end
70
+ end
71
+
@@ -0,0 +1,15 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class ConsoleStatusLogger
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(params={})
7
+ testname = params.kind_of?(Array) ? 'ConsoleStatusLogger' : (params[:name] || 'ConsoleStatusLogger')
8
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
9
+ <kg.apc.jmeter.reporters.ConsoleStatusLogger guiclass="kg.apc.jmeter.reporters.ConsoleStatusLoggerGui" testclass="kg.apc.jmeter.reporters.ConsoleStatusLogger" testname="#{testname}" enabled="true"/>
10
+ EOF
11
+ update params
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,26 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class DummySampler
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(params={})
7
+ testname = params.kind_of?(Array) ? 'DummySampler' : (params[:name] || 'DummySampler')
8
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
9
+ <kg.apc.jmeter.samplers.DummySampler guiclass="kg.apc.jmeter.samplers.DummySamplerGui" testclass="kg.apc.jmeter.samplers.DummySampler" testname="#{testname}" enabled="true">
10
+ <boolProp name="WAITING">true</boolProp>
11
+ <boolProp name="SUCCESFULL">true</boolProp>
12
+ <stringProp name="RESPONSE_CODE">200</stringProp>
13
+ <stringProp name="RESPONSE_MESSAGE">OK</stringProp>
14
+ <stringProp name="REQUEST_DATA"></stringProp>
15
+ <stringProp name="RESPONSE_DATA"></stringProp>
16
+ <stringProp name="RESPONSE_TIME">0</stringProp>
17
+ <stringProp name="LATENCY">0</stringProp>
18
+ </kg.apc.jmeter.samplers.DummySampler>
19
+ EOF
20
+ upcased_params = {}
21
+ params.each {|k,v| upcased_params[k.to_s.upcase] = v}
22
+ update upcased_params
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,73 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class JMXCollector
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(params={})
7
+
8
+ params[:name] ||= 'JMX Collector'
9
+ params[:jtl] ||= ''
10
+ params[:attribute_key] ||= ''
11
+
12
+ @doc = Nokogiri::XML(<<-XML.strip_heredoc)
13
+ <kg.apc.jmeter.jmxmon.JMXMonCollector guiclass="kg.apc.jmeter.vizualizers.JMXMonGui" testclass="kg.apc.jmeter.jmxmon.JMXMonCollector" testname="#{params[:name]}" enabled="true">
14
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
15
+ <objProp>
16
+ <name>saveConfig</name>
17
+ <value class="SampleSaveConfiguration">
18
+ <time>true</time>
19
+ <latency>true</latency>
20
+ <timestamp>true</timestamp>
21
+ <success>true</success>
22
+ <label>true</label>
23
+ <code>true</code>
24
+ <message>true</message>
25
+ <threadName>true</threadName>
26
+ <dataType>true</dataType>
27
+ <encoding>false</encoding>
28
+ <assertions>true</assertions>
29
+ <subresults>true</subresults>
30
+ <responseData>false</responseData>
31
+ <samplerData>false</samplerData>
32
+ <xml>false</xml>
33
+ <fieldNames>true</fieldNames>
34
+ <responseHeaders>false</responseHeaders>
35
+ <requestHeaders>false</requestHeaders>
36
+ <responseDataOnError>false</responseDataOnError>
37
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
38
+ <assertionsResultsToSave>0</assertionsResultsToSave>
39
+ <bytes>true</bytes>
40
+ <threadCounts>true</threadCounts>
41
+ <idleTime>true</idleTime>
42
+ </value>
43
+ </objProp>
44
+ <stringProp name="filename">#{params[:jtl]}</stringProp>
45
+ <longProp name="interval_grouping">1000</longProp
46
+ <boolProp name="graph_aggregated">false</boolProp>
47
+ <stringProp name="include_sample_labels"></stringProp>
48
+ <stringProp name="exclude_sample_labels"></stringProp>
49
+ <stringProp name="start_offset"></stringProp>
50
+ <stringProp name="end_offset"></stringProp>
51
+ <boolProp name="include_checkbox_state">false</boolProp>
52
+ <boolProp name="exclude_checkbox_state">false</boolProp>
53
+ <collectionProp name="samplers">
54
+ <collectionProp name="311458936">
55
+ <stringProp name="label"></stringProp>
56
+ <stringProp name="service_endpoint">service:jmx:rmi:///jndi/rmi://#{params[:host]}:#{params[:port]}/jmxrmi</stringProp>
57
+ <stringProp name="username"></stringProp>
58
+ <stringProp name="password"></stringProp>
59
+ <stringProp name="object_name">#{params[:object_name]}</stringProp>
60
+ <stringProp name="attribute_name">#{params[:attribute_name]}</stringProp>
61
+ <stringProp name="attribute_key">#{params[:attribute_key]}</stringProp>
62
+ <stringProp name="delta">false</stringProp>
63
+ <stringProp name="retry">true</stringProp>
64
+ </collectionProp>
65
+ </collectionProp>
66
+ </kg.apc.jmeter.jmxmon.JMXMonCollector>
67
+ XML
68
+ end
69
+ end
70
+ end
71
+ end
72
+
73
+
@@ -0,0 +1,19 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class JsonPathAssertion
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(params={})
7
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
8
+ <com.atlantbh.jmeter.plugins.jsonutils.jsonpathassertion.JSONPathAssertion guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathassertion.gui.JSONPathAssertionGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathassertion.JSONPathAssertion" testname="jp@gc - JSON Path Assertion" enabled="true">
9
+ <stringProp name="EXPECTED_VALUE"></stringProp>
10
+ <stringProp name="JSON_PATH"></stringProp>
11
+ <boolProp name="JSONVALIDATION">true</boolProp>
12
+ <boolProp name="INVERT">false</boolProp>
13
+ </com.atlantbh.jmeter.plugins.jsonutils.jsonpathassertion.JSONPathAssertion>
14
+ EOF
15
+ update params
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class JsonPathExtractor
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(params={})
7
+ testname = params.kind_of?(Array) ? 'XpathExtractor' : (params[:name] || 'XpathExtractor')
8
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
9
+ <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
10
+ <stringProp name="VAR"></stringProp>
11
+ <stringProp name="JSONPATH"></stringProp>
12
+ </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
13
+ EOF
14
+ update params
15
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
16
+ end
17
+ end
18
+ end
19
+ end
20
+
@@ -0,0 +1,49 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class LatenciesOverTime
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(params={})
7
+ testname = params.kind_of?(Array) ? 'LatenciesOverTime' : (params[:name] || 'LatenciesOverTime')
8
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
9
+ <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.LatenciesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="#{testname}" enabled="#{enabled(params)}">
10
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
11
+ <objProp>
12
+ <name>saveConfig</name>
13
+ <value class="SampleSaveConfiguration">
14
+ <time>true</time>
15
+ <latency>true</latency>
16
+ <timestamp>true</timestamp>
17
+ <success>true</success>
18
+ <label>true</label>
19
+ <code>true</code>
20
+ <message>true</message>
21
+ <threadName>true</threadName>
22
+ <dataType>true</dataType>
23
+ <encoding>false</encoding>
24
+ <assertions>true</assertions>
25
+ <subresults>true</subresults>
26
+ <responseData>false</responseData>
27
+ <samplerData>false</samplerData>
28
+ <xml>true</xml>
29
+ <fieldNames>false</fieldNames>
30
+ <responseHeaders>false</responseHeaders>
31
+ <requestHeaders>false</requestHeaders>
32
+ <responseDataOnError>false</responseDataOnError>
33
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
34
+ <assertionsResultsToSave>0</assertionsResultsToSave>
35
+ <bytes>true</bytes>
36
+ </value>
37
+ </objProp>
38
+ <stringProp name="filename"></stringProp>
39
+ <longProp name="interval_grouping">500</longProp>
40
+ <boolProp name="graph_aggregated">false</boolProp>
41
+ <stringProp name="include_sample_labels"></stringProp>
42
+ <stringProp name="exclude_sample_labels"></stringProp>
43
+ </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
44
+ EOF
45
+ update params
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,63 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class LoadosophiaUploader
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(name="Loadosophia.org Uploader", params={})
7
+ params[:error_logging] ||= false;
8
+ params[:filename] ||= "";
9
+ params[:project] ||= "DEFAULT";
10
+ params[:uploadToken] ||= "Invalid Token";
11
+ params[:storeDir] ||= "/tmp";
12
+ params[:color] ||= "none";
13
+ params[:title] ||= "";
14
+ params[:useOnline] ||= false;
15
+
16
+ @doc = Nokogiri::XML(<<-XML.strip_heredoc)
17
+ <kg.apc.jmeter.reporters.LoadosophiaUploader guiclass="kg.apc.jmeter.reporters.LoadosophiaUploaderGui" testclass="kg.apc.jmeter.reporters.LoadosophiaUploader" testname="#{name}" enabled="#{enabled(params)}">
18
+ <boolProp name="ResultCollector.error_logging">#{params[:error_logging].to_s}</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">#{params[:filename]}</stringProp>
49
+ <stringProp name="project">#{params[:project]}</stringProp>
50
+ <stringProp name="uploadToken">#{params[:uploadToken]}</stringProp>
51
+ <stringProp name="storeDir">#{params[:storeDir]}</stringProp>
52
+ <stringProp name="color">#{params[:color]}</stringProp>
53
+ <stringProp name="title">#{params[:title]}</stringProp>
54
+ <boolProp name="useOnline">#{params[:useOnline].to_s}</boolProp>
55
+ </kg.apc.jmeter.reporters.LoadosophiaUploader>
56
+ XML
57
+
58
+ #update params
59
+ end
60
+ end
61
+ end
62
+ end
63
+
@@ -0,0 +1,80 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class PerfmonCollector
4
+ attr_accessor :doc
5
+ include Helper
6
+
7
+ def initialize(params = {})
8
+ @doc = Nokogiri::XML(<<-XML.strip_heredoc)
9
+ <kg.apc.jmeter.perfmon.PerfMonCollector guiclass="kg.apc.jmeter.vizualizers.PerfMonGui" testclass="kg.apc.jmeter.perfmon.PerfMonCollector" testname="#{params[:name] || 'PerfmonCollector'}" enabled="true">
10
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
11
+ <objProp>
12
+ <name>saveConfig</name>
13
+ <value class="SampleSaveConfiguration">
14
+ <time>true</time>
15
+ <latency>true</latency>
16
+ <timestamp>true</timestamp>
17
+ <success>true</success>
18
+ <label>true</label>
19
+ <code>true</code>
20
+ <message>false</message>
21
+ <threadName>true</threadName>
22
+ <dataType>false</dataType>
23
+ <encoding>false</encoding>
24
+ <assertions>false</assertions>
25
+ <subresults>false</subresults>
26
+ <responseData>false</responseData>
27
+ <samplerData>false</samplerData>
28
+ <xml>#{(params[:xml] || false).to_s}</xml>
29
+ <fieldNames>false</fieldNames>
30
+ <responseHeaders>false</responseHeaders>
31
+ <requestHeaders>false</requestHeaders>
32
+ <responseDataOnError>false</responseDataOnError>
33
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
34
+ <assertionsResultsToSave>0</assertionsResultsToSave>
35
+ <bytes>true</bytes>
36
+ <threadCounts>true</threadCounts>
37
+ <sampleCount>true</sampleCount>
38
+ </value>
39
+ </objProp>
40
+ <stringProp name="filename">#{params[:filename] || 'perfmon.jtl'}</stringProp>
41
+ <longProp name="interval_grouping">1000</longProp>
42
+ <boolProp name="graph_aggregated">false</boolProp>
43
+ <stringProp name="include_sample_labels"></stringProp>
44
+ <stringProp name="exclude_sample_labels"></stringProp>
45
+ <stringProp name="start_offset"></stringProp>
46
+ <stringProp name="end_offset"></stringProp>
47
+ <boolProp name="include_checkbox_state">false</boolProp>
48
+ <boolProp name="exclude_checkbox_state">false</boolProp>
49
+ #{metric_connections(params).root.to_s}
50
+ </kg.apc.jmeter.perfmon.PerfMonCollector>
51
+ XML
52
+ update params
53
+ end
54
+
55
+ private
56
+
57
+ def metric_connections(params)
58
+ Nokogiri::XML(<<-XML.strip_heredoc)
59
+ <collectionProp name="metricConnections">
60
+ #{metric_nodes(params[:nodes]).join "\n"}
61
+ </collectionProp>
62
+ XML
63
+ end
64
+
65
+ def metric_nodes(nodes)
66
+ nodes.collect do |node|
67
+ %(
68
+ <collectionProp name="">
69
+ <stringProp name="">#{node[:server]}</stringProp>
70
+ <stringProp name="">#{node[:port]}</stringProp>
71
+ <stringProp name="">#{node[:metric]}</stringProp>
72
+ <stringProp name="">#{node[:parameters]}</stringProp>
73
+ </collectionProp>
74
+ )
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
80
+
@@ -0,0 +1,39 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class RedisDataSet
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(params={})
7
+ testname = params.kind_of?(Array) ? 'Redis Data Set Config' : (params[:name] || 'Redis Data Set Config')
8
+ params[:getMode] ||= "1" unless params[:remove] == true
9
+ @doc = Nokogiri::XML(<<-XML.strip_heredoc)
10
+ <kg.apc.jmeter.config.redis.RedisDataSet guiclass="TestBeanGUI" testclass="kg.apc.jmeter.config.redis.RedisDataSet" testname="#{testname}" enabled="true">
11
+ <stringProp name="database">0</stringProp>
12
+ <stringProp name="delimiter">,</stringProp>
13
+ <intProp name="getMode">0</intProp>
14
+ <stringProp name="host"></stringProp
15
+ <intProp name="maxActive">20</intProp>
16
+ <intProp name="maxIdle">10</intProp>
17
+ <longProp name="maxWait">30000</longProp>
18
+ <longProp name="minEvictableIdleTimeMillis">60000</longProp>
19
+ <intProp name="minIdle">0</intProp>
20
+ <intProp name="numTestsPerEvictionRun">0</intProp>
21
+ <stringProp name="password"></stringProp>
22
+ <stringProp name="port">6379</stringProp>
23
+ <stringProp name="redisKey"></stringProp>
24
+ <longProp name="softMinEvictableIdleTimeMillis">60000</longProp>
25
+ <boolProp name="testOnBorrow">false</boolProp>
26
+ <boolProp name="testOnReturn">false</boolProp>
27
+ <boolProp name="testWhileIdle">false</boolProp>
28
+ <longProp name="timeBetweenEvictionRunsMillis">30000</longProp>
29
+ <stringProp name="timeout">2000</stringProp>
30
+ <stringProp name="variableNames"></stringProp>
31
+ <intProp name="whenExhaustedAction">2</intProp>
32
+ </kg.apc.jmeter.config.redis.RedisDataSet>
33
+ XML
34
+ update params
35
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,49 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class ResponseCodesPerSecond
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(params={})
7
+ testname = params.kind_of?(Array) ? 'ResponseCodesPerSecond' : (params[:name] || 'ResponseCodesPerSecond')
8
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
9
+ <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseCodesPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="#{testname}" enabled="#{enabled(params)}">
10
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
11
+ <objProp>
12
+ <name>saveConfig</name>
13
+ <value class="SampleSaveConfiguration">
14
+ <time>true</time>
15
+ <latency>true</latency>
16
+ <timestamp>true</timestamp>
17
+ <success>true</success>
18
+ <label>true</label>
19
+ <code>true</code>
20
+ <message>true</message>
21
+ <threadName>true</threadName>
22
+ <dataType>true</dataType>
23
+ <encoding>false</encoding>
24
+ <assertions>true</assertions>
25
+ <subresults>true</subresults>
26
+ <responseData>false</responseData>
27
+ <samplerData>false</samplerData>
28
+ <xml>true</xml>
29
+ <fieldNames>false</fieldNames>
30
+ <responseHeaders>false</responseHeaders>
31
+ <requestHeaders>false</requestHeaders>
32
+ <responseDataOnError>false</responseDataOnError>
33
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
34
+ <assertionsResultsToSave>0</assertionsResultsToSave>
35
+ <bytes>true</bytes>
36
+ </value>
37
+ </objProp>
38
+ <stringProp name="filename"></stringProp>
39
+ <longProp name="interval_grouping">1000</longProp>
40
+ <boolProp name="graph_aggregated">false</boolProp>
41
+ <stringProp name="include_sample_labels"></stringProp>
42
+ <stringProp name="exclude_sample_labels"></stringProp>
43
+ </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
44
+ EOF
45
+ update params
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,49 @@
1
+ module JmeterRuby
2
+ module Plugins
3
+ class ResponseTimesDistribution
4
+ attr_accessor :doc
5
+ include Helper
6
+ def initialize(params={})
7
+ testname = params.kind_of?(Array) ? 'ResponseTimesDistribution' : (params[:name] || 'ResponseTimesDistribution')
8
+ @doc = Nokogiri::XML(<<-EOF.strip_heredoc)
9
+ <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesDistributionGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="#{testname}" enabled="#{enabled(params)}">
10
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
11
+ <objProp>
12
+ <name>saveConfig</name>
13
+ <value class="SampleSaveConfiguration">
14
+ <time>true</time>
15
+ <latency>true</latency>
16
+ <timestamp>true</timestamp>
17
+ <success>true</success>
18
+ <label>true</label>
19
+ <code>true</code>
20
+ <message>true</message>
21
+ <threadName>true</threadName>
22
+ <dataType>true</dataType>
23
+ <encoding>false</encoding>
24
+ <assertions>true</assertions>
25
+ <subresults>true</subresults>
26
+ <responseData>false</responseData>
27
+ <samplerData>false</samplerData>
28
+ <xml>true</xml>
29
+ <fieldNames>false</fieldNames>
30
+ <responseHeaders>false</responseHeaders>
31
+ <requestHeaders>false</requestHeaders>
32
+ <responseDataOnError>false</responseDataOnError>
33
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
34
+ <assertionsResultsToSave>0</assertionsResultsToSave>
35
+ <bytes>true</bytes>
36
+ </value>
37
+ </objProp>
38
+ <stringProp name="filename"></stringProp>
39
+ <longProp name="interval_grouping">100</longProp>
40
+ <boolProp name="graph_aggregated">false</boolProp>
41
+ <stringProp name="include_sample_labels"></stringProp>
42
+ <stringProp name="exclude_sample_labels"></stringProp>
43
+ </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
44
+ EOF
45
+ update params
46
+ end
47
+ end
48
+ end
49
+ end