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.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/.rubocop.yml +19 -0
- data/.standard.yml +4 -0
- data/CHANGELOG.md +18 -0
- data/DSL.md +235 -0
- data/README.md +24 -0
- data/Rakefile +12 -0
- data/example/Gemfile +39 -0
- data/example/Gemfile.lock +232 -0
- data/example/README.md +3 -0
- data/example/Rakefile +6 -0
- data/example/app/controllers/application_controller.rb +2 -0
- data/example/app/controllers/test_controller.rb +15 -0
- data/example/bin/bundle +109 -0
- data/example/bin/docker-entrypoint +8 -0
- data/example/bin/rails +4 -0
- data/example/bin/rake +4 -0
- data/example/bin/setup +33 -0
- data/example/config/application.rb +44 -0
- data/example/config/boot.rb +3 -0
- data/example/config/credentials.yml.enc +1 -0
- data/example/config/database.yml +25 -0
- data/example/config/environment.rb +5 -0
- data/example/config/environments/development.rb +64 -0
- data/example/config/environments/production.rb +82 -0
- data/example/config/environments/test.rb +61 -0
- data/example/config/initializers/cors.rb +16 -0
- data/example/config/initializers/filter_parameter_logging.rb +8 -0
- data/example/config/initializers/inflections.rb +16 -0
- data/example/config/locales/en.yml +31 -0
- data/example/config/puma.rb +35 -0
- data/example/config/routes.rb +5 -0
- data/example/config.ru +7 -0
- data/example/fast.log +49 -0
- data/example/jmeter.log +28 -0
- data/example/lib/tasks/test.rake +40 -0
- data/example/log/.keep +0 -0
- data/example/public/robots.txt +1 -0
- data/example/random.log +49 -0
- data/example/slow.log +49 -0
- data/example/vendor/.keep +0 -0
- data/lib/Rakefile +4 -0
- data/lib/jmeter_perf/dsl/access_log_sampler.rb +38 -0
- data/lib/jmeter_perf/dsl/aggregate_graph.rb +61 -0
- data/lib/jmeter_perf/dsl/aggregate_report.rb +61 -0
- data/lib/jmeter_perf/dsl/ajp13_sampler.rb +47 -0
- data/lib/jmeter_perf/dsl/assertion_results.rb +61 -0
- data/lib/jmeter_perf/dsl/bean_shell_assertion.rb +34 -0
- data/lib/jmeter_perf/dsl/bean_shell_listener.rb +34 -0
- data/lib/jmeter_perf/dsl/bean_shell_postprocessor.rb +34 -0
- data/lib/jmeter_perf/dsl/bean_shell_preprocessor.rb +34 -0
- data/lib/jmeter_perf/dsl/bean_shell_sampler.rb +34 -0
- data/lib/jmeter_perf/dsl/bean_shell_timer.rb +34 -0
- data/lib/jmeter_perf/dsl/bsf_assertion.rb +34 -0
- data/lib/jmeter_perf/dsl/bsf_listener.rb +34 -0
- data/lib/jmeter_perf/dsl/bsf_postprocessor.rb +34 -0
- data/lib/jmeter_perf/dsl/bsf_preprocessor.rb +34 -0
- data/lib/jmeter_perf/dsl/bsf_sampler.rb +34 -0
- data/lib/jmeter_perf/dsl/bsf_timer.rb +34 -0
- data/lib/jmeter_perf/dsl/compare_assertion.rb +33 -0
- data/lib/jmeter_perf/dsl/comparison_assertion_visualizer.rb +61 -0
- data/lib/jmeter_perf/dsl/constant_throughput_timer.rb +32 -0
- data/lib/jmeter_perf/dsl/constant_timer.rb +31 -0
- data/lib/jmeter_perf/dsl/counter.rb +37 -0
- data/lib/jmeter_perf/dsl/css_jquery_extractor.rb +37 -0
- data/lib/jmeter_perf/dsl/csv_data_set_config.rb +39 -0
- data/lib/jmeter_perf/dsl/debug_postprocessor.rb +34 -0
- data/lib/jmeter_perf/dsl/debug_sampler.rb +33 -0
- data/lib/jmeter_perf/dsl/distribution_graphalpha.rb +61 -0
- data/lib/jmeter_perf/dsl/duration_assertion.rb +31 -0
- data/lib/jmeter_perf/dsl/for_each_controller.rb +33 -0
- data/lib/jmeter_perf/dsl/ftp_request.rb +40 -0
- data/lib/jmeter_perf/dsl/ftp_request_defaults.rb +38 -0
- data/lib/jmeter_perf/dsl/gaussian_random_timer.rb +32 -0
- data/lib/jmeter_perf/dsl/generate_summary_results.rb +29 -0
- data/lib/jmeter_perf/dsl/graph_results.rb +61 -0
- data/lib/jmeter_perf/dsl/html_assertion.rb +36 -0
- data/lib/jmeter_perf/dsl/html_link_parser.rb +29 -0
- data/lib/jmeter_perf/dsl/html_parameter_mask.rb +38 -0
- data/lib/jmeter_perf/dsl/http_authorization_manager.rb +39 -0
- data/lib/jmeter_perf/dsl/http_cache_manager.rb +32 -0
- data/lib/jmeter_perf/dsl/http_cookie_manager.rb +34 -0
- data/lib/jmeter_perf/dsl/http_header_manager.rb +36 -0
- data/lib/jmeter_perf/dsl/http_request.rb +47 -0
- data/lib/jmeter_perf/dsl/http_request_defaults.rb +53 -0
- data/lib/jmeter_perf/dsl/http_url_rewriting_modifier.rb +36 -0
- data/lib/jmeter_perf/dsl/if_controller.rb +33 -0
- data/lib/jmeter_perf/dsl/include_controller.rb +31 -0
- data/lib/jmeter_perf/dsl/j_unit_request.rb +43 -0
- data/lib/jmeter_perf/dsl/java_request.rb +75 -0
- data/lib/jmeter_perf/dsl/java_request_defaults.rb +75 -0
- data/lib/jmeter_perf/dsl/jdbc_connection_configuration.rb +43 -0
- data/lib/jmeter_perf/dsl/jdbc_postprocessor.rb +39 -0
- data/lib/jmeter_perf/dsl/jdbc_preprocessor.rb +39 -0
- data/lib/jmeter_perf/dsl/jdbc_request.rb +39 -0
- data/lib/jmeter_perf/dsl/jms_pointto_point.rb +47 -0
- data/lib/jmeter_perf/dsl/jms_publisher.rb +49 -0
- data/lib/jmeter_perf/dsl/jms_subscriber.rb +41 -0
- data/lib/jmeter_perf/dsl/json_path_postprocessor.rb +33 -0
- data/lib/jmeter_perf/dsl/jsr223_assertion.rb +35 -0
- data/lib/jmeter_perf/dsl/jsr223_listener.rb +35 -0
- data/lib/jmeter_perf/dsl/jsr223_postprocessor.rb +35 -0
- data/lib/jmeter_perf/dsl/jsr223_preprocessor.rb +35 -0
- data/lib/jmeter_perf/dsl/jsr223_sampler.rb +35 -0
- data/lib/jmeter_perf/dsl/jsr223_timer.rb +35 -0
- data/lib/jmeter_perf/dsl/keystore_configuration.rb +34 -0
- data/lib/jmeter_perf/dsl/ldap_extended_request.rb +48 -0
- data/lib/jmeter_perf/dsl/ldap_extended_request_defaults.rb +48 -0
- data/lib/jmeter_perf/dsl/ldap_request.rb +41 -0
- data/lib/jmeter_perf/dsl/ldap_request_defaults.rb +45 -0
- data/lib/jmeter_perf/dsl/login_config_element.rb +32 -0
- data/lib/jmeter_perf/dsl/loop_controller.rb +32 -0
- data/lib/jmeter_perf/dsl/mail_reader_sampler.rb +43 -0
- data/lib/jmeter_perf/dsl/mailer_visualizer.rb +70 -0
- data/lib/jmeter_perf/dsl/md5_hex_assertion.rb +31 -0
- data/lib/jmeter_perf/dsl/module_controller.rb +31 -0
- data/lib/jmeter_perf/dsl/monitor_results.rb +61 -0
- data/lib/jmeter_perf/dsl/once_only_controller.rb +29 -0
- data/lib/jmeter_perf/dsl/os_process_sampler.rb +40 -0
- data/lib/jmeter_perf/dsl/poisson_random_timer.rb +32 -0
- data/lib/jmeter_perf/dsl/random_controller.rb +31 -0
- data/lib/jmeter_perf/dsl/random_order_controller.rb +29 -0
- data/lib/jmeter_perf/dsl/random_variable.rb +36 -0
- data/lib/jmeter_perf/dsl/recording_controller.rb +29 -0
- data/lib/jmeter_perf/dsl/reg_ex_user_parameters.rb +33 -0
- data/lib/jmeter_perf/dsl/regular_expression_extractor.rb +38 -0
- data/lib/jmeter_perf/dsl/response_assertion.rb +37 -0
- data/lib/jmeter_perf/dsl/response_time_graph.rb +61 -0
- data/lib/jmeter_perf/dsl/result_status_action_handler.rb +31 -0
- data/lib/jmeter_perf/dsl/runtime_controller.rb +31 -0
- data/lib/jmeter_perf/dsl/save_responses_to_a_file.rb +35 -0
- data/lib/jmeter_perf/dsl/simple_config_element.rb +29 -0
- data/lib/jmeter_perf/dsl/simple_controller.rb +29 -0
- data/lib/jmeter_perf/dsl/simple_data_writer.rb +61 -0
- data/lib/jmeter_perf/dsl/smime_assertion.rb +41 -0
- data/lib/jmeter_perf/dsl/smtp_sampler.rb +57 -0
- data/lib/jmeter_perf/dsl/soap_xml_rpc_request.rb +39 -0
- data/lib/jmeter_perf/dsl/spline_visualizer.rb +61 -0
- data/lib/jmeter_perf/dsl/summary_report.rb +61 -0
- data/lib/jmeter_perf/dsl/switch_controller.rb +31 -0
- data/lib/jmeter_perf/dsl/synchronizing_timer.rb +32 -0
- data/lib/jmeter_perf/dsl/tcp_sampler.rb +39 -0
- data/lib/jmeter_perf/dsl/tcp_sampler_config.rb +37 -0
- data/lib/jmeter_perf/dsl/test_action.rb +33 -0
- data/lib/jmeter_perf/dsl/test_fragment.rb +29 -0
- data/lib/jmeter_perf/dsl/test_plan.rb +37 -0
- data/lib/jmeter_perf/dsl/thread_group.rb +43 -0
- data/lib/jmeter_perf/dsl/throughput_controller.rb +38 -0
- data/lib/jmeter_perf/dsl/transaction_controller.rb +32 -0
- data/lib/jmeter_perf/dsl/uniform_random_timer.rb +32 -0
- data/lib/jmeter_perf/dsl/user_defined_variables.rb +39 -0
- data/lib/jmeter_perf/dsl/user_parameters.rb +36 -0
- data/lib/jmeter_perf/dsl/view_results_in_table.rb +61 -0
- data/lib/jmeter_perf/dsl/view_results_tree.rb +61 -0
- data/lib/jmeter_perf/dsl/while_controller.rb +31 -0
- data/lib/jmeter_perf/dsl/x_path_assertion.rb +37 -0
- data/lib/jmeter_perf/dsl/x_path_extractor.rb +37 -0
- data/lib/jmeter_perf/dsl/xml_assertion.rb +29 -0
- data/lib/jmeter_perf/dsl/xml_schema_assertion.rb +31 -0
- data/lib/jmeter_perf/extend/assertions/response_assertion.rb +38 -0
- data/lib/jmeter_perf/extend/config_elements/header_manager.rb +13 -0
- data/lib/jmeter_perf/extend/config_elements/http_cache_manager.rb +12 -0
- data/lib/jmeter_perf/extend/config_elements/http_cookie_manager.rb +39 -0
- data/lib/jmeter_perf/extend/config_elements/http_request_defaults.rb +55 -0
- data/lib/jmeter_perf/extend/config_elements/user_defined_variables.rb +13 -0
- data/lib/jmeter_perf/extend/config_elements/user_parameters.rb +31 -0
- data/lib/jmeter_perf/extend/controllers/foreach_controller.rb +31 -0
- data/lib/jmeter_perf/extend/controllers/loop_controller.rb +11 -0
- data/lib/jmeter_perf/extend/controllers/module_controller.rb +26 -0
- data/lib/jmeter_perf/extend/controllers/throughput_controller.rb +15 -0
- data/lib/jmeter_perf/extend/controllers/transaction_controller.rb +14 -0
- data/lib/jmeter_perf/extend/misc/exists.rb +13 -0
- data/lib/jmeter_perf/extend/misc/rsync.rb +24 -0
- data/lib/jmeter_perf/extend/misc/uuid.rb +12 -0
- data/lib/jmeter_perf/extend/misc/with_helpers.rb +27 -0
- data/lib/jmeter_perf/extend/plugins/jmeter_plugins.rb +124 -0
- data/lib/jmeter_perf/extend/processors/extract.rb +27 -0
- data/lib/jmeter_perf/extend/processors/regular_expression_extractor.rb +27 -0
- data/lib/jmeter_perf/extend/samplers/http_request.rb +66 -0
- data/lib/jmeter_perf/extend/samplers/jms_pointtopoint.rb +23 -0
- data/lib/jmeter_perf/extend/samplers/soapxmlrpc_request.rb +10 -0
- data/lib/jmeter_perf/extend/threads/thread_group.rb +19 -0
- data/lib/jmeter_perf/extend/timers/constant_throughput_timer.rb +11 -0
- data/lib/jmeter_perf/extend/timers/random_timer.rb +14 -0
- data/lib/jmeter_perf/helpers/dsl_generator.rb +157 -0
- data/lib/jmeter_perf/helpers/fallback_content_proxy.rb +96 -0
- data/lib/jmeter_perf/helpers/helper.rb +63 -0
- data/lib/jmeter_perf/helpers/parser.rb +143 -0
- data/lib/jmeter_perf/helpers/running_statistics.rb +62 -0
- data/lib/jmeter_perf/helpers/string.rb +60 -0
- data/lib/jmeter_perf/helpers/user-agents.rb +42 -0
- data/lib/jmeter_perf/plugins/active_threads_over_time.rb +59 -0
- data/lib/jmeter_perf/plugins/composite_graph.rb +77 -0
- data/lib/jmeter_perf/plugins/console_status_logger.rb +19 -0
- data/lib/jmeter_perf/plugins/dummy_sampler.rb +30 -0
- data/lib/jmeter_perf/plugins/jmx_collector.rb +74 -0
- data/lib/jmeter_perf/plugins/json_path_assertion.rb +23 -0
- data/lib/jmeter_perf/plugins/json_path_extractor.rb +22 -0
- data/lib/jmeter_perf/plugins/latencies_over_time.rb +53 -0
- data/lib/jmeter_perf/plugins/loadosophia_uploader.rb +66 -0
- data/lib/jmeter_perf/plugins/perfmon_collector.rb +87 -0
- data/lib/jmeter_perf/plugins/redis_data_set.rb +43 -0
- data/lib/jmeter_perf/plugins/response_codes_per_second.rb +53 -0
- data/lib/jmeter_perf/plugins/response_times_distribution.rb +53 -0
- data/lib/jmeter_perf/plugins/response_times_over_time.rb +53 -0
- data/lib/jmeter_perf/plugins/response_times_percentiles.rb +54 -0
- data/lib/jmeter_perf/plugins/stepping_thread_group.rb +34 -0
- data/lib/jmeter_perf/plugins/transactions_per_second.rb +53 -0
- data/lib/jmeter_perf/plugins/ultimate_thread_group.rb +28 -0
- data/lib/jmeter_perf/plugins/variable_throughput_timer.rb +35 -0
- data/lib/jmeter_perf/report/comparator.rb +258 -0
- data/lib/jmeter_perf/report/summary.rb +268 -0
- data/lib/jmeter_perf/tasks/dsl.rake +19 -0
- data/lib/jmeter_perf/version.rb +5 -0
- data/lib/jmeter_perf/views/report_template.html.erb +114 -0
- data/lib/jmeter_perf.rb +183 -0
- data/lib/specifications/idl.xml +1494 -0
- data/sig/jmeter_perf.rbs +195 -0
- data/sorbet/config +5 -0
- data/sorbet/rbi/annotations/.gitattributes +1 -0
- data/sorbet/rbi/annotations/rainbow.rbi +269 -0
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/ast@2.4.2.rbi +585 -0
- data/sorbet/rbi/gems/bump@0.10.0.rbi +169 -0
- data/sorbet/rbi/gems/byebug@11.1.3.rbi +3607 -0
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +3427 -0
- data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +1131 -0
- data/sorbet/rbi/gems/docile@1.4.1.rbi +377 -0
- data/sorbet/rbi/gems/erubi@1.13.0.rbi +150 -0
- data/sorbet/rbi/gems/json@2.7.2.rbi +1562 -0
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14238 -0
- data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
- data/sorbet/rbi/gems/method_source@1.1.0.rbi +304 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
- data/sorbet/rbi/gems/nokogiri@1.16.7.rbi +7311 -0
- data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
- data/sorbet/rbi/gems/parser@3.3.5.0.rbi +5519 -0
- data/sorbet/rbi/gems/prism@1.2.0.rbi +39085 -0
- data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +1151 -0
- data/sorbet/rbi/gems/pry@0.14.2.rbi +10076 -0
- data/sorbet/rbi/gems/racc@1.8.1.rbi +162 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +403 -0
- data/sorbet/rbi/gems/rake@13.2.1.rbi +3074 -0
- data/sorbet/rbi/gems/rbi@0.2.1.rbi +4535 -0
- data/sorbet/rbi/gems/rbtree3@0.7.1.rbi +9 -0
- data/sorbet/rbi/gems/regexp_parser@2.9.2.rbi +3772 -0
- data/sorbet/rbi/gems/rexml@3.3.8.rbi +4858 -0
- data/sorbet/rbi/gems/rspec-core@3.13.1.rbi +11132 -0
- data/sorbet/rbi/gems/rspec-expectations@3.13.3.rbi +8183 -0
- data/sorbet/rbi/gems/rspec-mocks@3.13.1.rbi +5341 -0
- data/sorbet/rbi/gems/rspec-support@3.13.1.rbi +1630 -0
- data/sorbet/rbi/gems/rspec@3.13.0.rbi +83 -0
- data/sorbet/rbi/gems/rubocop-ast@1.32.3.rbi +7054 -0
- data/sorbet/rbi/gems/rubocop-performance@1.21.1.rbi +9 -0
- data/sorbet/rbi/gems/rubocop@1.65.1.rbi +58182 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1318 -0
- data/sorbet/rbi/gems/simplecov-html@0.13.1.rbi +225 -0
- data/sorbet/rbi/gems/simplecov@0.22.0.rbi +2149 -0
- data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +9 -0
- data/sorbet/rbi/gems/spoom@1.5.0.rbi +4932 -0
- data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +9 -0
- data/sorbet/rbi/gems/standard-performance@1.4.0.rbi +9 -0
- data/sorbet/rbi/gems/standard@1.40.0.rbi +926 -0
- data/sorbet/rbi/gems/tapioca@0.16.3.rbi +3596 -0
- data/sorbet/rbi/gems/tdigest@0.2.1.rbi +170 -0
- data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
- data/sorbet/rbi/gems/unicode-display_width@2.6.0.rbi +66 -0
- data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
- data/sorbet/rbi/gems/yard@0.9.37.rbi +18379 -0
- data/sorbet/rbi/todo.rbi +31 -0
- data/sorbet/tapioca/config.yml +13 -0
- data/sorbet/tapioca/require.rb +15 -0
- data/tasks/dsl.rake +22 -0
- metadata +355 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element HTTPUrlRewritingModifier
|
|
4
|
+
# @param params [Hash] Parameters for the HTTPUrlRewritingModifier element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the HTTPUrlRewritingModifier element
|
|
6
|
+
# @return [JmeterPerf::HTTPUrlRewritingModifier], 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#httpurlrewritingmodifier
|
|
8
|
+
def http_url_rewriting_modifier(params = {}, &)
|
|
9
|
+
node = HTTPUrlRewritingModifier.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class HTTPUrlRewritingModifier
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "HTTPUrlRewritingModifier" : (params[:name] || "HTTPUrlRewritingModifier")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<URLRewritingModifier guiclass="URLRewritingModifierGui" testclass="URLRewritingModifier" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="argument_name"/>
|
|
23
|
+
<boolProp name="path_extension">false</boolProp>
|
|
24
|
+
<boolProp name="path_extension_no_equals">false</boolProp>
|
|
25
|
+
<boolProp name="path_extension_no_questionmark">false</boolProp>
|
|
26
|
+
<boolProp name="cache_value">false</boolProp>
|
|
27
|
+
<boolProp name="encode">false</boolProp>
|
|
28
|
+
</URLRewritingModifier>
|
|
29
|
+
EOS
|
|
30
|
+
))
|
|
31
|
+
update params
|
|
32
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element IfController
|
|
4
|
+
# @param params [Hash] Parameters for the IfController element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the IfController element
|
|
6
|
+
# @return [JmeterPerf::IfController], 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#ifcontroller
|
|
8
|
+
def if_controller(params = {}, &)
|
|
9
|
+
node = IfController.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class IfController
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "IfController" : (params[:name] || "IfController")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="IfController.condition"/>
|
|
23
|
+
<boolProp name="IfController.evaluateAll">false</boolProp>
|
|
24
|
+
<boolProp name="IfController.useExpression">true</boolProp>
|
|
25
|
+
</IfController>
|
|
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,31 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element IncludeController
|
|
4
|
+
# @param params [Hash] Parameters for the IncludeController element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the IncludeController element
|
|
6
|
+
# @return [JmeterPerf::IncludeController], 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#includecontroller
|
|
8
|
+
def include_controller(params = {}, &)
|
|
9
|
+
node = IncludeController.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class IncludeController
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "IncludeController" : (params[:name] || "IncludeController")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<IncludeController guiclass="IncludeControllerGui" testclass="IncludeController" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="IncludeController.includepath"/>
|
|
23
|
+
</IncludeController>
|
|
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,43 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element JUnitRequest
|
|
4
|
+
# @param params [Hash] Parameters for the JUnitRequest element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the JUnitRequest element
|
|
6
|
+
# @return [JmeterPerf::JUnitRequest], 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#junitrequest
|
|
8
|
+
def j_unit_request(params = {}, &)
|
|
9
|
+
node = JUnitRequest.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class JUnitRequest
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "JUnitRequest" : (params[:name] || "JUnitRequest")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<JUnitSampler guiclass="JUnitTestSamplerGui" testclass="JUnitSampler" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="junitSampler.classname">test.RerunTest</stringProp>
|
|
23
|
+
<stringProp name="junitsampler.constructorstring"/>
|
|
24
|
+
<stringProp name="junitsampler.method">testRerun</stringProp>
|
|
25
|
+
<stringProp name="junitsampler.pkg.filter"/>
|
|
26
|
+
<stringProp name="junitsampler.success">Test successful</stringProp>
|
|
27
|
+
<stringProp name="junitsampler.success.code">1000</stringProp>
|
|
28
|
+
<stringProp name="junitsampler.failure">Test failed</stringProp>
|
|
29
|
+
<stringProp name="junitsampler.failure.code">0001</stringProp>
|
|
30
|
+
<stringProp name="junitsampler.error">An unexpected error occured</stringProp>
|
|
31
|
+
<stringProp name="junitsampler.error.code">9999</stringProp>
|
|
32
|
+
<stringProp name="junitsampler.exec.setup">false</stringProp>
|
|
33
|
+
<stringProp name="junitsampler.append.error">false</stringProp>
|
|
34
|
+
<stringProp name="junitsampler.append.exception">false</stringProp>
|
|
35
|
+
</JUnitSampler>
|
|
36
|
+
EOS
|
|
37
|
+
))
|
|
38
|
+
update params
|
|
39
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element JavaRequest
|
|
4
|
+
# @param params [Hash] Parameters for the JavaRequest element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the JavaRequest element
|
|
6
|
+
# @return [JmeterPerf::JavaRequest], 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#javarequest
|
|
8
|
+
def java_request(params = {}, &)
|
|
9
|
+
node = JavaRequest.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class JavaRequest
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "JavaRequest" : (params[:name] || "JavaRequest")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="#{testname}" enabled="true">
|
|
22
|
+
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
|
|
23
|
+
<collectionProp name="Arguments.arguments">
|
|
24
|
+
<elementProp name="Sleep_Time" elementType="Argument">
|
|
25
|
+
<stringProp name="Argument.name">Sleep_Time</stringProp>
|
|
26
|
+
<stringProp name="Argument.value">100</stringProp>
|
|
27
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
28
|
+
</elementProp>
|
|
29
|
+
<elementProp name="Sleep_Mask" elementType="Argument">
|
|
30
|
+
<stringProp name="Argument.name">Sleep_Mask</stringProp>
|
|
31
|
+
<stringProp name="Argument.value">0xFF</stringProp>
|
|
32
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
33
|
+
</elementProp>
|
|
34
|
+
<elementProp name="Label" elementType="Argument">
|
|
35
|
+
<stringProp name="Argument.name">Label</stringProp>
|
|
36
|
+
<stringProp name="Argument.value"/>
|
|
37
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
38
|
+
</elementProp>
|
|
39
|
+
<elementProp name="ResponseCode" elementType="Argument">
|
|
40
|
+
<stringProp name="Argument.name">ResponseCode</stringProp>
|
|
41
|
+
<stringProp name="Argument.value"/>
|
|
42
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
43
|
+
</elementProp>
|
|
44
|
+
<elementProp name="ResponseMessage" elementType="Argument">
|
|
45
|
+
<stringProp name="Argument.name">ResponseMessage</stringProp>
|
|
46
|
+
<stringProp name="Argument.value"/>
|
|
47
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
48
|
+
</elementProp>
|
|
49
|
+
<elementProp name="Status" elementType="Argument">
|
|
50
|
+
<stringProp name="Argument.name">Status</stringProp>
|
|
51
|
+
<stringProp name="Argument.value">OK</stringProp>
|
|
52
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
53
|
+
</elementProp>
|
|
54
|
+
<elementProp name="SamplerData" elementType="Argument">
|
|
55
|
+
<stringProp name="Argument.name">SamplerData</stringProp>
|
|
56
|
+
<stringProp name="Argument.value"/>
|
|
57
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
58
|
+
</elementProp>
|
|
59
|
+
<elementProp name="ResultData" elementType="Argument">
|
|
60
|
+
<stringProp name="Argument.name">ResultData</stringProp>
|
|
61
|
+
<stringProp name="Argument.value"/>
|
|
62
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
63
|
+
</elementProp>
|
|
64
|
+
</collectionProp>
|
|
65
|
+
</elementProp>
|
|
66
|
+
<stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest</stringProp>
|
|
67
|
+
</JavaSampler>
|
|
68
|
+
EOS
|
|
69
|
+
))
|
|
70
|
+
update params
|
|
71
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element JavaRequestDefaults
|
|
4
|
+
# @param params [Hash] Parameters for the JavaRequestDefaults element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the JavaRequestDefaults element
|
|
6
|
+
# @return [JmeterPerf::JavaRequestDefaults], 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#javarequestdefaults
|
|
8
|
+
def java_request_defaults(params = {}, &)
|
|
9
|
+
node = JavaRequestDefaults.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class JavaRequestDefaults
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "JavaRequestDefaults" : (params[:name] || "JavaRequestDefaults")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<JavaConfig guiclass="JavaConfigGui" testclass="JavaConfig" testname="#{testname}" enabled="true">
|
|
22
|
+
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
|
|
23
|
+
<collectionProp name="Arguments.arguments">
|
|
24
|
+
<elementProp name="Sleep_Time" elementType="Argument">
|
|
25
|
+
<stringProp name="Argument.name">Sleep_Time</stringProp>
|
|
26
|
+
<stringProp name="Argument.value">100</stringProp>
|
|
27
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
28
|
+
</elementProp>
|
|
29
|
+
<elementProp name="Sleep_Mask" elementType="Argument">
|
|
30
|
+
<stringProp name="Argument.name">Sleep_Mask</stringProp>
|
|
31
|
+
<stringProp name="Argument.value">0xFF</stringProp>
|
|
32
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
33
|
+
</elementProp>
|
|
34
|
+
<elementProp name="Label" elementType="Argument">
|
|
35
|
+
<stringProp name="Argument.name">Label</stringProp>
|
|
36
|
+
<stringProp name="Argument.value"/>
|
|
37
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
38
|
+
</elementProp>
|
|
39
|
+
<elementProp name="ResponseCode" elementType="Argument">
|
|
40
|
+
<stringProp name="Argument.name">ResponseCode</stringProp>
|
|
41
|
+
<stringProp name="Argument.value"/>
|
|
42
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
43
|
+
</elementProp>
|
|
44
|
+
<elementProp name="ResponseMessage" elementType="Argument">
|
|
45
|
+
<stringProp name="Argument.name">ResponseMessage</stringProp>
|
|
46
|
+
<stringProp name="Argument.value"/>
|
|
47
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
48
|
+
</elementProp>
|
|
49
|
+
<elementProp name="Status" elementType="Argument">
|
|
50
|
+
<stringProp name="Argument.name">Status</stringProp>
|
|
51
|
+
<stringProp name="Argument.value">OK</stringProp>
|
|
52
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
53
|
+
</elementProp>
|
|
54
|
+
<elementProp name="SamplerData" elementType="Argument">
|
|
55
|
+
<stringProp name="Argument.name">SamplerData</stringProp>
|
|
56
|
+
<stringProp name="Argument.value"/>
|
|
57
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
58
|
+
</elementProp>
|
|
59
|
+
<elementProp name="ResultData" elementType="Argument">
|
|
60
|
+
<stringProp name="Argument.name">ResultData</stringProp>
|
|
61
|
+
<stringProp name="Argument.value"/>
|
|
62
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
63
|
+
</elementProp>
|
|
64
|
+
</collectionProp>
|
|
65
|
+
</elementProp>
|
|
66
|
+
<stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest</stringProp>
|
|
67
|
+
</JavaConfig>
|
|
68
|
+
EOS
|
|
69
|
+
))
|
|
70
|
+
update params
|
|
71
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element JDBCConnectionConfiguration
|
|
4
|
+
# @param params [Hash] Parameters for the JDBCConnectionConfiguration element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the JDBCConnectionConfiguration element
|
|
6
|
+
# @return [JmeterPerf::JDBCConnectionConfiguration], 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#jdbcconnectionconfiguration
|
|
8
|
+
def jdbc_connection_configuration(params = {}, &)
|
|
9
|
+
node = JDBCConnectionConfiguration.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class JDBCConnectionConfiguration
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "JDBCConnectionConfiguration" : (params[:name] || "JDBCConnectionConfiguration")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<JDBCDataSource guiclass="TestBeanGUI" testclass="JDBCDataSource" testname="#{testname}" enabled="true">
|
|
22
|
+
<boolProp name="autocommit">true</boolProp>
|
|
23
|
+
<stringProp name="checkQuery">Select 1</stringProp>
|
|
24
|
+
<stringProp name="connectionAge">5000</stringProp>
|
|
25
|
+
<stringProp name="dataSource"/>
|
|
26
|
+
<stringProp name="dbUrl"/>
|
|
27
|
+
<stringProp name="driver"/>
|
|
28
|
+
<boolProp name="keepAlive">true</boolProp>
|
|
29
|
+
<stringProp name="password"/>
|
|
30
|
+
<stringProp name="poolMax">10</stringProp>
|
|
31
|
+
<stringProp name="timeout">10000</stringProp>
|
|
32
|
+
<stringProp name="transactionIsolation">DEFAULT</stringProp>
|
|
33
|
+
<stringProp name="trimInterval">60000</stringProp>
|
|
34
|
+
<stringProp name="username"/>
|
|
35
|
+
</JDBCDataSource>
|
|
36
|
+
EOS
|
|
37
|
+
))
|
|
38
|
+
update params
|
|
39
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element JDBCPostprocessor
|
|
4
|
+
# @param params [Hash] Parameters for the JDBCPostprocessor element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the JDBCPostprocessor element
|
|
6
|
+
# @return [JmeterPerf::JDBCPostprocessor], 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#jdbcpostprocessor
|
|
8
|
+
def jdbc_postprocessor(params = {}, &)
|
|
9
|
+
node = JDBCPostprocessor.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class JDBCPostprocessor
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "JDBCPostprocessor" : (params[:name] || "JDBCPostprocessor")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<JDBCPostProcessor guiclass="TestBeanGUI" testclass="JDBCPostProcessor" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="dataSource"/>
|
|
23
|
+
<stringProp name="query"/>
|
|
24
|
+
<stringProp name="queryArguments"/>
|
|
25
|
+
<stringProp name="queryArgumentsTypes"/>
|
|
26
|
+
<stringProp name="queryType">Select Statement</stringProp>
|
|
27
|
+
<stringProp name="resultVariable"/>
|
|
28
|
+
<stringProp name="variableNames"/>
|
|
29
|
+
<stringProp name="queryTimeout"/>
|
|
30
|
+
<stringProp name="resultSetHandler">Store as String</stringProp>
|
|
31
|
+
</JDBCPostProcessor>
|
|
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,39 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element JDBCPreprocessor
|
|
4
|
+
# @param params [Hash] Parameters for the JDBCPreprocessor element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the JDBCPreprocessor element
|
|
6
|
+
# @return [JmeterPerf::JDBCPreprocessor], 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#jdbcpreprocessor
|
|
8
|
+
def jdbc_preprocessor(params = {}, &)
|
|
9
|
+
node = JDBCPreprocessor.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class JDBCPreprocessor
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "JDBCPreprocessor" : (params[:name] || "JDBCPreprocessor")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<JDBCPreProcessor guiclass="TestBeanGUI" testclass="JDBCPreProcessor" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="dataSource"/>
|
|
23
|
+
<stringProp name="query"/>
|
|
24
|
+
<stringProp name="queryArguments"/>
|
|
25
|
+
<stringProp name="queryArgumentsTypes"/>
|
|
26
|
+
<stringProp name="queryType">Select Statement</stringProp>
|
|
27
|
+
<stringProp name="resultVariable"/>
|
|
28
|
+
<stringProp name="variableNames"/>
|
|
29
|
+
<stringProp name="queryTimeout"/>
|
|
30
|
+
<stringProp name="resultSetHandler">Store as String</stringProp>
|
|
31
|
+
</JDBCPreProcessor>
|
|
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,39 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element JDBCRequest
|
|
4
|
+
# @param params [Hash] Parameters for the JDBCRequest element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the JDBCRequest element
|
|
6
|
+
# @return [JmeterPerf::JDBCRequest], 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#jdbcrequest
|
|
8
|
+
def jdbc_request(params = {}, &)
|
|
9
|
+
node = JDBCRequest.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class JDBCRequest
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "JDBCRequest" : (params[:name] || "JDBCRequest")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="dataSource"/>
|
|
23
|
+
<stringProp name="query"/>
|
|
24
|
+
<stringProp name="queryArguments"/>
|
|
25
|
+
<stringProp name="queryArgumentsTypes"/>
|
|
26
|
+
<stringProp name="queryType">Select Statement</stringProp>
|
|
27
|
+
<stringProp name="resultVariable"/>
|
|
28
|
+
<stringProp name="variableNames"/>
|
|
29
|
+
<stringProp name="queryTimeout"/>
|
|
30
|
+
<stringProp name="resultSetHandler">Store as String</stringProp>
|
|
31
|
+
</JDBCSampler>
|
|
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,47 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element JMSPointtoPoint
|
|
4
|
+
# @param params [Hash] Parameters for the JMSPointtoPoint element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the JMSPointtoPoint element
|
|
6
|
+
# @return [JmeterPerf::JMSPointtoPoint], 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#jmspointtopoint
|
|
8
|
+
def jms_pointto_point(params = {}, &)
|
|
9
|
+
node = JMSPointtoPoint.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class JMSPointtoPoint
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "JMSPointtoPoint" : (params[:name] || "JMSPointtoPoint")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<JMSSampler guiclass="JMSSamplerGui" testclass="JMSSampler" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="JMSSampler.queueconnectionfactory"/>
|
|
23
|
+
<stringProp name="JMSSampler.SendQueue"/>
|
|
24
|
+
<stringProp name="JMSSampler.ReceiveQueue"/>
|
|
25
|
+
<boolProp name="JMSSampler.isFireAndForget">true</boolProp>
|
|
26
|
+
<boolProp name="JMSSampler.isNonPersistent">false</boolProp>
|
|
27
|
+
<boolProp name="JMSSampler.useReqMsgIdAsCorrelId">false</boolProp>
|
|
28
|
+
<boolProp name="JMSSampler.useResMsgIdAsCorrelId">false</boolProp>
|
|
29
|
+
<stringProp name="JMSSampler.timeout"/>
|
|
30
|
+
<stringProp name="HTTPSamper.xml_data"/>
|
|
31
|
+
<stringProp name="JMSSampler.initialContextFactory"/>
|
|
32
|
+
<stringProp name="JMSSampler.contextProviderUrl"/>
|
|
33
|
+
<elementProp name="JMSSampler.jndiProperties" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="#{testname}" enabled="true">
|
|
34
|
+
<collectionProp name="Arguments.arguments"/>
|
|
35
|
+
</elementProp>
|
|
36
|
+
<elementProp name="arguments" elementType="JMSProperties">
|
|
37
|
+
<collectionProp name="JMSProperties.properties"/>
|
|
38
|
+
</elementProp>
|
|
39
|
+
</JMSSampler>
|
|
40
|
+
EOS
|
|
41
|
+
))
|
|
42
|
+
update params
|
|
43
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element JMSPublisher
|
|
4
|
+
# @param params [Hash] Parameters for the JMSPublisher element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the JMSPublisher element
|
|
6
|
+
# @return [JmeterPerf::JMSPublisher], 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#jmspublisher
|
|
8
|
+
def jms_publisher(params = {}, &)
|
|
9
|
+
node = JMSPublisher.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class JMSPublisher
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "JMSPublisher" : (params[:name] || "JMSPublisher")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<PublisherSampler guiclass="JMSPublisherGui" testclass="PublisherSampler" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="jms.jndi_properties">false</stringProp>
|
|
23
|
+
<stringProp name="jms.initial_context_factory"/>
|
|
24
|
+
<stringProp name="jms.provider_url"/>
|
|
25
|
+
<stringProp name="jms.connection_factory"/>
|
|
26
|
+
<stringProp name="jms.topic"/>
|
|
27
|
+
<stringProp name="jms.security_principle"/>
|
|
28
|
+
<stringProp name="jms.security_credentials"/>
|
|
29
|
+
<stringProp name="jms.text_message"/>
|
|
30
|
+
<stringProp name="jms.input_file"/>
|
|
31
|
+
<stringProp name="jms.random_path"/>
|
|
32
|
+
<stringProp name="jms.config_choice">jms_use_text</stringProp>
|
|
33
|
+
<stringProp name="jms.config_msg_type">jms_text_message</stringProp>
|
|
34
|
+
<stringProp name="jms.iterations">1</stringProp>
|
|
35
|
+
<boolProp name="jms.authenticate">false</boolProp>
|
|
36
|
+
<elementProp name="arguments" elementType="JMSProperties">
|
|
37
|
+
<collectionProp name="JMSProperties.properties"/>
|
|
38
|
+
</elementProp>
|
|
39
|
+
<stringProp name="jms.expiration"/>
|
|
40
|
+
<stringProp name="jms.priority"/>
|
|
41
|
+
</PublisherSampler>
|
|
42
|
+
EOS
|
|
43
|
+
))
|
|
44
|
+
update params
|
|
45
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element JMSSubscriber
|
|
4
|
+
# @param params [Hash] Parameters for the JMSSubscriber element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the JMSSubscriber element
|
|
6
|
+
# @return [JmeterPerf::JMSSubscriber], 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#jmssubscriber
|
|
8
|
+
def jms_subscriber(params = {}, &)
|
|
9
|
+
node = JMSSubscriber.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class JMSSubscriber
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "JMSSubscriber" : (params[:name] || "JMSSubscriber")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<SubscriberSampler guiclass="JMSSubscriberGui" testclass="SubscriberSampler" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="jms.jndi_properties">false</stringProp>
|
|
23
|
+
<stringProp name="jms.initial_context_factory"/>
|
|
24
|
+
<stringProp name="jms.provider_url"/>
|
|
25
|
+
<stringProp name="jms.connection_factory"/>
|
|
26
|
+
<stringProp name="jms.topic"/>
|
|
27
|
+
<stringProp name="jms.security_principle"/>
|
|
28
|
+
<stringProp name="jms.security_credentials"/>
|
|
29
|
+
<boolProp name="jms.authenticate">false</boolProp>
|
|
30
|
+
<stringProp name="jms.iterations">1</stringProp>
|
|
31
|
+
<stringProp name="jms.read_response">true</stringProp>
|
|
32
|
+
<stringProp name="jms.client_choice">jms_subscriber_receive</stringProp>
|
|
33
|
+
</SubscriberSampler>
|
|
34
|
+
EOS
|
|
35
|
+
))
|
|
36
|
+
update params
|
|
37
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element JSONPathPostprocessor
|
|
4
|
+
# @param params [Hash] Parameters for the JSONPathPostprocessor element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the JSONPathPostprocessor element
|
|
6
|
+
# @return [JmeterPerf::JSONPathPostprocessor], 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#jsonpathpostprocessor
|
|
8
|
+
def json_path_postprocessor(params = {}, &)
|
|
9
|
+
node = JSONPathPostprocessor.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class JSONPathPostprocessor
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "JSONPathPostprocessor" : (params[:name] || "JSONPathPostprocessor")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="JSONPostProcessor.referenceNames"/>
|
|
23
|
+
<stringProp name="JSONPostProcessor.jsonPathExprs"/>
|
|
24
|
+
<stringProp name="JSONPostProcessor.match_numbers"/>
|
|
25
|
+
</JSONPostProcessor>
|
|
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
|