gridinit-jmeter 0.2.8 → 0.2.9
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/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
|