ruby-jmeter 2.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.
- data/.gitattributes +22 -0
- data/.gitignore +22 -0
- data/.rspec +2 -0
- data/Gemfile +27 -0
- data/LICENSE.txt +22 -0
- data/README.md +333 -0
- data/Rakefile +6 -0
- data/bin/grid +25 -0
- data/examples/basic_assertion.rb +13 -0
- data/examples/basic_auth.rb +11 -0
- data/examples/basic_cache.rb +11 -0
- data/examples/basic_cookies.rb +11 -0
- data/examples/basic_extract.rb +10 -0
- data/examples/basic_gc_dummy_sampler.rb +10 -0
- data/examples/basic_gc_results.rb +23 -0
- data/examples/basic_google.rb +8 -0
- data/examples/basic_grid.rb +8 -0
- data/examples/basic_header.rb +19 -0
- data/examples/basic_ldap_ext.rb +16 -0
- data/examples/basic_post.rb +15 -0
- data/examples/basic_query_params.rb +8 -0
- data/examples/basic_think_time.rb +15 -0
- data/examples/basic_throughput_controller.rb +14 -0
- data/examples/basic_throughput_shaping_timer.rb +21 -0
- data/examples/etsy_login_browse.rb +64 -0
- data/lib/ruby-jmeter.rb +18 -0
- data/lib/ruby-jmeter/DSL.md +237 -0
- data/lib/ruby-jmeter/dsl.rb +419 -0
- data/lib/ruby-jmeter/dsl/access_log_sampler.rb +32 -0
- data/lib/ruby-jmeter/dsl/aggregate_graph.rb +55 -0
- data/lib/ruby-jmeter/dsl/aggregate_report.rb +55 -0
- data/lib/ruby-jmeter/dsl/ajp13_sampler.rb +41 -0
- data/lib/ruby-jmeter/dsl/assertion_results.rb +55 -0
- data/lib/ruby-jmeter/dsl/beanshell_assertion.rb +28 -0
- data/lib/ruby-jmeter/dsl/beanshell_listener.rb +28 -0
- data/lib/ruby-jmeter/dsl/beanshell_postprocessor.rb +28 -0
- data/lib/ruby-jmeter/dsl/beanshell_preprocessor.rb +28 -0
- data/lib/ruby-jmeter/dsl/beanshell_sampler.rb +28 -0
- data/lib/ruby-jmeter/dsl/beanshell_timer.rb +28 -0
- data/lib/ruby-jmeter/dsl/bsf_assertion.rb +28 -0
- data/lib/ruby-jmeter/dsl/bsf_listener.rb +28 -0
- data/lib/ruby-jmeter/dsl/bsf_postprocessor.rb +28 -0
- data/lib/ruby-jmeter/dsl/bsf_preprocessor.rb +28 -0
- data/lib/ruby-jmeter/dsl/bsf_sampler.rb +28 -0
- data/lib/ruby-jmeter/dsl/bsf_timer.rb +28 -0
- data/lib/ruby-jmeter/dsl/compare_assertion.rb +27 -0
- data/lib/ruby-jmeter/dsl/comparison_assertion_visualizer.rb +55 -0
- data/lib/ruby-jmeter/dsl/constant_throughput_timer.rb +30 -0
- data/lib/ruby-jmeter/dsl/constant_timer.rb +25 -0
- data/lib/ruby-jmeter/dsl/counter.rb +31 -0
- data/lib/ruby-jmeter/dsl/cssjquery_extractor.rb +30 -0
- data/lib/ruby-jmeter/dsl/csv_data_set_config.rb +32 -0
- data/lib/ruby-jmeter/dsl/debug_postprocessor.rb +28 -0
- data/lib/ruby-jmeter/dsl/debug_sampler.rb +27 -0
- data/lib/ruby-jmeter/dsl/distribution_graphalpha.rb +55 -0
- data/lib/ruby-jmeter/dsl/duration_assertion.rb +25 -0
- data/lib/ruby-jmeter/dsl/foreach_controller.rb +29 -0
- data/lib/ruby-jmeter/dsl/ftp_request.rb +34 -0
- data/lib/ruby-jmeter/dsl/ftp_request_defaults.rb +32 -0
- data/lib/ruby-jmeter/dsl/gaussian_random_timer.rb +26 -0
- data/lib/ruby-jmeter/dsl/generate_summary_results.rb +23 -0
- data/lib/ruby-jmeter/dsl/graph_results.rb +55 -0
- data/lib/ruby-jmeter/dsl/html_assertion.rb +30 -0
- data/lib/ruby-jmeter/dsl/html_link_parser.rb +23 -0
- data/lib/ruby-jmeter/dsl/html_parameter_mask.rb +32 -0
- data/lib/ruby-jmeter/dsl/http_authorization_manager.rb +33 -0
- data/lib/ruby-jmeter/dsl/http_cache_manager.rb +26 -0
- data/lib/ruby-jmeter/dsl/http_cookie_manager.rb +27 -0
- data/lib/ruby-jmeter/dsl/http_header_manager.rb +30 -0
- data/lib/ruby-jmeter/dsl/http_request.rb +41 -0
- data/lib/ruby-jmeter/dsl/http_request_defaults.rb +44 -0
- data/lib/ruby-jmeter/dsl/http_url_rewriting_modifier.rb +29 -0
- data/lib/ruby-jmeter/dsl/if_controller.rb +27 -0
- data/lib/ruby-jmeter/dsl/include_controller.rb +25 -0
- data/lib/ruby-jmeter/dsl/java_request.rb +69 -0
- data/lib/ruby-jmeter/dsl/java_request_defaults.rb +69 -0
- data/lib/ruby-jmeter/dsl/jdbc_connection_configuration.rb +37 -0
- data/lib/ruby-jmeter/dsl/jdbc_postprocessor.rb +31 -0
- data/lib/ruby-jmeter/dsl/jdbc_preprocessor.rb +31 -0
- data/lib/ruby-jmeter/dsl/jdbc_request.rb +31 -0
- data/lib/ruby-jmeter/dsl/jms_pointtopoint.rb +40 -0
- data/lib/ruby-jmeter/dsl/jms_publisher.rb +41 -0
- data/lib/ruby-jmeter/dsl/jms_subscriber.rb +35 -0
- data/lib/ruby-jmeter/dsl/jsr223_assertion.rb +29 -0
- data/lib/ruby-jmeter/dsl/jsr223_listener.rb +29 -0
- data/lib/ruby-jmeter/dsl/jsr223_postprocessor.rb +29 -0
- data/lib/ruby-jmeter/dsl/jsr223_preprocessor.rb +29 -0
- data/lib/ruby-jmeter/dsl/jsr223_sampler.rb +29 -0
- data/lib/ruby-jmeter/dsl/jsr223_timer.rb +29 -0
- data/lib/ruby-jmeter/dsl/junit_request.rb +37 -0
- data/lib/ruby-jmeter/dsl/keystore_configuration.rb +27 -0
- data/lib/ruby-jmeter/dsl/ldap_extended_request.rb +42 -0
- data/lib/ruby-jmeter/dsl/ldap_extended_request_defaults.rb +42 -0
- data/lib/ruby-jmeter/dsl/ldap_request.rb +35 -0
- data/lib/ruby-jmeter/dsl/ldap_request_defaults.rb +40 -0
- data/lib/ruby-jmeter/dsl/login_config_element.rb +26 -0
- data/lib/ruby-jmeter/dsl/loop_controller.rb +26 -0
- data/lib/ruby-jmeter/dsl/mail_reader_sampler.rb +37 -0
- data/lib/ruby-jmeter/dsl/mailer_visualizer.rb +64 -0
- data/lib/ruby-jmeter/dsl/md5hex_assertion.rb +25 -0
- data/lib/ruby-jmeter/dsl/module_controller.rb +23 -0
- data/lib/ruby-jmeter/dsl/monitor_results.rb +55 -0
- data/lib/ruby-jmeter/dsl/once_only_controller.rb +23 -0
- data/lib/ruby-jmeter/dsl/os_process_sampler.rb +34 -0
- data/lib/ruby-jmeter/dsl/poisson_random_timer.rb +26 -0
- data/lib/ruby-jmeter/dsl/random_controller.rb +25 -0
- data/lib/ruby-jmeter/dsl/random_order_controller.rb +23 -0
- data/lib/ruby-jmeter/dsl/random_variable.rb +30 -0
- data/lib/ruby-jmeter/dsl/recording_controller.rb +23 -0
- data/lib/ruby-jmeter/dsl/regex_user_parameters.rb +27 -0
- data/lib/ruby-jmeter/dsl/regular_expression_extractor.rb +31 -0
- data/lib/ruby-jmeter/dsl/response_assertion.rb +31 -0
- data/lib/ruby-jmeter/dsl/response_time_graph.rb +55 -0
- data/lib/ruby-jmeter/dsl/result_status_action_handler.rb +25 -0
- data/lib/ruby-jmeter/dsl/runtime_controller.rb +25 -0
- data/lib/ruby-jmeter/dsl/save_responses_to_a_file.rb +29 -0
- data/lib/ruby-jmeter/dsl/simple_config_element.rb +23 -0
- data/lib/ruby-jmeter/dsl/simple_controller.rb +23 -0
- data/lib/ruby-jmeter/dsl/simple_data_writer.rb +55 -0
- data/lib/ruby-jmeter/dsl/smime_assertion.rb +35 -0
- data/lib/ruby-jmeter/dsl/smtp_sampler.rb +51 -0
- data/lib/ruby-jmeter/dsl/soapxmlrpc_request.rb +33 -0
- data/lib/ruby-jmeter/dsl/spline_visualizer.rb +55 -0
- data/lib/ruby-jmeter/dsl/summary_report.rb +55 -0
- data/lib/ruby-jmeter/dsl/switch_controller.rb +25 -0
- data/lib/ruby-jmeter/dsl/synchronizing_timer.rb +25 -0
- data/lib/ruby-jmeter/dsl/tcp_sampler.rb +33 -0
- data/lib/ruby-jmeter/dsl/tcp_sampler_config.rb +31 -0
- data/lib/ruby-jmeter/dsl/test_action.rb +27 -0
- data/lib/ruby-jmeter/dsl/test_plan.rb +31 -0
- data/lib/ruby-jmeter/dsl/thread_group.rb +36 -0
- data/lib/ruby-jmeter/dsl/throughput_controller.rb +32 -0
- data/lib/ruby-jmeter/dsl/transaction_controller.rb +26 -0
- data/lib/ruby-jmeter/dsl/uniform_random_timer.rb +26 -0
- data/lib/ruby-jmeter/dsl/user_defined_variables.rb +32 -0
- data/lib/ruby-jmeter/dsl/user_parameters.rb +29 -0
- data/lib/ruby-jmeter/dsl/view_results_in_table.rb +55 -0
- data/lib/ruby-jmeter/dsl/view_results_tree.rb +55 -0
- data/lib/ruby-jmeter/dsl/while_controller.rb +25 -0
- data/lib/ruby-jmeter/dsl/xml_assertion.rb +23 -0
- data/lib/ruby-jmeter/dsl/xml_schema_assertion.rb +25 -0
- data/lib/ruby-jmeter/dsl/xpath_assertion.rb +30 -0
- data/lib/ruby-jmeter/dsl/xpath_extractor.rb +30 -0
- data/lib/ruby-jmeter/helpers/fallback_content_proxy.rb +54 -0
- data/lib/ruby-jmeter/helpers/helper.rb +41 -0
- data/lib/ruby-jmeter/helpers/jmeter.properties +28 -0
- data/lib/ruby-jmeter/helpers/logger-colors.rb +48 -0
- data/lib/ruby-jmeter/helpers/parser.rb +106 -0
- data/lib/ruby-jmeter/helpers/strip-heredoc.rb +5 -0
- data/lib/ruby-jmeter/helpers/user-agents.rb +27 -0
- data/lib/ruby-jmeter/idl.rb +70 -0
- data/lib/ruby-jmeter/idl.xml +1513 -0
- data/lib/ruby-jmeter/plugins/gc_console_status_logger.rb +14 -0
- data/lib/ruby-jmeter/plugins/gc_dummy_sampler.rb +23 -0
- data/lib/ruby-jmeter/plugins/gc_latencies_over_time.rb +48 -0
- data/lib/ruby-jmeter/plugins/gc_response_codes_per_second.rb +48 -0
- data/lib/ruby-jmeter/plugins/gc_response_times_distribution.rb +47 -0
- data/lib/ruby-jmeter/plugins/gc_response_times_over_time.rb +48 -0
- data/lib/ruby-jmeter/plugins/gc_response_times_percentiles.rb +48 -0
- data/lib/ruby-jmeter/plugins/gc_transactions_per_second.rb +48 -0
- data/lib/ruby-jmeter/plugins/gc_variable_throughput_timer.rb +26 -0
- data/lib/ruby-jmeter/version.rb +3 -0
- data/ruby-jmeter.gemspec +22 -0
- data/spec/dsl_spec.rb +491 -0
- data/spec/spec_helper.rb +10 -0
- data/spec/stub.rb +31 -0
- metadata +244 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def aggregate_graph(params={}, &block)
|
|
4
|
+
node = RubyJmeter::AggregateGraph.new(params)
|
|
5
|
+
attach_node(node, &block)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class AggregateGraph
|
|
10
|
+
attr_accessor :doc
|
|
11
|
+
include Helper
|
|
12
|
+
|
|
13
|
+
def initialize(params={})
|
|
14
|
+
params[:name] ||= 'AggregateGraph'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<ResultCollector guiclass="StatGraphVisualizer" testclass="ResultCollector" testname="#{params[:name]}" 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[:update_at_xpath]
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def aggregate_report(params={}, &block)
|
|
4
|
+
node = RubyJmeter::AggregateReport.new(params)
|
|
5
|
+
attach_node(node, &block)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class AggregateReport
|
|
10
|
+
attr_accessor :doc
|
|
11
|
+
include Helper
|
|
12
|
+
|
|
13
|
+
def initialize(params={})
|
|
14
|
+
params[:name] ||= 'AggregateReport'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="#{params[:name]}" 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[:update_at_xpath]
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def ajp13_sampler(params={}, &block)
|
|
4
|
+
node = RubyJmeter::Ajp13Sampler.new(params)
|
|
5
|
+
attach_node(node, &block)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class Ajp13Sampler
|
|
10
|
+
attr_accessor :doc
|
|
11
|
+
include Helper
|
|
12
|
+
|
|
13
|
+
def initialize(params={})
|
|
14
|
+
params[:name] ||= 'Ajp13Sampler'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<AjpSampler guiclass="AjpSamplerGui" testclass="AjpSampler" testname="#{params[:name]}" enabled="true">
|
|
17
|
+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="#{params[:name]}" 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
|
+
</AjpSampler>)
|
|
35
|
+
EOS
|
|
36
|
+
update params
|
|
37
|
+
update_at_xpath params if params[:update_at_xpath]
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def assertion_results(params={}, &block)
|
|
4
|
+
node = RubyJmeter::AssertionResults.new(params)
|
|
5
|
+
attach_node(node, &block)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class AssertionResults
|
|
10
|
+
attr_accessor :doc
|
|
11
|
+
include Helper
|
|
12
|
+
|
|
13
|
+
def initialize(params={})
|
|
14
|
+
params[:name] ||= 'AssertionResults'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<ResultCollector guiclass="AssertionVisualizer" testclass="ResultCollector" testname="#{params[:name]}" 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[:update_at_xpath]
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def beanshell_assertion(params={}, &block)
|
|
4
|
+
node = RubyJmeter::BeanshellAssertion.new(params)
|
|
5
|
+
attach_node(node, &block)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class BeanshellAssertion
|
|
10
|
+
attr_accessor :doc
|
|
11
|
+
include Helper
|
|
12
|
+
|
|
13
|
+
def initialize(params={})
|
|
14
|
+
params[:name] ||= 'BeanshellAssertion'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<BeanShellAssertion guiclass="BeanShellAssertionGui" testclass="BeanShellAssertion" testname="#{params[:name]}" enabled="true">
|
|
17
|
+
<stringProp name="BeanShellAssertion.query"/>
|
|
18
|
+
<stringProp name="BeanShellAssertion.filename"/>
|
|
19
|
+
<stringProp name="BeanShellAssertion.parameters"/>
|
|
20
|
+
<boolProp name="BeanShellAssertion.resetInterpreter">false</boolProp>
|
|
21
|
+
</BeanShellAssertion>)
|
|
22
|
+
EOS
|
|
23
|
+
update params
|
|
24
|
+
update_at_xpath params if params[:update_at_xpath]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def beanshell_listener(params={}, &block)
|
|
4
|
+
node = RubyJmeter::BeanshellListener.new(params)
|
|
5
|
+
attach_node(node, &block)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class BeanshellListener
|
|
10
|
+
attr_accessor :doc
|
|
11
|
+
include Helper
|
|
12
|
+
|
|
13
|
+
def initialize(params={})
|
|
14
|
+
params[:name] ||= 'BeanshellListener'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<BeanShellListener guiclass="TestBeanGUI" testclass="BeanShellListener" testname="#{params[:name]}" enabled="true">
|
|
17
|
+
<stringProp name="filename"/>
|
|
18
|
+
<stringProp name="parameters"/>
|
|
19
|
+
<boolProp name="resetInterpreter">false</boolProp>
|
|
20
|
+
<stringProp name="script"/>
|
|
21
|
+
</BeanShellListener>)
|
|
22
|
+
EOS
|
|
23
|
+
update params
|
|
24
|
+
update_at_xpath params if params[:update_at_xpath]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def beanshell_postprocessor(params={}, &block)
|
|
4
|
+
node = RubyJmeter::BeanshellPostprocessor.new(params)
|
|
5
|
+
attach_node(node, &block)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class BeanshellPostprocessor
|
|
10
|
+
attr_accessor :doc
|
|
11
|
+
include Helper
|
|
12
|
+
|
|
13
|
+
def initialize(params={})
|
|
14
|
+
params[:name] ||= 'BeanshellPostprocessor'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="#{params[:name]}" enabled="true">
|
|
17
|
+
<stringProp name="filename"/>
|
|
18
|
+
<stringProp name="parameters"/>
|
|
19
|
+
<boolProp name="resetInterpreter">false</boolProp>
|
|
20
|
+
<stringProp name="script"/>
|
|
21
|
+
</BeanShellPostProcessor>)
|
|
22
|
+
EOS
|
|
23
|
+
update params
|
|
24
|
+
update_at_xpath params if params[:update_at_xpath]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def beanshell_preprocessor(params={}, &block)
|
|
4
|
+
node = RubyJmeter::BeanshellPreprocessor.new(params)
|
|
5
|
+
attach_node(node, &block)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class BeanshellPreprocessor
|
|
10
|
+
attr_accessor :doc
|
|
11
|
+
include Helper
|
|
12
|
+
|
|
13
|
+
def initialize(params={})
|
|
14
|
+
params[:name] ||= 'BeanshellPreprocessor'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="#{params[:name]}" enabled="true">
|
|
17
|
+
<stringProp name="filename"/>
|
|
18
|
+
<stringProp name="parameters"/>
|
|
19
|
+
<boolProp name="resetInterpreter">false</boolProp>
|
|
20
|
+
<stringProp name="script"/>
|
|
21
|
+
</BeanShellPreProcessor>)
|
|
22
|
+
EOS
|
|
23
|
+
update params
|
|
24
|
+
update_at_xpath params if params[:update_at_xpath]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def beanshell_sampler(params={}, &block)
|
|
4
|
+
node = RubyJmeter::BeanshellSampler.new(params)
|
|
5
|
+
attach_node(node, &block)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class BeanshellSampler
|
|
10
|
+
attr_accessor :doc
|
|
11
|
+
include Helper
|
|
12
|
+
|
|
13
|
+
def initialize(params={})
|
|
14
|
+
params[:name] ||= 'BeanshellSampler'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="#{params[:name]}" enabled="true">
|
|
17
|
+
<stringProp name="BeanShellSampler.query"/>
|
|
18
|
+
<stringProp name="BeanShellSampler.filename"/>
|
|
19
|
+
<stringProp name="BeanShellSampler.parameters"/>
|
|
20
|
+
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
|
21
|
+
</BeanShellSampler>)
|
|
22
|
+
EOS
|
|
23
|
+
update params
|
|
24
|
+
update_at_xpath params if params[:update_at_xpath]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def beanshell_timer(params={}, &block)
|
|
4
|
+
node = RubyJmeter::BeanshellTimer.new(params)
|
|
5
|
+
attach_node(node, &block)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class BeanshellTimer
|
|
10
|
+
attr_accessor :doc
|
|
11
|
+
include Helper
|
|
12
|
+
|
|
13
|
+
def initialize(params={})
|
|
14
|
+
params[:name] ||= 'BeanshellTimer'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<BeanShellTimer guiclass="TestBeanGUI" testclass="BeanShellTimer" testname="#{params[:name]}" enabled="true">
|
|
17
|
+
<stringProp name="filename"/>
|
|
18
|
+
<stringProp name="parameters"/>
|
|
19
|
+
<boolProp name="resetInterpreter">false</boolProp>
|
|
20
|
+
<stringProp name="script"/>
|
|
21
|
+
</BeanShellTimer>)
|
|
22
|
+
EOS
|
|
23
|
+
update params
|
|
24
|
+
update_at_xpath params if params[:update_at_xpath]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def bsf_assertion(params={}, &block)
|
|
4
|
+
node = RubyJmeter::BsfAssertion.new(params)
|
|
5
|
+
attach_node(node, &block)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class BsfAssertion
|
|
10
|
+
attr_accessor :doc
|
|
11
|
+
include Helper
|
|
12
|
+
|
|
13
|
+
def initialize(params={})
|
|
14
|
+
params[:name] ||= 'BsfAssertion'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<BSFAssertion guiclass="TestBeanGUI" testclass="BSFAssertion" testname="#{params[:name]}" enabled="true">
|
|
17
|
+
<stringProp name="filename"/>
|
|
18
|
+
<stringProp name="parameters"/>
|
|
19
|
+
<stringProp name="script"/>
|
|
20
|
+
<stringProp name="scriptLanguage"/>
|
|
21
|
+
</BSFAssertion>)
|
|
22
|
+
EOS
|
|
23
|
+
update params
|
|
24
|
+
update_at_xpath params if params[:update_at_xpath]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module RubyJmeter
|
|
2
|
+
class DSL
|
|
3
|
+
def bsf_listener(params={}, &block)
|
|
4
|
+
node = RubyJmeter::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
|
+
params[:name] ||= 'BsfListener'
|
|
15
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
16
|
+
<BSFListener guiclass="TestBeanGUI" testclass="BSFListener" testname="#{params[:name]}" 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[:update_at_xpath]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|