jmeter_perf 1.0.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 (275) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +19 -0
  4. data/.standard.yml +4 -0
  5. data/CHANGELOG.md +18 -0
  6. data/DSL.md +235 -0
  7. data/README.md +24 -0
  8. data/Rakefile +12 -0
  9. data/example/Gemfile +39 -0
  10. data/example/Gemfile.lock +232 -0
  11. data/example/README.md +3 -0
  12. data/example/Rakefile +6 -0
  13. data/example/app/controllers/application_controller.rb +2 -0
  14. data/example/app/controllers/test_controller.rb +15 -0
  15. data/example/bin/bundle +109 -0
  16. data/example/bin/docker-entrypoint +8 -0
  17. data/example/bin/rails +4 -0
  18. data/example/bin/rake +4 -0
  19. data/example/bin/setup +33 -0
  20. data/example/config/application.rb +44 -0
  21. data/example/config/boot.rb +3 -0
  22. data/example/config/credentials.yml.enc +1 -0
  23. data/example/config/database.yml +25 -0
  24. data/example/config/environment.rb +5 -0
  25. data/example/config/environments/development.rb +64 -0
  26. data/example/config/environments/production.rb +82 -0
  27. data/example/config/environments/test.rb +61 -0
  28. data/example/config/initializers/cors.rb +16 -0
  29. data/example/config/initializers/filter_parameter_logging.rb +8 -0
  30. data/example/config/initializers/inflections.rb +16 -0
  31. data/example/config/locales/en.yml +31 -0
  32. data/example/config/puma.rb +35 -0
  33. data/example/config/routes.rb +5 -0
  34. data/example/config.ru +7 -0
  35. data/example/fast.log +49 -0
  36. data/example/jmeter.log +28 -0
  37. data/example/lib/tasks/test.rake +40 -0
  38. data/example/log/.keep +0 -0
  39. data/example/public/robots.txt +1 -0
  40. data/example/random.log +49 -0
  41. data/example/slow.log +49 -0
  42. data/example/vendor/.keep +0 -0
  43. data/lib/Rakefile +4 -0
  44. data/lib/jmeter_perf/dsl/access_log_sampler.rb +38 -0
  45. data/lib/jmeter_perf/dsl/aggregate_graph.rb +61 -0
  46. data/lib/jmeter_perf/dsl/aggregate_report.rb +61 -0
  47. data/lib/jmeter_perf/dsl/ajp13_sampler.rb +47 -0
  48. data/lib/jmeter_perf/dsl/assertion_results.rb +61 -0
  49. data/lib/jmeter_perf/dsl/bean_shell_assertion.rb +34 -0
  50. data/lib/jmeter_perf/dsl/bean_shell_listener.rb +34 -0
  51. data/lib/jmeter_perf/dsl/bean_shell_postprocessor.rb +34 -0
  52. data/lib/jmeter_perf/dsl/bean_shell_preprocessor.rb +34 -0
  53. data/lib/jmeter_perf/dsl/bean_shell_sampler.rb +34 -0
  54. data/lib/jmeter_perf/dsl/bean_shell_timer.rb +34 -0
  55. data/lib/jmeter_perf/dsl/bsf_assertion.rb +34 -0
  56. data/lib/jmeter_perf/dsl/bsf_listener.rb +34 -0
  57. data/lib/jmeter_perf/dsl/bsf_postprocessor.rb +34 -0
  58. data/lib/jmeter_perf/dsl/bsf_preprocessor.rb +34 -0
  59. data/lib/jmeter_perf/dsl/bsf_sampler.rb +34 -0
  60. data/lib/jmeter_perf/dsl/bsf_timer.rb +34 -0
  61. data/lib/jmeter_perf/dsl/compare_assertion.rb +33 -0
  62. data/lib/jmeter_perf/dsl/comparison_assertion_visualizer.rb +61 -0
  63. data/lib/jmeter_perf/dsl/constant_throughput_timer.rb +32 -0
  64. data/lib/jmeter_perf/dsl/constant_timer.rb +31 -0
  65. data/lib/jmeter_perf/dsl/counter.rb +37 -0
  66. data/lib/jmeter_perf/dsl/css_jquery_extractor.rb +37 -0
  67. data/lib/jmeter_perf/dsl/csv_data_set_config.rb +39 -0
  68. data/lib/jmeter_perf/dsl/debug_postprocessor.rb +34 -0
  69. data/lib/jmeter_perf/dsl/debug_sampler.rb +33 -0
  70. data/lib/jmeter_perf/dsl/distribution_graphalpha.rb +61 -0
  71. data/lib/jmeter_perf/dsl/duration_assertion.rb +31 -0
  72. data/lib/jmeter_perf/dsl/for_each_controller.rb +33 -0
  73. data/lib/jmeter_perf/dsl/ftp_request.rb +40 -0
  74. data/lib/jmeter_perf/dsl/ftp_request_defaults.rb +38 -0
  75. data/lib/jmeter_perf/dsl/gaussian_random_timer.rb +32 -0
  76. data/lib/jmeter_perf/dsl/generate_summary_results.rb +29 -0
  77. data/lib/jmeter_perf/dsl/graph_results.rb +61 -0
  78. data/lib/jmeter_perf/dsl/html_assertion.rb +36 -0
  79. data/lib/jmeter_perf/dsl/html_link_parser.rb +29 -0
  80. data/lib/jmeter_perf/dsl/html_parameter_mask.rb +38 -0
  81. data/lib/jmeter_perf/dsl/http_authorization_manager.rb +39 -0
  82. data/lib/jmeter_perf/dsl/http_cache_manager.rb +32 -0
  83. data/lib/jmeter_perf/dsl/http_cookie_manager.rb +34 -0
  84. data/lib/jmeter_perf/dsl/http_header_manager.rb +36 -0
  85. data/lib/jmeter_perf/dsl/http_request.rb +47 -0
  86. data/lib/jmeter_perf/dsl/http_request_defaults.rb +53 -0
  87. data/lib/jmeter_perf/dsl/http_url_rewriting_modifier.rb +36 -0
  88. data/lib/jmeter_perf/dsl/if_controller.rb +33 -0
  89. data/lib/jmeter_perf/dsl/include_controller.rb +31 -0
  90. data/lib/jmeter_perf/dsl/j_unit_request.rb +43 -0
  91. data/lib/jmeter_perf/dsl/java_request.rb +75 -0
  92. data/lib/jmeter_perf/dsl/java_request_defaults.rb +75 -0
  93. data/lib/jmeter_perf/dsl/jdbc_connection_configuration.rb +43 -0
  94. data/lib/jmeter_perf/dsl/jdbc_postprocessor.rb +39 -0
  95. data/lib/jmeter_perf/dsl/jdbc_preprocessor.rb +39 -0
  96. data/lib/jmeter_perf/dsl/jdbc_request.rb +39 -0
  97. data/lib/jmeter_perf/dsl/jms_pointto_point.rb +47 -0
  98. data/lib/jmeter_perf/dsl/jms_publisher.rb +49 -0
  99. data/lib/jmeter_perf/dsl/jms_subscriber.rb +41 -0
  100. data/lib/jmeter_perf/dsl/json_path_postprocessor.rb +33 -0
  101. data/lib/jmeter_perf/dsl/jsr223_assertion.rb +35 -0
  102. data/lib/jmeter_perf/dsl/jsr223_listener.rb +35 -0
  103. data/lib/jmeter_perf/dsl/jsr223_postprocessor.rb +35 -0
  104. data/lib/jmeter_perf/dsl/jsr223_preprocessor.rb +35 -0
  105. data/lib/jmeter_perf/dsl/jsr223_sampler.rb +35 -0
  106. data/lib/jmeter_perf/dsl/jsr223_timer.rb +35 -0
  107. data/lib/jmeter_perf/dsl/keystore_configuration.rb +34 -0
  108. data/lib/jmeter_perf/dsl/ldap_extended_request.rb +48 -0
  109. data/lib/jmeter_perf/dsl/ldap_extended_request_defaults.rb +48 -0
  110. data/lib/jmeter_perf/dsl/ldap_request.rb +41 -0
  111. data/lib/jmeter_perf/dsl/ldap_request_defaults.rb +45 -0
  112. data/lib/jmeter_perf/dsl/login_config_element.rb +32 -0
  113. data/lib/jmeter_perf/dsl/loop_controller.rb +32 -0
  114. data/lib/jmeter_perf/dsl/mail_reader_sampler.rb +43 -0
  115. data/lib/jmeter_perf/dsl/mailer_visualizer.rb +70 -0
  116. data/lib/jmeter_perf/dsl/md5_hex_assertion.rb +31 -0
  117. data/lib/jmeter_perf/dsl/module_controller.rb +31 -0
  118. data/lib/jmeter_perf/dsl/monitor_results.rb +61 -0
  119. data/lib/jmeter_perf/dsl/once_only_controller.rb +29 -0
  120. data/lib/jmeter_perf/dsl/os_process_sampler.rb +40 -0
  121. data/lib/jmeter_perf/dsl/poisson_random_timer.rb +32 -0
  122. data/lib/jmeter_perf/dsl/random_controller.rb +31 -0
  123. data/lib/jmeter_perf/dsl/random_order_controller.rb +29 -0
  124. data/lib/jmeter_perf/dsl/random_variable.rb +36 -0
  125. data/lib/jmeter_perf/dsl/recording_controller.rb +29 -0
  126. data/lib/jmeter_perf/dsl/reg_ex_user_parameters.rb +33 -0
  127. data/lib/jmeter_perf/dsl/regular_expression_extractor.rb +38 -0
  128. data/lib/jmeter_perf/dsl/response_assertion.rb +37 -0
  129. data/lib/jmeter_perf/dsl/response_time_graph.rb +61 -0
  130. data/lib/jmeter_perf/dsl/result_status_action_handler.rb +31 -0
  131. data/lib/jmeter_perf/dsl/runtime_controller.rb +31 -0
  132. data/lib/jmeter_perf/dsl/save_responses_to_a_file.rb +35 -0
  133. data/lib/jmeter_perf/dsl/simple_config_element.rb +29 -0
  134. data/lib/jmeter_perf/dsl/simple_controller.rb +29 -0
  135. data/lib/jmeter_perf/dsl/simple_data_writer.rb +61 -0
  136. data/lib/jmeter_perf/dsl/smime_assertion.rb +41 -0
  137. data/lib/jmeter_perf/dsl/smtp_sampler.rb +57 -0
  138. data/lib/jmeter_perf/dsl/soap_xml_rpc_request.rb +39 -0
  139. data/lib/jmeter_perf/dsl/spline_visualizer.rb +61 -0
  140. data/lib/jmeter_perf/dsl/summary_report.rb +61 -0
  141. data/lib/jmeter_perf/dsl/switch_controller.rb +31 -0
  142. data/lib/jmeter_perf/dsl/synchronizing_timer.rb +32 -0
  143. data/lib/jmeter_perf/dsl/tcp_sampler.rb +39 -0
  144. data/lib/jmeter_perf/dsl/tcp_sampler_config.rb +37 -0
  145. data/lib/jmeter_perf/dsl/test_action.rb +33 -0
  146. data/lib/jmeter_perf/dsl/test_fragment.rb +29 -0
  147. data/lib/jmeter_perf/dsl/test_plan.rb +37 -0
  148. data/lib/jmeter_perf/dsl/thread_group.rb +43 -0
  149. data/lib/jmeter_perf/dsl/throughput_controller.rb +38 -0
  150. data/lib/jmeter_perf/dsl/transaction_controller.rb +32 -0
  151. data/lib/jmeter_perf/dsl/uniform_random_timer.rb +32 -0
  152. data/lib/jmeter_perf/dsl/user_defined_variables.rb +39 -0
  153. data/lib/jmeter_perf/dsl/user_parameters.rb +36 -0
  154. data/lib/jmeter_perf/dsl/view_results_in_table.rb +61 -0
  155. data/lib/jmeter_perf/dsl/view_results_tree.rb +61 -0
  156. data/lib/jmeter_perf/dsl/while_controller.rb +31 -0
  157. data/lib/jmeter_perf/dsl/x_path_assertion.rb +37 -0
  158. data/lib/jmeter_perf/dsl/x_path_extractor.rb +37 -0
  159. data/lib/jmeter_perf/dsl/xml_assertion.rb +29 -0
  160. data/lib/jmeter_perf/dsl/xml_schema_assertion.rb +31 -0
  161. data/lib/jmeter_perf/extend/assertions/response_assertion.rb +38 -0
  162. data/lib/jmeter_perf/extend/config_elements/header_manager.rb +13 -0
  163. data/lib/jmeter_perf/extend/config_elements/http_cache_manager.rb +12 -0
  164. data/lib/jmeter_perf/extend/config_elements/http_cookie_manager.rb +39 -0
  165. data/lib/jmeter_perf/extend/config_elements/http_request_defaults.rb +55 -0
  166. data/lib/jmeter_perf/extend/config_elements/user_defined_variables.rb +13 -0
  167. data/lib/jmeter_perf/extend/config_elements/user_parameters.rb +31 -0
  168. data/lib/jmeter_perf/extend/controllers/foreach_controller.rb +31 -0
  169. data/lib/jmeter_perf/extend/controllers/loop_controller.rb +11 -0
  170. data/lib/jmeter_perf/extend/controllers/module_controller.rb +26 -0
  171. data/lib/jmeter_perf/extend/controllers/throughput_controller.rb +15 -0
  172. data/lib/jmeter_perf/extend/controllers/transaction_controller.rb +14 -0
  173. data/lib/jmeter_perf/extend/misc/exists.rb +13 -0
  174. data/lib/jmeter_perf/extend/misc/rsync.rb +24 -0
  175. data/lib/jmeter_perf/extend/misc/uuid.rb +12 -0
  176. data/lib/jmeter_perf/extend/misc/with_helpers.rb +27 -0
  177. data/lib/jmeter_perf/extend/plugins/jmeter_plugins.rb +124 -0
  178. data/lib/jmeter_perf/extend/processors/extract.rb +27 -0
  179. data/lib/jmeter_perf/extend/processors/regular_expression_extractor.rb +27 -0
  180. data/lib/jmeter_perf/extend/samplers/http_request.rb +66 -0
  181. data/lib/jmeter_perf/extend/samplers/jms_pointtopoint.rb +23 -0
  182. data/lib/jmeter_perf/extend/samplers/soapxmlrpc_request.rb +10 -0
  183. data/lib/jmeter_perf/extend/threads/thread_group.rb +19 -0
  184. data/lib/jmeter_perf/extend/timers/constant_throughput_timer.rb +11 -0
  185. data/lib/jmeter_perf/extend/timers/random_timer.rb +14 -0
  186. data/lib/jmeter_perf/helpers/dsl_generator.rb +157 -0
  187. data/lib/jmeter_perf/helpers/fallback_content_proxy.rb +96 -0
  188. data/lib/jmeter_perf/helpers/helper.rb +63 -0
  189. data/lib/jmeter_perf/helpers/parser.rb +143 -0
  190. data/lib/jmeter_perf/helpers/running_statistics.rb +62 -0
  191. data/lib/jmeter_perf/helpers/string.rb +60 -0
  192. data/lib/jmeter_perf/helpers/user-agents.rb +42 -0
  193. data/lib/jmeter_perf/plugins/active_threads_over_time.rb +59 -0
  194. data/lib/jmeter_perf/plugins/composite_graph.rb +77 -0
  195. data/lib/jmeter_perf/plugins/console_status_logger.rb +19 -0
  196. data/lib/jmeter_perf/plugins/dummy_sampler.rb +30 -0
  197. data/lib/jmeter_perf/plugins/jmx_collector.rb +74 -0
  198. data/lib/jmeter_perf/plugins/json_path_assertion.rb +23 -0
  199. data/lib/jmeter_perf/plugins/json_path_extractor.rb +22 -0
  200. data/lib/jmeter_perf/plugins/latencies_over_time.rb +53 -0
  201. data/lib/jmeter_perf/plugins/loadosophia_uploader.rb +66 -0
  202. data/lib/jmeter_perf/plugins/perfmon_collector.rb +87 -0
  203. data/lib/jmeter_perf/plugins/redis_data_set.rb +43 -0
  204. data/lib/jmeter_perf/plugins/response_codes_per_second.rb +53 -0
  205. data/lib/jmeter_perf/plugins/response_times_distribution.rb +53 -0
  206. data/lib/jmeter_perf/plugins/response_times_over_time.rb +53 -0
  207. data/lib/jmeter_perf/plugins/response_times_percentiles.rb +54 -0
  208. data/lib/jmeter_perf/plugins/stepping_thread_group.rb +34 -0
  209. data/lib/jmeter_perf/plugins/transactions_per_second.rb +53 -0
  210. data/lib/jmeter_perf/plugins/ultimate_thread_group.rb +28 -0
  211. data/lib/jmeter_perf/plugins/variable_throughput_timer.rb +35 -0
  212. data/lib/jmeter_perf/report/comparator.rb +258 -0
  213. data/lib/jmeter_perf/report/summary.rb +268 -0
  214. data/lib/jmeter_perf/tasks/dsl.rake +19 -0
  215. data/lib/jmeter_perf/version.rb +5 -0
  216. data/lib/jmeter_perf/views/report_template.html.erb +114 -0
  217. data/lib/jmeter_perf.rb +183 -0
  218. data/lib/specifications/idl.xml +1494 -0
  219. data/sig/jmeter_perf.rbs +195 -0
  220. data/sorbet/config +5 -0
  221. data/sorbet/rbi/annotations/.gitattributes +1 -0
  222. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  223. data/sorbet/rbi/gems/.gitattributes +1 -0
  224. data/sorbet/rbi/gems/ast@2.4.2.rbi +585 -0
  225. data/sorbet/rbi/gems/bump@0.10.0.rbi +169 -0
  226. data/sorbet/rbi/gems/byebug@11.1.3.rbi +3607 -0
  227. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3427 -0
  228. data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +1131 -0
  229. data/sorbet/rbi/gems/docile@1.4.1.rbi +377 -0
  230. data/sorbet/rbi/gems/erubi@1.13.0.rbi +150 -0
  231. data/sorbet/rbi/gems/json@2.7.2.rbi +1562 -0
  232. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14238 -0
  233. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
  234. data/sorbet/rbi/gems/method_source@1.1.0.rbi +304 -0
  235. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  236. data/sorbet/rbi/gems/nokogiri@1.16.7.rbi +7311 -0
  237. data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
  238. data/sorbet/rbi/gems/parser@3.3.5.0.rbi +5519 -0
  239. data/sorbet/rbi/gems/prism@1.2.0.rbi +39085 -0
  240. data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +1151 -0
  241. data/sorbet/rbi/gems/pry@0.14.2.rbi +10076 -0
  242. data/sorbet/rbi/gems/racc@1.8.1.rbi +162 -0
  243. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +403 -0
  244. data/sorbet/rbi/gems/rake@13.2.1.rbi +3074 -0
  245. data/sorbet/rbi/gems/rbi@0.2.1.rbi +4535 -0
  246. data/sorbet/rbi/gems/rbtree3@0.7.1.rbi +9 -0
  247. data/sorbet/rbi/gems/regexp_parser@2.9.2.rbi +3772 -0
  248. data/sorbet/rbi/gems/rexml@3.3.8.rbi +4858 -0
  249. data/sorbet/rbi/gems/rspec-core@3.13.1.rbi +11132 -0
  250. data/sorbet/rbi/gems/rspec-expectations@3.13.3.rbi +8183 -0
  251. data/sorbet/rbi/gems/rspec-mocks@3.13.1.rbi +5341 -0
  252. data/sorbet/rbi/gems/rspec-support@3.13.1.rbi +1630 -0
  253. data/sorbet/rbi/gems/rspec@3.13.0.rbi +83 -0
  254. data/sorbet/rbi/gems/rubocop-ast@1.32.3.rbi +7054 -0
  255. data/sorbet/rbi/gems/rubocop-performance@1.21.1.rbi +9 -0
  256. data/sorbet/rbi/gems/rubocop@1.65.1.rbi +58182 -0
  257. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1318 -0
  258. data/sorbet/rbi/gems/simplecov-html@0.13.1.rbi +225 -0
  259. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +2149 -0
  260. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +9 -0
  261. data/sorbet/rbi/gems/spoom@1.5.0.rbi +4932 -0
  262. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +9 -0
  263. data/sorbet/rbi/gems/standard-performance@1.4.0.rbi +9 -0
  264. data/sorbet/rbi/gems/standard@1.40.0.rbi +926 -0
  265. data/sorbet/rbi/gems/tapioca@0.16.3.rbi +3596 -0
  266. data/sorbet/rbi/gems/tdigest@0.2.1.rbi +170 -0
  267. data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
  268. data/sorbet/rbi/gems/unicode-display_width@2.6.0.rbi +66 -0
  269. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  270. data/sorbet/rbi/gems/yard@0.9.37.rbi +18379 -0
  271. data/sorbet/rbi/todo.rbi +31 -0
  272. data/sorbet/tapioca/config.yml +13 -0
  273. data/sorbet/tapioca/require.rb +15 -0
  274. data/tasks/dsl.rake +22 -0
  275. metadata +355 -0
@@ -0,0 +1,34 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element BeanShellTimer
4
+ # @param params [Hash] Parameters for the BeanShellTimer element (default: `{}`).
5
+ # @yield block to attach to the BeanShellTimer element
6
+ # @return [JmeterPerf::BeanShellTimer], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#beanshelltimer
8
+ def bean_shell_timer(params = {}, &)
9
+ node = BeanShellTimer.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class BeanShellTimer
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "BeanShellTimer" : (params[:name] || "BeanShellTimer")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <BeanShellTimer guiclass="TestBeanGUI" testclass="BeanShellTimer" testname="#{testname}" enabled="true">
22
+ <stringProp name="filename"/>
23
+ <stringProp name="parameters"/>
24
+ <boolProp name="resetInterpreter">false</boolProp>
25
+ <stringProp name="script"/>
26
+ </BeanShellTimer>
27
+ EOS
28
+ ))
29
+ update params
30
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element BSFAssertion
4
+ # @param params [Hash] Parameters for the BSFAssertion element (default: `{}`).
5
+ # @yield block to attach to the BSFAssertion element
6
+ # @return [JmeterPerf::BSFAssertion], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsfassertion
8
+ def bsf_assertion(params = {}, &)
9
+ node = BSFAssertion.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class BSFAssertion
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "BSFAssertion" : (params[:name] || "BSFAssertion")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <BSFAssertion guiclass="TestBeanGUI" testclass="BSFAssertion" testname="#{testname}" enabled="true">
22
+ <stringProp name="filename"/>
23
+ <stringProp name="parameters"/>
24
+ <stringProp name="script"/>
25
+ <stringProp name="scriptLanguage"/>
26
+ </BSFAssertion>
27
+ EOS
28
+ ))
29
+ update params
30
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element BSFListener
4
+ # @param params [Hash] Parameters for the BSFListener element (default: `{}`).
5
+ # @yield block to attach to the BSFListener element
6
+ # @return [JmeterPerf::BSFListener], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsflistener
8
+ def bsf_listener(params = {}, &)
9
+ node = BSFListener.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class BSFListener
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "BSFListener" : (params[:name] || "BSFListener")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <BSFListener guiclass="TestBeanGUI" testclass="BSFListener" testname="#{testname}" enabled="true">
22
+ <stringProp name="filename"/>
23
+ <stringProp name="parameters"/>
24
+ <stringProp name="script"/>
25
+ <stringProp name="scriptLanguage"/>
26
+ </BSFListener>
27
+ EOS
28
+ ))
29
+ update params
30
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element BSFPostprocessor
4
+ # @param params [Hash] Parameters for the BSFPostprocessor element (default: `{}`).
5
+ # @yield block to attach to the BSFPostprocessor element
6
+ # @return [JmeterPerf::BSFPostprocessor], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsfpostprocessor
8
+ def bsf_postprocessor(params = {}, &)
9
+ node = BSFPostprocessor.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class BSFPostprocessor
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "BSFPostprocessor" : (params[:name] || "BSFPostprocessor")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <BSFPostProcessor guiclass="TestBeanGUI" testclass="BSFPostProcessor" testname="#{testname}" enabled="true">
22
+ <stringProp name="filename"/>
23
+ <stringProp name="parameters"/>
24
+ <stringProp name="script"/>
25
+ <stringProp name="scriptLanguage"/>
26
+ </BSFPostProcessor>
27
+ EOS
28
+ ))
29
+ update params
30
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element BSFPreprocessor
4
+ # @param params [Hash] Parameters for the BSFPreprocessor element (default: `{}`).
5
+ # @yield block to attach to the BSFPreprocessor element
6
+ # @return [JmeterPerf::BSFPreprocessor], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsfpreprocessor
8
+ def bsf_preprocessor(params = {}, &)
9
+ node = BSFPreprocessor.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class BSFPreprocessor
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "BSFPreprocessor" : (params[:name] || "BSFPreprocessor")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <BSFPreProcessor guiclass="TestBeanGUI" testclass="BSFPreProcessor" testname="#{testname}" enabled="true">
22
+ <stringProp name="filename"/>
23
+ <stringProp name="parameters"/>
24
+ <stringProp name="script"/>
25
+ <stringProp name="scriptLanguage"/>
26
+ </BSFPreProcessor>
27
+ EOS
28
+ ))
29
+ update params
30
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element BSFSampler
4
+ # @param params [Hash] Parameters for the BSFSampler element (default: `{}`).
5
+ # @yield block to attach to the BSFSampler element
6
+ # @return [JmeterPerf::BSFSampler], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsfsampler
8
+ def bsf_sampler(params = {}, &)
9
+ node = BSFSampler.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class BSFSampler
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "BSFSampler" : (params[:name] || "BSFSampler")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <BSFSampler guiclass="TestBeanGUI" testclass="BSFSampler" testname="#{testname}" enabled="true">
22
+ <stringProp name="filename"/>
23
+ <stringProp name="parameters"/>
24
+ <stringProp name="script"/>
25
+ <stringProp name="scriptLanguage"/>
26
+ </BSFSampler>
27
+ EOS
28
+ ))
29
+ update params
30
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element BSFTimer
4
+ # @param params [Hash] Parameters for the BSFTimer element (default: `{}`).
5
+ # @yield block to attach to the BSFTimer element
6
+ # @return [JmeterPerf::BSFTimer], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsftimer
8
+ def bsf_timer(params = {}, &)
9
+ node = BSFTimer.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class BSFTimer
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "BSFTimer" : (params[:name] || "BSFTimer")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <BSFTimer guiclass="TestBeanGUI" testclass="BSFTimer" testname="#{testname}" enabled="true">
22
+ <stringProp name="filename"/>
23
+ <stringProp name="parameters"/>
24
+ <stringProp name="script"/>
25
+ <stringProp name="scriptLanguage"/>
26
+ </BSFTimer>
27
+ EOS
28
+ ))
29
+ update params
30
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,33 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element CompareAssertion
4
+ # @param params [Hash] Parameters for the CompareAssertion element (default: `{}`).
5
+ # @yield block to attach to the CompareAssertion element
6
+ # @return [JmeterPerf::CompareAssertion], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#compareassertion
8
+ def compare_assertion(params = {}, &)
9
+ node = CompareAssertion.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class CompareAssertion
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "CompareAssertion" : (params[:name] || "CompareAssertion")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <CompareAssertion guiclass="TestBeanGUI" testclass="CompareAssertion" testname="#{testname}" enabled="true">
22
+ <boolProp name="compareContent">true</boolProp>
23
+ <longProp name="compareTime">-1</longProp>
24
+ <collectionProp name="stringsToSkip"/>
25
+ </CompareAssertion>
26
+ EOS
27
+ ))
28
+ update params
29
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,61 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element ComparisonAssertionVisualizer
4
+ # @param params [Hash] Parameters for the ComparisonAssertionVisualizer element (default: `{}`).
5
+ # @yield block to attach to the ComparisonAssertionVisualizer element
6
+ # @return [JmeterPerf::ComparisonAssertionVisualizer], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#comparisonassertionvisualizer
8
+ def comparison_assertion_visualizer(params = {}, &)
9
+ node = ComparisonAssertionVisualizer.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class ComparisonAssertionVisualizer
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "ComparisonAssertionVisualizer" : (params[:name] || "ComparisonAssertionVisualizer")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <ResultCollector guiclass="ComparisonVisualizer" testclass="ResultCollector" testname="#{testname}" enabled="true">
22
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
23
+ <objProp>
24
+ <name>saveConfig</name>
25
+ <value class="SampleSaveConfiguration">
26
+ <time>true</time>
27
+ <latency>true</latency>
28
+ <timestamp>true</timestamp>
29
+ <success>true</success>
30
+ <label>true</label>
31
+ <code>true</code>
32
+ <message>false</message>
33
+ <threadName>true</threadName>
34
+ <dataType>false</dataType>
35
+ <encoding>false</encoding>
36
+ <assertions>false</assertions>
37
+ <subresults>false</subresults>
38
+ <responseData>false</responseData>
39
+ <samplerData>false</samplerData>
40
+ <xml>false</xml>
41
+ <fieldNames>false</fieldNames>
42
+ <responseHeaders>false</responseHeaders>
43
+ <requestHeaders>false</requestHeaders>
44
+ <responseDataOnError>false</responseDataOnError>
45
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
46
+ <assertionsResultsToSave>0</assertionsResultsToSave>
47
+ <bytes>true</bytes>
48
+ <threadCounts>true</threadCounts>
49
+ <sampleCount>true</sampleCount>
50
+ </value>
51
+ </objProp>
52
+ <stringProp name="filename"/>
53
+ </ResultCollector>
54
+ EOS
55
+ ))
56
+ update params
57
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,32 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element ConstantThroughputTimer
4
+ # @param params [Hash] Parameters for the ConstantThroughputTimer element (default: `{}`).
5
+ # @yield block to attach to the ConstantThroughputTimer element
6
+ # @return [JmeterPerf::ConstantThroughputTimer], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#constantthroughputtimer
8
+ def constant_throughput_timer(params = {}, &)
9
+ node = ConstantThroughputTimer.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class ConstantThroughputTimer
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "ConstantThroughputTimer" : (params[:name] || "ConstantThroughputTimer")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="#{testname}" enabled="true">
22
+ <intProp name="calcMode">0</intProp>
23
+ <stringProp name="throughput">0.0</stringProp>
24
+ </ConstantThroughputTimer>
25
+ EOS
26
+ ))
27
+ update params
28
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,31 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element ConstantTimer
4
+ # @param params [Hash] Parameters for the ConstantTimer element (default: `{}`).
5
+ # @yield block to attach to the ConstantTimer element
6
+ # @return [JmeterPerf::ConstantTimer], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#constanttimer
8
+ def constant_timer(params = {}, &)
9
+ node = ConstantTimer.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class ConstantTimer
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "ConstantTimer" : (params[:name] || "ConstantTimer")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="#{testname}" enabled="true">
22
+ <stringProp name="ConstantTimer.delay">300</stringProp>
23
+ </ConstantTimer>
24
+ EOS
25
+ ))
26
+ update params
27
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,37 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element Counter
4
+ # @param params [Hash] Parameters for the Counter element (default: `{}`).
5
+ # @yield block to attach to the Counter element
6
+ # @return [JmeterPerf::Counter], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#counter
8
+ def counter(params = {}, &)
9
+ node = Counter.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class Counter
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "Counter" : (params[:name] || "Counter")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="#{testname}" enabled="true">
22
+ <stringProp name="CounterConfig.start"/>
23
+ <stringProp name="CounterConfig.end"/>
24
+ <stringProp name="CounterConfig.incr"/>
25
+ <stringProp name="CounterConfig.name"/>
26
+ <stringProp name="CounterConfig.format"/>
27
+ <boolProp name="CounterConfig.per_user">true</boolProp>
28
+ <boolProp name="CounterConfig.reset_on_tg_iteration">true</boolProp>
29
+ </CounterConfig>
30
+ EOS
31
+ ))
32
+ update params
33
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element CSSJqueryExtractor
4
+ # @param params [Hash] Parameters for the CSSJqueryExtractor element (default: `{}`).
5
+ # @yield block to attach to the CSSJqueryExtractor element
6
+ # @return [JmeterPerf::CSSJqueryExtractor], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#cssjqueryextractor
8
+ def css_jquery_extractor(params = {}, &)
9
+ node = CSSJqueryExtractor.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class CSSJqueryExtractor
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "CSSJqueryExtractor" : (params[:name] || "CSSJqueryExtractor")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <HtmlExtractor guiclass="HtmlExtractorGui" testclass="HtmlExtractor" testname="#{testname}" enabled="true">
22
+ <stringProp name="HtmlExtractor.refname"/>
23
+ <stringProp name="HtmlExtractor.expr"/>
24
+ <stringProp name="HtmlExtractor.attribute"/>
25
+ <stringProp name="HtmlExtractor.default"/>
26
+ <stringProp name="HtmlExtractor.match_number"/>
27
+ <stringProp name="HtmlExtractor.extractor_impl"/>
28
+ <boolProp name="HtmlExtractor.default_empty_value"/>
29
+ </HtmlExtractor>
30
+ EOS
31
+ ))
32
+ update params
33
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,39 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element CSVDataSetConfig
4
+ # @param params [Hash] Parameters for the CSVDataSetConfig element (default: `{}`).
5
+ # @yield block to attach to the CSVDataSetConfig element
6
+ # @return [JmeterPerf::CSVDataSetConfig], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#csvdatasetconfig
8
+ def csv_data_set_config(params = {}, &)
9
+ node = CSVDataSetConfig.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class CSVDataSetConfig
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "CSVDataSetConfig" : (params[:name] || "CSVDataSetConfig")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="#{testname}" enabled="true">
22
+ <stringProp name="delimiter">,</stringProp>
23
+ <stringProp name="fileEncoding"/>
24
+ <stringProp name="filename"/>
25
+ <boolProp name="quotedData">false</boolProp>
26
+ <boolProp name="recycle">true</boolProp>
27
+ <stringProp name="shareMode">shareMode.all</stringProp>
28
+ <boolProp name="stopThread">false</boolProp>
29
+ <boolProp name="ignoreFirstLine">false</boolProp>
30
+ <stringProp name="variableNames"/>
31
+ </CSVDataSet>
32
+ EOS
33
+ ))
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,34 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element DebugPostprocessor
4
+ # @param params [Hash] Parameters for the DebugPostprocessor element (default: `{}`).
5
+ # @yield block to attach to the DebugPostprocessor element
6
+ # @return [JmeterPerf::DebugPostprocessor], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#debugpostprocessor
8
+ def debug_postprocessor(params = {}, &)
9
+ node = DebugPostprocessor.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class DebugPostprocessor
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "DebugPostprocessor" : (params[:name] || "DebugPostprocessor")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <DebugPostProcessor guiclass="TestBeanGUI" testclass="DebugPostProcessor" testname="#{testname}" enabled="true">
22
+ <boolProp name="displayJMeterProperties">false</boolProp>
23
+ <boolProp name="displayJMeterVariables">true</boolProp>
24
+ <boolProp name="displaySamplerProperties">true</boolProp>
25
+ <boolProp name="displaySystemProperties">false</boolProp>
26
+ </DebugPostProcessor>
27
+ EOS
28
+ ))
29
+ update params
30
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,33 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element DebugSampler
4
+ # @param params [Hash] Parameters for the DebugSampler element (default: `{}`).
5
+ # @yield block to attach to the DebugSampler element
6
+ # @return [JmeterPerf::DebugSampler], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#debugsampler
8
+ def debug_sampler(params = {}, &)
9
+ node = DebugSampler.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class DebugSampler
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "DebugSampler" : (params[:name] || "DebugSampler")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="#{testname}" enabled="true">
22
+ <boolProp name="displayJMeterProperties">false</boolProp>
23
+ <boolProp name="displayJMeterVariables">true</boolProp>
24
+ <boolProp name="displaySystemProperties">false</boolProp>
25
+ </DebugSampler>
26
+ EOS
27
+ ))
28
+ update params
29
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,61 @@
1
+ module JmeterPerf
2
+ class DSL
3
+ # DSL method synonymous with the JMeter Element DistributionGraphalpha
4
+ # @param params [Hash] Parameters for the DistributionGraphalpha element (default: `{}`).
5
+ # @yield block to attach to the DistributionGraphalpha element
6
+ # @return [JmeterPerf::DistributionGraphalpha], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
7
+ # @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#distributiongraphalpha
8
+ def distribution_graphalpha(params = {}, &)
9
+ node = DistributionGraphalpha.new(params)
10
+ attach_node(node, &)
11
+ end
12
+
13
+ class DistributionGraphalpha
14
+ attr_accessor :doc
15
+ include JmeterPerf::Helpers::XmlDocumentUpdater
16
+
17
+ def initialize(params = {})
18
+ testname = params.is_a?(Array) ? "DistributionGraphalpha" : (params[:name] || "DistributionGraphalpha")
19
+ @doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
20
+ <<~EOS
21
+ <ResultCollector guiclass="DistributionGraphVisualizer" testclass="ResultCollector" testname="#{testname}" enabled="true">
22
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
23
+ <objProp>
24
+ <name>saveConfig</name>
25
+ <value class="SampleSaveConfiguration">
26
+ <time>true</time>
27
+ <latency>true</latency>
28
+ <timestamp>true</timestamp>
29
+ <success>true</success>
30
+ <label>true</label>
31
+ <code>true</code>
32
+ <message>false</message>
33
+ <threadName>true</threadName>
34
+ <dataType>false</dataType>
35
+ <encoding>false</encoding>
36
+ <assertions>false</assertions>
37
+ <subresults>false</subresults>
38
+ <responseData>false</responseData>
39
+ <samplerData>false</samplerData>
40
+ <xml>false</xml>
41
+ <fieldNames>false</fieldNames>
42
+ <responseHeaders>false</responseHeaders>
43
+ <requestHeaders>false</requestHeaders>
44
+ <responseDataOnError>false</responseDataOnError>
45
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
46
+ <assertionsResultsToSave>0</assertionsResultsToSave>
47
+ <bytes>true</bytes>
48
+ <threadCounts>true</threadCounts>
49
+ <sampleCount>true</sampleCount>
50
+ </value>
51
+ </objProp>
52
+ <stringProp name="filename"/>
53
+ </ResultCollector>
54
+ EOS
55
+ ))
56
+ update params
57
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
58
+ end
59
+ end
60
+ end
61
+ end