gridinit-jmeter 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/examples/basic_gc_results.rb +20 -0
- data/examples/jbhifi_now_search.rb +98 -0
- data/lib/gridinit-jmeter/{response_assertion.rb → assertions/response_assertion.rb} +3 -6
- data/lib/gridinit-jmeter/{auth_manager.rb → config/auth_manager.rb} +3 -5
- data/lib/gridinit-jmeter/{cache_manager.rb → config/cache_manager.rb} +3 -5
- data/lib/gridinit-jmeter/{cookie_manager.rb → config/cookie_manager.rb} +3 -5
- data/lib/gridinit-jmeter/config/counter_config.rb +24 -0
- data/lib/gridinit-jmeter/{header_manager.rb → config/header_manager.rb} +2 -1
- data/lib/gridinit-jmeter/{request_defaults.rb → config/request_defaults.rb} +3 -5
- data/lib/gridinit-jmeter/{user_defined_variable.rb → config/user_defined_variable.rb} +2 -4
- data/lib/gridinit-jmeter/{if_controller.rb → controllers/if_controller.rb} +3 -5
- data/lib/gridinit-jmeter/controllers/loop_controller.rb +19 -0
- data/lib/gridinit-jmeter/{once_only.rb → controllers/once_only.rb} +3 -5
- data/lib/gridinit-jmeter/{transaction.rb → controllers/transaction.rb} +3 -5
- data/lib/gridinit-jmeter/dsl.rb +66 -1
- data/lib/gridinit-jmeter/helpers/dsl_helper.rb +12 -0
- data/lib/gridinit-jmeter/{fallback_content_proxy.rb → helpers/fallback_content_proxy.rb} +0 -0
- data/lib/gridinit-jmeter/{logger-colors.rb → helpers/logger-colors.rb} +0 -0
- data/lib/gridinit-jmeter/{strip-heredoc.rb → helpers/strip-heredoc.rb} +0 -0
- data/lib/gridinit-jmeter/listeners/gc_latencies_over_time.rb +50 -0
- data/lib/gridinit-jmeter/listeners/gc_response_codes_per_second.rb +50 -0
- data/lib/gridinit-jmeter/listeners/gc_response_times_distribution.rb +50 -0
- data/lib/gridinit-jmeter/listeners/gc_response_times_over_time.rb +50 -0
- data/lib/gridinit-jmeter/listeners/gc_response_times_percentiles.rb +50 -0
- data/lib/gridinit-jmeter/listeners/gc_transactions_per_second.rb +51 -0
- data/lib/gridinit-jmeter/{graph_visualizer.rb → listeners/graph_visualizer.rb} +2 -7
- data/lib/gridinit-jmeter/{response_time_graph_visualizer.rb → listeners/response_time_graph_visualizer.rb} +2 -7
- data/lib/gridinit-jmeter/{stat_visualizer.rb → listeners/stat_visualizer.rb} +2 -7
- data/lib/gridinit-jmeter/{summary_report.rb → listeners/summary_report.rb} +2 -7
- data/lib/gridinit-jmeter/{table_visualizer.rb → listeners/table_visualizer.rb} +2 -7
- data/lib/gridinit-jmeter/{view_results_full_visualizer.rb → listeners/view_results_full_visualizer.rb} +2 -7
- data/lib/gridinit-jmeter/{regex_extractor.rb → post_processors/regex_extractor.rb} +3 -5
- data/lib/gridinit-jmeter/{xpath_extractor.rb → post_processors/xpath_extractor.rb} +2 -4
- data/lib/gridinit-jmeter/pre_processors/bean_shell_pre_processor.rb +21 -0
- data/lib/gridinit-jmeter/{http_sampler.rb → samplers/http_sampler.rb} +2 -4
- data/lib/gridinit-jmeter/{ldap_ext_sampler.rb → samplers/ldap_ext_sampler.rb} +2 -6
- data/lib/gridinit-jmeter/{test_plan.rb → test_plan/test_plan.rb} +2 -1
- data/lib/gridinit-jmeter/{thread_group.rb → threads/thread_group.rb} +3 -5
- data/lib/gridinit-jmeter/{gaussian_random_timer.rb → timers/gaussian_random_timer.rb} +2 -1
- data/lib/gridinit-jmeter/version.rb +1 -1
- data/lib/gridinit-jmeter.rb +98 -26
- metadata +40 -28
@@ -0,0 +1,50 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class GCResponseTimesOverTime
|
5
|
+
attr_accessor :doc
|
6
|
+
include Helper
|
7
|
+
def initialize(name, params={})
|
8
|
+
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
9
|
+
<kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="#{name}" enabled="true">
|
10
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
11
|
+
<objProp>
|
12
|
+
<name>saveConfig</name>
|
13
|
+
<value class="SampleSaveConfiguration">
|
14
|
+
<time>true</time>
|
15
|
+
<latency>true</latency>
|
16
|
+
<timestamp>true</timestamp>
|
17
|
+
<success>true</success>
|
18
|
+
<label>true</label>
|
19
|
+
<code>true</code>
|
20
|
+
<message>true</message>
|
21
|
+
<threadName>true</threadName>
|
22
|
+
<dataType>true</dataType>
|
23
|
+
<encoding>false</encoding>
|
24
|
+
<assertions>true</assertions>
|
25
|
+
<subresults>true</subresults>
|
26
|
+
<responseData>false</responseData>
|
27
|
+
<samplerData>false</samplerData>
|
28
|
+
<xml>true</xml>
|
29
|
+
<fieldNames>false</fieldNames>
|
30
|
+
<responseHeaders>false</responseHeaders>
|
31
|
+
<requestHeaders>false</requestHeaders>
|
32
|
+
<responseDataOnError>false</responseDataOnError>
|
33
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
34
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
35
|
+
<bytes>true</bytes>
|
36
|
+
</value>
|
37
|
+
</objProp>
|
38
|
+
<stringProp name="filename"></stringProp>
|
39
|
+
<longProp name="interval_grouping">500</longProp>
|
40
|
+
<boolProp name="graph_aggregated">false</boolProp>
|
41
|
+
<stringProp name="include_sample_labels"></stringProp>
|
42
|
+
<stringProp name="exclude_sample_labels"></stringProp>
|
43
|
+
</kg.apc.jmeter.vizualizers.CorrectedResultCollector>
|
44
|
+
EOF
|
45
|
+
update params
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class GCResponseTimesPercentiles
|
5
|
+
attr_accessor :doc
|
6
|
+
include Helper
|
7
|
+
def initialize(name, params={})
|
8
|
+
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
9
|
+
<kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesPercentilesGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="#{name}" enabled="true">
|
10
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
11
|
+
<objProp>
|
12
|
+
<name>saveConfig</name>
|
13
|
+
<value class="SampleSaveConfiguration">
|
14
|
+
<time>true</time>
|
15
|
+
<latency>true</latency>
|
16
|
+
<timestamp>true</timestamp>
|
17
|
+
<success>true</success>
|
18
|
+
<label>true</label>
|
19
|
+
<code>true</code>
|
20
|
+
<message>true</message>
|
21
|
+
<threadName>true</threadName>
|
22
|
+
<dataType>true</dataType>
|
23
|
+
<encoding>false</encoding>
|
24
|
+
<assertions>true</assertions>
|
25
|
+
<subresults>true</subresults>
|
26
|
+
<responseData>false</responseData>
|
27
|
+
<samplerData>false</samplerData>
|
28
|
+
<xml>true</xml>
|
29
|
+
<fieldNames>false</fieldNames>
|
30
|
+
<responseHeaders>false</responseHeaders>
|
31
|
+
<requestHeaders>false</requestHeaders>
|
32
|
+
<responseDataOnError>false</responseDataOnError>
|
33
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
34
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
35
|
+
<bytes>true</bytes>
|
36
|
+
</value>
|
37
|
+
</objProp>
|
38
|
+
<stringProp name="filename"></stringProp>
|
39
|
+
<longProp name="interval_grouping">500</longProp>
|
40
|
+
<boolProp name="graph_aggregated">false</boolProp>
|
41
|
+
<stringProp name="include_sample_labels"></stringProp>
|
42
|
+
<stringProp name="exclude_sample_labels"></stringProp>
|
43
|
+
</kg.apc.jmeter.vizualizers.CorrectedResultCollector>
|
44
|
+
EOF
|
45
|
+
update params
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class GCTransactionsPerSecond
|
5
|
+
attr_accessor :doc
|
6
|
+
include Helper
|
7
|
+
def initialize(name, params={})
|
8
|
+
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
9
|
+
<kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="#{name}" enabled="true">
|
10
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
11
|
+
<objProp>
|
12
|
+
<name>saveConfig</name>
|
13
|
+
<value class="SampleSaveConfiguration">
|
14
|
+
<time>true</time>
|
15
|
+
<latency>true</latency>
|
16
|
+
<timestamp>true</timestamp>
|
17
|
+
<success>true</success>
|
18
|
+
<label>true</label>
|
19
|
+
<code>true</code>
|
20
|
+
<message>true</message>
|
21
|
+
<threadName>true</threadName>
|
22
|
+
<dataType>true</dataType>
|
23
|
+
<encoding>false</encoding>
|
24
|
+
<assertions>true</assertions>
|
25
|
+
<subresults>true</subresults>
|
26
|
+
<responseData>false</responseData>
|
27
|
+
<samplerData>false</samplerData>
|
28
|
+
<xml>true</xml>
|
29
|
+
<fieldNames>false</fieldNames>
|
30
|
+
<responseHeaders>false</responseHeaders>
|
31
|
+
<requestHeaders>false</requestHeaders>
|
32
|
+
<responseDataOnError>false</responseDataOnError>
|
33
|
+
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
|
34
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
35
|
+
<bytes>true</bytes>
|
36
|
+
</value>
|
37
|
+
</objProp>
|
38
|
+
<stringProp name="filename"></stringProp>
|
39
|
+
<longProp name="interval_grouping">1000</longProp>
|
40
|
+
<boolProp name="graph_aggregated">false</boolProp>
|
41
|
+
<stringProp name="include_sample_labels"></stringProp>
|
42
|
+
<stringProp name="exclude_sample_labels"></stringProp>
|
43
|
+
</kg.apc.jmeter.vizualizers.CorrectedResultCollector>
|
44
|
+
|
45
|
+
EOF
|
46
|
+
update params
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class GraphVisualizer
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(name, params={})
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
<ResultCollector guiclass="GraphVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
|
@@ -38,14 +39,8 @@ module Gridinit
|
|
38
39
|
</ResultCollector>
|
39
40
|
|
40
41
|
EOF
|
41
|
-
params
|
42
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
43
|
-
node.first.content = value unless node.empty?
|
44
|
-
end
|
42
|
+
update params
|
45
43
|
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
44
|
end
|
50
45
|
|
51
46
|
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class ResponseTimeGraphVisualizer
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(name, params={})
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
|
@@ -39,14 +40,8 @@ module Gridinit
|
|
39
40
|
</ResultCollector>
|
40
41
|
|
41
42
|
EOF
|
42
|
-
params
|
43
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
44
|
-
node.first.content = value unless node.empty?
|
45
|
-
end
|
43
|
+
update params
|
46
44
|
end
|
47
|
-
|
48
|
-
private
|
49
|
-
|
50
45
|
end
|
51
46
|
|
52
47
|
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class StatVisualizer
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(name, params={})
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
<ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
|
@@ -38,14 +39,8 @@ module Gridinit
|
|
38
39
|
</ResultCollector>
|
39
40
|
|
40
41
|
EOF
|
41
|
-
params
|
42
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
43
|
-
node.first.content = value unless node.empty?
|
44
|
-
end
|
42
|
+
update params
|
45
43
|
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
44
|
end
|
50
45
|
|
51
46
|
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class SummaryReport
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(name, params={})
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
<ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="#{name}" enabled="true">
|
@@ -38,14 +39,8 @@ module Gridinit
|
|
38
39
|
</ResultCollector>
|
39
40
|
|
40
41
|
EOF
|
41
|
-
params
|
42
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
43
|
-
node.first.content = value unless node.empty?
|
44
|
-
end
|
42
|
+
update params
|
45
43
|
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
44
|
end
|
50
45
|
|
51
46
|
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class TableVisualizer
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(name, params={})
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
<ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
|
@@ -37,14 +38,8 @@ module Gridinit
|
|
37
38
|
<stringProp name="filename"></stringProp>
|
38
39
|
</ResultCollector>
|
39
40
|
EOF
|
40
|
-
params
|
41
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
42
|
-
node.first.content = value unless node.empty?
|
43
|
-
end
|
41
|
+
update params
|
44
42
|
end
|
45
|
-
|
46
|
-
private
|
47
|
-
|
48
43
|
end
|
49
44
|
|
50
45
|
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class ViewResultsFullVisualizer
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(name, params={})
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="#{name}" enabled="true">
|
@@ -37,14 +38,8 @@ module Gridinit
|
|
37
38
|
<stringProp name="filename"></stringProp>
|
38
39
|
</ResultCollector>
|
39
40
|
EOF
|
40
|
-
params
|
41
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
42
|
-
node.first.content = value unless node.empty?
|
43
|
-
end
|
41
|
+
update params
|
44
42
|
end
|
45
|
-
|
46
|
-
private
|
47
|
-
|
48
43
|
end
|
49
44
|
|
50
45
|
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class RegexExtractor
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(name, regex, params={})
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="#{name}" enabled="true">
|
@@ -14,12 +15,9 @@ module Gridinit
|
|
14
15
|
<stringProp name="RegexExtractor.match_number">0</stringProp>
|
15
16
|
</RegexExtractor>
|
16
17
|
EOF
|
17
|
-
params
|
18
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
19
|
-
node.first.content = value unless node.empty?
|
20
|
-
end
|
18
|
+
update params
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
24
22
|
end
|
25
|
-
end
|
23
|
+
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class XpathExtractor
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(name, xpath, params={})
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="#{name}" enabled="true">
|
@@ -14,10 +15,7 @@ module Gridinit
|
|
14
15
|
<boolProp name="XPathExtractor.namespace">false</boolProp>
|
15
16
|
</XPathExtractor>
|
16
17
|
EOF
|
17
|
-
params
|
18
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
19
|
-
node.first.content = value unless node.empty?
|
20
|
-
end
|
18
|
+
update params
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Gridinit
|
2
|
+
module Jmeter
|
3
|
+
|
4
|
+
class BeanShellPreProcessor
|
5
|
+
attr_accessor :doc
|
6
|
+
include Helper
|
7
|
+
def initialize(script, params={})
|
8
|
+
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
9
|
+
<BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
|
10
|
+
<stringProp name="filename"></stringProp>
|
11
|
+
<stringProp name="parameters"></stringProp>
|
12
|
+
<boolProp name="resetInterpreter">false</boolProp>
|
13
|
+
<stringProp name="script">#{script}</stringProp>
|
14
|
+
</BeanShellPreProcessor>
|
15
|
+
EOF
|
16
|
+
update params
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class HttpSampler
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(name, url, params={})
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="#{name}" enabled="true">
|
@@ -35,10 +36,7 @@ module Gridinit
|
|
35
36
|
name,value = param.split('=')
|
36
37
|
fill_in({ fill_in: { "#{name}" => value }, always_encode: params[:always_encode] })
|
37
38
|
end
|
38
|
-
params
|
39
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
40
|
-
node.first.content = value unless node.empty?
|
41
|
-
end
|
39
|
+
update params
|
42
40
|
end
|
43
41
|
|
44
42
|
def parse_uri(url)
|
@@ -3,9 +3,9 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class LDAPExtSampler
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(name, params={})
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
|
-
|
9
9
|
<LDAPExtSampler guiclass="LdapExtTestSamplerGui" testclass="LDAPExtSampler" testname="#{name}" enabled="true">
|
10
10
|
<stringProp name="servername"></stringProp>
|
11
11
|
<stringProp name="port">389</stringProp>
|
@@ -28,12 +28,8 @@ module Gridinit
|
|
28
28
|
<stringProp name="test">bind</stringProp>
|
29
29
|
</LDAPExtSampler>
|
30
30
|
EOF
|
31
|
-
params
|
32
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
33
|
-
node.first.content = value unless node.empty?
|
34
|
-
end
|
31
|
+
update params
|
35
32
|
end
|
36
|
-
|
37
33
|
end
|
38
34
|
|
39
35
|
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class TestPlan
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
|
@@ -19,4 +20,4 @@ module Gridinit
|
|
19
20
|
end
|
20
21
|
|
21
22
|
end
|
22
|
-
end
|
23
|
+
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class ThreadGroup
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(num_threads, params={})
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
|
@@ -20,12 +21,9 @@ module Gridinit
|
|
20
21
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
21
22
|
</ThreadGroup>
|
22
23
|
EOF
|
23
|
-
params
|
24
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
25
|
-
node.first.content = value unless node.empty?
|
26
|
-
end
|
24
|
+
update params
|
27
25
|
end
|
28
26
|
end
|
29
27
|
|
30
28
|
end
|
31
|
-
end
|
29
|
+
end
|
@@ -3,6 +3,7 @@ module Gridinit
|
|
3
3
|
|
4
4
|
class GaussianRandomTimer
|
5
5
|
attr_accessor :doc
|
6
|
+
include Helper
|
6
7
|
def initialize(delay, range)
|
7
8
|
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
8
9
|
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Think Time" enabled="true">
|
@@ -14,4 +15,4 @@ module Gridinit
|
|
14
15
|
end
|
15
16
|
|
16
17
|
end
|
17
|
-
end
|
18
|
+
end
|
data/lib/gridinit-jmeter.rb
CHANGED
@@ -3,31 +3,103 @@ require 'rest_client'
|
|
3
3
|
require 'json'
|
4
4
|
require 'cgi'
|
5
5
|
|
6
|
+
# DSL
|
6
7
|
require 'gridinit-jmeter/dsl'
|
7
|
-
require 'gridinit-jmeter/fallback_content_proxy'
|
8
|
-
require 'gridinit-jmeter/logger-colors'
|
9
|
-
require 'gridinit-jmeter/strip-heredoc'
|
10
8
|
require 'gridinit-jmeter/version'
|
11
|
-
require 'gridinit-jmeter/
|
12
|
-
require 'gridinit-jmeter/
|
13
|
-
require 'gridinit-jmeter/
|
14
|
-
require 'gridinit-jmeter/
|
15
|
-
|
16
|
-
|
17
|
-
require 'gridinit-jmeter/
|
18
|
-
|
19
|
-
|
20
|
-
require 'gridinit-jmeter/
|
21
|
-
require 'gridinit-jmeter/
|
22
|
-
require 'gridinit-jmeter/
|
23
|
-
require 'gridinit-jmeter/
|
24
|
-
require 'gridinit-jmeter/
|
25
|
-
|
26
|
-
|
27
|
-
require 'gridinit-jmeter/
|
28
|
-
require 'gridinit-jmeter/
|
29
|
-
require 'gridinit-jmeter/
|
30
|
-
require 'gridinit-jmeter/
|
31
|
-
require 'gridinit-jmeter/
|
32
|
-
require 'gridinit-jmeter/
|
33
|
-
require 'gridinit-jmeter/
|
9
|
+
require 'gridinit-jmeter/helpers/fallback_content_proxy'
|
10
|
+
require 'gridinit-jmeter/helpers/dsl_helper'
|
11
|
+
require 'gridinit-jmeter/helpers/logger-colors'
|
12
|
+
require 'gridinit-jmeter/helpers/strip-heredoc'
|
13
|
+
|
14
|
+
# TEST PLAN
|
15
|
+
require 'gridinit-jmeter/test_plan/test_plan'
|
16
|
+
|
17
|
+
# THREADS
|
18
|
+
require 'gridinit-jmeter/threads/thread_group'
|
19
|
+
# require 'gridinit-jmeter/threads/gc_stepping_thread_group'
|
20
|
+
# require 'gridinit-jmeter/threads/gc_ultimate_thread_group'
|
21
|
+
# require 'gridinit-jmeter/threads/set_up_group'
|
22
|
+
# require 'gridinit-jmeter/threads/tear_down_group'
|
23
|
+
|
24
|
+
# CONFIG ELEMENT
|
25
|
+
require 'gridinit-jmeter/config/counter_config'
|
26
|
+
# require 'gridinit-jmeter/config/csv_data_set_config'
|
27
|
+
# require 'gridinit-jmeter/config/ftp_request_defaults'
|
28
|
+
require 'gridinit-jmeter/config/auth_manager'
|
29
|
+
require 'gridinit-jmeter/config/cache_manager'
|
30
|
+
require 'gridinit-jmeter/config/cookie_manager'
|
31
|
+
require 'gridinit-jmeter/config/header_manager'
|
32
|
+
require 'gridinit-jmeter/config/request_defaults'
|
33
|
+
# require 'gridinit-jmeter/config/java_request_defaults'
|
34
|
+
# require 'gridinit-jmeter/config/jdbc_connection_configuration'
|
35
|
+
# require 'gridinit-jmeter/config/gc_lock_file_config'
|
36
|
+
# require 'gridinit-jmeter/config/gc_variables_from_csv_file'
|
37
|
+
# require 'gridinit-jmeter/config/keystore_configuration'
|
38
|
+
# require 'gridinit-jmeter/config/ldap_extended_request_defaults'
|
39
|
+
# require 'gridinit-jmeter/config/ldap_request_defaults'
|
40
|
+
# require 'gridinit-jmeter/config/login_config_element'
|
41
|
+
# require 'gridinit-jmeter/config/random_variable'
|
42
|
+
# require 'gridinit-jmeter/config/simple_config_element'
|
43
|
+
# require 'gridinit-jmeter/config/tcp_sampler_config'
|
44
|
+
require 'gridinit-jmeter/config/user_defined_variable'
|
45
|
+
|
46
|
+
# TIMERS
|
47
|
+
# require 'gridinit-jmeter/timers/beanshell_timer'
|
48
|
+
# require 'gridinit-jmeter/timers/bsf_timer'
|
49
|
+
# require 'gridinit-jmeter/timers/constant_throughput_timer'
|
50
|
+
# require 'gridinit-jmeter/timers/constant_timer'
|
51
|
+
require 'gridinit-jmeter/timers/gaussian_random_timer'
|
52
|
+
# require 'gridinit-jmeter/timers/gc_throughput_shaping_timer'
|
53
|
+
# require 'gridinit-jmeter/timers/jsr223_timer'
|
54
|
+
# require 'gridinit-jmeter/timers/poisson_random_timer'
|
55
|
+
# require 'gridinit-jmeter/timers/synchronizing_timer'
|
56
|
+
# require 'gridinit-jmeter/timers/uniform_random_timer'
|
57
|
+
|
58
|
+
# PRE PROCESSORS
|
59
|
+
require 'gridinit-jmeter/pre_processors/bean_shell_pre_processor'
|
60
|
+
# require 'gridinit-jmeter/pre_processors/bsf_pre_processor'
|
61
|
+
# require 'gridinit-jmeter/pre_processors/html_link_parser'
|
62
|
+
# require 'gridinit-jmeter/pre_processors/http_url_rewriter'
|
63
|
+
# require 'gridinit-jmeter/pre_processors/jdbc_pre_processor'
|
64
|
+
# require 'gridinit-jmeter/pre_processors/gc_inter_thread_pre_processor'
|
65
|
+
# require 'gridinit-jmeter/pre_processors/gc_raw_data_source_pre_processor'
|
66
|
+
# require 'gridinit-jmeter/pre_processors/jsr223_pre_processor'
|
67
|
+
# require 'gridinit-jmeter/pre_processors/user_parameters'
|
68
|
+
|
69
|
+
# POST PROCESSORS
|
70
|
+
# require 'gridinit-jmeter/post_processors/bean_shell_post_processor'
|
71
|
+
# require 'gridinit-jmeter/post_processors/bsf_post_processor'
|
72
|
+
# require 'gridinit-jmeter/post_processors/debug_post_processor'
|
73
|
+
# require 'gridinit-jmeter/post_processors/jdbc_post_processor'
|
74
|
+
# require 'gridinit-jmeter/post_processors/gc_inter_thread_communication_post_processor'
|
75
|
+
# require 'gridinit-jmeter/post_processors/jsr223_post_processor'
|
76
|
+
require 'gridinit-jmeter/post_processors/regex_extractor'
|
77
|
+
# require 'gridinit-jmeter/post_processors/result_status_action_handler'
|
78
|
+
require 'gridinit-jmeter/post_processors/xpath_extractor'
|
79
|
+
|
80
|
+
# ASSERTIONS
|
81
|
+
require 'gridinit-jmeter/assertions/response_assertion'
|
82
|
+
|
83
|
+
# LISTENERS
|
84
|
+
require 'gridinit-jmeter/listeners/view_results_full_visualizer'
|
85
|
+
require 'gridinit-jmeter/listeners/table_visualizer'
|
86
|
+
require 'gridinit-jmeter/listeners/graph_visualizer'
|
87
|
+
require 'gridinit-jmeter/listeners/response_time_graph_visualizer'
|
88
|
+
require 'gridinit-jmeter/listeners/stat_visualizer'
|
89
|
+
require 'gridinit-jmeter/listeners/summary_report'
|
90
|
+
require 'gridinit-jmeter/listeners/gc_latencies_over_time'
|
91
|
+
require 'gridinit-jmeter/listeners/gc_response_codes_per_second'
|
92
|
+
require 'gridinit-jmeter/listeners/gc_response_times_distribution'
|
93
|
+
require 'gridinit-jmeter/listeners/gc_response_times_over_time'
|
94
|
+
require 'gridinit-jmeter/listeners/gc_response_times_percentiles'
|
95
|
+
require 'gridinit-jmeter/listeners/gc_transactions_per_second'
|
96
|
+
|
97
|
+
# LOGIC CONTROLLERS
|
98
|
+
require 'gridinit-jmeter/controllers/transaction'
|
99
|
+
require 'gridinit-jmeter/controllers/once_only'
|
100
|
+
require 'gridinit-jmeter/controllers/if_controller'
|
101
|
+
require 'gridinit-jmeter/controllers/loop_controller'
|
102
|
+
|
103
|
+
# SAMPLERS
|
104
|
+
require 'gridinit-jmeter/samplers/http_sampler'
|
105
|
+
require 'gridinit-jmeter/samplers/ldap_ext_sampler'
|