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,34 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element BeanShellTimer
|
|
4
|
+
# @param params [Hash] Parameters for the BeanShellTimer element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the BeanShellTimer element
|
|
6
|
+
# @return [JmeterPerf::BeanShellTimer], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#beanshelltimer
|
|
8
|
+
def bean_shell_timer(params = {}, &)
|
|
9
|
+
node = BeanShellTimer.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class BeanShellTimer
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "BeanShellTimer" : (params[:name] || "BeanShellTimer")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<BeanShellTimer guiclass="TestBeanGUI" testclass="BeanShellTimer" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="filename"/>
|
|
23
|
+
<stringProp name="parameters"/>
|
|
24
|
+
<boolProp name="resetInterpreter">false</boolProp>
|
|
25
|
+
<stringProp name="script"/>
|
|
26
|
+
</BeanShellTimer>
|
|
27
|
+
EOS
|
|
28
|
+
))
|
|
29
|
+
update params
|
|
30
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element BSFAssertion
|
|
4
|
+
# @param params [Hash] Parameters for the BSFAssertion element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the BSFAssertion element
|
|
6
|
+
# @return [JmeterPerf::BSFAssertion], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsfassertion
|
|
8
|
+
def bsf_assertion(params = {}, &)
|
|
9
|
+
node = BSFAssertion.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class BSFAssertion
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "BSFAssertion" : (params[:name] || "BSFAssertion")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<BSFAssertion guiclass="TestBeanGUI" testclass="BSFAssertion" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="filename"/>
|
|
23
|
+
<stringProp name="parameters"/>
|
|
24
|
+
<stringProp name="script"/>
|
|
25
|
+
<stringProp name="scriptLanguage"/>
|
|
26
|
+
</BSFAssertion>
|
|
27
|
+
EOS
|
|
28
|
+
))
|
|
29
|
+
update params
|
|
30
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element BSFListener
|
|
4
|
+
# @param params [Hash] Parameters for the BSFListener element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the BSFListener element
|
|
6
|
+
# @return [JmeterPerf::BSFListener], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsflistener
|
|
8
|
+
def bsf_listener(params = {}, &)
|
|
9
|
+
node = BSFListener.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class BSFListener
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "BSFListener" : (params[:name] || "BSFListener")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<BSFListener guiclass="TestBeanGUI" testclass="BSFListener" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="filename"/>
|
|
23
|
+
<stringProp name="parameters"/>
|
|
24
|
+
<stringProp name="script"/>
|
|
25
|
+
<stringProp name="scriptLanguage"/>
|
|
26
|
+
</BSFListener>
|
|
27
|
+
EOS
|
|
28
|
+
))
|
|
29
|
+
update params
|
|
30
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element BSFPostprocessor
|
|
4
|
+
# @param params [Hash] Parameters for the BSFPostprocessor element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the BSFPostprocessor element
|
|
6
|
+
# @return [JmeterPerf::BSFPostprocessor], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsfpostprocessor
|
|
8
|
+
def bsf_postprocessor(params = {}, &)
|
|
9
|
+
node = BSFPostprocessor.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class BSFPostprocessor
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "BSFPostprocessor" : (params[:name] || "BSFPostprocessor")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<BSFPostProcessor guiclass="TestBeanGUI" testclass="BSFPostProcessor" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="filename"/>
|
|
23
|
+
<stringProp name="parameters"/>
|
|
24
|
+
<stringProp name="script"/>
|
|
25
|
+
<stringProp name="scriptLanguage"/>
|
|
26
|
+
</BSFPostProcessor>
|
|
27
|
+
EOS
|
|
28
|
+
))
|
|
29
|
+
update params
|
|
30
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element BSFPreprocessor
|
|
4
|
+
# @param params [Hash] Parameters for the BSFPreprocessor element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the BSFPreprocessor element
|
|
6
|
+
# @return [JmeterPerf::BSFPreprocessor], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsfpreprocessor
|
|
8
|
+
def bsf_preprocessor(params = {}, &)
|
|
9
|
+
node = BSFPreprocessor.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class BSFPreprocessor
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "BSFPreprocessor" : (params[:name] || "BSFPreprocessor")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<BSFPreProcessor guiclass="TestBeanGUI" testclass="BSFPreProcessor" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="filename"/>
|
|
23
|
+
<stringProp name="parameters"/>
|
|
24
|
+
<stringProp name="script"/>
|
|
25
|
+
<stringProp name="scriptLanguage"/>
|
|
26
|
+
</BSFPreProcessor>
|
|
27
|
+
EOS
|
|
28
|
+
))
|
|
29
|
+
update params
|
|
30
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element BSFSampler
|
|
4
|
+
# @param params [Hash] Parameters for the BSFSampler element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the BSFSampler element
|
|
6
|
+
# @return [JmeterPerf::BSFSampler], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsfsampler
|
|
8
|
+
def bsf_sampler(params = {}, &)
|
|
9
|
+
node = BSFSampler.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class BSFSampler
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "BSFSampler" : (params[:name] || "BSFSampler")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<BSFSampler guiclass="TestBeanGUI" testclass="BSFSampler" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="filename"/>
|
|
23
|
+
<stringProp name="parameters"/>
|
|
24
|
+
<stringProp name="script"/>
|
|
25
|
+
<stringProp name="scriptLanguage"/>
|
|
26
|
+
</BSFSampler>
|
|
27
|
+
EOS
|
|
28
|
+
))
|
|
29
|
+
update params
|
|
30
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element BSFTimer
|
|
4
|
+
# @param params [Hash] Parameters for the BSFTimer element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the BSFTimer element
|
|
6
|
+
# @return [JmeterPerf::BSFTimer], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#bsftimer
|
|
8
|
+
def bsf_timer(params = {}, &)
|
|
9
|
+
node = BSFTimer.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class BSFTimer
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "BSFTimer" : (params[:name] || "BSFTimer")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<BSFTimer guiclass="TestBeanGUI" testclass="BSFTimer" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="filename"/>
|
|
23
|
+
<stringProp name="parameters"/>
|
|
24
|
+
<stringProp name="script"/>
|
|
25
|
+
<stringProp name="scriptLanguage"/>
|
|
26
|
+
</BSFTimer>
|
|
27
|
+
EOS
|
|
28
|
+
))
|
|
29
|
+
update params
|
|
30
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element CompareAssertion
|
|
4
|
+
# @param params [Hash] Parameters for the CompareAssertion element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the CompareAssertion element
|
|
6
|
+
# @return [JmeterPerf::CompareAssertion], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#compareassertion
|
|
8
|
+
def compare_assertion(params = {}, &)
|
|
9
|
+
node = CompareAssertion.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class CompareAssertion
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "CompareAssertion" : (params[:name] || "CompareAssertion")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<CompareAssertion guiclass="TestBeanGUI" testclass="CompareAssertion" testname="#{testname}" enabled="true">
|
|
22
|
+
<boolProp name="compareContent">true</boolProp>
|
|
23
|
+
<longProp name="compareTime">-1</longProp>
|
|
24
|
+
<collectionProp name="stringsToSkip"/>
|
|
25
|
+
</CompareAssertion>
|
|
26
|
+
EOS
|
|
27
|
+
))
|
|
28
|
+
update params
|
|
29
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element ComparisonAssertionVisualizer
|
|
4
|
+
# @param params [Hash] Parameters for the ComparisonAssertionVisualizer element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the ComparisonAssertionVisualizer element
|
|
6
|
+
# @return [JmeterPerf::ComparisonAssertionVisualizer], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#comparisonassertionvisualizer
|
|
8
|
+
def comparison_assertion_visualizer(params = {}, &)
|
|
9
|
+
node = ComparisonAssertionVisualizer.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class ComparisonAssertionVisualizer
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "ComparisonAssertionVisualizer" : (params[:name] || "ComparisonAssertionVisualizer")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<ResultCollector guiclass="ComparisonVisualizer" testclass="ResultCollector" testname="#{testname}" enabled="true">
|
|
22
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
|
23
|
+
<objProp>
|
|
24
|
+
<name>saveConfig</name>
|
|
25
|
+
<value class="SampleSaveConfiguration">
|
|
26
|
+
<time>true</time>
|
|
27
|
+
<latency>true</latency>
|
|
28
|
+
<timestamp>true</timestamp>
|
|
29
|
+
<success>true</success>
|
|
30
|
+
<label>true</label>
|
|
31
|
+
<code>true</code>
|
|
32
|
+
<message>false</message>
|
|
33
|
+
<threadName>true</threadName>
|
|
34
|
+
<dataType>false</dataType>
|
|
35
|
+
<encoding>false</encoding>
|
|
36
|
+
<assertions>false</assertions>
|
|
37
|
+
<subresults>false</subresults>
|
|
38
|
+
<responseData>false</responseData>
|
|
39
|
+
<samplerData>false</samplerData>
|
|
40
|
+
<xml>false</xml>
|
|
41
|
+
<fieldNames>false</fieldNames>
|
|
42
|
+
<responseHeaders>false</responseHeaders>
|
|
43
|
+
<requestHeaders>false</requestHeaders>
|
|
44
|
+
<responseDataOnError>false</responseDataOnError>
|
|
45
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
|
46
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
|
47
|
+
<bytes>true</bytes>
|
|
48
|
+
<threadCounts>true</threadCounts>
|
|
49
|
+
<sampleCount>true</sampleCount>
|
|
50
|
+
</value>
|
|
51
|
+
</objProp>
|
|
52
|
+
<stringProp name="filename"/>
|
|
53
|
+
</ResultCollector>
|
|
54
|
+
EOS
|
|
55
|
+
))
|
|
56
|
+
update params
|
|
57
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element ConstantThroughputTimer
|
|
4
|
+
# @param params [Hash] Parameters for the ConstantThroughputTimer element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the ConstantThroughputTimer element
|
|
6
|
+
# @return [JmeterPerf::ConstantThroughputTimer], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#constantthroughputtimer
|
|
8
|
+
def constant_throughput_timer(params = {}, &)
|
|
9
|
+
node = ConstantThroughputTimer.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class ConstantThroughputTimer
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "ConstantThroughputTimer" : (params[:name] || "ConstantThroughputTimer")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="#{testname}" enabled="true">
|
|
22
|
+
<intProp name="calcMode">0</intProp>
|
|
23
|
+
<stringProp name="throughput">0.0</stringProp>
|
|
24
|
+
</ConstantThroughputTimer>
|
|
25
|
+
EOS
|
|
26
|
+
))
|
|
27
|
+
update params
|
|
28
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element ConstantTimer
|
|
4
|
+
# @param params [Hash] Parameters for the ConstantTimer element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the ConstantTimer element
|
|
6
|
+
# @return [JmeterPerf::ConstantTimer], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#constanttimer
|
|
8
|
+
def constant_timer(params = {}, &)
|
|
9
|
+
node = ConstantTimer.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class ConstantTimer
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "ConstantTimer" : (params[:name] || "ConstantTimer")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="ConstantTimer.delay">300</stringProp>
|
|
23
|
+
</ConstantTimer>
|
|
24
|
+
EOS
|
|
25
|
+
))
|
|
26
|
+
update params
|
|
27
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element Counter
|
|
4
|
+
# @param params [Hash] Parameters for the Counter element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the Counter element
|
|
6
|
+
# @return [JmeterPerf::Counter], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#counter
|
|
8
|
+
def counter(params = {}, &)
|
|
9
|
+
node = Counter.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class Counter
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "Counter" : (params[:name] || "Counter")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="CounterConfig.start"/>
|
|
23
|
+
<stringProp name="CounterConfig.end"/>
|
|
24
|
+
<stringProp name="CounterConfig.incr"/>
|
|
25
|
+
<stringProp name="CounterConfig.name"/>
|
|
26
|
+
<stringProp name="CounterConfig.format"/>
|
|
27
|
+
<boolProp name="CounterConfig.per_user">true</boolProp>
|
|
28
|
+
<boolProp name="CounterConfig.reset_on_tg_iteration">true</boolProp>
|
|
29
|
+
</CounterConfig>
|
|
30
|
+
EOS
|
|
31
|
+
))
|
|
32
|
+
update params
|
|
33
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element CSSJqueryExtractor
|
|
4
|
+
# @param params [Hash] Parameters for the CSSJqueryExtractor element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the CSSJqueryExtractor element
|
|
6
|
+
# @return [JmeterPerf::CSSJqueryExtractor], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#cssjqueryextractor
|
|
8
|
+
def css_jquery_extractor(params = {}, &)
|
|
9
|
+
node = CSSJqueryExtractor.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class CSSJqueryExtractor
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "CSSJqueryExtractor" : (params[:name] || "CSSJqueryExtractor")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<HtmlExtractor guiclass="HtmlExtractorGui" testclass="HtmlExtractor" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="HtmlExtractor.refname"/>
|
|
23
|
+
<stringProp name="HtmlExtractor.expr"/>
|
|
24
|
+
<stringProp name="HtmlExtractor.attribute"/>
|
|
25
|
+
<stringProp name="HtmlExtractor.default"/>
|
|
26
|
+
<stringProp name="HtmlExtractor.match_number"/>
|
|
27
|
+
<stringProp name="HtmlExtractor.extractor_impl"/>
|
|
28
|
+
<boolProp name="HtmlExtractor.default_empty_value"/>
|
|
29
|
+
</HtmlExtractor>
|
|
30
|
+
EOS
|
|
31
|
+
))
|
|
32
|
+
update params
|
|
33
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element CSVDataSetConfig
|
|
4
|
+
# @param params [Hash] Parameters for the CSVDataSetConfig element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the CSVDataSetConfig element
|
|
6
|
+
# @return [JmeterPerf::CSVDataSetConfig], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#csvdatasetconfig
|
|
8
|
+
def csv_data_set_config(params = {}, &)
|
|
9
|
+
node = CSVDataSetConfig.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class CSVDataSetConfig
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "CSVDataSetConfig" : (params[:name] || "CSVDataSetConfig")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="#{testname}" enabled="true">
|
|
22
|
+
<stringProp name="delimiter">,</stringProp>
|
|
23
|
+
<stringProp name="fileEncoding"/>
|
|
24
|
+
<stringProp name="filename"/>
|
|
25
|
+
<boolProp name="quotedData">false</boolProp>
|
|
26
|
+
<boolProp name="recycle">true</boolProp>
|
|
27
|
+
<stringProp name="shareMode">shareMode.all</stringProp>
|
|
28
|
+
<boolProp name="stopThread">false</boolProp>
|
|
29
|
+
<boolProp name="ignoreFirstLine">false</boolProp>
|
|
30
|
+
<stringProp name="variableNames"/>
|
|
31
|
+
</CSVDataSet>
|
|
32
|
+
EOS
|
|
33
|
+
))
|
|
34
|
+
update params
|
|
35
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element DebugPostprocessor
|
|
4
|
+
# @param params [Hash] Parameters for the DebugPostprocessor element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the DebugPostprocessor element
|
|
6
|
+
# @return [JmeterPerf::DebugPostprocessor], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#debugpostprocessor
|
|
8
|
+
def debug_postprocessor(params = {}, &)
|
|
9
|
+
node = DebugPostprocessor.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class DebugPostprocessor
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "DebugPostprocessor" : (params[:name] || "DebugPostprocessor")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<DebugPostProcessor guiclass="TestBeanGUI" testclass="DebugPostProcessor" testname="#{testname}" enabled="true">
|
|
22
|
+
<boolProp name="displayJMeterProperties">false</boolProp>
|
|
23
|
+
<boolProp name="displayJMeterVariables">true</boolProp>
|
|
24
|
+
<boolProp name="displaySamplerProperties">true</boolProp>
|
|
25
|
+
<boolProp name="displaySystemProperties">false</boolProp>
|
|
26
|
+
</DebugPostProcessor>
|
|
27
|
+
EOS
|
|
28
|
+
))
|
|
29
|
+
update params
|
|
30
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element DebugSampler
|
|
4
|
+
# @param params [Hash] Parameters for the DebugSampler element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the DebugSampler element
|
|
6
|
+
# @return [JmeterPerf::DebugSampler], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#debugsampler
|
|
8
|
+
def debug_sampler(params = {}, &)
|
|
9
|
+
node = DebugSampler.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class DebugSampler
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "DebugSampler" : (params[:name] || "DebugSampler")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="#{testname}" enabled="true">
|
|
22
|
+
<boolProp name="displayJMeterProperties">false</boolProp>
|
|
23
|
+
<boolProp name="displayJMeterVariables">true</boolProp>
|
|
24
|
+
<boolProp name="displaySystemProperties">false</boolProp>
|
|
25
|
+
</DebugSampler>
|
|
26
|
+
EOS
|
|
27
|
+
))
|
|
28
|
+
update params
|
|
29
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
module JmeterPerf
|
|
2
|
+
class DSL
|
|
3
|
+
# DSL method synonymous with the JMeter Element DistributionGraphalpha
|
|
4
|
+
# @param params [Hash] Parameters for the DistributionGraphalpha element (default: `{}`).
|
|
5
|
+
# @yield block to attach to the DistributionGraphalpha element
|
|
6
|
+
# @return [JmeterPerf::DistributionGraphalpha], a subclass of JmeterPerf::DSL that can be chained with other DSL methods.
|
|
7
|
+
# @see https://github.com/jlurena/jmeter_perf/wiki/1.-DSL-Documentation#distributiongraphalpha
|
|
8
|
+
def distribution_graphalpha(params = {}, &)
|
|
9
|
+
node = DistributionGraphalpha.new(params)
|
|
10
|
+
attach_node(node, &)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class DistributionGraphalpha
|
|
14
|
+
attr_accessor :doc
|
|
15
|
+
include JmeterPerf::Helpers::XmlDocumentUpdater
|
|
16
|
+
|
|
17
|
+
def initialize(params = {})
|
|
18
|
+
testname = params.is_a?(Array) ? "DistributionGraphalpha" : (params[:name] || "DistributionGraphalpha")
|
|
19
|
+
@doc = Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
|
|
20
|
+
<<~EOS
|
|
21
|
+
<ResultCollector guiclass="DistributionGraphVisualizer" testclass="ResultCollector" testname="#{testname}" enabled="true">
|
|
22
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
|
23
|
+
<objProp>
|
|
24
|
+
<name>saveConfig</name>
|
|
25
|
+
<value class="SampleSaveConfiguration">
|
|
26
|
+
<time>true</time>
|
|
27
|
+
<latency>true</latency>
|
|
28
|
+
<timestamp>true</timestamp>
|
|
29
|
+
<success>true</success>
|
|
30
|
+
<label>true</label>
|
|
31
|
+
<code>true</code>
|
|
32
|
+
<message>false</message>
|
|
33
|
+
<threadName>true</threadName>
|
|
34
|
+
<dataType>false</dataType>
|
|
35
|
+
<encoding>false</encoding>
|
|
36
|
+
<assertions>false</assertions>
|
|
37
|
+
<subresults>false</subresults>
|
|
38
|
+
<responseData>false</responseData>
|
|
39
|
+
<samplerData>false</samplerData>
|
|
40
|
+
<xml>false</xml>
|
|
41
|
+
<fieldNames>false</fieldNames>
|
|
42
|
+
<responseHeaders>false</responseHeaders>
|
|
43
|
+
<requestHeaders>false</requestHeaders>
|
|
44
|
+
<responseDataOnError>false</responseDataOnError>
|
|
45
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
|
46
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
|
47
|
+
<bytes>true</bytes>
|
|
48
|
+
<threadCounts>true</threadCounts>
|
|
49
|
+
<sampleCount>true</sampleCount>
|
|
50
|
+
</value>
|
|
51
|
+
</objProp>
|
|
52
|
+
<stringProp name="filename"/>
|
|
53
|
+
</ResultCollector>
|
|
54
|
+
EOS
|
|
55
|
+
))
|
|
56
|
+
update params
|
|
57
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|