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,33 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jdbc_preprocessor(params={}, &block)
|
4
|
+
node = JmeterRuby::JdbcPreprocessor.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class JdbcPreprocessor
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'JdbcPreprocessor' : (params[:name] || 'JdbcPreprocessor')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JDBCPreProcessor guiclass="TestBeanGUI" testclass="JDBCPreProcessor" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="dataSource"/>
|
18
|
+
<stringProp name="query"/>
|
19
|
+
<stringProp name="queryArguments"/>
|
20
|
+
<stringProp name="queryArgumentsTypes"/>
|
21
|
+
<stringProp name="queryType">Select Statement</stringProp>
|
22
|
+
<stringProp name="resultVariable"/>
|
23
|
+
<stringProp name="variableNames"/>
|
24
|
+
<stringProp name="queryTimeout"/>
|
25
|
+
<stringProp name="resultSetHandler">Store as String</stringProp>
|
26
|
+
</JDBCPreProcessor>)
|
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,33 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jdbc_request(params={}, &block)
|
4
|
+
node = JmeterRuby::JdbcRequest.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class JdbcRequest
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'JdbcRequest' : (params[:name] || 'JdbcRequest')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="dataSource"/>
|
18
|
+
<stringProp name="query"/>
|
19
|
+
<stringProp name="queryArguments"/>
|
20
|
+
<stringProp name="queryArgumentsTypes"/>
|
21
|
+
<stringProp name="queryType">Select Statement</stringProp>
|
22
|
+
<stringProp name="resultVariable"/>
|
23
|
+
<stringProp name="variableNames"/>
|
24
|
+
<stringProp name="queryTimeout"/>
|
25
|
+
<stringProp name="resultSetHandler">Store as String</stringProp>
|
26
|
+
</JDBCSampler>)
|
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,41 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jms_pointtopoint(params={}, &block)
|
4
|
+
node = JmeterRuby::JmsPointtopoint.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class JmsPointtopoint
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'JmsPointtopoint' : (params[:name] || 'JmsPointtopoint')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JMSSampler guiclass="JMSSamplerGui" testclass="JMSSampler" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="JMSSampler.queueconnectionfactory"/>
|
18
|
+
<stringProp name="JMSSampler.SendQueue"/>
|
19
|
+
<stringProp name="JMSSampler.ReceiveQueue"/>
|
20
|
+
<boolProp name="JMSSampler.isFireAndForget">true</boolProp>
|
21
|
+
<boolProp name="JMSSampler.isNonPersistent">false</boolProp>
|
22
|
+
<boolProp name="JMSSampler.useReqMsgIdAsCorrelId">false</boolProp>
|
23
|
+
<boolProp name="JMSSampler.useResMsgIdAsCorrelId">false</boolProp>
|
24
|
+
<stringProp name="JMSSampler.timeout"/>
|
25
|
+
<stringProp name="HTTPSamper.xml_data"/>
|
26
|
+
<stringProp name="JMSSampler.initialContextFactory"/>
|
27
|
+
<stringProp name="JMSSampler.contextProviderUrl"/>
|
28
|
+
<elementProp name="JMSSampler.jndiProperties" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="#{testname}" enabled="true">
|
29
|
+
<collectionProp name="Arguments.arguments"/>
|
30
|
+
</elementProp>
|
31
|
+
<elementProp name="arguments" elementType="JMSProperties">
|
32
|
+
<collectionProp name="JMSProperties.properties"/>
|
33
|
+
</elementProp>
|
34
|
+
</JMSSampler>)
|
35
|
+
EOS
|
36
|
+
update params
|
37
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jms_publisher(params={}, &block)
|
4
|
+
node = JmeterRuby::JmsPublisher.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class JmsPublisher
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'JmsPublisher' : (params[:name] || 'JmsPublisher')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<PublisherSampler guiclass="JMSPublisherGui" testclass="PublisherSampler" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="jms.jndi_properties">false</stringProp>
|
18
|
+
<stringProp name="jms.initial_context_factory"/>
|
19
|
+
<stringProp name="jms.provider_url"/>
|
20
|
+
<stringProp name="jms.connection_factory"/>
|
21
|
+
<stringProp name="jms.topic"/>
|
22
|
+
<stringProp name="jms.security_principle"/>
|
23
|
+
<stringProp name="jms.security_credentials"/>
|
24
|
+
<stringProp name="jms.text_message"/>
|
25
|
+
<stringProp name="jms.input_file"/>
|
26
|
+
<stringProp name="jms.random_path"/>
|
27
|
+
<stringProp name="jms.config_choice">jms_use_text</stringProp>
|
28
|
+
<stringProp name="jms.config_msg_type">jms_text_message</stringProp>
|
29
|
+
<stringProp name="jms.iterations">1</stringProp>
|
30
|
+
<boolProp name="jms.authenticate">false</boolProp>
|
31
|
+
<elementProp name="arguments" elementType="JMSProperties">
|
32
|
+
<collectionProp name="JMSProperties.properties"/>
|
33
|
+
</elementProp>
|
34
|
+
<stringProp name="jms.expiration"/>
|
35
|
+
<stringProp name="jms.priority"/>
|
36
|
+
</PublisherSampler>)
|
37
|
+
EOS
|
38
|
+
update params
|
39
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jms_subscriber(params={}, &block)
|
4
|
+
node = JmeterRuby::JmsSubscriber.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class JmsSubscriber
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'JmsSubscriber' : (params[:name] || 'JmsSubscriber')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<SubscriberSampler guiclass="JMSSubscriberGui" testclass="SubscriberSampler" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="jms.jndi_properties">false</stringProp>
|
18
|
+
<stringProp name="jms.initial_context_factory"/>
|
19
|
+
<stringProp name="jms.provider_url"/>
|
20
|
+
<stringProp name="jms.connection_factory"/>
|
21
|
+
<stringProp name="jms.topic"/>
|
22
|
+
<stringProp name="jms.security_principle"/>
|
23
|
+
<stringProp name="jms.security_credentials"/>
|
24
|
+
<boolProp name="jms.authenticate">false</boolProp>
|
25
|
+
<stringProp name="jms.iterations">1</stringProp>
|
26
|
+
<stringProp name="jms.read_response">true</stringProp>
|
27
|
+
<stringProp name="jms.client_choice">jms_subscriber_receive</stringProp>
|
28
|
+
</SubscriberSampler>)
|
29
|
+
EOS
|
30
|
+
update params
|
31
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def json_path_postprocessor(params={}, &block)
|
4
|
+
node = JmeterRuby::JsonPathPostprocessor.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class JsonPathPostprocessor
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'JsonPathPostprocessor' : (params[:name] || 'JsonPathPostprocessor')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="JSONPostProcessor.referenceNames"/>
|
18
|
+
<stringProp name="JSONPostProcessor.jsonPathExprs"/>
|
19
|
+
<stringProp name="JSONPostProcessor.match_numbers"/>
|
20
|
+
</JSONPostProcessor>)
|
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,29 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jsr223_assertion(params={}, &block)
|
4
|
+
node = JmeterRuby::Jsr223Assertion.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class Jsr223Assertion
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'Jsr223Assertion' : (params[:name] || 'Jsr223Assertion')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="cacheKey"/>
|
18
|
+
<stringProp name="filename"/>
|
19
|
+
<stringProp name="parameters"/>
|
20
|
+
<stringProp name="script"/>
|
21
|
+
<stringProp name="scriptLanguage"/>
|
22
|
+
</JSR223Assertion>)
|
23
|
+
EOS
|
24
|
+
update params
|
25
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jsr223_listener(params={}, &block)
|
4
|
+
node = JmeterRuby::Jsr223Listener.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class Jsr223Listener
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'Jsr223Listener' : (params[:name] || 'Jsr223Listener')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JSR223Listener guiclass="TestBeanGUI" testclass="JSR223Listener" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="cacheKey"/>
|
18
|
+
<stringProp name="filename"/>
|
19
|
+
<stringProp name="parameters"/>
|
20
|
+
<stringProp name="script"/>
|
21
|
+
<stringProp name="scriptLanguage"/>
|
22
|
+
</JSR223Listener>)
|
23
|
+
EOS
|
24
|
+
update params
|
25
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jsr223_postprocessor(params={}, &block)
|
4
|
+
node = JmeterRuby::Jsr223Postprocessor.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class Jsr223Postprocessor
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'Jsr223Postprocessor' : (params[:name] || 'Jsr223Postprocessor')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="cacheKey"/>
|
18
|
+
<stringProp name="filename"/>
|
19
|
+
<stringProp name="parameters"/>
|
20
|
+
<stringProp name="script"/>
|
21
|
+
<stringProp name="scriptLanguage"/>
|
22
|
+
</JSR223PostProcessor>)
|
23
|
+
EOS
|
24
|
+
update params
|
25
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jsr223_preprocessor(params={}, &block)
|
4
|
+
node = JmeterRuby::Jsr223Preprocessor.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class Jsr223Preprocessor
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'Jsr223Preprocessor' : (params[:name] || 'Jsr223Preprocessor')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JSR223PreProcessor guiclass="TestBeanGUI" testclass="JSR223PreProcessor" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="cacheKey"/>
|
18
|
+
<stringProp name="filename"/>
|
19
|
+
<stringProp name="parameters"/>
|
20
|
+
<stringProp name="script"/>
|
21
|
+
<stringProp name="scriptLanguage"/>
|
22
|
+
</JSR223PreProcessor>)
|
23
|
+
EOS
|
24
|
+
update params
|
25
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jsr223_sampler(params={}, &block)
|
4
|
+
node = JmeterRuby::Jsr223Sampler.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class Jsr223Sampler
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'Jsr223Sampler' : (params[:name] || 'Jsr223Sampler')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="cacheKey"/>
|
18
|
+
<stringProp name="filename"/>
|
19
|
+
<stringProp name="parameters"/>
|
20
|
+
<stringProp name="script"/>
|
21
|
+
<stringProp name="scriptLanguage"/>
|
22
|
+
</JSR223Sampler>)
|
23
|
+
EOS
|
24
|
+
update params
|
25
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jsr223_timer(params={}, &block)
|
4
|
+
node = JmeterRuby::Jsr223Timer.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class Jsr223Timer
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'Jsr223Timer' : (params[:name] || 'Jsr223Timer')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JSR223Timer guiclass="TestBeanGUI" testclass="JSR223Timer" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="cacheKey"/>
|
18
|
+
<stringProp name="filename"/>
|
19
|
+
<stringProp name="parameters"/>
|
20
|
+
<stringProp name="script"/>
|
21
|
+
<stringProp name="scriptLanguage"/>
|
22
|
+
</JSR223Timer>)
|
23
|
+
EOS
|
24
|
+
update params
|
25
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def junit_request(params={}, &block)
|
4
|
+
node = JmeterRuby::JunitRequest.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class JunitRequest
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'JunitRequest' : (params[:name] || 'JunitRequest')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JUnitSampler guiclass="JUnitTestSamplerGui" testclass="JUnitSampler" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="junitSampler.classname">test.RerunTest</stringProp>
|
18
|
+
<stringProp name="junitsampler.constructorstring"/>
|
19
|
+
<stringProp name="junitsampler.method">testRerun</stringProp>
|
20
|
+
<stringProp name="junitsampler.pkg.filter"/>
|
21
|
+
<stringProp name="junitsampler.success">Test successful</stringProp>
|
22
|
+
<stringProp name="junitsampler.success.code">1000</stringProp>
|
23
|
+
<stringProp name="junitsampler.failure">Test failed</stringProp>
|
24
|
+
<stringProp name="junitsampler.failure.code">0001</stringProp>
|
25
|
+
<stringProp name="junitsampler.error">An unexpected error occured</stringProp>
|
26
|
+
<stringProp name="junitsampler.error.code">9999</stringProp>
|
27
|
+
<stringProp name="junitsampler.exec.setup">false</stringProp>
|
28
|
+
<stringProp name="junitsampler.append.error">false</stringProp>
|
29
|
+
<stringProp name="junitsampler.append.exception">false</stringProp>
|
30
|
+
</JUnitSampler>)
|
31
|
+
EOS
|
32
|
+
update params
|
33
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def keystore_configuration(params={}, &block)
|
4
|
+
node = JmeterRuby::KeystoreConfiguration.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class KeystoreConfiguration
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'KeystoreConfiguration' : (params[:name] || 'KeystoreConfiguration')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<KeystoreConfig guiclass="TestBeanGUI" testclass="KeystoreConfig" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="endIndex"/>
|
18
|
+
<stringProp name="preload">True</stringProp>
|
19
|
+
<stringProp name="startIndex"/>
|
20
|
+
<stringProp name="clientCertAliasVarName"/>
|
21
|
+
</KeystoreConfig>)
|
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,42 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def ldap_extended_request(params={}, &block)
|
4
|
+
node = JmeterRuby::LdapExtendedRequest.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class LdapExtendedRequest
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'LdapExtendedRequest' : (params[:name] || 'LdapExtendedRequest')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<LDAPExtSampler guiclass="LdapExtTestSamplerGui" testclass="LDAPExtSampler" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="servername"/>
|
18
|
+
<stringProp name="port"/>
|
19
|
+
<stringProp name="rootdn"/>
|
20
|
+
<stringProp name="scope">2</stringProp>
|
21
|
+
<stringProp name="countlimit"/>
|
22
|
+
<stringProp name="timelimit"/>
|
23
|
+
<stringProp name="attributes"/>
|
24
|
+
<stringProp name="return_object">false</stringProp>
|
25
|
+
<stringProp name="deref_aliases">false</stringProp>
|
26
|
+
<stringProp name="connection_timeout"/>
|
27
|
+
<stringProp name="parseflag">false</stringProp>
|
28
|
+
<stringProp name="secure">false</stringProp>
|
29
|
+
<stringProp name="user_dn"/>
|
30
|
+
<stringProp name="user_pw"/>
|
31
|
+
<stringProp name="comparedn"/>
|
32
|
+
<stringProp name="comparefilt"/>
|
33
|
+
<stringProp name="modddn"/>
|
34
|
+
<stringProp name="newdn"/>
|
35
|
+
</LDAPExtSampler>)
|
36
|
+
EOS
|
37
|
+
update params
|
38
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def ldap_extended_request_defaults(params={}, &block)
|
4
|
+
node = JmeterRuby::LdapExtendedRequestDefaults.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class LdapExtendedRequestDefaults
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'LdapExtendedRequestDefaults' : (params[:name] || 'LdapExtendedRequestDefaults')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ConfigTestElement guiclass="LdapExtConfigGui" testclass="ConfigTestElement" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="servername"/>
|
18
|
+
<stringProp name="port"/>
|
19
|
+
<stringProp name="rootdn"/>
|
20
|
+
<stringProp name="scope">2</stringProp>
|
21
|
+
<stringProp name="countlimit"/>
|
22
|
+
<stringProp name="timelimit"/>
|
23
|
+
<stringProp name="attributes"/>
|
24
|
+
<stringProp name="return_object">false</stringProp>
|
25
|
+
<stringProp name="deref_aliases">false</stringProp>
|
26
|
+
<stringProp name="connection_timeout"/>
|
27
|
+
<stringProp name="parseflag">false</stringProp>
|
28
|
+
<stringProp name="secure">false</stringProp>
|
29
|
+
<stringProp name="user_dn"/>
|
30
|
+
<stringProp name="user_pw"/>
|
31
|
+
<stringProp name="comparedn"/>
|
32
|
+
<stringProp name="comparefilt"/>
|
33
|
+
<stringProp name="modddn"/>
|
34
|
+
<stringProp name="newdn"/>
|
35
|
+
</ConfigTestElement>)
|
36
|
+
EOS
|
37
|
+
update params
|
38
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def ldap_request(params={}, &block)
|
4
|
+
node = JmeterRuby::LdapRequest.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class LdapRequest
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'LdapRequest' : (params[:name] || 'LdapRequest')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<LDAPSampler guiclass="LdapTestSamplerGui" testclass="LDAPSampler" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="servername"/>
|
18
|
+
<stringProp name="port"/>
|
19
|
+
<stringProp name="rootdn"/>
|
20
|
+
<boolProp name="user_defined">false</boolProp>
|
21
|
+
<stringProp name="test">add</stringProp>
|
22
|
+
<stringProp name="base_entry_dn"/>
|
23
|
+
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="#{testname}" enabled="true">
|
24
|
+
<collectionProp name="Arguments.arguments"/>
|
25
|
+
</elementProp>
|
26
|
+
<stringProp name="ConfigTestElement.username"/>
|
27
|
+
<stringProp name="ConfigTestElement.password"/>
|
28
|
+
</LDAPSampler>)
|
29
|
+
EOS
|
30
|
+
update params
|
31
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def ldap_request_defaults(params={}, &block)
|
4
|
+
node = JmeterRuby::LdapRequestDefaults.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class LdapRequestDefaults
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'LdapRequestDefaults' : (params[:name] || 'LdapRequestDefaults')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ConfigTestElement guiclass="LdapConfigGui" testclass="ConfigTestElement" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="servername"/>
|
18
|
+
<stringProp name="port"/>
|
19
|
+
<stringProp name="rootdn"/>
|
20
|
+
<boolProp name="user_defined">true</boolProp>
|
21
|
+
<stringProp name="test">add</stringProp>
|
22
|
+
<stringProp name="base_entry_dn"/>
|
23
|
+
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="#{testname}" enabled="true">
|
24
|
+
<collectionProp name="Arguments.arguments">
|
25
|
+
<elementProp name=" " elementType="Argument">
|
26
|
+
<stringProp name="Argument.name"> </stringProp>
|
27
|
+
<stringProp name="Argument.value"> </stringProp>
|
28
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
29
|
+
</elementProp>
|
30
|
+
</collectionProp>
|
31
|
+
</elementProp>
|
32
|
+
</ConfigTestElement>)
|
33
|
+
EOS
|
34
|
+
update params
|
35
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def login_config_element(params={}, &block)
|
4
|
+
node = JmeterRuby::LoginConfigElement.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class LoginConfigElement
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'LoginConfigElement' : (params[:name] || 'LoginConfigElement')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ConfigTestElement guiclass="LoginConfigGui" testclass="ConfigTestElement" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="ConfigTestElement.username"/>
|
18
|
+
<stringProp name="ConfigTestElement.password"/>
|
19
|
+
</ConfigTestElement>)
|
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
|