gridinit-jmeter 0.2.8 → 0.2.9
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/gridinit-jmeter/controllers/if_controller.rb +2 -2
- data/lib/gridinit-jmeter/idl.rb +63 -0
- data/lib/gridinit-jmeter/{dsl.xml → idl.xml} +0 -0
- data/lib/gridinit-jmeter/idl/access_log_sampler.rb +33 -0
- data/lib/gridinit-jmeter/idl/aggregate_graph.rb +56 -0
- data/lib/gridinit-jmeter/idl/aggregate_report.rb +56 -0
- data/lib/gridinit-jmeter/idl/ajp13_sampler.rb +42 -0
- data/lib/gridinit-jmeter/idl/assertion_results.rb +56 -0
- data/lib/gridinit-jmeter/idl/beanshell_assertion.rb +29 -0
- data/lib/gridinit-jmeter/idl/beanshell_listener.rb +29 -0
- data/lib/gridinit-jmeter/idl/beanshell_postprocessor.rb +29 -0
- data/lib/gridinit-jmeter/idl/beanshell_preprocessor.rb +29 -0
- data/lib/gridinit-jmeter/idl/beanshell_sampler.rb +29 -0
- data/lib/gridinit-jmeter/idl/beanshell_timer.rb +29 -0
- data/lib/gridinit-jmeter/idl/bsf_assertion.rb +29 -0
- data/lib/gridinit-jmeter/idl/bsf_listener.rb +29 -0
- data/lib/gridinit-jmeter/idl/bsf_postprocessor.rb +29 -0
- data/lib/gridinit-jmeter/idl/bsf_preprocessor.rb +29 -0
- data/lib/gridinit-jmeter/idl/bsf_sampler.rb +29 -0
- data/lib/gridinit-jmeter/idl/bsf_timer.rb +29 -0
- data/lib/gridinit-jmeter/idl/compare_assertion.rb +28 -0
- data/lib/gridinit-jmeter/idl/comparison_assertion_visualizer.rb +56 -0
- data/lib/gridinit-jmeter/idl/constant_throughput_timer.rb +31 -0
- data/lib/gridinit-jmeter/idl/constant_timer.rb +26 -0
- data/lib/gridinit-jmeter/idl/counter.rb +31 -0
- data/lib/gridinit-jmeter/idl/cssjquery_extractor.rb +31 -0
- data/lib/gridinit-jmeter/idl/csv_data_set_config.rb +33 -0
- data/lib/gridinit-jmeter/idl/debug_postprocessor.rb +29 -0
- data/lib/gridinit-jmeter/idl/debug_sampler.rb +28 -0
- data/lib/gridinit-jmeter/idl/distribution_graphalpha.rb +56 -0
- data/lib/gridinit-jmeter/idl/duration_assertion.rb +26 -0
- data/lib/gridinit-jmeter/idl/foreach_controller.rb +28 -0
- data/lib/gridinit-jmeter/idl/ftp_request.rb +35 -0
- data/lib/gridinit-jmeter/idl/ftp_request_defaults.rb +33 -0
- data/lib/gridinit-jmeter/idl/gaussian_random_timer.rb +27 -0
- data/lib/gridinit-jmeter/idl/generate_summary_results.rb +24 -0
- data/lib/gridinit-jmeter/idl/graph_results.rb +56 -0
- data/lib/gridinit-jmeter/idl/html_assertion.rb +31 -0
- data/lib/gridinit-jmeter/idl/html_link_parser.rb +24 -0
- data/lib/gridinit-jmeter/idl/html_parameter_mask.rb +33 -0
- data/lib/gridinit-jmeter/idl/http_authorization_manager.rb +26 -0
- data/lib/gridinit-jmeter/idl/http_cache_manager.rb +27 -0
- data/lib/gridinit-jmeter/idl/http_cookie_manager.rb +27 -0
- data/lib/gridinit-jmeter/idl/http_header_manager.rb +26 -0
- data/lib/gridinit-jmeter/idl/http_request.rb +42 -0
- data/lib/gridinit-jmeter/idl/http_request_defaults.rb +36 -0
- data/lib/gridinit-jmeter/idl/http_url_rewriting_modifier.rb +30 -0
- data/lib/gridinit-jmeter/idl/if_controller.rb +27 -0
- data/lib/gridinit-jmeter/idl/include_controller.rb +26 -0
- data/lib/gridinit-jmeter/idl/java_request.rb +70 -0
- data/lib/gridinit-jmeter/idl/java_request_defaults.rb +70 -0
- data/lib/gridinit-jmeter/idl/jdbc_connection_configuration.rb +38 -0
- data/lib/gridinit-jmeter/idl/jdbc_postprocessor.rb +32 -0
- data/lib/gridinit-jmeter/idl/jdbc_preprocessor.rb +32 -0
- data/lib/gridinit-jmeter/idl/jdbc_request.rb +32 -0
- data/lib/gridinit-jmeter/idl/jms_pointtopoint.rb +41 -0
- data/lib/gridinit-jmeter/idl/jms_publisher.rb +42 -0
- data/lib/gridinit-jmeter/idl/jms_subscriber.rb +36 -0
- data/lib/gridinit-jmeter/idl/jsr223_assertion.rb +30 -0
- data/lib/gridinit-jmeter/idl/jsr223_listener.rb +30 -0
- data/lib/gridinit-jmeter/idl/jsr223_postprocessor.rb +30 -0
- data/lib/gridinit-jmeter/idl/jsr223_preprocessor.rb +30 -0
- data/lib/gridinit-jmeter/idl/jsr223_sampler.rb +30 -0
- data/lib/gridinit-jmeter/idl/jsr223_timer.rb +30 -0
- data/lib/gridinit-jmeter/idl/junit_request.rb +38 -0
- data/lib/gridinit-jmeter/idl/keystore_configuration.rb +28 -0
- data/lib/gridinit-jmeter/idl/ldap_extended_request.rb +43 -0
- data/lib/gridinit-jmeter/idl/ldap_extended_request_defaults.rb +43 -0
- data/lib/gridinit-jmeter/idl/ldap_request.rb +36 -0
- data/lib/gridinit-jmeter/idl/ldap_request_defaults.rb +34 -0
- data/lib/gridinit-jmeter/idl/login_config_element.rb +27 -0
- data/lib/gridinit-jmeter/idl/loop_controller.rb +27 -0
- data/lib/gridinit-jmeter/idl/mail_reader_sampler.rb +38 -0
- data/lib/gridinit-jmeter/idl/mailer_visualizer.rb +65 -0
- data/lib/gridinit-jmeter/idl/md5hex_assertion.rb +26 -0
- data/lib/gridinit-jmeter/idl/module_controller.rb +24 -0
- data/lib/gridinit-jmeter/idl/monitor_results.rb +56 -0
- data/lib/gridinit-jmeter/idl/once_only_controller.rb +24 -0
- data/lib/gridinit-jmeter/idl/os_process_sampler.rb +35 -0
- data/lib/gridinit-jmeter/idl/poisson_random_timer.rb +27 -0
- data/lib/gridinit-jmeter/idl/random_controller.rb +26 -0
- data/lib/gridinit-jmeter/idl/random_order_controller.rb +24 -0
- data/lib/gridinit-jmeter/idl/random_variable.rb +31 -0
- data/lib/gridinit-jmeter/idl/recording_controller.rb +24 -0
- data/lib/gridinit-jmeter/idl/regex_user_parameters.rb +28 -0
- data/lib/gridinit-jmeter/idl/regular_expression_extractor.rb +31 -0
- data/lib/gridinit-jmeter/idl/response_assertion.rb +29 -0
- data/lib/gridinit-jmeter/idl/response_time_graph.rb +56 -0
- data/lib/gridinit-jmeter/idl/result_status_action_handler.rb +26 -0
- data/lib/gridinit-jmeter/idl/runtime_controller.rb +26 -0
- data/lib/gridinit-jmeter/idl/save_responses_to_a_file.rb +30 -0
- data/lib/gridinit-jmeter/idl/simple_config_element.rb +24 -0
- data/lib/gridinit-jmeter/idl/simple_controller.rb +24 -0
- data/lib/gridinit-jmeter/idl/simple_data_writer.rb +56 -0
- data/lib/gridinit-jmeter/idl/smime_assertion.rb +36 -0
- data/lib/gridinit-jmeter/idl/smtp_sampler.rb +52 -0
- data/lib/gridinit-jmeter/idl/soapxmlrpc_request.rb +34 -0
- data/lib/gridinit-jmeter/idl/spline_visualizer.rb +56 -0
- data/lib/gridinit-jmeter/idl/summary_report.rb +56 -0
- data/lib/gridinit-jmeter/idl/switch_controller.rb +26 -0
- data/lib/gridinit-jmeter/idl/synchronizing_timer.rb +26 -0
- data/lib/gridinit-jmeter/idl/tcp_sampler.rb +34 -0
- data/lib/gridinit-jmeter/idl/tcp_sampler_config.rb +32 -0
- data/lib/gridinit-jmeter/idl/test_action.rb +28 -0
- data/lib/gridinit-jmeter/idl/test_plan.rb +32 -0
- data/lib/gridinit-jmeter/idl/thread_group.rb +37 -0
- data/lib/gridinit-jmeter/idl/throughput_controller.rb +33 -0
- data/lib/gridinit-jmeter/idl/transaction_controller.rb +26 -0
- data/lib/gridinit-jmeter/idl/uniform_random_timer.rb +27 -0
- data/lib/gridinit-jmeter/idl/user_defined_variables.rb +26 -0
- data/lib/gridinit-jmeter/idl/user_parameters.rb +30 -0
- data/lib/gridinit-jmeter/idl/view_results_in_table.rb +56 -0
- data/lib/gridinit-jmeter/idl/view_results_tree.rb +56 -0
- data/lib/gridinit-jmeter/idl/while_controller.rb +26 -0
- data/lib/gridinit-jmeter/idl/xml_assertion.rb +24 -0
- data/lib/gridinit-jmeter/idl/xml_schema_assertion.rb +26 -0
- data/lib/gridinit-jmeter/idl/xpath_assertion.rb +31 -0
- data/lib/gridinit-jmeter/idl/xpath_extractor.rb +31 -0
- data/lib/gridinit-jmeter/version.rb +1 -1
- metadata +120 -7
@@ -4,10 +4,10 @@ module Gridinit
|
|
4
4
|
class IfController
|
5
5
|
attr_accessor :doc
|
6
6
|
include Helper
|
7
|
-
def initialize(name,
|
7
|
+
def initialize(name, params={})
|
8
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
9
9
|
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="#{name}" enabled="true">
|
10
|
-
<stringProp name="IfController.condition">#{condition}</stringProp>
|
10
|
+
<stringProp name="IfController.condition">#{params[:condition]}</stringProp>
|
11
11
|
<boolProp name="IfController.evaluateAll">false</boolProp>
|
12
12
|
</IfController>
|
13
13
|
EOF
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'nokogiri'
|
3
|
+
# require 'pry-debugger'
|
4
|
+
|
5
|
+
file = File.open 'idl.xml'
|
6
|
+
doc = Nokogiri::XML file.read.gsub! /\n\s+/, ''
|
7
|
+
nodes = doc.xpath '//jmeterTestPlan/hashTree'
|
8
|
+
|
9
|
+
class String
|
10
|
+
def classify
|
11
|
+
return self if self !~ / / && self =~ /[A-Z]+.*/
|
12
|
+
split(' ').map{|e| e.capitalize}.join.gsub /[\(\)-\/\.]/, ''
|
13
|
+
end
|
14
|
+
|
15
|
+
def underscore
|
16
|
+
self.gsub(/::/, '/').
|
17
|
+
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
18
|
+
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
19
|
+
tr("-", "_").
|
20
|
+
downcase
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
results = []
|
25
|
+
doc.traverse do |node|
|
26
|
+
results << node if node.class !=
|
27
|
+
Nokogiri::XML::Document &&
|
28
|
+
node.attributes['testclass'] &&
|
29
|
+
node.name != 'elementProp'
|
30
|
+
end
|
31
|
+
|
32
|
+
results.each do |element|
|
33
|
+
klass = element.attributes['testname'].to_s.classify
|
34
|
+
|
35
|
+
File.open("idl/#{klass.underscore}.rb", 'w') { |file| file.write(<<EOC)
|
36
|
+
module Gridinit
|
37
|
+
module Jmeter
|
38
|
+
|
39
|
+
class DSL
|
40
|
+
def #{klass.underscore}(params={}, &block)
|
41
|
+
node = Gridinit::Jmeter::#{klass}.new(params)
|
42
|
+
attach_node(node, &block)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class #{klass}
|
47
|
+
attr_accessor :doc
|
48
|
+
include Helper
|
49
|
+
|
50
|
+
def initialize(name, params={})
|
51
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
52
|
+
#{element.to_xml.gsub /testname=".+?"/, 'testname="#{name}"'})
|
53
|
+
EOS
|
54
|
+
update params
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
end
|
60
|
+
EOC
|
61
|
+
}
|
62
|
+
end
|
63
|
+
|
File without changes
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class DSL
|
5
|
+
def access_log_sampler(params={}, &block)
|
6
|
+
node = Gridinit::Jmeter::AccessLogSampler.new(params)
|
7
|
+
attach_node(node, &block)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class AccessLogSampler
|
12
|
+
attr_accessor :doc
|
13
|
+
include Helper
|
14
|
+
|
15
|
+
def initialize(name, params={})
|
16
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
17
|
+
<AccessLogSampler guiclass="TestBeanGUI" testclass="AccessLogSampler" testname="#{name}" enabled="true">
|
18
|
+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
|
19
|
+
<collectionProp name="Arguments.arguments"/>
|
20
|
+
</elementProp>
|
21
|
+
<stringProp name="domain"/>
|
22
|
+
<boolProp name="imageParsing">false</boolProp>
|
23
|
+
<stringProp name="logFile"/>
|
24
|
+
<stringProp name="parserClassName">org.apache.jmeter.protocol.http.util.accesslog.TCLogParser</stringProp>
|
25
|
+
<stringProp name="portString"/>
|
26
|
+
</AccessLogSampler>)
|
27
|
+
EOS
|
28
|
+
update params
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class DSL
|
5
|
+
def aggregate_graph(params={}, &block)
|
6
|
+
node = Gridinit::Jmeter::AggregateGraph.new(params)
|
7
|
+
attach_node(node, &block)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class AggregateGraph
|
12
|
+
attr_accessor :doc
|
13
|
+
include Helper
|
14
|
+
|
15
|
+
def initialize(name, params={})
|
16
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
17
|
+
<ResultCollector guiclass="StatGraphVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
|
18
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
19
|
+
<objProp>
|
20
|
+
<name>saveConfig</name>
|
21
|
+
<value class="SampleSaveConfiguration">
|
22
|
+
<time>true</time>
|
23
|
+
<latency>true</latency>
|
24
|
+
<timestamp>true</timestamp>
|
25
|
+
<success>true</success>
|
26
|
+
<label>true</label>
|
27
|
+
<code>true</code>
|
28
|
+
<message>false</message>
|
29
|
+
<threadName>true</threadName>
|
30
|
+
<dataType>false</dataType>
|
31
|
+
<encoding>false</encoding>
|
32
|
+
<assertions>false</assertions>
|
33
|
+
<subresults>false</subresults>
|
34
|
+
<responseData>false</responseData>
|
35
|
+
<samplerData>false</samplerData>
|
36
|
+
<xml>false</xml>
|
37
|
+
<fieldNames>false</fieldNames>
|
38
|
+
<responseHeaders>false</responseHeaders>
|
39
|
+
<requestHeaders>false</requestHeaders>
|
40
|
+
<responseDataOnError>false</responseDataOnError>
|
41
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
42
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
43
|
+
<bytes>true</bytes>
|
44
|
+
<threadCounts>true</threadCounts>
|
45
|
+
<sampleCount>true</sampleCount>
|
46
|
+
</value>
|
47
|
+
</objProp>
|
48
|
+
<stringProp name="filename"/>
|
49
|
+
</ResultCollector>)
|
50
|
+
EOS
|
51
|
+
update params
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class DSL
|
5
|
+
def aggregate_report(params={}, &block)
|
6
|
+
node = Gridinit::Jmeter::AggregateReport.new(params)
|
7
|
+
attach_node(node, &block)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class AggregateReport
|
12
|
+
attr_accessor :doc
|
13
|
+
include Helper
|
14
|
+
|
15
|
+
def initialize(name, params={})
|
16
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
17
|
+
<ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
|
18
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
19
|
+
<objProp>
|
20
|
+
<name>saveConfig</name>
|
21
|
+
<value class="SampleSaveConfiguration">
|
22
|
+
<time>true</time>
|
23
|
+
<latency>true</latency>
|
24
|
+
<timestamp>true</timestamp>
|
25
|
+
<success>true</success>
|
26
|
+
<label>true</label>
|
27
|
+
<code>true</code>
|
28
|
+
<message>false</message>
|
29
|
+
<threadName>true</threadName>
|
30
|
+
<dataType>false</dataType>
|
31
|
+
<encoding>false</encoding>
|
32
|
+
<assertions>false</assertions>
|
33
|
+
<subresults>false</subresults>
|
34
|
+
<responseData>false</responseData>
|
35
|
+
<samplerData>false</samplerData>
|
36
|
+
<xml>false</xml>
|
37
|
+
<fieldNames>false</fieldNames>
|
38
|
+
<responseHeaders>false</responseHeaders>
|
39
|
+
<requestHeaders>false</requestHeaders>
|
40
|
+
<responseDataOnError>false</responseDataOnError>
|
41
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
42
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
43
|
+
<bytes>true</bytes>
|
44
|
+
<threadCounts>true</threadCounts>
|
45
|
+
<sampleCount>true</sampleCount>
|
46
|
+
</value>
|
47
|
+
</objProp>
|
48
|
+
<stringProp name="filename"/>
|
49
|
+
</ResultCollector>)
|
50
|
+
EOS
|
51
|
+
update params
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class DSL
|
5
|
+
def ajp13_sampler(params={}, &block)
|
6
|
+
node = Gridinit::Jmeter::Ajp13Sampler.new(params)
|
7
|
+
attach_node(node, &block)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class Ajp13Sampler
|
12
|
+
attr_accessor :doc
|
13
|
+
include Helper
|
14
|
+
|
15
|
+
def initialize(name, params={})
|
16
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
17
|
+
<AjpSampler guiclass="AjpSamplerGui" testclass="AjpSampler" testname="#{name}" enabled="true">
|
18
|
+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="#{name}" enabled="true">
|
19
|
+
<collectionProp name="Arguments.arguments"/>
|
20
|
+
</elementProp>
|
21
|
+
<stringProp name="HTTPSampler.domain"/>
|
22
|
+
<stringProp name="HTTPSampler.port"/>
|
23
|
+
<stringProp name="HTTPSampler.connect_timeout"/>
|
24
|
+
<stringProp name="HTTPSampler.response_timeout"/>
|
25
|
+
<stringProp name="HTTPSampler.protocol"/>
|
26
|
+
<stringProp name="HTTPSampler.contentEncoding"/>
|
27
|
+
<stringProp name="HTTPSampler.path"/>
|
28
|
+
<stringProp name="HTTPSampler.method">GET</stringProp>
|
29
|
+
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
30
|
+
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
|
31
|
+
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
32
|
+
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
|
33
|
+
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
34
|
+
<stringProp name="HTTPSampler.embedded_url_re"/>
|
35
|
+
</AjpSampler>)
|
36
|
+
EOS
|
37
|
+
update params
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class DSL
|
5
|
+
def assertion_results(params={}, &block)
|
6
|
+
node = Gridinit::Jmeter::AssertionResults.new(params)
|
7
|
+
attach_node(node, &block)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class AssertionResults
|
12
|
+
attr_accessor :doc
|
13
|
+
include Helper
|
14
|
+
|
15
|
+
def initialize(name, params={})
|
16
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
17
|
+
<ResultCollector guiclass="AssertionVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
|
18
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
19
|
+
<objProp>
|
20
|
+
<name>saveConfig</name>
|
21
|
+
<value class="SampleSaveConfiguration">
|
22
|
+
<time>true</time>
|
23
|
+
<latency>true</latency>
|
24
|
+
<timestamp>true</timestamp>
|
25
|
+
<success>true</success>
|
26
|
+
<label>true</label>
|
27
|
+
<code>true</code>
|
28
|
+
<message>false</message>
|
29
|
+
<threadName>true</threadName>
|
30
|
+
<dataType>false</dataType>
|
31
|
+
<encoding>false</encoding>
|
32
|
+
<assertions>false</assertions>
|
33
|
+
<subresults>false</subresults>
|
34
|
+
<responseData>false</responseData>
|
35
|
+
<samplerData>false</samplerData>
|
36
|
+
<xml>false</xml>
|
37
|
+
<fieldNames>false</fieldNames>
|
38
|
+
<responseHeaders>false</responseHeaders>
|
39
|
+
<requestHeaders>false</requestHeaders>
|
40
|
+
<responseDataOnError>false</responseDataOnError>
|
41
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
42
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
43
|
+
<bytes>true</bytes>
|
44
|
+
<threadCounts>true</threadCounts>
|
45
|
+
<sampleCount>true</sampleCount>
|
46
|
+
</value>
|
47
|
+
</objProp>
|
48
|
+
<stringProp name="filename"/>
|
49
|
+
</ResultCollector>)
|
50
|
+
EOS
|
51
|
+
update params
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class DSL
|
5
|
+
def beanshell_assertion(params={}, &block)
|
6
|
+
node = Gridinit::Jmeter::BeanshellAssertion.new(params)
|
7
|
+
attach_node(node, &block)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class BeanshellAssertion
|
12
|
+
attr_accessor :doc
|
13
|
+
include Helper
|
14
|
+
|
15
|
+
def initialize(name, params={})
|
16
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
17
|
+
<BeanShellAssertion guiclass="BeanShellAssertionGui" testclass="BeanShellAssertion" testname="#{name}" enabled="true">
|
18
|
+
<stringProp name="BeanShellAssertion.query"/>
|
19
|
+
<stringProp name="BeanShellAssertion.filename"/>
|
20
|
+
<stringProp name="BeanShellAssertion.parameters"/>
|
21
|
+
<boolProp name="BeanShellAssertion.resetInterpreter">false</boolProp>
|
22
|
+
</BeanShellAssertion>)
|
23
|
+
EOS
|
24
|
+
update params
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class DSL
|
5
|
+
def beanshell_listener(params={}, &block)
|
6
|
+
node = Gridinit::Jmeter::BeanshellListener.new(params)
|
7
|
+
attach_node(node, &block)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class BeanshellListener
|
12
|
+
attr_accessor :doc
|
13
|
+
include Helper
|
14
|
+
|
15
|
+
def initialize(name, params={})
|
16
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
17
|
+
<BeanShellListener guiclass="TestBeanGUI" testclass="BeanShellListener" testname="#{name}" enabled="true">
|
18
|
+
<stringProp name="filename"/>
|
19
|
+
<stringProp name="parameters"/>
|
20
|
+
<boolProp name="resetInterpreter">false</boolProp>
|
21
|
+
<stringProp name="script"/>
|
22
|
+
</BeanShellListener>)
|
23
|
+
EOS
|
24
|
+
update params
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class DSL
|
5
|
+
def beanshell_postprocessor(params={}, &block)
|
6
|
+
node = Gridinit::Jmeter::BeanshellPostprocessor.new(params)
|
7
|
+
attach_node(node, &block)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class BeanshellPostprocessor
|
12
|
+
attr_accessor :doc
|
13
|
+
include Helper
|
14
|
+
|
15
|
+
def initialize(name, params={})
|
16
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
17
|
+
<BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="#{name}" enabled="true">
|
18
|
+
<stringProp name="filename"/>
|
19
|
+
<stringProp name="parameters"/>
|
20
|
+
<boolProp name="resetInterpreter">false</boolProp>
|
21
|
+
<stringProp name="script"/>
|
22
|
+
</BeanShellPostProcessor>)
|
23
|
+
EOS
|
24
|
+
update params
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class DSL
|
5
|
+
def beanshell_preprocessor(params={}, &block)
|
6
|
+
node = Gridinit::Jmeter::BeanshellPreprocessor.new(params)
|
7
|
+
attach_node(node, &block)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class BeanshellPreprocessor
|
12
|
+
attr_accessor :doc
|
13
|
+
include Helper
|
14
|
+
|
15
|
+
def initialize(name, params={})
|
16
|
+
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
17
|
+
<BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="#{name}" enabled="true">
|
18
|
+
<stringProp name="filename"/>
|
19
|
+
<stringProp name="parameters"/>
|
20
|
+
<boolProp name="resetInterpreter">false</boolProp>
|
21
|
+
<stringProp name="script"/>
|
22
|
+
</BeanShellPreProcessor>)
|
23
|
+
EOS
|
24
|
+
update params
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|