jmeter-ruby 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitattributes +22 -0
- data/.github/workflows/ci.yml +54 -0
- data/.gitignore +24 -0
- data/.rspec +1 -0
- data/.ruby-version +1 -0
- data/CHANGES.md +77 -0
- data/Gemfile +23 -0
- data/LICENSE.txt +21 -0
- data/README.md +434 -0
- data/Rakefile +18 -0
- data/examples/OS_process_sampler.rb +24 -0
- data/examples/assertion_results.rb +18 -0
- data/examples/basic_auth.rb +11 -0
- data/examples/browser_headers.rb +7 -0
- data/examples/composite_graph.rb +29 -0
- data/examples/constant_throughput_timer.rb +11 -0
- data/examples/csv_data_set.rb +11 -0
- data/examples/dummy_sampler.rb +9 -0
- data/examples/duration_assertion.rb +10 -0
- data/examples/etsy_login_browse.rb +61 -0
- data/examples/extract.rb +12 -0
- data/examples/foreach_controller.rb +29 -0
- data/examples/header_manager.rb +29 -0
- data/examples/http_cache_manager.rb +11 -0
- data/examples/http_cookie_manager.rb +11 -0
- data/examples/http_request_defaults.rb +11 -0
- data/examples/http_request_post.rb +11 -0
- data/examples/http_request_with_files.rb +13 -0
- data/examples/http_request_with_query_params.rb +8 -0
- data/examples/jmeter_plugins_graphs.rb +22 -0
- data/examples/json_path_assertions.rb +11 -0
- data/examples/json_path_extractor.rb +10 -0
- data/examples/json_path_postprocessor.rb +10 -0
- data/examples/jsr223_assertion.rb +13 -0
- data/examples/ldap_sampler.rb +16 -0
- data/examples/loadosophia.rb +18 -0
- data/examples/loop_controller.rb +10 -0
- data/examples/loops_with_counter.rb +15 -0
- data/examples/once_only_controller.rb +15 -0
- data/examples/perfmon.rb +46 -0
- data/examples/real_custom_methods.rb +19 -0
- data/examples/real_page_objects.rb +41 -0
- data/examples/real_redis_data_set_with_setup.rb +123 -0
- data/examples/real_user_objects_github.rb +112 -0
- data/examples/regular_expression_extractor.rb +12 -0
- data/examples/response_assertion.rb +15 -0
- data/examples/response_time_percentiles_graph.rb +11 -0
- data/examples/rsync.rb +16 -0
- data/examples/sample_transaction.rb +18 -0
- data/examples/simple_data_writer_listener.rb +11 -0
- data/examples/stepping_thread_group.rb +30 -0
- data/examples/test_fragment.rb +14 -0
- data/examples/think_time.rb +15 -0
- data/examples/thread_groups.rb +7 -0
- data/examples/throughput_controller.rb +14 -0
- data/examples/throughput_shaping_timer.rb +20 -0
- data/examples/ultimate_thread_group.rb +39 -0
- data/examples/unicode.rb +8 -0
- data/examples/user_defined_variables.rb +10 -0
- data/examples/user_parameters.rb +28 -0
- data/examples/uuid_per_iteration.rb +15 -0
- data/jmeter-ruby.gemspec +28 -0
- data/lib/jmeter-ruby/DSL.md +235 -0
- data/lib/jmeter-ruby/dsl/access_log_sampler.rb +32 -0
- data/lib/jmeter-ruby/dsl/aggregate_graph.rb +55 -0
- data/lib/jmeter-ruby/dsl/aggregate_report.rb +55 -0
- data/lib/jmeter-ruby/dsl/ajp13_sampler.rb +41 -0
- data/lib/jmeter-ruby/dsl/assertion_results.rb +55 -0
- data/lib/jmeter-ruby/dsl/beanshell_assertion.rb +28 -0
- data/lib/jmeter-ruby/dsl/beanshell_listener.rb +28 -0
- data/lib/jmeter-ruby/dsl/beanshell_postprocessor.rb +28 -0
- data/lib/jmeter-ruby/dsl/beanshell_preprocessor.rb +28 -0
- data/lib/jmeter-ruby/dsl/beanshell_sampler.rb +28 -0
- data/lib/jmeter-ruby/dsl/beanshell_timer.rb +28 -0
- data/lib/jmeter-ruby/dsl/bsf_assertion.rb +28 -0
- data/lib/jmeter-ruby/dsl/bsf_listener.rb +28 -0
- data/lib/jmeter-ruby/dsl/bsf_postprocessor.rb +28 -0
- data/lib/jmeter-ruby/dsl/bsf_preprocessor.rb +28 -0
- data/lib/jmeter-ruby/dsl/bsf_sampler.rb +28 -0
- data/lib/jmeter-ruby/dsl/bsf_timer.rb +28 -0
- data/lib/jmeter-ruby/dsl/compare_assertion.rb +27 -0
- data/lib/jmeter-ruby/dsl/comparison_assertion_visualizer.rb +55 -0
- data/lib/jmeter-ruby/dsl/constant_throughput_timer.rb +26 -0
- data/lib/jmeter-ruby/dsl/constant_timer.rb +25 -0
- data/lib/jmeter-ruby/dsl/counter.rb +31 -0
- data/lib/jmeter-ruby/dsl/cssjquery_extractor.rb +31 -0
- data/lib/jmeter-ruby/dsl/csv_data_set_config.rb +33 -0
- data/lib/jmeter-ruby/dsl/debug_postprocessor.rb +28 -0
- data/lib/jmeter-ruby/dsl/debug_sampler.rb +27 -0
- data/lib/jmeter-ruby/dsl/distribution_graphalpha.rb +55 -0
- data/lib/jmeter-ruby/dsl/duration_assertion.rb +25 -0
- data/lib/jmeter-ruby/dsl/foreach_controller.rb +27 -0
- data/lib/jmeter-ruby/dsl/ftp_request.rb +34 -0
- data/lib/jmeter-ruby/dsl/ftp_request_defaults.rb +32 -0
- data/lib/jmeter-ruby/dsl/gaussian_random_timer.rb +26 -0
- data/lib/jmeter-ruby/dsl/generate_summary_results.rb +23 -0
- data/lib/jmeter-ruby/dsl/graph_results.rb +55 -0
- data/lib/jmeter-ruby/dsl/html_assertion.rb +30 -0
- data/lib/jmeter-ruby/dsl/html_link_parser.rb +23 -0
- data/lib/jmeter-ruby/dsl/html_parameter_mask.rb +32 -0
- data/lib/jmeter-ruby/dsl/http_authorization_manager.rb +33 -0
- data/lib/jmeter-ruby/dsl/http_cache_manager.rb +26 -0
- data/lib/jmeter-ruby/dsl/http_cookie_manager.rb +28 -0
- data/lib/jmeter-ruby/dsl/http_header_manager.rb +30 -0
- data/lib/jmeter-ruby/dsl/http_request.rb +41 -0
- data/lib/jmeter-ruby/dsl/http_request_defaults.rb +41 -0
- data/lib/jmeter-ruby/dsl/http_url_rewriting_modifier.rb +30 -0
- data/lib/jmeter-ruby/dsl/if_controller.rb +27 -0
- data/lib/jmeter-ruby/dsl/include_controller.rb +25 -0
- data/lib/jmeter-ruby/dsl/java_request.rb +69 -0
- data/lib/jmeter-ruby/dsl/java_request_defaults.rb +69 -0
- data/lib/jmeter-ruby/dsl/jdbc_connection_configuration.rb +37 -0
- data/lib/jmeter-ruby/dsl/jdbc_postprocessor.rb +33 -0
- data/lib/jmeter-ruby/dsl/jdbc_preprocessor.rb +33 -0
- data/lib/jmeter-ruby/dsl/jdbc_request.rb +33 -0
- data/lib/jmeter-ruby/dsl/jms_pointtopoint.rb +41 -0
- data/lib/jmeter-ruby/dsl/jms_publisher.rb +43 -0
- data/lib/jmeter-ruby/dsl/jms_subscriber.rb +35 -0
- data/lib/jmeter-ruby/dsl/json_path_postprocessor.rb +27 -0
- data/lib/jmeter-ruby/dsl/jsr223_assertion.rb +29 -0
- data/lib/jmeter-ruby/dsl/jsr223_listener.rb +29 -0
- data/lib/jmeter-ruby/dsl/jsr223_postprocessor.rb +29 -0
- data/lib/jmeter-ruby/dsl/jsr223_preprocessor.rb +29 -0
- data/lib/jmeter-ruby/dsl/jsr223_sampler.rb +29 -0
- data/lib/jmeter-ruby/dsl/jsr223_timer.rb +29 -0
- data/lib/jmeter-ruby/dsl/junit_request.rb +37 -0
- data/lib/jmeter-ruby/dsl/keystore_configuration.rb +28 -0
- data/lib/jmeter-ruby/dsl/ldap_extended_request.rb +42 -0
- data/lib/jmeter-ruby/dsl/ldap_extended_request_defaults.rb +42 -0
- data/lib/jmeter-ruby/dsl/ldap_request.rb +35 -0
- data/lib/jmeter-ruby/dsl/ldap_request_defaults.rb +39 -0
- data/lib/jmeter-ruby/dsl/login_config_element.rb +26 -0
- data/lib/jmeter-ruby/dsl/loop_controller.rb +26 -0
- data/lib/jmeter-ruby/dsl/mail_reader_sampler.rb +37 -0
- data/lib/jmeter-ruby/dsl/mailer_visualizer.rb +64 -0
- data/lib/jmeter-ruby/dsl/md5hex_assertion.rb +25 -0
- data/lib/jmeter-ruby/dsl/module_controller.rb +25 -0
- data/lib/jmeter-ruby/dsl/monitor_results.rb +55 -0
- data/lib/jmeter-ruby/dsl/once_only_controller.rb +23 -0
- data/lib/jmeter-ruby/dsl/os_process_sampler.rb +34 -0
- data/lib/jmeter-ruby/dsl/poisson_random_timer.rb +26 -0
- data/lib/jmeter-ruby/dsl/random_controller.rb +25 -0
- data/lib/jmeter-ruby/dsl/random_order_controller.rb +23 -0
- data/lib/jmeter-ruby/dsl/random_variable.rb +30 -0
- data/lib/jmeter-ruby/dsl/recording_controller.rb +23 -0
- data/lib/jmeter-ruby/dsl/regex_user_parameters.rb +27 -0
- data/lib/jmeter-ruby/dsl/regular_expression_extractor.rb +32 -0
- data/lib/jmeter-ruby/dsl/response_assertion.rb +31 -0
- data/lib/jmeter-ruby/dsl/response_time_graph.rb +55 -0
- data/lib/jmeter-ruby/dsl/result_status_action_handler.rb +25 -0
- data/lib/jmeter-ruby/dsl/runtime_controller.rb +25 -0
- data/lib/jmeter-ruby/dsl/save_responses_to_a_file.rb +29 -0
- data/lib/jmeter-ruby/dsl/setup_thread_group.rb +36 -0
- data/lib/jmeter-ruby/dsl/simple_config_element.rb +23 -0
- data/lib/jmeter-ruby/dsl/simple_controller.rb +23 -0
- data/lib/jmeter-ruby/dsl/simple_data_writer.rb +55 -0
- data/lib/jmeter-ruby/dsl/smime_assertion.rb +35 -0
- data/lib/jmeter-ruby/dsl/smtp_sampler.rb +51 -0
- data/lib/jmeter-ruby/dsl/soapxmlrpc_request.rb +33 -0
- data/lib/jmeter-ruby/dsl/spline_visualizer.rb +55 -0
- data/lib/jmeter-ruby/dsl/summary_report.rb +55 -0
- data/lib/jmeter-ruby/dsl/switch_controller.rb +25 -0
- data/lib/jmeter-ruby/dsl/synchronizing_timer.rb +26 -0
- data/lib/jmeter-ruby/dsl/tcp_sampler.rb +33 -0
- data/lib/jmeter-ruby/dsl/tcp_sampler_config.rb +31 -0
- data/lib/jmeter-ruby/dsl/test_action.rb +27 -0
- data/lib/jmeter-ruby/dsl/test_fragment.rb +23 -0
- data/lib/jmeter-ruby/dsl/test_plan.rb +31 -0
- data/lib/jmeter-ruby/dsl/thread_group.rb +37 -0
- data/lib/jmeter-ruby/dsl/throughput_controller.rb +32 -0
- data/lib/jmeter-ruby/dsl/transaction_controller.rb +26 -0
- data/lib/jmeter-ruby/dsl/uniform_random_timer.rb +26 -0
- data/lib/jmeter-ruby/dsl/user_defined_variables.rb +33 -0
- data/lib/jmeter-ruby/dsl/user_parameters.rb +30 -0
- data/lib/jmeter-ruby/dsl/view_results_in_table.rb +55 -0
- data/lib/jmeter-ruby/dsl/view_results_tree.rb +55 -0
- data/lib/jmeter-ruby/dsl/while_controller.rb +25 -0
- data/lib/jmeter-ruby/dsl/xml_assertion.rb +23 -0
- data/lib/jmeter-ruby/dsl/xml_schema_assertion.rb +25 -0
- data/lib/jmeter-ruby/dsl/xpath_assertion.rb +31 -0
- data/lib/jmeter-ruby/dsl/xpath_extractor.rb +31 -0
- data/lib/jmeter-ruby/dsl.rb +102 -0
- data/lib/jmeter-ruby/extend/assertions/response_assertion.rb +36 -0
- data/lib/jmeter-ruby/extend/config_elements/header_manager.rb +13 -0
- data/lib/jmeter-ruby/extend/config_elements/http_cache_manager.rb +12 -0
- data/lib/jmeter-ruby/extend/config_elements/http_cookie_manager.rb +36 -0
- data/lib/jmeter-ruby/extend/config_elements/http_request_defaults.rb +39 -0
- data/lib/jmeter-ruby/extend/config_elements/user_defined_variables.rb +13 -0
- data/lib/jmeter-ruby/extend/config_elements/user_parameters.rb +31 -0
- data/lib/jmeter-ruby/extend/controllers/foreach_controller.rb +27 -0
- data/lib/jmeter-ruby/extend/controllers/loop_controller.rb +11 -0
- data/lib/jmeter-ruby/extend/controllers/module_controller.rb +23 -0
- data/lib/jmeter-ruby/extend/controllers/throughput_controller.rb +15 -0
- data/lib/jmeter-ruby/extend/controllers/transaction_controller.rb +14 -0
- data/lib/jmeter-ruby/extend/misc/aliases.rb +21 -0
- data/lib/jmeter-ruby/extend/misc/exists.rb +13 -0
- data/lib/jmeter-ruby/extend/misc/rsync.rb +24 -0
- data/lib/jmeter-ruby/extend/misc/uuid.rb +12 -0
- data/lib/jmeter-ruby/extend/misc/with_helpers.rb +27 -0
- data/lib/jmeter-ruby/extend/plugins/jmeter_plugins.rb +120 -0
- data/lib/jmeter-ruby/extend/processors/extract.rb +28 -0
- data/lib/jmeter-ruby/extend/processors/regular_expression_extractor.rb +25 -0
- data/lib/jmeter-ruby/extend/samplers/http_request.rb +58 -0
- data/lib/jmeter-ruby/extend/samplers/jms_pointtopoint.rb +26 -0
- data/lib/jmeter-ruby/extend/samplers/soapxmlrpc_request.rb +9 -0
- data/lib/jmeter-ruby/extend/threads/setup_thread_group.rb +18 -0
- data/lib/jmeter-ruby/extend/threads/thread_group.rb +19 -0
- data/lib/jmeter-ruby/extend/timers/constant_throughput_timer.rb +11 -0
- data/lib/jmeter-ruby/extend/timers/random_timer.rb +14 -0
- data/lib/jmeter-ruby/helpers/fallback_content_proxy.rb +54 -0
- data/lib/jmeter-ruby/helpers/helper.rb +75 -0
- data/lib/jmeter-ruby/helpers/logger-colors.rb +48 -0
- data/lib/jmeter-ruby/helpers/parser.rb +135 -0
- data/lib/jmeter-ruby/helpers/strip-heredoc.rb +5 -0
- data/lib/jmeter-ruby/helpers/user-agents.rb +27 -0
- data/lib/jmeter-ruby/idl.rb +70 -0
- data/lib/jmeter-ruby/idl.xml +1488 -0
- data/lib/jmeter-ruby/plugins/active_threads_over_time.rb +57 -0
- data/lib/jmeter-ruby/plugins/composite_graph.rb +71 -0
- data/lib/jmeter-ruby/plugins/console_status_logger.rb +15 -0
- data/lib/jmeter-ruby/plugins/dummy_sampler.rb +26 -0
- data/lib/jmeter-ruby/plugins/jmx_collector.rb +73 -0
- data/lib/jmeter-ruby/plugins/json_path_assertion.rb +19 -0
- data/lib/jmeter-ruby/plugins/json_path_extractor.rb +20 -0
- data/lib/jmeter-ruby/plugins/latencies_over_time.rb +49 -0
- data/lib/jmeter-ruby/plugins/loadosophia_uploader.rb +63 -0
- data/lib/jmeter-ruby/plugins/perfmon_collector.rb +80 -0
- data/lib/jmeter-ruby/plugins/redis_data_set.rb +39 -0
- data/lib/jmeter-ruby/plugins/response_codes_per_second.rb +49 -0
- data/lib/jmeter-ruby/plugins/response_times_distribution.rb +49 -0
- data/lib/jmeter-ruby/plugins/response_times_over_time.rb +50 -0
- data/lib/jmeter-ruby/plugins/response_times_percentiles.rb +51 -0
- data/lib/jmeter-ruby/plugins/stepping_thread_group.rb +30 -0
- data/lib/jmeter-ruby/plugins/transactions_per_second.rb +50 -0
- data/lib/jmeter-ruby/plugins/ultimate_thread_group.rb +23 -0
- data/lib/jmeter-ruby/plugins/variable_throughput_timer.rb +27 -0
- data/lib/jmeter-ruby/version.rb +12 -0
- data/lib/jmeter-ruby.rb +27 -0
- data/mise.toml +2 -0
- data/script/release +162 -0
- data/spec/constant_throughput_timer_spec.rb +20 -0
- data/spec/csv_data_set_config_spec.rb +33 -0
- data/spec/header_manager_spec.rb +37 -0
- data/spec/http_cache_manager_spec.rb +29 -0
- data/spec/http_cookie_manager_spec.rb +169 -0
- data/spec/http_request_defaults_spec.rb +57 -0
- data/spec/http_request_spec.rb +305 -0
- data/spec/jmeter_plugins_spec.rb +245 -0
- data/spec/json_extractor_spec.rb +19 -0
- data/spec/json_path_assertion_spec.rb +28 -0
- data/spec/logic_controller_spec.rb +148 -0
- data/spec/loop_controller_spec.rb +19 -0
- data/spec/module_controller_spec.rb +56 -0
- data/spec/regular_expression_extractor_spec.rb +63 -0
- data/spec/response_assertion_spec.rb +69 -0
- data/spec/setup_thread_group_spec.rb +31 -0
- data/spec/spec_helper.rb +19 -0
- data/spec/thread_group_spec.rb +57 -0
- data/spec/throughput_controller_spec.rb +24 -0
- data/spec/transaction_controller_spec.rb +30 -0
- data/spec/user_defined_variables_spec.rb +22 -0
- data/spec/user_parameters_spec.rb +45 -0
- data/spec/with_helpers_spec.rb +57 -0
- data/spec/xpath_extractor_spec.rb +15 -0
- metadata +360 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def bsf_listener(params={}, &block)
|
4
|
+
node = JmeterRuby::BsfListener.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class BsfListener
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'BsfListener' : (params[:name] || 'BsfListener')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<BSFListener guiclass="TestBeanGUI" testclass="BSFListener" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="filename"/>
|
18
|
+
<stringProp name="parameters"/>
|
19
|
+
<stringProp name="script"/>
|
20
|
+
<stringProp name="scriptLanguage"/>
|
21
|
+
</BSFListener>)
|
22
|
+
EOS
|
23
|
+
update params
|
24
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def bsf_postprocessor(params={}, &block)
|
4
|
+
node = JmeterRuby::BsfPostprocessor.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class BsfPostprocessor
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'BsfPostprocessor' : (params[:name] || 'BsfPostprocessor')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<BSFPostProcessor guiclass="TestBeanGUI" testclass="BSFPostProcessor" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="filename"/>
|
18
|
+
<stringProp name="parameters"/>
|
19
|
+
<stringProp name="script"/>
|
20
|
+
<stringProp name="scriptLanguage"/>
|
21
|
+
</BSFPostProcessor>)
|
22
|
+
EOS
|
23
|
+
update params
|
24
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def bsf_preprocessor(params={}, &block)
|
4
|
+
node = JmeterRuby::BsfPreprocessor.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class BsfPreprocessor
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'BsfPreprocessor' : (params[:name] || 'BsfPreprocessor')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<BSFPreProcessor guiclass="TestBeanGUI" testclass="BSFPreProcessor" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="filename"/>
|
18
|
+
<stringProp name="parameters"/>
|
19
|
+
<stringProp name="script"/>
|
20
|
+
<stringProp name="scriptLanguage"/>
|
21
|
+
</BSFPreProcessor>)
|
22
|
+
EOS
|
23
|
+
update params
|
24
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def bsf_sampler(params={}, &block)
|
4
|
+
node = JmeterRuby::BsfSampler.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class BsfSampler
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'BsfSampler' : (params[:name] || 'BsfSampler')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<BSFSampler guiclass="TestBeanGUI" testclass="BSFSampler" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="filename"/>
|
18
|
+
<stringProp name="parameters"/>
|
19
|
+
<stringProp name="script"/>
|
20
|
+
<stringProp name="scriptLanguage"/>
|
21
|
+
</BSFSampler>)
|
22
|
+
EOS
|
23
|
+
update params
|
24
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def bsf_timer(params={}, &block)
|
4
|
+
node = JmeterRuby::BsfTimer.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class BsfTimer
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'BsfTimer' : (params[:name] || 'BsfTimer')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<BSFTimer guiclass="TestBeanGUI" testclass="BSFTimer" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="filename"/>
|
18
|
+
<stringProp name="parameters"/>
|
19
|
+
<stringProp name="script"/>
|
20
|
+
<stringProp name="scriptLanguage"/>
|
21
|
+
</BSFTimer>)
|
22
|
+
EOS
|
23
|
+
update params
|
24
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def compare_assertion(params={}, &block)
|
4
|
+
node = JmeterRuby::CompareAssertion.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class CompareAssertion
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'CompareAssertion' : (params[:name] || 'CompareAssertion')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<CompareAssertion guiclass="TestBeanGUI" testclass="CompareAssertion" testname="#{testname}" enabled="true">
|
17
|
+
<boolProp name="compareContent">true</boolProp>
|
18
|
+
<longProp name="compareTime">-1</longProp>
|
19
|
+
<collectionProp name="stringsToSkip"/>
|
20
|
+
</CompareAssertion>)
|
21
|
+
EOS
|
22
|
+
update params
|
23
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def comparison_assertion_visualizer(params={}, &block)
|
4
|
+
node = JmeterRuby::ComparisonAssertionVisualizer.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class ComparisonAssertionVisualizer
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'ComparisonAssertionVisualizer' : (params[:name] || 'ComparisonAssertionVisualizer')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ResultCollector guiclass="ComparisonVisualizer" testclass="ResultCollector" testname="#{testname}" enabled="true">
|
17
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
18
|
+
<objProp>
|
19
|
+
<name>saveConfig</name>
|
20
|
+
<value class="SampleSaveConfiguration">
|
21
|
+
<time>true</time>
|
22
|
+
<latency>true</latency>
|
23
|
+
<timestamp>true</timestamp>
|
24
|
+
<success>true</success>
|
25
|
+
<label>true</label>
|
26
|
+
<code>true</code>
|
27
|
+
<message>false</message>
|
28
|
+
<threadName>true</threadName>
|
29
|
+
<dataType>false</dataType>
|
30
|
+
<encoding>false</encoding>
|
31
|
+
<assertions>false</assertions>
|
32
|
+
<subresults>false</subresults>
|
33
|
+
<responseData>false</responseData>
|
34
|
+
<samplerData>false</samplerData>
|
35
|
+
<xml>false</xml>
|
36
|
+
<fieldNames>false</fieldNames>
|
37
|
+
<responseHeaders>false</responseHeaders>
|
38
|
+
<requestHeaders>false</requestHeaders>
|
39
|
+
<responseDataOnError>false</responseDataOnError>
|
40
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
41
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
42
|
+
<bytes>true</bytes>
|
43
|
+
<threadCounts>true</threadCounts>
|
44
|
+
<sampleCount>true</sampleCount>
|
45
|
+
</value>
|
46
|
+
</objProp>
|
47
|
+
<stringProp name="filename"/>
|
48
|
+
</ResultCollector>)
|
49
|
+
EOS
|
50
|
+
update params
|
51
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def constant_throughput_timer(params={}, &block)
|
4
|
+
node = JmeterRuby::ConstantThroughputTimer.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class ConstantThroughputTimer
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'ConstantThroughputTimer' : (params[:name] || 'ConstantThroughputTimer')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="#{testname}" enabled="true">
|
17
|
+
<intProp name="calcMode">0</intProp>
|
18
|
+
<stringProp name="throughput">0.0</stringProp>
|
19
|
+
</ConstantThroughputTimer>)
|
20
|
+
EOS
|
21
|
+
update params
|
22
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def constant_timer(params={}, &block)
|
4
|
+
node = JmeterRuby::ConstantTimer.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class ConstantTimer
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'ConstantTimer' : (params[:name] || 'ConstantTimer')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="ConstantTimer.delay">300</stringProp>
|
18
|
+
</ConstantTimer>)
|
19
|
+
EOS
|
20
|
+
update params
|
21
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def counter(params={}, &block)
|
4
|
+
node = JmeterRuby::Counter.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class Counter
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'Counter' : (params[:name] || 'Counter')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="CounterConfig.start"/>
|
18
|
+
<stringProp name="CounterConfig.end"/>
|
19
|
+
<stringProp name="CounterConfig.incr"/>
|
20
|
+
<stringProp name="CounterConfig.name"/>
|
21
|
+
<stringProp name="CounterConfig.format"/>
|
22
|
+
<boolProp name="CounterConfig.per_user">true</boolProp>
|
23
|
+
<boolProp name="CounterConfig.reset_on_tg_iteration">true</boolProp>
|
24
|
+
</CounterConfig>)
|
25
|
+
EOS
|
26
|
+
update params
|
27
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def cssjquery_extractor(params={}, &block)
|
4
|
+
node = JmeterRuby::CssjqueryExtractor.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class CssjqueryExtractor
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'CssjqueryExtractor' : (params[:name] || 'CssjqueryExtractor')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<HtmlExtractor guiclass="HtmlExtractorGui" testclass="HtmlExtractor" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="HtmlExtractor.refname"/>
|
18
|
+
<stringProp name="HtmlExtractor.expr"/>
|
19
|
+
<stringProp name="HtmlExtractor.attribute"/>
|
20
|
+
<stringProp name="HtmlExtractor.default"/>
|
21
|
+
<stringProp name="HtmlExtractor.match_number"/>
|
22
|
+
<stringProp name="HtmlExtractor.extractor_impl"/>
|
23
|
+
<boolProp name="HtmlExtractor.default_empty_value"/>
|
24
|
+
</HtmlExtractor>)
|
25
|
+
EOS
|
26
|
+
update params
|
27
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def csv_data_set_config(params={}, &block)
|
4
|
+
node = JmeterRuby::CsvDataSetConfig.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class CsvDataSetConfig
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'CsvDataSetConfig' : (params[:name] || 'CsvDataSetConfig')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="delimiter">,</stringProp>
|
18
|
+
<stringProp name="fileEncoding"/>
|
19
|
+
<stringProp name="filename"/>
|
20
|
+
<boolProp name="quotedData">false</boolProp>
|
21
|
+
<boolProp name="recycle">true</boolProp>
|
22
|
+
<stringProp name="shareMode">shareMode.all</stringProp>
|
23
|
+
<boolProp name="stopThread">false</boolProp>
|
24
|
+
<boolProp name="ignoreFirstLine">false</boolProp>
|
25
|
+
<stringProp name="variableNames"/>
|
26
|
+
</CSVDataSet>)
|
27
|
+
EOS
|
28
|
+
update params
|
29
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def debug_postprocessor(params={}, &block)
|
4
|
+
node = JmeterRuby::DebugPostprocessor.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class DebugPostprocessor
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'DebugPostprocessor' : (params[:name] || 'DebugPostprocessor')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<DebugPostProcessor guiclass="TestBeanGUI" testclass="DebugPostProcessor" testname="#{testname}" enabled="true">
|
17
|
+
<boolProp name="displayJMeterProperties">false</boolProp>
|
18
|
+
<boolProp name="displayJMeterVariables">true</boolProp>
|
19
|
+
<boolProp name="displaySamplerProperties">true</boolProp>
|
20
|
+
<boolProp name="displaySystemProperties">false</boolProp>
|
21
|
+
</DebugPostProcessor>)
|
22
|
+
EOS
|
23
|
+
update params
|
24
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def debug_sampler(params={}, &block)
|
4
|
+
node = JmeterRuby::DebugSampler.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class DebugSampler
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'DebugSampler' : (params[:name] || 'DebugSampler')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="#{testname}" enabled="true">
|
17
|
+
<boolProp name="displayJMeterProperties">false</boolProp>
|
18
|
+
<boolProp name="displayJMeterVariables">true</boolProp>
|
19
|
+
<boolProp name="displaySystemProperties">false</boolProp>
|
20
|
+
</DebugSampler>)
|
21
|
+
EOS
|
22
|
+
update params
|
23
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def distribution_graphalpha(params={}, &block)
|
4
|
+
node = JmeterRuby::DistributionGraphalpha.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class DistributionGraphalpha
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'DistributionGraphalpha' : (params[:name] || 'DistributionGraphalpha')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ResultCollector guiclass="DistributionGraphVisualizer" testclass="ResultCollector" testname="#{testname}" enabled="true">
|
17
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
18
|
+
<objProp>
|
19
|
+
<name>saveConfig</name>
|
20
|
+
<value class="SampleSaveConfiguration">
|
21
|
+
<time>true</time>
|
22
|
+
<latency>true</latency>
|
23
|
+
<timestamp>true</timestamp>
|
24
|
+
<success>true</success>
|
25
|
+
<label>true</label>
|
26
|
+
<code>true</code>
|
27
|
+
<message>false</message>
|
28
|
+
<threadName>true</threadName>
|
29
|
+
<dataType>false</dataType>
|
30
|
+
<encoding>false</encoding>
|
31
|
+
<assertions>false</assertions>
|
32
|
+
<subresults>false</subresults>
|
33
|
+
<responseData>false</responseData>
|
34
|
+
<samplerData>false</samplerData>
|
35
|
+
<xml>false</xml>
|
36
|
+
<fieldNames>false</fieldNames>
|
37
|
+
<responseHeaders>false</responseHeaders>
|
38
|
+
<requestHeaders>false</requestHeaders>
|
39
|
+
<responseDataOnError>false</responseDataOnError>
|
40
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
41
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
42
|
+
<bytes>true</bytes>
|
43
|
+
<threadCounts>true</threadCounts>
|
44
|
+
<sampleCount>true</sampleCount>
|
45
|
+
</value>
|
46
|
+
</objProp>
|
47
|
+
<stringProp name="filename"/>
|
48
|
+
</ResultCollector>)
|
49
|
+
EOS
|
50
|
+
update params
|
51
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def duration_assertion(params={}, &block)
|
4
|
+
node = JmeterRuby::DurationAssertion.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class DurationAssertion
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'DurationAssertion' : (params[:name] || 'DurationAssertion')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<DurationAssertion guiclass="DurationAssertionGui" testclass="DurationAssertion" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="DurationAssertion.duration"/>
|
18
|
+
</DurationAssertion>)
|
19
|
+
EOS
|
20
|
+
update params
|
21
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def foreach_controller(params={}, &block)
|
4
|
+
node = JmeterRuby::ForeachController.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class ForeachController
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'ForeachController' : (params[:name] || 'ForeachController')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ForeachController guiclass="ForeachControlPanel" testclass="ForeachController" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="ForeachController.inputVal"/>
|
18
|
+
<stringProp name="ForeachController.returnVal"/>
|
19
|
+
<boolProp name="ForeachController.useSeparator">true</boolProp>
|
20
|
+
</ForeachController>)
|
21
|
+
EOS
|
22
|
+
update params
|
23
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def ftp_request(params={}, &block)
|
4
|
+
node = JmeterRuby::FtpRequest.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class FtpRequest
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'FtpRequest' : (params[:name] || 'FtpRequest')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<FTPSampler guiclass="FtpTestSamplerGui" testclass="FTPSampler" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="FTPSampler.server"/>
|
18
|
+
<stringProp name="FTPSampler.port"/>
|
19
|
+
<stringProp name="FTPSampler.filename"/>
|
20
|
+
<stringProp name="FTPSampler.localfilename"/>
|
21
|
+
<stringProp name="FTPSampler.inputdata"/>
|
22
|
+
<boolProp name="FTPSampler.binarymode">false</boolProp>
|
23
|
+
<boolProp name="FTPSampler.saveresponse">false</boolProp>
|
24
|
+
<boolProp name="FTPSampler.upload">false</boolProp>
|
25
|
+
<stringProp name="ConfigTestElement.username"/>
|
26
|
+
<stringProp name="ConfigTestElement.password"/>
|
27
|
+
</FTPSampler>)
|
28
|
+
EOS
|
29
|
+
update params
|
30
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def ftp_request_defaults(params={}, &block)
|
4
|
+
node = JmeterRuby::FtpRequestDefaults.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class FtpRequestDefaults
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'FtpRequestDefaults' : (params[:name] || 'FtpRequestDefaults')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ConfigTestElement guiclass="FtpConfigGui" testclass="ConfigTestElement" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="FTPSampler.server"/>
|
18
|
+
<stringProp name="FTPSampler.port"/>
|
19
|
+
<stringProp name="FTPSampler.filename"/>
|
20
|
+
<stringProp name="FTPSampler.localfilename"/>
|
21
|
+
<stringProp name="FTPSampler.inputdata"/>
|
22
|
+
<boolProp name="FTPSampler.binarymode">false</boolProp>
|
23
|
+
<boolProp name="FTPSampler.saveresponse">false</boolProp>
|
24
|
+
<boolProp name="FTPSampler.upload">false</boolProp>
|
25
|
+
</ConfigTestElement>)
|
26
|
+
EOS
|
27
|
+
update params
|
28
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def gaussian_random_timer(params={}, &block)
|
4
|
+
node = JmeterRuby::GaussianRandomTimer.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class GaussianRandomTimer
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'GaussianRandomTimer' : (params[:name] || 'GaussianRandomTimer')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="ConstantTimer.delay">300</stringProp>
|
18
|
+
<stringProp name="RandomTimer.range">100.0</stringProp>
|
19
|
+
</GaussianRandomTimer>)
|
20
|
+
EOS
|
21
|
+
update params
|
22
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def generate_summary_results(params={}, &block)
|
4
|
+
node = JmeterRuby::GenerateSummaryResults.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class GenerateSummaryResults
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'GenerateSummaryResults' : (params[:name] || 'GenerateSummaryResults')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<Summariser guiclass="SummariserGui" testclass="Summariser" testname="#{testname}" enabled="true"/>)
|
17
|
+
EOS
|
18
|
+
update params
|
19
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|