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,29 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element SimpleController
|
|
4
|
+
# @param params [Hash] Parameters for the SimpleController element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the SimpleController element
|
|
6
|
+
# @return [JmeterPerf::SimpleController], 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#simplecontroller
|
|
8
|
+
def simple_controller(params = {}, &)
|
|
9
|
+
node = SimpleController.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class SimpleController
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "SimpleController" : (params[:name] || "SimpleController")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="#{testname}" enabled="true"/>
|
|
22
|
+
EOS
|
|
23
|
+
))
|
|
24
|
+
update params
|
|
25
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element SimpleDataWriter
|
|
4
|
+
# @param params [Hash] Parameters for the SimpleDataWriter element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the SimpleDataWriter element
|
|
6
|
+
# @return [JmeterPerf::SimpleDataWriter], 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#simpledatawriter
|
|
8
|
+
def simple_data_writer(params = {}, &)
|
|
9
|
+
node = SimpleDataWriter.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class SimpleDataWriter
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "SimpleDataWriter" : (params[:name] || "SimpleDataWriter")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="#{testname}" enabled="true">
|
|
22
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
|
23
|
+
<objProp>
|
|
24
|
+
<name>saveConfig</name>
|
|
25
|
+
<value class="SampleSaveConfiguration">
|
|
26
|
+
<time>true</time>
|
|
27
|
+
<latency>true</latency>
|
|
28
|
+
<timestamp>true</timestamp>
|
|
29
|
+
<success>true</success>
|
|
30
|
+
<label>true</label>
|
|
31
|
+
<code>true</code>
|
|
32
|
+
<message>true</message>
|
|
33
|
+
<threadName>true</threadName>
|
|
34
|
+
<dataType>false</dataType>
|
|
35
|
+
<encoding>false</encoding>
|
|
36
|
+
<assertions>false</assertions>
|
|
37
|
+
<subresults>false</subresults>
|
|
38
|
+
<responseData>false</responseData>
|
|
39
|
+
<samplerData>false</samplerData>
|
|
40
|
+
<xml>true</xml>
|
|
41
|
+
<fieldNames>false</fieldNames>
|
|
42
|
+
<responseHeaders>true</responseHeaders>
|
|
43
|
+
<requestHeaders>false</requestHeaders>
|
|
44
|
+
<responseDataOnError>false</responseDataOnError>
|
|
45
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
|
46
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
|
47
|
+
<bytes>true</bytes>
|
|
48
|
+
<threadCounts>true</threadCounts>
|
|
49
|
+
<sampleCount>true</sampleCount>
|
|
50
|
+
</value>
|
|
51
|
+
</objProp>
|
|
52
|
+
<stringProp name="filename"/>
|
|
53
|
+
</ResultCollector>
|
|
54
|
+
EOS
|
|
55
|
+
))
|
|
56
|
+
update params
|
|
57
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element SMIMEAssertion
|
|
4
|
+
# @param params [Hash] Parameters for the SMIMEAssertion element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the SMIMEAssertion element
|
|
6
|
+
# @return [JmeterPerf::SMIMEAssertion], 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#smimeassertion
|
|
8
|
+
def smime_assertion(params = {}, &)
|
|
9
|
+
node = SMIMEAssertion.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class SMIMEAssertion
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "SMIMEAssertion" : (params[:name] || "SMIMEAssertion")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<SMIMEAssertion guiclass="SMIMEAssertionGui" testclass="SMIMEAssertion" testname="#{testname}" enabled="true">
|
|
22
|
+
<boolProp name="SMIMEAssert.verifySignature">false</boolProp>
|
|
23
|
+
<boolProp name="SMIMEAssert.notSigned">false</boolProp>
|
|
24
|
+
<stringProp name="SMIMEAssert.issuerDn"/>
|
|
25
|
+
<stringProp name="SMIMEAssert.signerDn"/>
|
|
26
|
+
<stringProp name="SMIMEAssert.signerSerial"/>
|
|
27
|
+
<stringProp name="SMIMEAssert.signerEmail"/>
|
|
28
|
+
<stringProp name="SMIMEAssert.signerCertFile"/>
|
|
29
|
+
<boolProp name="SMIMEAssert.signerNoCheck">false</boolProp>
|
|
30
|
+
<boolProp name="SMIMEAssert.signerCheckConstraints">false</boolProp>
|
|
31
|
+
<boolProp name="SMIMEAssert.signerCheckByFile">false</boolProp>
|
|
32
|
+
<stringProp name="SMIMEAssert.messagePosition"/>
|
|
33
|
+
</SMIMEAssertion>
|
|
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,57 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element SMTPSampler
|
|
4
|
+
# @param params [Hash] Parameters for the SMTPSampler element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the SMTPSampler element
|
|
6
|
+
# @return [JmeterPerf::SMTPSampler], 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#smtpsampler
|
|
8
|
+
def smtp_sampler(params = {}, &)
|
|
9
|
+
node = SMTPSampler.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class SMTPSampler
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "SMTPSampler" : (params[:name] || "SMTPSampler")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<SmtpSampler guiclass="SmtpSamplerGui" testclass="SmtpSampler" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="SMTPSampler.server"/>
|
|
23
|
+
<stringProp name="SMTPSampler.serverPort"/>
|
|
24
|
+
<stringProp name="SMTPSampler.mailFrom"/>
|
|
25
|
+
<stringProp name="SMTPSampler.replyTo"/>
|
|
26
|
+
<stringProp name="SMTPSampler.receiverTo"/>
|
|
27
|
+
<stringProp name="SMTPSampler.receiverCC"/>
|
|
28
|
+
<stringProp name="SMTPSampler.receiverBCC"/>
|
|
29
|
+
<stringProp name="SMTPSampler.subject"/>
|
|
30
|
+
<stringProp name="SMTPSampler.suppressSubject">false</stringProp>
|
|
31
|
+
<stringProp name="SMTPSampler.include_timestamp">false</stringProp>
|
|
32
|
+
<stringProp name="SMTPSampler.message"/>
|
|
33
|
+
<stringProp name="SMTPSampler.plainBody">false</stringProp>
|
|
34
|
+
<stringProp name="SMTPSampler.attachFile"/>
|
|
35
|
+
<stringProp name="SMTPSampler.useSSL">false</stringProp>
|
|
36
|
+
<stringProp name="SMTPSampler.useStartTLS">false</stringProp>
|
|
37
|
+
<stringProp name="SMTPSampler.trustAllCerts">false</stringProp>
|
|
38
|
+
<stringProp name="SMTPSampler.enforceStartTLS">false</stringProp>
|
|
39
|
+
<stringProp name="SMTPSampler.useLocalTrustStore">false</stringProp>
|
|
40
|
+
<stringProp name="SMTPSampler.trustStoreToUse"/>
|
|
41
|
+
<boolProp name="SMTPSampler.use_eml">false</boolProp>
|
|
42
|
+
<stringProp name="SMTPSampler.emlMessageToSend"/>
|
|
43
|
+
<stringProp name="SMTPSampler.useAuth">false</stringProp>
|
|
44
|
+
<stringProp name="SMTPSampler.password"/>
|
|
45
|
+
<stringProp name="SMTPSampler.username"/>
|
|
46
|
+
<stringProp name="SMTPSampler.messageSizeStatistics">false</stringProp>
|
|
47
|
+
<stringProp name="SMTPSampler.enableDebug">false</stringProp>
|
|
48
|
+
<collectionProp name="SMTPSampler.headerFields"/>
|
|
49
|
+
</SmtpSampler>
|
|
50
|
+
EOS
|
|
51
|
+
))
|
|
52
|
+
update params
|
|
53
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element SOAPXmlRPCRequest
|
|
4
|
+
# @param params [Hash] Parameters for the SOAPXmlRPCRequest element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the SOAPXmlRPCRequest element
|
|
6
|
+
# @return [JmeterPerf::SOAPXmlRPCRequest], 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#soapxmlrpcrequest
|
|
8
|
+
def soap_xml_rpc_request(params = {}, &)
|
|
9
|
+
node = SOAPXmlRPCRequest.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class SOAPXmlRPCRequest
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "SOAPXmlRPCRequest" : (params[:name] || "SOAPXmlRPCRequest")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<SoapSampler guiclass="SoapSamplerGui" testclass="SoapSampler" testname="#{testname}" enabled="true">
|
|
22
|
+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
|
|
23
|
+
<collectionProp name="Arguments.arguments"/>
|
|
24
|
+
</elementProp>
|
|
25
|
+
<stringProp name="SoapSampler.URL_DATA"/>
|
|
26
|
+
<stringProp name="HTTPSamper.xml_data"/>
|
|
27
|
+
<stringProp name="SoapSampler.xml_data_file"/>
|
|
28
|
+
<stringProp name="SoapSampler.SOAP_ACTION"/>
|
|
29
|
+
<stringProp name="SoapSampler.SEND_SOAP_ACTION">true</stringProp>
|
|
30
|
+
<boolProp name="HTTPSampler.use_keepalive">false</boolProp>
|
|
31
|
+
</SoapSampler>
|
|
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,61 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element SplineVisualizer
|
|
4
|
+
# @param params [Hash] Parameters for the SplineVisualizer element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the SplineVisualizer element
|
|
6
|
+
# @return [JmeterPerf::SplineVisualizer], 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#splinevisualizer
|
|
8
|
+
def spline_visualizer(params = {}, &)
|
|
9
|
+
node = SplineVisualizer.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class SplineVisualizer
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "SplineVisualizer" : (params[:name] || "SplineVisualizer")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<ResultCollector guiclass="SplineVisualizer" testclass="ResultCollector" testname="#{testname}" enabled="true">
|
|
22
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
|
23
|
+
<objProp>
|
|
24
|
+
<name>saveConfig</name>
|
|
25
|
+
<value class="SampleSaveConfiguration">
|
|
26
|
+
<time>true</time>
|
|
27
|
+
<latency>true</latency>
|
|
28
|
+
<timestamp>true</timestamp>
|
|
29
|
+
<success>true</success>
|
|
30
|
+
<label>true</label>
|
|
31
|
+
<code>true</code>
|
|
32
|
+
<message>false</message>
|
|
33
|
+
<threadName>true</threadName>
|
|
34
|
+
<dataType>false</dataType>
|
|
35
|
+
<encoding>false</encoding>
|
|
36
|
+
<assertions>false</assertions>
|
|
37
|
+
<subresults>false</subresults>
|
|
38
|
+
<responseData>false</responseData>
|
|
39
|
+
<samplerData>false</samplerData>
|
|
40
|
+
<xml>false</xml>
|
|
41
|
+
<fieldNames>false</fieldNames>
|
|
42
|
+
<responseHeaders>false</responseHeaders>
|
|
43
|
+
<requestHeaders>false</requestHeaders>
|
|
44
|
+
<responseDataOnError>false</responseDataOnError>
|
|
45
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
|
46
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
|
47
|
+
<bytes>true</bytes>
|
|
48
|
+
<threadCounts>true</threadCounts>
|
|
49
|
+
<sampleCount>true</sampleCount>
|
|
50
|
+
</value>
|
|
51
|
+
</objProp>
|
|
52
|
+
<stringProp name="filename"/>
|
|
53
|
+
</ResultCollector>
|
|
54
|
+
EOS
|
|
55
|
+
))
|
|
56
|
+
update params
|
|
57
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element SummaryReport
|
|
4
|
+
# @param params [Hash] Parameters for the SummaryReport element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the SummaryReport element
|
|
6
|
+
# @return [JmeterPerf::SummaryReport], 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#summaryreport
|
|
8
|
+
def summary_report(params = {}, &)
|
|
9
|
+
node = SummaryReport.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class SummaryReport
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "SummaryReport" : (params[:name] || "SummaryReport")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="#{testname}" enabled="true">
|
|
22
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
|
23
|
+
<objProp>
|
|
24
|
+
<name>saveConfig</name>
|
|
25
|
+
<value class="SampleSaveConfiguration">
|
|
26
|
+
<time>true</time>
|
|
27
|
+
<latency>true</latency>
|
|
28
|
+
<timestamp>true</timestamp>
|
|
29
|
+
<success>true</success>
|
|
30
|
+
<label>true</label>
|
|
31
|
+
<code>true</code>
|
|
32
|
+
<message>false</message>
|
|
33
|
+
<threadName>true</threadName>
|
|
34
|
+
<dataType>false</dataType>
|
|
35
|
+
<encoding>false</encoding>
|
|
36
|
+
<assertions>false</assertions>
|
|
37
|
+
<subresults>false</subresults>
|
|
38
|
+
<responseData>false</responseData>
|
|
39
|
+
<samplerData>false</samplerData>
|
|
40
|
+
<xml>false</xml>
|
|
41
|
+
<fieldNames>false</fieldNames>
|
|
42
|
+
<responseHeaders>false</responseHeaders>
|
|
43
|
+
<requestHeaders>false</requestHeaders>
|
|
44
|
+
<responseDataOnError>false</responseDataOnError>
|
|
45
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
|
46
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
|
47
|
+
<bytes>true</bytes>
|
|
48
|
+
<threadCounts>true</threadCounts>
|
|
49
|
+
<sampleCount>true</sampleCount>
|
|
50
|
+
</value>
|
|
51
|
+
</objProp>
|
|
52
|
+
<stringProp name="filename"/>
|
|
53
|
+
</ResultCollector>
|
|
54
|
+
EOS
|
|
55
|
+
))
|
|
56
|
+
update params
|
|
57
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element SwitchController
|
|
4
|
+
# @param params [Hash] Parameters for the SwitchController element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the SwitchController element
|
|
6
|
+
# @return [JmeterPerf::SwitchController], 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#switchcontroller
|
|
8
|
+
def switch_controller(params = {}, &)
|
|
9
|
+
node = SwitchController.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class SwitchController
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "SwitchController" : (params[:name] || "SwitchController")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="SwitchController.value"/>
|
|
23
|
+
</SwitchController>
|
|
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,32 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element SynchronizingTimer
|
|
4
|
+
# @param params [Hash] Parameters for the SynchronizingTimer element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the SynchronizingTimer element
|
|
6
|
+
# @return [JmeterPerf::SynchronizingTimer], 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#synchronizingtimer
|
|
8
|
+
def synchronizing_timer(params = {}, &)
|
|
9
|
+
node = SynchronizingTimer.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class SynchronizingTimer
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "SynchronizingTimer" : (params[:name] || "SynchronizingTimer")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="#{testname}" enabled="true">
|
|
22
|
+
<intProp name="groupSize">0</intProp>
|
|
23
|
+
<longProp name="timeoutInMs">0</longProp>
|
|
24
|
+
</SyncTimer>
|
|
25
|
+
EOS
|
|
26
|
+
))
|
|
27
|
+
update params
|
|
28
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element TCPSampler
|
|
4
|
+
# @param params [Hash] Parameters for the TCPSampler element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the TCPSampler element
|
|
6
|
+
# @return [JmeterPerf::TCPSampler], 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#tcpsampler
|
|
8
|
+
def tcp_sampler(params = {}, &)
|
|
9
|
+
node = TCPSampler.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class TCPSampler
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "TCPSampler" : (params[:name] || "TCPSampler")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<TCPSampler guiclass="TCPSamplerGui" testclass="TCPSampler" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="TCPSampler.server"/>
|
|
23
|
+
<boolProp name="TCPSampler.reUseConnection">true</boolProp>
|
|
24
|
+
<stringProp name="TCPSampler.port"/>
|
|
25
|
+
<boolProp name="TCPSampler.nodelay">false</boolProp>
|
|
26
|
+
<stringProp name="TCPSampler.timeout"/>
|
|
27
|
+
<stringProp name="TCPSampler.request"/>
|
|
28
|
+
<boolProp name="TCPSampler.closeConnection">false</boolProp>
|
|
29
|
+
<stringProp name="ConfigTestElement.username"/>
|
|
30
|
+
<stringProp name="ConfigTestElement.password"/>
|
|
31
|
+
</TCPSampler>
|
|
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,37 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element TCPSamplerConfig
|
|
4
|
+
# @param params [Hash] Parameters for the TCPSamplerConfig element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the TCPSamplerConfig element
|
|
6
|
+
# @return [JmeterPerf::TCPSamplerConfig], 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#tcpsamplerconfig
|
|
8
|
+
def tcp_sampler_config(params = {}, &)
|
|
9
|
+
node = TCPSamplerConfig.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class TCPSamplerConfig
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "TCPSamplerConfig" : (params[:name] || "TCPSamplerConfig")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<ConfigTestElement guiclass="TCPConfigGui" testclass="ConfigTestElement" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="TCPSampler.server"/>
|
|
23
|
+
<boolProp name="TCPSampler.reUseConnection">true</boolProp>
|
|
24
|
+
<stringProp name="TCPSampler.port"/>
|
|
25
|
+
<boolProp name="TCPSampler.nodelay">false</boolProp>
|
|
26
|
+
<stringProp name="TCPSampler.timeout"/>
|
|
27
|
+
<stringProp name="TCPSampler.request"/>
|
|
28
|
+
<boolProp name="TCPSampler.closeConnection">false</boolProp>
|
|
29
|
+
</ConfigTestElement>
|
|
30
|
+
EOS
|
|
31
|
+
))
|
|
32
|
+
update params
|
|
33
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element TestAction
|
|
4
|
+
# @param params [Hash] Parameters for the TestAction element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the TestAction element
|
|
6
|
+
# @return [JmeterPerf::TestAction], 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#testaction
|
|
8
|
+
def test_action(params = {}, &)
|
|
9
|
+
node = TestAction.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class TestAction
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "TestAction" : (params[:name] || "TestAction")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<TestAction guiclass="TestActionGui" testclass="TestAction" testname="#{testname}" enabled="true">
|
|
22
|
+
<intProp name="ActionProcessor.action">1</intProp>
|
|
23
|
+
<intProp name="ActionProcessor.target">0</intProp>
|
|
24
|
+
<stringProp name="ActionProcessor.duration"/>
|
|
25
|
+
</TestAction>
|
|
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,29 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element TestFragment
|
|
4
|
+
# @param params [Hash] Parameters for the TestFragment element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the TestFragment element
|
|
6
|
+
# @return [JmeterPerf::TestFragment], 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#testfragment
|
|
8
|
+
def test_fragment(params = {}, &)
|
|
9
|
+
node = TestFragment.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class TestFragment
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "TestFragment" : (params[:name] || "TestFragment")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="#{testname}" enabled="true"/>
|
|
22
|
+
EOS
|
|
23
|
+
))
|
|
24
|
+
update params
|
|
25
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element TestPlan
|
|
4
|
+
# @param params [Hash] Parameters for the TestPlan element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the TestPlan element
|
|
6
|
+
# @return [JmeterPerf::TestPlan], 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#testplan
|
|
8
|
+
def test_plan(params = {}, &)
|
|
9
|
+
node = TestPlan.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class TestPlan
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "TestPlan" : (params[:name] || "TestPlan")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="TestPlan.comments"/>
|
|
23
|
+
<boolProp name="TestPlan.functional_mode">false</boolProp>
|
|
24
|
+
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
|
|
25
|
+
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="#{testname}" enabled="true">
|
|
26
|
+
<collectionProp name="Arguments.arguments"/>
|
|
27
|
+
</elementProp>
|
|
28
|
+
<stringProp name="TestPlan.user_define_classpath"/>
|
|
29
|
+
</TestPlan>
|
|
30
|
+
EOS
|
|
31
|
+
))
|
|
32
|
+
update params
|
|
33
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element ThreadGroup
|
|
4
|
+
# @param params [Hash] Parameters for the ThreadGroup element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the ThreadGroup element
|
|
6
|
+
# @return [JmeterPerf::ThreadGroup], 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#threadgroup
|
|
8
|
+
def thread_group(params = {}, &)
|
|
9
|
+
node = ThreadGroup.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class ThreadGroup
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "ThreadGroup" : (params[:name] || "ThreadGroup")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
|
23
|
+
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="#{testname}" enabled="true">
|
|
24
|
+
<boolProp name="LoopController.continue_forever">false</boolProp>
|
|
25
|
+
<intProp name="LoopController.loops">-1</intProp>
|
|
26
|
+
</elementProp>
|
|
27
|
+
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
|
28
|
+
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
|
29
|
+
<longProp name="ThreadGroup.start_time">1366415241000</longProp>
|
|
30
|
+
<longProp name="ThreadGroup.end_time">1366415241000</longProp>
|
|
31
|
+
<boolProp name="ThreadGroup.scheduler">true</boolProp>
|
|
32
|
+
<stringProp name="ThreadGroup.duration"/>
|
|
33
|
+
<stringProp name="ThreadGroup.delay"/>
|
|
34
|
+
<boolProp name="ThreadGroup.delayedStart">true</boolProp>
|
|
35
|
+
</ThreadGroup>
|
|
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
|