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,55 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def graph_results(params={}, &block)
|
4
|
+
node = JmeterRuby::GraphResults.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class GraphResults
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'GraphResults' : (params[:name] || 'GraphResults')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ResultCollector guiclass="GraphVisualizer" 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,30 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def html_assertion(params={}, &block)
|
4
|
+
node = JmeterRuby::HtmlAssertion.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class HtmlAssertion
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'HtmlAssertion' : (params[:name] || 'HtmlAssertion')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<HTMLAssertion guiclass="HTMLAssertionGui" testclass="HTMLAssertion" testname="#{testname}" enabled="true">
|
17
|
+
<longProp name="html_assertion_error_threshold">0</longProp>
|
18
|
+
<longProp name="html_assertion_warning_threshold">0</longProp>
|
19
|
+
<stringProp name="html_assertion_doctype">omit</stringProp>
|
20
|
+
<boolProp name="html_assertion_errorsonly">false</boolProp>
|
21
|
+
<longProp name="html_assertion_format">0</longProp>
|
22
|
+
<stringProp name="html_assertion_filename"/>
|
23
|
+
</HTMLAssertion>)
|
24
|
+
EOS
|
25
|
+
update params
|
26
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def html_link_parser(params={}, &block)
|
4
|
+
node = JmeterRuby::HtmlLinkParser.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class HtmlLinkParser
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'HtmlLinkParser' : (params[:name] || 'HtmlLinkParser')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<AnchorModifier guiclass="AnchorModifierGui" testclass="AnchorModifier" 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
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def html_parameter_mask(params={}, &block)
|
4
|
+
node = JmeterRuby::HtmlParameterMask.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class HtmlParameterMask
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'HtmlParameterMask' : (params[:name] || 'HtmlParameterMask')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ConfigTestElement guiclass="ObsoleteGui" testclass="ConfigTestElement" testname="#{testname}" enabled="true">
|
17
|
+
<elementProp name="ParamModifier.mask" elementType="ConfigTestElement">
|
18
|
+
<stringProp name="ParamModifier.field_name"/>
|
19
|
+
<stringProp name="ParamModifier.prefix"/>
|
20
|
+
<longProp name="ParamModifier.lower_bound">0</longProp>
|
21
|
+
<longProp name="ParamModifier.upper_bound">10</longProp>
|
22
|
+
<longProp name="ParamModifier.increment">1</longProp>
|
23
|
+
<stringProp name="ParamModifier.suffix"/>
|
24
|
+
</elementProp>
|
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,33 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def http_authorization_manager(params={}, &block)
|
4
|
+
node = JmeterRuby::HttpAuthorizationManager.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class HttpAuthorizationManager
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'HttpAuthorizationManager' : (params[:name] || 'HttpAuthorizationManager')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="#{testname}" enabled="true">
|
17
|
+
<collectionProp name="AuthManager.auth_list">
|
18
|
+
<elementProp name="" elementType="Authorization">
|
19
|
+
<stringProp name="Authorization.url"/>
|
20
|
+
<stringProp name="Authorization.username"/>
|
21
|
+
<stringProp name="Authorization.password"/>
|
22
|
+
<stringProp name="Authorization.domain"/>
|
23
|
+
<stringProp name="Authorization.realm"/>
|
24
|
+
</elementProp>
|
25
|
+
</collectionProp>
|
26
|
+
</AuthManager>)
|
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,26 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def http_cache_manager(params={}, &block)
|
4
|
+
node = JmeterRuby::HttpCacheManager.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class HttpCacheManager
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'HttpCacheManager' : (params[:name] || 'HttpCacheManager')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="#{testname}" enabled="true">
|
17
|
+
<boolProp name="clearEachIteration">false</boolProp>
|
18
|
+
<boolProp name="useExpires">false</boolProp>
|
19
|
+
</CacheManager>)
|
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,28 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def http_cookie_manager(params={}, &block)
|
4
|
+
node = JmeterRuby::HttpCookieManager.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class HttpCookieManager
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'HttpCookieManager' : (params[:name] || 'HttpCookieManager')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="#{testname}" enabled="true">
|
17
|
+
<collectionProp name="CookieManager.cookies"/>
|
18
|
+
<boolProp name="CookieManager.clearEachIteration">false</boolProp>
|
19
|
+
<stringProp name="CookieManager.policy">default</stringProp>
|
20
|
+
<stringProp name="CookieManager.implementation">org.apache.jmeter.protocol.http.control.HC4CookieHandler</stringProp>
|
21
|
+
</CookieManager>)
|
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,30 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def http_header_manager(params={}, &block)
|
4
|
+
node = JmeterRuby::HttpHeaderManager.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class HttpHeaderManager
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'HttpHeaderManager' : (params[:name] || 'HttpHeaderManager')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="#{testname}" enabled="true">
|
17
|
+
<collectionProp name="HeaderManager.headers">
|
18
|
+
<elementProp name="" elementType="Header">
|
19
|
+
<stringProp name="Header.name"/>
|
20
|
+
<stringProp name="Header.value"/>
|
21
|
+
</elementProp>
|
22
|
+
</collectionProp>
|
23
|
+
</HeaderManager>)
|
24
|
+
EOS
|
25
|
+
update params
|
26
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def http_request(params={}, &block)
|
4
|
+
node = JmeterRuby::HttpRequest.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class HttpRequest
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'HttpRequest' : (params[:name] || 'HttpRequest')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="#{testname}" enabled="true">
|
17
|
+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="#{testname}" enabled="true">
|
18
|
+
<collectionProp name="Arguments.arguments"/>
|
19
|
+
</elementProp>
|
20
|
+
<stringProp name="HTTPSampler.domain"/>
|
21
|
+
<stringProp name="HTTPSampler.port"/>
|
22
|
+
<stringProp name="HTTPSampler.connect_timeout"/>
|
23
|
+
<stringProp name="HTTPSampler.response_timeout"/>
|
24
|
+
<stringProp name="HTTPSampler.protocol"/>
|
25
|
+
<stringProp name="HTTPSampler.contentEncoding"/>
|
26
|
+
<stringProp name="HTTPSampler.path"/>
|
27
|
+
<stringProp name="HTTPSampler.method">GET</stringProp>
|
28
|
+
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
29
|
+
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
|
30
|
+
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
31
|
+
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
|
32
|
+
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
33
|
+
<stringProp name="HTTPSampler.embedded_url_re"/>
|
34
|
+
</HTTPSamplerProxy>)
|
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,41 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def http_request_defaults(params={}, &block)
|
4
|
+
node = JmeterRuby::HttpRequestDefaults.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class HttpRequestDefaults
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'HttpRequestDefaults' : (params[:name] || 'HttpRequestDefaults')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="#{testname}" enabled="true">
|
17
|
+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="#{testname}" enabled="true">
|
18
|
+
<collectionProp name="Arguments.arguments"/>
|
19
|
+
</elementProp>
|
20
|
+
<stringProp name="HTTPSampler.domain"/>
|
21
|
+
<stringProp name="HTTPSampler.port"/>
|
22
|
+
<stringProp name="HTTPSampler.proxyHost"/>
|
23
|
+
<stringProp name="HTTPSampler.proxyPort"/>
|
24
|
+
<stringProp name="HTTPSampler.connect_timeout"/>
|
25
|
+
<stringProp name="HTTPSampler.response_timeout"/>
|
26
|
+
<stringProp name="HTTPSampler.protocol"/>
|
27
|
+
<stringProp name="HTTPSampler.contentEncoding"/>
|
28
|
+
<stringProp name="HTTPSampler.path">/</stringProp>
|
29
|
+
<stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
|
30
|
+
<boolProp name="HTTPSampler.image_parser">true</boolProp>
|
31
|
+
<boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
|
32
|
+
<stringProp name="HTTPSampler.concurrentPool">4</stringProp>
|
33
|
+
<stringProp name="HTTPSampler.embedded_url_re"/>
|
34
|
+
</ConfigTestElement>)
|
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,30 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def http_url_rewriting_modifier(params={}, &block)
|
4
|
+
node = JmeterRuby::HttpUrlRewritingModifier.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class HttpUrlRewritingModifier
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'HttpUrlRewritingModifier' : (params[:name] || 'HttpUrlRewritingModifier')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<URLRewritingModifier guiclass="URLRewritingModifierGui" testclass="URLRewritingModifier" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="argument_name"/>
|
18
|
+
<boolProp name="path_extension">false</boolProp>
|
19
|
+
<boolProp name="path_extension_no_equals">false</boolProp>
|
20
|
+
<boolProp name="path_extension_no_questionmark">false</boolProp>
|
21
|
+
<boolProp name="cache_value">false</boolProp>
|
22
|
+
<boolProp name="encode">false</boolProp>
|
23
|
+
</URLRewritingModifier>)
|
24
|
+
EOS
|
25
|
+
update params
|
26
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def if_controller(params={}, &block)
|
4
|
+
node = JmeterRuby::IfController.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class IfController
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'IfController' : (params[:name] || 'IfController')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="IfController.condition"/>
|
18
|
+
<boolProp name="IfController.evaluateAll">false</boolProp>
|
19
|
+
<boolProp name="IfController.useExpression">true</boolProp>
|
20
|
+
</IfController>)
|
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,25 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def include_controller(params={}, &block)
|
4
|
+
node = JmeterRuby::IncludeController.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class IncludeController
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'IncludeController' : (params[:name] || 'IncludeController')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<IncludeController guiclass="IncludeControllerGui" testclass="IncludeController" testname="#{testname}" enabled="true">
|
17
|
+
<stringProp name="IncludeController.includepath"/>
|
18
|
+
</IncludeController>)
|
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,69 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def java_request(params={}, &block)
|
4
|
+
node = JmeterRuby::JavaRequest.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class JavaRequest
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'JavaRequest' : (params[:name] || 'JavaRequest')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="#{testname}" enabled="true">
|
17
|
+
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
|
18
|
+
<collectionProp name="Arguments.arguments">
|
19
|
+
<elementProp name="Sleep_Time" elementType="Argument">
|
20
|
+
<stringProp name="Argument.name">Sleep_Time</stringProp>
|
21
|
+
<stringProp name="Argument.value">100</stringProp>
|
22
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
23
|
+
</elementProp>
|
24
|
+
<elementProp name="Sleep_Mask" elementType="Argument">
|
25
|
+
<stringProp name="Argument.name">Sleep_Mask</stringProp>
|
26
|
+
<stringProp name="Argument.value">0xFF</stringProp>
|
27
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
28
|
+
</elementProp>
|
29
|
+
<elementProp name="Label" elementType="Argument">
|
30
|
+
<stringProp name="Argument.name">Label</stringProp>
|
31
|
+
<stringProp name="Argument.value"/>
|
32
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
33
|
+
</elementProp>
|
34
|
+
<elementProp name="ResponseCode" elementType="Argument">
|
35
|
+
<stringProp name="Argument.name">ResponseCode</stringProp>
|
36
|
+
<stringProp name="Argument.value"/>
|
37
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
38
|
+
</elementProp>
|
39
|
+
<elementProp name="ResponseMessage" elementType="Argument">
|
40
|
+
<stringProp name="Argument.name">ResponseMessage</stringProp>
|
41
|
+
<stringProp name="Argument.value"/>
|
42
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
43
|
+
</elementProp>
|
44
|
+
<elementProp name="Status" elementType="Argument">
|
45
|
+
<stringProp name="Argument.name">Status</stringProp>
|
46
|
+
<stringProp name="Argument.value">OK</stringProp>
|
47
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
48
|
+
</elementProp>
|
49
|
+
<elementProp name="SamplerData" elementType="Argument">
|
50
|
+
<stringProp name="Argument.name">SamplerData</stringProp>
|
51
|
+
<stringProp name="Argument.value"/>
|
52
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
53
|
+
</elementProp>
|
54
|
+
<elementProp name="ResultData" elementType="Argument">
|
55
|
+
<stringProp name="Argument.name">ResultData</stringProp>
|
56
|
+
<stringProp name="Argument.value"/>
|
57
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
58
|
+
</elementProp>
|
59
|
+
</collectionProp>
|
60
|
+
</elementProp>
|
61
|
+
<stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest</stringProp>
|
62
|
+
</JavaSampler>)
|
63
|
+
EOS
|
64
|
+
update params
|
65
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def java_request_defaults(params={}, &block)
|
4
|
+
node = JmeterRuby::JavaRequestDefaults.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class JavaRequestDefaults
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'JavaRequestDefaults' : (params[:name] || 'JavaRequestDefaults')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JavaConfig guiclass="JavaConfigGui" testclass="JavaConfig" testname="#{testname}" enabled="true">
|
17
|
+
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
|
18
|
+
<collectionProp name="Arguments.arguments">
|
19
|
+
<elementProp name="Sleep_Time" elementType="Argument">
|
20
|
+
<stringProp name="Argument.name">Sleep_Time</stringProp>
|
21
|
+
<stringProp name="Argument.value">100</stringProp>
|
22
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
23
|
+
</elementProp>
|
24
|
+
<elementProp name="Sleep_Mask" elementType="Argument">
|
25
|
+
<stringProp name="Argument.name">Sleep_Mask</stringProp>
|
26
|
+
<stringProp name="Argument.value">0xFF</stringProp>
|
27
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
28
|
+
</elementProp>
|
29
|
+
<elementProp name="Label" elementType="Argument">
|
30
|
+
<stringProp name="Argument.name">Label</stringProp>
|
31
|
+
<stringProp name="Argument.value"/>
|
32
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
33
|
+
</elementProp>
|
34
|
+
<elementProp name="ResponseCode" elementType="Argument">
|
35
|
+
<stringProp name="Argument.name">ResponseCode</stringProp>
|
36
|
+
<stringProp name="Argument.value"/>
|
37
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
38
|
+
</elementProp>
|
39
|
+
<elementProp name="ResponseMessage" elementType="Argument">
|
40
|
+
<stringProp name="Argument.name">ResponseMessage</stringProp>
|
41
|
+
<stringProp name="Argument.value"/>
|
42
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
43
|
+
</elementProp>
|
44
|
+
<elementProp name="Status" elementType="Argument">
|
45
|
+
<stringProp name="Argument.name">Status</stringProp>
|
46
|
+
<stringProp name="Argument.value">OK</stringProp>
|
47
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
48
|
+
</elementProp>
|
49
|
+
<elementProp name="SamplerData" elementType="Argument">
|
50
|
+
<stringProp name="Argument.name">SamplerData</stringProp>
|
51
|
+
<stringProp name="Argument.value"/>
|
52
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
53
|
+
</elementProp>
|
54
|
+
<elementProp name="ResultData" elementType="Argument">
|
55
|
+
<stringProp name="Argument.name">ResultData</stringProp>
|
56
|
+
<stringProp name="Argument.value"/>
|
57
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
58
|
+
</elementProp>
|
59
|
+
</collectionProp>
|
60
|
+
</elementProp>
|
61
|
+
<stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest</stringProp>
|
62
|
+
</JavaConfig>)
|
63
|
+
EOS
|
64
|
+
update params
|
65
|
+
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jdbc_connection_configuration(params={}, &block)
|
4
|
+
node = JmeterRuby::JdbcConnectionConfiguration.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class JdbcConnectionConfiguration
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'JdbcConnectionConfiguration' : (params[:name] || 'JdbcConnectionConfiguration')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JDBCDataSource guiclass="TestBeanGUI" testclass="JDBCDataSource" testname="#{testname}" enabled="true">
|
17
|
+
<boolProp name="autocommit">true</boolProp>
|
18
|
+
<stringProp name="checkQuery">Select 1</stringProp>
|
19
|
+
<stringProp name="connectionAge">5000</stringProp>
|
20
|
+
<stringProp name="dataSource"/>
|
21
|
+
<stringProp name="dbUrl"/>
|
22
|
+
<stringProp name="driver"/>
|
23
|
+
<boolProp name="keepAlive">true</boolProp>
|
24
|
+
<stringProp name="password"/>
|
25
|
+
<stringProp name="poolMax">10</stringProp>
|
26
|
+
<stringProp name="timeout">10000</stringProp>
|
27
|
+
<stringProp name="transactionIsolation">DEFAULT</stringProp>
|
28
|
+
<stringProp name="trimInterval">60000</stringProp>
|
29
|
+
<stringProp name="username"/>
|
30
|
+
</JDBCDataSource>)
|
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,33 @@
|
|
1
|
+
module JmeterRuby
|
2
|
+
class DSL
|
3
|
+
def jdbc_postprocessor(params={}, &block)
|
4
|
+
node = JmeterRuby::JdbcPostprocessor.new(params)
|
5
|
+
attach_node(node, &block)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class JdbcPostprocessor
|
10
|
+
attr_accessor :doc
|
11
|
+
include Helper
|
12
|
+
|
13
|
+
def initialize(params={})
|
14
|
+
testname = params.kind_of?(Array) ? 'JdbcPostprocessor' : (params[:name] || 'JdbcPostprocessor')
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
+
<JDBCPostProcessor guiclass="TestBeanGUI" testclass="JDBCPostProcessor" 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
|
+
</JDBCPostProcessor>)
|
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
|