Module: JmeterPerf

Defined in:
lib/jmeter_perf.rb,
lib/jmeter_perf/version.rb,
lib/jmeter_perf/dsl/counter.rb,
lib/jmeter_perf/dsl/bsf_timer.rb,
lib/jmeter_perf/dsl/test_plan.rb,
lib/jmeter_perf/report/summary.rb,
lib/jmeter_perf/dsl/bsf_sampler.rb,
lib/jmeter_perf/dsl/ftp_request.rb,
lib/jmeter_perf/dsl/tcp_sampler.rb,
lib/jmeter_perf/dsl/test_action.rb,
lib/jmeter_perf/dsl/bsf_listener.rb,
lib/jmeter_perf/dsl/http_request.rb,
lib/jmeter_perf/dsl/java_request.rb,
lib/jmeter_perf/dsl/jdbc_request.rb,
lib/jmeter_perf/dsl/jsr223_timer.rb,
lib/jmeter_perf/dsl/ldap_request.rb,
lib/jmeter_perf/dsl/smtp_sampler.rb,
lib/jmeter_perf/dsl/thread_group.rb,
lib/jmeter_perf/extend/misc/uuid.rb,
lib/jmeter_perf/dsl/ajp13_sampler.rb,
lib/jmeter_perf/dsl/bsf_assertion.rb,
lib/jmeter_perf/dsl/debug_sampler.rb,
lib/jmeter_perf/dsl/graph_results.rb,
lib/jmeter_perf/dsl/if_controller.rb,
lib/jmeter_perf/dsl/jms_publisher.rb,
lib/jmeter_perf/dsl/test_fragment.rb,
lib/jmeter_perf/dsl/xml_assertion.rb,
lib/jmeter_perf/extend/misc/rsync.rb,
lib/jmeter_perf/report/comparator.rb,
lib/jmeter_perf/dsl/constant_timer.rb,
lib/jmeter_perf/dsl/html_assertion.rb,
lib/jmeter_perf/dsl/j_unit_request.rb,
lib/jmeter_perf/dsl/jms_subscriber.rb,
lib/jmeter_perf/dsl/jsr223_sampler.rb,
lib/jmeter_perf/dsl/summary_report.rb,
lib/jmeter_perf/extend/misc/exists.rb,
lib/jmeter_perf/dsl/aggregate_graph.rb,
lib/jmeter_perf/dsl/jsr223_listener.rb,
lib/jmeter_perf/dsl/loop_controller.rb,
lib/jmeter_perf/dsl/monitor_results.rb,
lib/jmeter_perf/dsl/random_variable.rb,
lib/jmeter_perf/dsl/smime_assertion.rb,
lib/jmeter_perf/dsl/user_parameters.rb,
lib/jmeter_perf/dsl/aggregate_report.rb,
lib/jmeter_perf/dsl/bean_shell_timer.rb,
lib/jmeter_perf/dsl/bsf_preprocessor.rb,
lib/jmeter_perf/dsl/html_link_parser.rb,
lib/jmeter_perf/dsl/jsr223_assertion.rb,
lib/jmeter_perf/dsl/while_controller.rb,
lib/jmeter_perf/dsl/x_path_assertion.rb,
lib/jmeter_perf/dsl/x_path_extractor.rb,
lib/jmeter_perf/dsl/assertion_results.rb,
lib/jmeter_perf/dsl/bsf_postprocessor.rb,
lib/jmeter_perf/dsl/compare_assertion.rb,
lib/jmeter_perf/dsl/jdbc_preprocessor.rb,
lib/jmeter_perf/dsl/jms_pointto_point.rb,
lib/jmeter_perf/dsl/mailer_visualizer.rb,
lib/jmeter_perf/dsl/md5_hex_assertion.rb,
lib/jmeter_perf/dsl/module_controller.rb,
lib/jmeter_perf/dsl/random_controller.rb,
lib/jmeter_perf/dsl/simple_controller.rb,
lib/jmeter_perf/dsl/spline_visualizer.rb,
lib/jmeter_perf/dsl/switch_controller.rb,
lib/jmeter_perf/dsl/view_results_tree.rb,
lib/jmeter_perf/helpers/dsl_generator.rb,
lib/jmeter_perf/plugins/dummy_sampler.rb,
lib/jmeter_perf/plugins/jmx_collector.rb,
lib/jmeter_perf/dsl/access_log_sampler.rb,
lib/jmeter_perf/dsl/bean_shell_sampler.rb,
lib/jmeter_perf/dsl/duration_assertion.rb,
lib/jmeter_perf/dsl/http_cache_manager.rb,
lib/jmeter_perf/dsl/include_controller.rb,
lib/jmeter_perf/dsl/jdbc_postprocessor.rb,
lib/jmeter_perf/dsl/os_process_sampler.rb,
lib/jmeter_perf/dsl/response_assertion.rb,
lib/jmeter_perf/dsl/runtime_controller.rb,
lib/jmeter_perf/dsl/simple_data_writer.rb,
lib/jmeter_perf/dsl/tcp_sampler_config.rb,
lib/jmeter_perf/plugins/redis_data_set.rb,
lib/jmeter_perf/dsl/bean_shell_listener.rb,
lib/jmeter_perf/dsl/csv_data_set_config.rb,
lib/jmeter_perf/dsl/debug_postprocessor.rb,
lib/jmeter_perf/dsl/for_each_controller.rb,
lib/jmeter_perf/dsl/html_parameter_mask.rb,
lib/jmeter_perf/dsl/http_cookie_manager.rb,
lib/jmeter_perf/dsl/http_header_manager.rb,
lib/jmeter_perf/dsl/jsr223_preprocessor.rb,
lib/jmeter_perf/dsl/mail_reader_sampler.rb,
lib/jmeter_perf/dsl/response_time_graph.rb,
lib/jmeter_perf/dsl/synchronizing_timer.rb,
lib/jmeter_perf/plugins/composite_graph.rb,
lib/jmeter_perf/dsl/bean_shell_assertion.rb,
lib/jmeter_perf/dsl/css_jquery_extractor.rb,
lib/jmeter_perf/dsl/ftp_request_defaults.rb,
lib/jmeter_perf/dsl/jsr223_postprocessor.rb,
lib/jmeter_perf/dsl/login_config_element.rb,
lib/jmeter_perf/dsl/once_only_controller.rb,
lib/jmeter_perf/dsl/poisson_random_timer.rb,
lib/jmeter_perf/dsl/recording_controller.rb,
lib/jmeter_perf/dsl/soap_xml_rpc_request.rb,
lib/jmeter_perf/dsl/uniform_random_timer.rb,
lib/jmeter_perf/dsl/xml_schema_assertion.rb,
lib/jmeter_perf/extend/misc/with_helpers.rb,
lib/jmeter_perf/dsl/gaussian_random_timer.rb,
lib/jmeter_perf/dsl/http_request_defaults.rb,
lib/jmeter_perf/dsl/java_request_defaults.rb,
lib/jmeter_perf/dsl/ldap_extended_request.rb,
lib/jmeter_perf/dsl/ldap_request_defaults.rb,
lib/jmeter_perf/dsl/simple_config_element.rb,
lib/jmeter_perf/dsl/throughput_controller.rb,
lib/jmeter_perf/dsl/view_results_in_table.rb,
lib/jmeter_perf/extend/processors/extract.rb,
lib/jmeter_perf/plugins/perfmon_collector.rb,
lib/jmeter_perf/dsl/keystore_configuration.rb,
lib/jmeter_perf/dsl/reg_ex_user_parameters.rb,
lib/jmeter_perf/dsl/transaction_controller.rb,
lib/jmeter_perf/dsl/user_defined_variables.rb,
lib/jmeter_perf/extend/timers/random_timer.rb,
lib/jmeter_perf/dsl/bean_shell_preprocessor.rb,
lib/jmeter_perf/dsl/distribution_graphalpha.rb,
lib/jmeter_perf/dsl/json_path_postprocessor.rb,
lib/jmeter_perf/dsl/random_order_controller.rb,
lib/jmeter_perf/extend/threads/thread_group.rb,
lib/jmeter_perf/plugins/json_path_assertion.rb,
lib/jmeter_perf/plugins/json_path_extractor.rb,
lib/jmeter_perf/plugins/latencies_over_time.rb,
lib/jmeter_perf/dsl/bean_shell_postprocessor.rb,
lib/jmeter_perf/dsl/generate_summary_results.rb,
lib/jmeter_perf/dsl/save_responses_to_a_file.rb,
lib/jmeter_perf/extend/samplers/http_request.rb,
lib/jmeter_perf/plugins/loadosophia_uploader.rb,
lib/jmeter_perf/dsl/constant_throughput_timer.rb,
lib/jmeter_perf/extend/plugins/jmeter_plugins.rb,
lib/jmeter_perf/plugins/console_status_logger.rb,
lib/jmeter_perf/plugins/stepping_thread_group.rb,
lib/jmeter_perf/plugins/ultimate_thread_group.rb,
lib/jmeter_perf/dsl/http_authorization_manager.rb,
lib/jmeter_perf/dsl/http_url_rewriting_modifier.rb,
lib/jmeter_perf/plugins/transactions_per_second.rb,
lib/jmeter_perf/dsl/regular_expression_extractor.rb,
lib/jmeter_perf/dsl/result_status_action_handler.rb,
lib/jmeter_perf/extend/samplers/jms_pointtopoint.rb,
lib/jmeter_perf/plugins/active_threads_over_time.rb,
lib/jmeter_perf/plugins/response_times_over_time.rb,
lib/jmeter_perf/dsl/jdbc_connection_configuration.rb,
lib/jmeter_perf/plugins/response_codes_per_second.rb,
lib/jmeter_perf/plugins/variable_throughput_timer.rb,
lib/jmeter_perf/dsl/ldap_extended_request_defaults.rb,
lib/jmeter_perf/extend/controllers/loop_controller.rb,
lib/jmeter_perf/extend/samplers/soapxmlrpc_request.rb,
lib/jmeter_perf/plugins/response_times_percentiles.rb,
lib/jmeter_perf/dsl/comparison_assertion_visualizer.rb,
lib/jmeter_perf/plugins/response_times_distribution.rb,
lib/jmeter_perf/extend/assertions/response_assertion.rb,
lib/jmeter_perf/extend/controllers/module_controller.rb,
lib/jmeter_perf/extend/config_elements/header_manager.rb,
lib/jmeter_perf/extend/controllers/foreach_controller.rb,
lib/jmeter_perf/extend/config_elements/user_parameters.rb,
lib/jmeter_perf/extend/timers/constant_throughput_timer.rb,
lib/jmeter_perf/extend/controllers/throughput_controller.rb,
lib/jmeter_perf/extend/config_elements/http_cache_manager.rb,
lib/jmeter_perf/extend/controllers/transaction_controller.rb,
lib/jmeter_perf/extend/config_elements/http_cookie_manager.rb,
lib/jmeter_perf/extend/config_elements/http_request_defaults.rb,
lib/jmeter_perf/extend/config_elements/user_defined_variables.rb,
lib/jmeter_perf/extend/processors/regular_expression_extractor.rb

Overview

JmeterPerf module for handling performance testing with JMeter. This module provides methods to define and execute JMeter test plans.

Defined Under Namespace

Modules: Helpers, Plugins, Report Classes: DSL, ExtendedDSL

Constant Summary collapse

VERSION =
"1.1.1"

Class Method Summary collapse

Class Method Details

.test(params = {}) { ... } ⇒ JmeterPerf::ExtendedDSL

Evaluates the test plan with the given parameters and block.

Parameters:

  • params (Hash) (defaults to: {})

    Parameters for the test plan (default: ‘{}`).

Yields:

  • The block to define the test plan steps.

Returns:

See Also:



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/jmeter_perf.rb', line 34

def self.test(params = {}, &block)
  dsl = JmeterPerf::ExtendedDSL.new(params)

  block_context = eval("self", block.binding, __FILE__, __LINE__)
  proxy_context = JmeterPerf::Helpers::FallbackContextProxy.new(dsl, block_context)
  begin
    block_context.instance_variables.each do |ivar|
      proxy_context.instance_variable_set(ivar, block_context.instance_variable_get(ivar))
    end
    proxy_context.instance_eval(&block)
  ensure
    block_context.instance_variables.each do |ivar|
      block_context.instance_variable_set(ivar, proxy_context.instance_variable_get(ivar))
    end
  end
  dsl
end