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,33 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def jdbc_preprocessor(params={}, &block)
4
+ node = JmeterRuby::JdbcPreprocessor.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class JdbcPreprocessor
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'JdbcPreprocessor' : (params[:name] || 'JdbcPreprocessor')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <JDBCPreProcessor guiclass="TestBeanGUI" testclass="JDBCPreProcessor" testname="#{testname}" enabled="true">
17
+ <stringProp name="dataSource"/>
18
+ <stringProp name="query"/>
19
+ <stringProp name="queryArguments"/>
20
+ <stringProp name="queryArgumentsTypes"/>
21
+ <stringProp name="queryType">Select Statement</stringProp>
22
+ <stringProp name="resultVariable"/>
23
+ <stringProp name="variableNames"/>
24
+ <stringProp name="queryTimeout"/>
25
+ <stringProp name="resultSetHandler">Store as String</stringProp>
26
+ </JDBCPreProcessor>)
27
+ EOS
28
+ update params
29
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
30
+ end
31
+ end
32
+
33
+ end
@@ -0,0 +1,33 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def jdbc_request(params={}, &block)
4
+ node = JmeterRuby::JdbcRequest.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class JdbcRequest
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'JdbcRequest' : (params[:name] || 'JdbcRequest')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="#{testname}" enabled="true">
17
+ <stringProp name="dataSource"/>
18
+ <stringProp name="query"/>
19
+ <stringProp name="queryArguments"/>
20
+ <stringProp name="queryArgumentsTypes"/>
21
+ <stringProp name="queryType">Select Statement</stringProp>
22
+ <stringProp name="resultVariable"/>
23
+ <stringProp name="variableNames"/>
24
+ <stringProp name="queryTimeout"/>
25
+ <stringProp name="resultSetHandler">Store as String</stringProp>
26
+ </JDBCSampler>)
27
+ EOS
28
+ update params
29
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
30
+ end
31
+ end
32
+
33
+ end
@@ -0,0 +1,41 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def jms_pointtopoint(params={}, &block)
4
+ node = JmeterRuby::JmsPointtopoint.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class JmsPointtopoint
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'JmsPointtopoint' : (params[:name] || 'JmsPointtopoint')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <JMSSampler guiclass="JMSSamplerGui" testclass="JMSSampler" testname="#{testname}" enabled="true">
17
+ <stringProp name="JMSSampler.queueconnectionfactory"/>
18
+ <stringProp name="JMSSampler.SendQueue"/>
19
+ <stringProp name="JMSSampler.ReceiveQueue"/>
20
+ <boolProp name="JMSSampler.isFireAndForget">true</boolProp>
21
+ <boolProp name="JMSSampler.isNonPersistent">false</boolProp>
22
+ <boolProp name="JMSSampler.useReqMsgIdAsCorrelId">false</boolProp>
23
+ <boolProp name="JMSSampler.useResMsgIdAsCorrelId">false</boolProp>
24
+ <stringProp name="JMSSampler.timeout"/>
25
+ <stringProp name="HTTPSamper.xml_data"/>
26
+ <stringProp name="JMSSampler.initialContextFactory"/>
27
+ <stringProp name="JMSSampler.contextProviderUrl"/>
28
+ <elementProp name="JMSSampler.jndiProperties" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="#{testname}" enabled="true">
29
+ <collectionProp name="Arguments.arguments"/>
30
+ </elementProp>
31
+ <elementProp name="arguments" elementType="JMSProperties">
32
+ <collectionProp name="JMSProperties.properties"/>
33
+ </elementProp>
34
+ </JMSSampler>)
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,43 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def jms_publisher(params={}, &block)
4
+ node = JmeterRuby::JmsPublisher.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class JmsPublisher
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'JmsPublisher' : (params[:name] || 'JmsPublisher')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <PublisherSampler guiclass="JMSPublisherGui" testclass="PublisherSampler" testname="#{testname}" enabled="true">
17
+ <stringProp name="jms.jndi_properties">false</stringProp>
18
+ <stringProp name="jms.initial_context_factory"/>
19
+ <stringProp name="jms.provider_url"/>
20
+ <stringProp name="jms.connection_factory"/>
21
+ <stringProp name="jms.topic"/>
22
+ <stringProp name="jms.security_principle"/>
23
+ <stringProp name="jms.security_credentials"/>
24
+ <stringProp name="jms.text_message"/>
25
+ <stringProp name="jms.input_file"/>
26
+ <stringProp name="jms.random_path"/>
27
+ <stringProp name="jms.config_choice">jms_use_text</stringProp>
28
+ <stringProp name="jms.config_msg_type">jms_text_message</stringProp>
29
+ <stringProp name="jms.iterations">1</stringProp>
30
+ <boolProp name="jms.authenticate">false</boolProp>
31
+ <elementProp name="arguments" elementType="JMSProperties">
32
+ <collectionProp name="JMSProperties.properties"/>
33
+ </elementProp>
34
+ <stringProp name="jms.expiration"/>
35
+ <stringProp name="jms.priority"/>
36
+ </PublisherSampler>)
37
+ EOS
38
+ update params
39
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
40
+ end
41
+ end
42
+
43
+ end
@@ -0,0 +1,35 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def jms_subscriber(params={}, &block)
4
+ node = JmeterRuby::JmsSubscriber.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class JmsSubscriber
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'JmsSubscriber' : (params[:name] || 'JmsSubscriber')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <SubscriberSampler guiclass="JMSSubscriberGui" testclass="SubscriberSampler" testname="#{testname}" enabled="true">
17
+ <stringProp name="jms.jndi_properties">false</stringProp>
18
+ <stringProp name="jms.initial_context_factory"/>
19
+ <stringProp name="jms.provider_url"/>
20
+ <stringProp name="jms.connection_factory"/>
21
+ <stringProp name="jms.topic"/>
22
+ <stringProp name="jms.security_principle"/>
23
+ <stringProp name="jms.security_credentials"/>
24
+ <boolProp name="jms.authenticate">false</boolProp>
25
+ <stringProp name="jms.iterations">1</stringProp>
26
+ <stringProp name="jms.read_response">true</stringProp>
27
+ <stringProp name="jms.client_choice">jms_subscriber_receive</stringProp>
28
+ </SubscriberSampler>)
29
+ EOS
30
+ update params
31
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
32
+ end
33
+ end
34
+
35
+ end
@@ -0,0 +1,27 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def json_path_postprocessor(params={}, &block)
4
+ node = JmeterRuby::JsonPathPostprocessor.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class JsonPathPostprocessor
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'JsonPathPostprocessor' : (params[:name] || 'JsonPathPostprocessor')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="#{testname}" enabled="true">
17
+ <stringProp name="JSONPostProcessor.referenceNames"/>
18
+ <stringProp name="JSONPostProcessor.jsonPathExprs"/>
19
+ <stringProp name="JSONPostProcessor.match_numbers"/>
20
+ </JSONPostProcessor>)
21
+ EOS
22
+ update params
23
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
24
+ end
25
+ end
26
+
27
+ end
@@ -0,0 +1,29 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def jsr223_assertion(params={}, &block)
4
+ node = JmeterRuby::Jsr223Assertion.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class Jsr223Assertion
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'Jsr223Assertion' : (params[:name] || 'Jsr223Assertion')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="#{testname}" enabled="true">
17
+ <stringProp name="cacheKey"/>
18
+ <stringProp name="filename"/>
19
+ <stringProp name="parameters"/>
20
+ <stringProp name="script"/>
21
+ <stringProp name="scriptLanguage"/>
22
+ </JSR223Assertion>)
23
+ EOS
24
+ update params
25
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,29 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def jsr223_listener(params={}, &block)
4
+ node = JmeterRuby::Jsr223Listener.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class Jsr223Listener
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'Jsr223Listener' : (params[:name] || 'Jsr223Listener')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <JSR223Listener guiclass="TestBeanGUI" testclass="JSR223Listener" testname="#{testname}" enabled="true">
17
+ <stringProp name="cacheKey"/>
18
+ <stringProp name="filename"/>
19
+ <stringProp name="parameters"/>
20
+ <stringProp name="script"/>
21
+ <stringProp name="scriptLanguage"/>
22
+ </JSR223Listener>)
23
+ EOS
24
+ update params
25
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,29 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def jsr223_postprocessor(params={}, &block)
4
+ node = JmeterRuby::Jsr223Postprocessor.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class Jsr223Postprocessor
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'Jsr223Postprocessor' : (params[:name] || 'Jsr223Postprocessor')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="#{testname}" enabled="true">
17
+ <stringProp name="cacheKey"/>
18
+ <stringProp name="filename"/>
19
+ <stringProp name="parameters"/>
20
+ <stringProp name="script"/>
21
+ <stringProp name="scriptLanguage"/>
22
+ </JSR223PostProcessor>)
23
+ EOS
24
+ update params
25
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,29 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def jsr223_preprocessor(params={}, &block)
4
+ node = JmeterRuby::Jsr223Preprocessor.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class Jsr223Preprocessor
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'Jsr223Preprocessor' : (params[:name] || 'Jsr223Preprocessor')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <JSR223PreProcessor guiclass="TestBeanGUI" testclass="JSR223PreProcessor" testname="#{testname}" enabled="true">
17
+ <stringProp name="cacheKey"/>
18
+ <stringProp name="filename"/>
19
+ <stringProp name="parameters"/>
20
+ <stringProp name="script"/>
21
+ <stringProp name="scriptLanguage"/>
22
+ </JSR223PreProcessor>)
23
+ EOS
24
+ update params
25
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,29 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def jsr223_sampler(params={}, &block)
4
+ node = JmeterRuby::Jsr223Sampler.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class Jsr223Sampler
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'Jsr223Sampler' : (params[:name] || 'Jsr223Sampler')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="#{testname}" enabled="true">
17
+ <stringProp name="cacheKey"/>
18
+ <stringProp name="filename"/>
19
+ <stringProp name="parameters"/>
20
+ <stringProp name="script"/>
21
+ <stringProp name="scriptLanguage"/>
22
+ </JSR223Sampler>)
23
+ EOS
24
+ update params
25
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,29 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def jsr223_timer(params={}, &block)
4
+ node = JmeterRuby::Jsr223Timer.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class Jsr223Timer
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'Jsr223Timer' : (params[:name] || 'Jsr223Timer')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <JSR223Timer guiclass="TestBeanGUI" testclass="JSR223Timer" testname="#{testname}" enabled="true">
17
+ <stringProp name="cacheKey"/>
18
+ <stringProp name="filename"/>
19
+ <stringProp name="parameters"/>
20
+ <stringProp name="script"/>
21
+ <stringProp name="scriptLanguage"/>
22
+ </JSR223Timer>)
23
+ EOS
24
+ update params
25
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,37 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def junit_request(params={}, &block)
4
+ node = JmeterRuby::JunitRequest.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class JunitRequest
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'JunitRequest' : (params[:name] || 'JunitRequest')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <JUnitSampler guiclass="JUnitTestSamplerGui" testclass="JUnitSampler" testname="#{testname}" enabled="true">
17
+ <stringProp name="junitSampler.classname">test.RerunTest</stringProp>
18
+ <stringProp name="junitsampler.constructorstring"/>
19
+ <stringProp name="junitsampler.method">testRerun</stringProp>
20
+ <stringProp name="junitsampler.pkg.filter"/>
21
+ <stringProp name="junitsampler.success">Test successful</stringProp>
22
+ <stringProp name="junitsampler.success.code">1000</stringProp>
23
+ <stringProp name="junitsampler.failure">Test failed</stringProp>
24
+ <stringProp name="junitsampler.failure.code">0001</stringProp>
25
+ <stringProp name="junitsampler.error">An unexpected error occured</stringProp>
26
+ <stringProp name="junitsampler.error.code">9999</stringProp>
27
+ <stringProp name="junitsampler.exec.setup">false</stringProp>
28
+ <stringProp name="junitsampler.append.error">false</stringProp>
29
+ <stringProp name="junitsampler.append.exception">false</stringProp>
30
+ </JUnitSampler>)
31
+ EOS
32
+ update params
33
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
34
+ end
35
+ end
36
+
37
+ end
@@ -0,0 +1,28 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def keystore_configuration(params={}, &block)
4
+ node = JmeterRuby::KeystoreConfiguration.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class KeystoreConfiguration
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'KeystoreConfiguration' : (params[:name] || 'KeystoreConfiguration')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <KeystoreConfig guiclass="TestBeanGUI" testclass="KeystoreConfig" testname="#{testname}" enabled="true">
17
+ <stringProp name="endIndex"/>
18
+ <stringProp name="preload">True</stringProp>
19
+ <stringProp name="startIndex"/>
20
+ <stringProp name="clientCertAliasVarName"/>
21
+ </KeystoreConfig>)
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,42 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def ldap_extended_request(params={}, &block)
4
+ node = JmeterRuby::LdapExtendedRequest.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class LdapExtendedRequest
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'LdapExtendedRequest' : (params[:name] || 'LdapExtendedRequest')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <LDAPExtSampler guiclass="LdapExtTestSamplerGui" testclass="LDAPExtSampler" testname="#{testname}" enabled="true">
17
+ <stringProp name="servername"/>
18
+ <stringProp name="port"/>
19
+ <stringProp name="rootdn"/>
20
+ <stringProp name="scope">2</stringProp>
21
+ <stringProp name="countlimit"/>
22
+ <stringProp name="timelimit"/>
23
+ <stringProp name="attributes"/>
24
+ <stringProp name="return_object">false</stringProp>
25
+ <stringProp name="deref_aliases">false</stringProp>
26
+ <stringProp name="connection_timeout"/>
27
+ <stringProp name="parseflag">false</stringProp>
28
+ <stringProp name="secure">false</stringProp>
29
+ <stringProp name="user_dn"/>
30
+ <stringProp name="user_pw"/>
31
+ <stringProp name="comparedn"/>
32
+ <stringProp name="comparefilt"/>
33
+ <stringProp name="modddn"/>
34
+ <stringProp name="newdn"/>
35
+ </LDAPExtSampler>)
36
+ EOS
37
+ update params
38
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
39
+ end
40
+ end
41
+
42
+ end
@@ -0,0 +1,42 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def ldap_extended_request_defaults(params={}, &block)
4
+ node = JmeterRuby::LdapExtendedRequestDefaults.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class LdapExtendedRequestDefaults
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'LdapExtendedRequestDefaults' : (params[:name] || 'LdapExtendedRequestDefaults')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <ConfigTestElement guiclass="LdapExtConfigGui" testclass="ConfigTestElement" testname="#{testname}" enabled="true">
17
+ <stringProp name="servername"/>
18
+ <stringProp name="port"/>
19
+ <stringProp name="rootdn"/>
20
+ <stringProp name="scope">2</stringProp>
21
+ <stringProp name="countlimit"/>
22
+ <stringProp name="timelimit"/>
23
+ <stringProp name="attributes"/>
24
+ <stringProp name="return_object">false</stringProp>
25
+ <stringProp name="deref_aliases">false</stringProp>
26
+ <stringProp name="connection_timeout"/>
27
+ <stringProp name="parseflag">false</stringProp>
28
+ <stringProp name="secure">false</stringProp>
29
+ <stringProp name="user_dn"/>
30
+ <stringProp name="user_pw"/>
31
+ <stringProp name="comparedn"/>
32
+ <stringProp name="comparefilt"/>
33
+ <stringProp name="modddn"/>
34
+ <stringProp name="newdn"/>
35
+ </ConfigTestElement>)
36
+ EOS
37
+ update params
38
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
39
+ end
40
+ end
41
+
42
+ end
@@ -0,0 +1,35 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def ldap_request(params={}, &block)
4
+ node = JmeterRuby::LdapRequest.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class LdapRequest
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'LdapRequest' : (params[:name] || 'LdapRequest')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <LDAPSampler guiclass="LdapTestSamplerGui" testclass="LDAPSampler" testname="#{testname}" enabled="true">
17
+ <stringProp name="servername"/>
18
+ <stringProp name="port"/>
19
+ <stringProp name="rootdn"/>
20
+ <boolProp name="user_defined">false</boolProp>
21
+ <stringProp name="test">add</stringProp>
22
+ <stringProp name="base_entry_dn"/>
23
+ <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="#{testname}" enabled="true">
24
+ <collectionProp name="Arguments.arguments"/>
25
+ </elementProp>
26
+ <stringProp name="ConfigTestElement.username"/>
27
+ <stringProp name="ConfigTestElement.password"/>
28
+ </LDAPSampler>)
29
+ EOS
30
+ update params
31
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
32
+ end
33
+ end
34
+
35
+ end
@@ -0,0 +1,39 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def ldap_request_defaults(params={}, &block)
4
+ node = JmeterRuby::LdapRequestDefaults.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class LdapRequestDefaults
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'LdapRequestDefaults' : (params[:name] || 'LdapRequestDefaults')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <ConfigTestElement guiclass="LdapConfigGui" testclass="ConfigTestElement" testname="#{testname}" enabled="true">
17
+ <stringProp name="servername"/>
18
+ <stringProp name="port"/>
19
+ <stringProp name="rootdn"/>
20
+ <boolProp name="user_defined">true</boolProp>
21
+ <stringProp name="test">add</stringProp>
22
+ <stringProp name="base_entry_dn"/>
23
+ <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="#{testname}" enabled="true">
24
+ <collectionProp name="Arguments.arguments">
25
+ <elementProp name=" " elementType="Argument">
26
+ <stringProp name="Argument.name"> </stringProp>
27
+ <stringProp name="Argument.value"> </stringProp>
28
+ <stringProp name="Argument.metadata">=</stringProp>
29
+ </elementProp>
30
+ </collectionProp>
31
+ </elementProp>
32
+ </ConfigTestElement>)
33
+ EOS
34
+ update params
35
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
36
+ end
37
+ end
38
+
39
+ end
@@ -0,0 +1,26 @@
1
+ module JmeterRuby
2
+ class DSL
3
+ def login_config_element(params={}, &block)
4
+ node = JmeterRuby::LoginConfigElement.new(params)
5
+ attach_node(node, &block)
6
+ end
7
+ end
8
+
9
+ class LoginConfigElement
10
+ attr_accessor :doc
11
+ include Helper
12
+
13
+ def initialize(params={})
14
+ testname = params.kind_of?(Array) ? 'LoginConfigElement' : (params[:name] || 'LoginConfigElement')
15
+ @doc = Nokogiri::XML(<<-EOS.strip_heredoc)
16
+ <ConfigTestElement guiclass="LoginConfigGui" testclass="ConfigTestElement" testname="#{testname}" enabled="true">
17
+ <stringProp name="ConfigTestElement.username"/>
18
+ <stringProp name="ConfigTestElement.password"/>
19
+ </ConfigTestElement>)
20
+ EOS
21
+ update params
22
+ update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
23
+ end
24
+ end
25
+
26
+ end