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,235 @@
1
+ # JmeterRuby::DSL methods
2
+ - Test Plan
3
+ `test_plan`
4
+ - Counter
5
+ `counter`
6
+ - CSV Data Set Config
7
+ `csv_data_set_config`
8
+ - FTP Request Defaults
9
+ `ftp_request_defaults`
10
+ - HTTP Authorization Manager
11
+ `http_authorization_manager`
12
+ - HTTP Cache Manager
13
+ `http_cache_manager`
14
+ - HTTP Cookie Manager
15
+ `http_cookie_manager`
16
+ - HTTP Header Manager
17
+ `http_header_manager`
18
+ - HTTP Request Defaults
19
+ `http_request_defaults`
20
+ - Java Request Defaults
21
+ `java_request_defaults`
22
+ - JDBC Connection Configuration
23
+ `jdbc_connection_configuration`
24
+ - Keystore Configuration
25
+ `keystore_configuration`
26
+ - LDAP Extended Request Defaults
27
+ `ldap_extended_request_defaults`
28
+ - LDAP Request Defaults
29
+ `ldap_request_defaults`
30
+ - Login Config Element
31
+ `login_config_element`
32
+ - Random Variable
33
+ `random_variable`
34
+ - Simple Config Element
35
+ `simple_config_element`
36
+ - TCP Sampler Config
37
+ `tcp_sampler_config`
38
+ - User Defined Variables
39
+ `user_defined_variables`
40
+ - Test Fragment
41
+ `test_fragment`
42
+ - Thread Group
43
+ `thread_group`
44
+ - ForEach Controller
45
+ `foreach_controller`
46
+ - If Controller
47
+ `if_controller`
48
+ - Include Controller
49
+ `include_controller`
50
+ - Loop Controller
51
+ `loop_controller`
52
+ - Module Controller
53
+ `module_controller`
54
+ - Once Only Controller
55
+ `once_only_controller`
56
+ - Random Controller
57
+ `random_controller`
58
+ - Random Order Controller
59
+ `random_order_controller`
60
+ - Recording Controller
61
+ `recording_controller`
62
+ - Runtime Controller
63
+ `runtime_controller`
64
+ - Simple Controller
65
+ `simple_controller`
66
+ - Switch Controller
67
+ `switch_controller`
68
+ - Throughput Controller
69
+ `throughput_controller`
70
+ - Transaction Controller
71
+ `transaction_controller`
72
+ - While Controller
73
+ `while_controller`
74
+ - BeanShell Timer
75
+ `beanshell_timer`
76
+ - BSF Timer
77
+ `bsf_timer`
78
+ - Constant Throughput Timer
79
+ `constant_throughput_timer`
80
+ - Constant Timer
81
+ `constant_timer`
82
+ - Gaussian Random Timer
83
+ `gaussian_random_timer`
84
+ - JSR223 Timer
85
+ `jsr223_timer`
86
+ - Poisson Random Timer
87
+ `poisson_random_timer`
88
+ - Synchronizing Timer
89
+ `synchronizing_timer`
90
+ - Uniform Random Timer
91
+ `uniform_random_timer`
92
+ - BeanShell PreProcessor
93
+ `beanshell_preprocessor`
94
+ - BSF PreProcessor
95
+ `bsf_preprocessor`
96
+ - HTML Link Parser
97
+ `html_link_parser`
98
+ - HTML Parameter Mask
99
+ `html_parameter_mask`
100
+ - HTTP URL Re-writing Modifier
101
+ `http_url_rewriting_modifier`
102
+ - JDBC PreProcessor
103
+ `jdbc_preprocessor`
104
+ - JSR223 PreProcessor
105
+ `jsr223_preprocessor`
106
+ - RegEx User Parameters
107
+ `regex_user_parameters`
108
+ - User Parameters
109
+ `user_parameters`
110
+ - Access Log Sampler
111
+ `access_log_sampler`
112
+ - AJP/1.3 Sampler
113
+ `ajp13_sampler`
114
+ - BeanShell Sampler
115
+ `beanshell_sampler`
116
+ - BSF Sampler
117
+ `bsf_sampler`
118
+ - Debug Sampler
119
+ `debug_sampler`
120
+ - FTP Request
121
+ `ftp_request`
122
+ - HTTP Request
123
+ `http_request`
124
+ - Java Request
125
+ `java_request`
126
+ - JDBC Request
127
+ `jdbc_request`
128
+ - JMS Point-to-Point
129
+ `jms_pointtopoint`
130
+ - JMS Publisher
131
+ `jms_publisher`
132
+ - JMS Subscriber
133
+ `jms_subscriber`
134
+ - JSR223 Sampler
135
+ `jsr223_sampler`
136
+ - JUnit Request
137
+ `junit_request`
138
+ - LDAP Extended Request
139
+ `ldap_extended_request`
140
+ - LDAP Request
141
+ `ldap_request`
142
+ - Mail Reader Sampler
143
+ `mail_reader_sampler`
144
+ - OS Process Sampler
145
+ `os_process_sampler`
146
+ - SMTP Sampler
147
+ `smtp_sampler`
148
+ - SOAP/XML-RPC Request
149
+ `soapxmlrpc_request`
150
+ - TCP Sampler
151
+ `tcp_sampler`
152
+ - Test Action
153
+ `test_action`
154
+ - BeanShell PostProcessor
155
+ `beanshell_postprocessor`
156
+ - BSF PostProcessor
157
+ `bsf_postprocessor`
158
+ - CSS/JQuery Extractor
159
+ `cssjquery_extractor`
160
+ - Debug PostProcessor
161
+ `debug_postprocessor`
162
+ - JDBC PostProcessor
163
+ `jdbc_postprocessor`
164
+ - JSON Path PostProcessor
165
+ `json_path_postprocessor`
166
+ - JSR223 PostProcessor
167
+ `jsr223_postprocessor`
168
+ - Regular Expression Extractor
169
+ `regular_expression_extractor`
170
+ - Result Status Action Handler
171
+ `result_status_action_handler`
172
+ - XPath Extractor
173
+ `xpath_extractor`
174
+ - BeanShell Assertion
175
+ `beanshell_assertion`
176
+ - BSF Assertion
177
+ `bsf_assertion`
178
+ - Compare Assertion
179
+ `compare_assertion`
180
+ - Duration Assertion
181
+ `duration_assertion`
182
+ - HTML Assertion
183
+ `html_assertion`
184
+ - JSR223 Assertion
185
+ `jsr223_assertion`
186
+ - MD5Hex Assertion
187
+ `md5hex_assertion`
188
+ - Response Assertion
189
+ `response_assertion`
190
+ - SMIME Assertion
191
+ `smime_assertion`
192
+ - XML Assertion
193
+ `xml_assertion`
194
+ - XML Schema Assertion
195
+ `xml_schema_assertion`
196
+ - XPath Assertion
197
+ `xpath_assertion`
198
+ - Aggregate Graph
199
+ `aggregate_graph`
200
+ - Aggregate Report
201
+ `aggregate_report`
202
+ - Assertion Results
203
+ `assertion_results`
204
+ - BeanShell Listener
205
+ `beanshell_listener`
206
+ - BSF Listener
207
+ `bsf_listener`
208
+ - Comparison Assertion Visualizer
209
+ `comparison_assertion_visualizer`
210
+ - Distribution Graph (alpha)
211
+ `distribution_graphalpha`
212
+ - Generate Summary Results
213
+ `generate_summary_results`
214
+ - Graph Results
215
+ `graph_results`
216
+ - JSR223 Listener
217
+ `jsr223_listener`
218
+ - Mailer Visualizer
219
+ `mailer_visualizer`
220
+ - Monitor Results
221
+ `monitor_results`
222
+ - Response Time Graph
223
+ `response_time_graph`
224
+ - Save Responses to a file
225
+ `save_responses_to_a_file`
226
+ - Simple Data Writer
227
+ `simple_data_writer`
228
+ - Spline Visualizer
229
+ `spline_visualizer`
230
+ - Summary Report
231
+ `summary_report`
232
+ - View Results in Table
233
+ `view_results_in_table`
234
+ - View Results Tree
235
+ `view_results_tree`
@@ -0,0 +1,32 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def access_log_sampler(params={}, &block)
4
+ node = JmeterRuby::AccessLogSampler.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class AccessLogSampler
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'AccessLogSampler' : (params[:name] || 'AccessLogSampler')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <AccessLogSampler guiclass="TestBeanGUI" testclass="AccessLogSampler" testname="#{testname}" enabled="true">
17
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
18
+ <collectionProp name="Arguments.arguments"/>
19
+ </elementProp>
20
+ <stringProp name="domain"/>
21
+ <boolProp name="imageParsing">false</boolProp>
22
+ <stringProp name="logFile"/>
23
+ <stringProp name="parserClassName">org.apache.jmeter.protocol.http.util.accesslog.TCLogParser</stringProp>
24
+ <stringProp name="portString"/>
25
+ </AccessLogSampler>)
26
+ EOS
27
+ update params
28
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
29
+ end
30
+ end
31
+
32
+ end
@@ -0,0 +1,55 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def aggregate_graph(params={}, &block)
4
+ node = JmeterRuby::AggregateGraph.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class AggregateGraph
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'AggregateGraph' : (params[:name] || 'AggregateGraph')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <ResultCollector guiclass="StatGraphVisualizer" testclass="ResultCollector" testname="#{testname}" enabled="true">
17
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
18
+ <objProp>
19
+ <name>saveConfig</name>
20
+ <value class="SampleSaveConfiguration">
21
+ <time>true</time>
22
+ <latency>true</latency>
23
+ <timestamp>true</timestamp>
24
+ <success>true</success>
25
+ <label>true</label>
26
+ <code>true</code>
27
+ <message>false</message>
28
+ <threadName>true</threadName>
29
+ <dataType>false</dataType>
30
+ <encoding>false</encoding>
31
+ <assertions>false</assertions>
32
+ <subresults>false</subresults>
33
+ <responseData>false</responseData>
34
+ <samplerData>false</samplerData>
35
+ <xml>false</xml>
36
+ <fieldNames>false</fieldNames>
37
+ <responseHeaders>false</responseHeaders>
38
+ <requestHeaders>false</requestHeaders>
39
+ <responseDataOnError>false</responseDataOnError>
40
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
41
+ <assertionsResultsToSave>0</assertionsResultsToSave>
42
+ <bytes>true</bytes>
43
+ <threadCounts>true</threadCounts>
44
+ <sampleCount>true</sampleCount>
45
+ </value>
46
+ </objProp>
47
+ <stringProp name="filename"/>
48
+ </ResultCollector>)
49
+ EOS
50
+ update params
51
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
52
+ end
53
+ end
54
+
55
+ end
@@ -0,0 +1,55 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def aggregate_report(params={}, &block)
4
+ node = JmeterRuby::AggregateReport.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class AggregateReport
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'AggregateReport' : (params[:name] || 'AggregateReport')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="#{testname}" enabled="true">
17
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
18
+ <objProp>
19
+ <name>saveConfig</name>
20
+ <value class="SampleSaveConfiguration">
21
+ <time>true</time>
22
+ <latency>true</latency>
23
+ <timestamp>true</timestamp>
24
+ <success>true</success>
25
+ <label>true</label>
26
+ <code>true</code>
27
+ <message>false</message>
28
+ <threadName>true</threadName>
29
+ <dataType>false</dataType>
30
+ <encoding>false</encoding>
31
+ <assertions>false</assertions>
32
+ <subresults>false</subresults>
33
+ <responseData>false</responseData>
34
+ <samplerData>false</samplerData>
35
+ <xml>false</xml>
36
+ <fieldNames>false</fieldNames>
37
+ <responseHeaders>false</responseHeaders>
38
+ <requestHeaders>false</requestHeaders>
39
+ <responseDataOnError>false</responseDataOnError>
40
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
41
+ <assertionsResultsToSave>0</assertionsResultsToSave>
42
+ <bytes>true</bytes>
43
+ <threadCounts>true</threadCounts>
44
+ <sampleCount>true</sampleCount>
45
+ </value>
46
+ </objProp>
47
+ <stringProp name="filename"/>
48
+ </ResultCollector>)
49
+ EOS
50
+ update params
51
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
52
+ end
53
+ end
54
+
55
+ end
@@ -0,0 +1,41 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def ajp13_sampler(params={}, &block)
4
+ node = JmeterRuby::Ajp13Sampler.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class Ajp13Sampler
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'Ajp13Sampler' : (params[:name] || 'Ajp13Sampler')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <AjpSampler guiclass="AjpSamplerGui" testclass="AjpSampler" testname="#{testname}" enabled="true">
17
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="#{testname}" enabled="true">
18
+ <collectionProp name="Arguments.arguments"/>
19
+ </elementProp>
20
+ <stringProp name="HTTPSampler.domain"/>
21
+ <stringProp name="HTTPSampler.port"/>
22
+ <stringProp name="HTTPSampler.connect_timeout"/>
23
+ <stringProp name="HTTPSampler.response_timeout"/>
24
+ <stringProp name="HTTPSampler.protocol"/>
25
+ <stringProp name="HTTPSampler.contentEncoding"/>
26
+ <stringProp name="HTTPSampler.path"/>
27
+ <stringProp name="HTTPSampler.method">GET</stringProp>
28
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
29
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
30
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
31
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
32
+ <boolProp name="HTTPSampler.monitor">false</boolProp>
33
+ <stringProp name="HTTPSampler.embedded_url_re"/>
34
+ </AjpSampler>)
35
+ EOS
36
+ update params
37
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
38
+ end
39
+ end
40
+
41
+ end
@@ -0,0 +1,55 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def assertion_results(params={}, &block)
4
+ node = JmeterRuby::AssertionResults.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class AssertionResults
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'AssertionResults' : (params[:name] || 'AssertionResults')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <ResultCollector guiclass="AssertionVisualizer" testclass="ResultCollector" testname="#{testname}" enabled="true">
17
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
18
+ <objProp>
19
+ <name>saveConfig</name>
20
+ <value class="SampleSaveConfiguration">
21
+ <time>true</time>
22
+ <latency>true</latency>
23
+ <timestamp>true</timestamp>
24
+ <success>true</success>
25
+ <label>true</label>
26
+ <code>true</code>
27
+ <message>false</message>
28
+ <threadName>true</threadName>
29
+ <dataType>false</dataType>
30
+ <encoding>false</encoding>
31
+ <assertions>false</assertions>
32
+ <subresults>false</subresults>
33
+ <responseData>false</responseData>
34
+ <samplerData>false</samplerData>
35
+ <xml>false</xml>
36
+ <fieldNames>false</fieldNames>
37
+ <responseHeaders>false</responseHeaders>
38
+ <requestHeaders>false</requestHeaders>
39
+ <responseDataOnError>false</responseDataOnError>
40
+ <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
41
+ <assertionsResultsToSave>0</assertionsResultsToSave>
42
+ <bytes>true</bytes>
43
+ <threadCounts>true</threadCounts>
44
+ <sampleCount>true</sampleCount>
45
+ </value>
46
+ </objProp>
47
+ <stringProp name="filename"/>
48
+ </ResultCollector>)
49
+ EOS
50
+ update params
51
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
52
+ end
53
+ end
54
+
55
+ end
@@ -0,0 +1,28 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def beanshell_assertion(params={}, &block)
4
+ node = JmeterRuby::BeanshellAssertion.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class BeanshellAssertion
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'BeanshellAssertion' : (params[:name] || 'BeanshellAssertion')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <BeanShellAssertion guiclass="BeanShellAssertionGui" testclass="BeanShellAssertion" testname="#{testname}" enabled="true">
17
+ <stringProp name="BeanShellAssertion.query"/>
18
+ <stringProp name="BeanShellAssertion.filename"/>
19
+ <stringProp name="BeanShellAssertion.parameters"/>
20
+ <boolProp name="BeanShellAssertion.resetInterpreter">false</boolProp>
21
+ </BeanShellAssertion>)
22
+ EOS
23
+ update params
24
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,28 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def beanshell_listener(params={}, &block)
4
+ node = JmeterRuby::BeanshellListener.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class BeanshellListener
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'BeanshellListener' : (params[:name] || 'BeanshellListener')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <BeanShellListener guiclass="TestBeanGUI" testclass="BeanShellListener" testname="#{testname}" enabled="true">
17
+ <stringProp name="filename"/>
18
+ <stringProp name="parameters"/>
19
+ <boolProp name="resetInterpreter">false</boolProp>
20
+ <stringProp name="script"/>
21
+ </BeanShellListener>)
22
+ EOS
23
+ update params
24
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,28 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def beanshell_postprocessor(params={}, &block)
4
+ node = JmeterRuby::BeanshellPostprocessor.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class BeanshellPostprocessor
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'BeanshellPostprocessor' : (params[:name] || 'BeanshellPostprocessor')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="#{testname}" enabled="true">
17
+ <stringProp name="filename"/>
18
+ <stringProp name="parameters"/>
19
+ <boolProp name="resetInterpreter">false</boolProp>
20
+ <stringProp name="script"/>
21
+ </BeanShellPostProcessor>)
22
+ EOS
23
+ update params
24
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,28 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def beanshell_preprocessor(params={}, &block)
4
+ node = JmeterRuby::BeanshellPreprocessor.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class BeanshellPreprocessor
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'BeanshellPreprocessor' : (params[:name] || 'BeanshellPreprocessor')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="#{testname}" enabled="true">
17
+ <stringProp name="filename"/>
18
+ <stringProp name="parameters"/>
19
+ <boolProp name="resetInterpreter">false</boolProp>
20
+ <stringProp name="script"/>
21
+ </BeanShellPreProcessor>)
22
+ EOS
23
+ update params
24
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,28 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def beanshell_sampler(params={}, &block)
4
+ node = JmeterRuby::BeanshellSampler.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class BeanshellSampler
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'BeanshellSampler' : (params[:name] || 'BeanshellSampler')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="#{testname}" enabled="true">
17
+ <stringProp name="BeanShellSampler.query"/>
18
+ <stringProp name="BeanShellSampler.filename"/>
19
+ <stringProp name="BeanShellSampler.parameters"/>
20
+ <boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
21
+ </BeanShellSampler>)
22
+ EOS
23
+ update params
24
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,28 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def beanshell_timer(params={}, &block)
4
+ node = JmeterRuby::BeanshellTimer.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class BeanshellTimer
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'BeanshellTimer' : (params[:name] || 'BeanshellTimer')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <BeanShellTimer guiclass="TestBeanGUI" testclass="BeanShellTimer" testname="#{testname}" enabled="true">
17
+ <stringProp name="filename"/>
18
+ <stringProp name="parameters"/>
19
+ <boolProp name="resetInterpreter">false</boolProp>
20
+ <stringProp name="script"/>
21
+ </BeanShellTimer>)
22
+ EOS
23
+ update params
24
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,28 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def bsf_assertion(params={}, &block)
4
+ node = JmeterRuby::BsfAssertion.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class BsfAssertion
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'BsfAssertion' : (params[:name] || 'BsfAssertion')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <BSFAssertion guiclass="TestBeanGUI" testclass="BSFAssertion" testname="#{testname}" enabled="true">
17
+ <stringProp name="filename"/>
18
+ <stringProp name="parameters"/>
19
+ <stringProp name="script"/>
20
+ <stringProp name="scriptLanguage"/>
21
+ </BSFAssertion>)
22
+ EOS
23
+ update params
24
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
25
+ end
26
+ end
27
+
28
+ end