gridinit-jmeter 0.1.1 → 0.1.2
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/.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'
|