gridinit-jmeter 0.3.2 → 1.0.0.pre
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/Gemfile +2 -1
- data/README.md +51 -72
- data/examples/basic_assertion.rb +6 -6
- data/examples/basic_auth.rb +5 -5
- data/examples/basic_cache.rb +5 -5
- data/examples/basic_cookies.rb +5 -5
- data/examples/basic_extract.rb +4 -10
- data/examples/basic_gc_results.rb +12 -9
- data/examples/basic_google.rb +3 -3
- data/examples/basic_grid.rb +3 -6
- data/examples/basic_header.rb +12 -10
- data/examples/basic_ldap_ext.rb +11 -12
- data/examples/basic_post.rb +5 -6
- data/examples/basic_query_params.rb +3 -3
- data/examples/basic_think_time.rb +7 -4
- data/examples/basic_throughput_shaping_timer.rb +4 -4
- data/examples/etsy_login_browse.rb +21 -21
- data/lib/gridinit-jmeter/DSL.md +237 -0
- data/lib/gridinit-jmeter/{idl → dsl}/access_log_sampler.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/aggregate_graph.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/aggregate_report.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/ajp13_sampler.rb +5 -3
- data/lib/gridinit-jmeter/{idl → dsl}/assertion_results.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/beanshell_assertion.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/beanshell_listener.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/beanshell_postprocessor.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/beanshell_preprocessor.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/beanshell_sampler.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/beanshell_timer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/bsf_assertion.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/bsf_listener.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/bsf_postprocessor.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/bsf_preprocessor.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/bsf_sampler.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/bsf_timer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/compare_assertion.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/comparison_assertion_visualizer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/constant_throughput_timer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/constant_timer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/counter.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/cssjquery_extractor.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/csv_data_set_config.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/debug_postprocessor.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/debug_sampler.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/distribution_graphalpha.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/duration_assertion.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/foreach_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/ftp_request.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/ftp_request_defaults.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/gaussian_random_timer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/generate_summary_results.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/graph_results.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/html_assertion.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/html_link_parser.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/html_parameter_mask.rb +4 -2
- data/lib/gridinit-jmeter/dsl/http_authorization_manager.rb +36 -0
- data/lib/gridinit-jmeter/{idl → dsl}/http_cache_manager.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/http_cookie_manager.rb +5 -2
- data/lib/gridinit-jmeter/{idl → dsl}/http_header_manager.rb +10 -3
- data/lib/gridinit-jmeter/{idl → dsl}/http_request.rb +5 -3
- data/lib/gridinit-jmeter/{idl → dsl}/http_request_defaults.rb +15 -4
- data/lib/gridinit-jmeter/{idl → dsl}/http_url_rewriting_modifier.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/if_controller.rb +5 -2
- data/lib/gridinit-jmeter/{idl → dsl}/include_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/java_request.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/java_request_defaults.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/jdbc_connection_configuration.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/jdbc_postprocessor.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/jdbc_preprocessor.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/jdbc_request.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/jms_pointtopoint.rb +6 -4
- data/lib/gridinit-jmeter/{idl → dsl}/jms_publisher.rb +5 -3
- data/lib/gridinit-jmeter/{idl → dsl}/jms_subscriber.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/jsr223_assertion.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/jsr223_listener.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/jsr223_postprocessor.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/jsr223_preprocessor.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/jsr223_sampler.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/jsr223_timer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/junit_request.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/keystore_configuration.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/ldap_extended_request.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/ldap_extended_request_defaults.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/ldap_request.rb +5 -3
- data/lib/gridinit-jmeter/{idl → dsl}/ldap_request_defaults.rb +13 -4
- data/lib/gridinit-jmeter/{idl → dsl}/login_config_element.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/loop_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/mail_reader_sampler.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/mailer_visualizer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/md5hex_assertion.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/module_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/monitor_results.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/once_only_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/os_process_sampler.rb +6 -4
- data/lib/gridinit-jmeter/{idl → dsl}/poisson_random_timer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/random_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/random_order_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/random_variable.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/recording_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/regex_user_parameters.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/regular_expression_extractor.rb +5 -2
- data/lib/gridinit-jmeter/{idl → dsl}/response_assertion.rb +8 -3
- data/lib/gridinit-jmeter/{idl → dsl}/response_time_graph.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/result_status_action_handler.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/runtime_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/save_responses_to_a_file.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/simple_config_element.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/simple_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/simple_data_writer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/smime_assertion.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/smtp_sampler.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/soapxmlrpc_request.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/spline_visualizer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/summary_report.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/switch_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/synchronizing_timer.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/tcp_sampler.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/tcp_sampler_config.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/test_action.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/test_plan.rb +5 -3
- data/lib/gridinit-jmeter/{idl → dsl}/thread_group.rb +5 -3
- data/lib/gridinit-jmeter/{idl → dsl}/throughput_controller.rb +5 -3
- data/lib/gridinit-jmeter/{idl → dsl}/transaction_controller.rb +6 -3
- data/lib/gridinit-jmeter/{idl → dsl}/uniform_random_timer.rb +4 -2
- data/lib/gridinit-jmeter/dsl/user_defined_variables.rb +35 -0
- data/lib/gridinit-jmeter/{idl → dsl}/user_parameters.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/view_results_in_table.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/view_results_tree.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/while_controller.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/xml_assertion.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/xml_schema_assertion.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/xpath_assertion.rb +4 -2
- data/lib/gridinit-jmeter/{idl → dsl}/xpath_extractor.rb +4 -2
- data/lib/gridinit-jmeter/dsl.rb +170 -187
- data/lib/gridinit-jmeter/helpers/helper.rb +43 -0
- data/lib/gridinit-jmeter/helpers/parser.rb +109 -0
- data/lib/gridinit-jmeter/idl.rb +16 -6
- data/lib/gridinit-jmeter/idl.xml +54 -11
- data/lib/gridinit-jmeter/{listeners → plugins}/gc_console_status_logger.rb +0 -0
- data/lib/gridinit-jmeter/{listeners → plugins}/gc_latencies_over_time.rb +0 -0
- data/lib/gridinit-jmeter/{listeners → plugins}/gc_response_codes_per_second.rb +0 -0
- data/lib/gridinit-jmeter/{listeners → plugins}/gc_response_times_distribution.rb +0 -0
- data/lib/gridinit-jmeter/{listeners → plugins}/gc_response_times_over_time.rb +0 -0
- data/lib/gridinit-jmeter/{listeners → plugins}/gc_response_times_percentiles.rb +0 -0
- data/lib/gridinit-jmeter/{listeners → plugins}/gc_transactions_per_second.rb +0 -0
- data/lib/gridinit-jmeter/{timers/gc_throughput_shaping_timer.rb → plugins/gc_variable_throughput_timer.rb} +1 -1
- data/lib/gridinit-jmeter/version.rb +1 -1
- data/lib/gridinit-jmeter.rb +6 -105
- data/spec/dsl_spec.rb +377 -82
- metadata +131 -174
- data/examples/basic_proxy.rb +0 -8
- data/examples/basic_results.rb +0 -22
- data/examples/basic_run.rb +0 -12
- data/examples/basic_simple_data_writer.rb +0 -14
- data/examples/basic_stdout.rb +0 -8
- data/examples/basic_test_data.rb +0 -15
- data/examples/basic_testplan.jmx +0 -138
- data/examples/basic_testplan.rb +0 -44
- data/examples/jbhifi_now_search.rb +0 -94
- data/lib/gridinit-jmeter/assertions/response_assertion.rb +0 -55
- data/lib/gridinit-jmeter/config/auth_manager.rb +0 -26
- data/lib/gridinit-jmeter/config/cache_manager.rb +0 -20
- data/lib/gridinit-jmeter/config/cookie_manager.rb +0 -21
- data/lib/gridinit-jmeter/config/counter_config.rb +0 -24
- data/lib/gridinit-jmeter/config/header_manager.rb +0 -26
- data/lib/gridinit-jmeter/config/random_variable.rb +0 -24
- data/lib/gridinit-jmeter/config/request_defaults.rb +0 -31
- data/lib/gridinit-jmeter/config/user_defined_variable.rb +0 -25
- data/lib/gridinit-jmeter/controllers/if_controller.rb +0 -20
- data/lib/gridinit-jmeter/controllers/interleave.rb +0 -18
- data/lib/gridinit-jmeter/controllers/loop_controller.rb +0 -19
- data/lib/gridinit-jmeter/controllers/once_only.rb +0 -17
- data/lib/gridinit-jmeter/controllers/random_order.rb +0 -16
- data/lib/gridinit-jmeter/controllers/simple.rb +0 -17
- data/lib/gridinit-jmeter/controllers/switch.rb +0 -20
- data/lib/gridinit-jmeter/controllers/throughput.rb +0 -26
- data/lib/gridinit-jmeter/controllers/transaction.rb +0 -19
- data/lib/gridinit-jmeter/controllers/while_controller.rb +0 -18
- data/lib/gridinit-jmeter/helpers/dsl_helper.rb +0 -21
- data/lib/gridinit-jmeter/idl/http_authorization_manager.rb +0 -26
- data/lib/gridinit-jmeter/idl/user_defined_variables.rb +0 -26
- data/lib/gridinit-jmeter/listeners/aggregate_report.rb +0 -47
- data/lib/gridinit-jmeter/listeners/graph_visualizer.rb +0 -46
- data/lib/gridinit-jmeter/listeners/response_time_graph_visualizer.rb +0 -47
- data/lib/gridinit-jmeter/listeners/simple_data_writer.rb +0 -51
- data/lib/gridinit-jmeter/listeners/stat_visualizer.rb +0 -46
- data/lib/gridinit-jmeter/listeners/summary_report.rb +0 -46
- data/lib/gridinit-jmeter/listeners/table_visualizer.rb +0 -46
- data/lib/gridinit-jmeter/listeners/view_results_full_visualizer.rb +0 -57
- data/lib/gridinit-jmeter/post_processors/regex_extractor.rb +0 -34
- data/lib/gridinit-jmeter/post_processors/xpath_extractor.rb +0 -23
- data/lib/gridinit-jmeter/pre_processors/bean_shell_pre_processor.rb +0 -23
- data/lib/gridinit-jmeter/samplers/http_sampler.rb +0 -99
- data/lib/gridinit-jmeter/samplers/ldap_ext_sampler.rb +0 -36
- data/lib/gridinit-jmeter/samplers/soap_sampler.rb +0 -26
- data/lib/gridinit-jmeter/test_plan/test_plan.rb +0 -23
- data/lib/gridinit-jmeter/threads/thread_group.rb +0 -30
- data/lib/gridinit-jmeter/timers/gaussian_random_timer.rb +0 -18
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
2
|
-
require 'gridinit-jmeter'
|
|
3
|
-
require 'open-uri'
|
|
4
|
-
|
|
5
|
-
test do
|
|
6
|
-
|
|
7
|
-
defaults(
|
|
8
|
-
:domain => 'now.jbhifi.com.au',
|
|
9
|
-
:protocol => 'https',
|
|
10
|
-
:image_parser => true,
|
|
11
|
-
:concurrentDwn => true,
|
|
12
|
-
:embedded_url_re => '.+?now.((?!\$\{).)*$',
|
|
13
|
-
:concurrentPool => 4
|
|
14
|
-
)
|
|
15
|
-
|
|
16
|
-
with_user_agent :iphone, 'Accept' => '*/*'
|
|
17
|
-
|
|
18
|
-
cache :clear_each_iteration => true
|
|
19
|
-
|
|
20
|
-
cookies
|
|
21
|
-
|
|
22
|
-
threads 3, {:loops => 3} do
|
|
23
|
-
|
|
24
|
-
random_timer 1000, 1500
|
|
25
|
-
|
|
26
|
-
transaction 'jbhifi_home' do
|
|
27
|
-
visit 'home', '/'
|
|
28
|
-
visit 'choose', '/music/Home/Choose/?_=${__time(,)}', {
|
|
29
|
-
:follow_redirects => false,
|
|
30
|
-
:image_parser => true,
|
|
31
|
-
:embedded_url_re => 'none',
|
|
32
|
-
} do
|
|
33
|
-
with_xhr
|
|
34
|
-
assert 'contains', 'WELCOME TO JB HI-FI NOW'
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
transaction 'jbhifi_search_xhr' do
|
|
39
|
-
Loop 4 do
|
|
40
|
-
counter
|
|
41
|
-
bsh_pre(<<-EOS.strip_heredoc)
|
|
42
|
-
String[] varArray = {"de", "dead", "deadma", "deadmau5"};
|
|
43
|
-
idx = Integer.parseInt(vars.get("counter"))-1;
|
|
44
|
-
vars.put("search_value", varArray[idx]);
|
|
45
|
-
EOS
|
|
46
|
-
get 'tgsearch', '/tgsearch/predictSearch.aspx?id=MD84-225&k=${search_value}' do
|
|
47
|
-
with_xhr
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
transaction'jbhifi_search' do
|
|
53
|
-
post 'search', '/music/Search/Search', {
|
|
54
|
-
:fill_in => {
|
|
55
|
-
'searchType' => 'KW',
|
|
56
|
-
'keyword' => 'deadmau5',
|
|
57
|
-
'numRecords' => 25
|
|
58
|
-
}
|
|
59
|
-
} do
|
|
60
|
-
with_xhr
|
|
61
|
-
extract 'id', '"c":"(.+?)"', {
|
|
62
|
-
:match_number => 0,
|
|
63
|
-
:template => '$1$'
|
|
64
|
-
}
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
transaction'jbhifi_add_to_playlist' do
|
|
69
|
-
post 'playlist', '/music/Playlist/AddPreview/', {
|
|
70
|
-
:fill_in => {
|
|
71
|
-
'id' => '${id}'
|
|
72
|
-
}
|
|
73
|
-
} do
|
|
74
|
-
with_xhr
|
|
75
|
-
extract 'mp3', '"mp3":"(.+?)"', {
|
|
76
|
-
:match_number => 0,
|
|
77
|
-
:template => '$1$'
|
|
78
|
-
}
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
exists 'mp3' do
|
|
83
|
-
transaction'jbhifi_preview_track' do
|
|
84
|
-
get 'preview', '${mp3}'
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
view_results
|
|
89
|
-
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
# end.grid ENV['API_TOKEN']
|
|
93
|
-
end.jmx
|
|
94
|
-
# end.run(path: '/usr/share/jmeter/bin/')
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class ResponseAssertion
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(match, pattern, params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
|
|
10
|
-
<collectionProp name="Asserion.test_strings">
|
|
11
|
-
<stringProp name="#{Time.now.to_i}">#{pattern}</stringProp>
|
|
12
|
-
</collectionProp>
|
|
13
|
-
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
|
|
14
|
-
<boolProp name="Assertion.assume_success">false</boolProp>
|
|
15
|
-
<intProp name="Assertion.test_type">#{test_type(match)}</intProp>
|
|
16
|
-
</ResponseAssertion>
|
|
17
|
-
EOF
|
|
18
|
-
if params[:scope]
|
|
19
|
-
@doc.at_xpath('//ResponseAssertion') <<
|
|
20
|
-
Nokogiri::XML(<<-EOF.strip_heredoc).children
|
|
21
|
-
<stringProp name="Assertion.scope">#{params[:scope]}</stringProp>
|
|
22
|
-
EOF
|
|
23
|
-
params.delete [:scope]
|
|
24
|
-
end
|
|
25
|
-
update params
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
private
|
|
29
|
-
|
|
30
|
-
def test_type(match)
|
|
31
|
-
case match
|
|
32
|
-
when 'contains'
|
|
33
|
-
2
|
|
34
|
-
when 'not-contains'
|
|
35
|
-
6
|
|
36
|
-
when 'matches'
|
|
37
|
-
1
|
|
38
|
-
when 'not-matches'
|
|
39
|
-
5
|
|
40
|
-
when 'equals'
|
|
41
|
-
8
|
|
42
|
-
when 'not-equals'
|
|
43
|
-
12
|
|
44
|
-
when 'substring'
|
|
45
|
-
16
|
|
46
|
-
when 'not-substring'
|
|
47
|
-
20
|
|
48
|
-
else
|
|
49
|
-
2
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
end
|
|
55
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class AuthManager
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true">
|
|
10
|
-
<collectionProp name="AuthManager.auth_list">
|
|
11
|
-
<elementProp name="" elementType="Authorization">
|
|
12
|
-
<stringProp name="Authorization.url"></stringProp>
|
|
13
|
-
<stringProp name="Authorization.username"></stringProp>
|
|
14
|
-
<stringProp name="Authorization.password"></stringProp>
|
|
15
|
-
<stringProp name="Authorization.domain"></stringProp>
|
|
16
|
-
<stringProp name="Authorization.realm"></stringProp>
|
|
17
|
-
</elementProp>
|
|
18
|
-
</collectionProp>
|
|
19
|
-
</AuthManager>
|
|
20
|
-
EOF
|
|
21
|
-
update params
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class CacheManager
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="true">
|
|
10
|
-
<boolProp name="clearEachIteration">#{params[:clear_each_iteration] ? 'true' : 'false'}</boolProp>
|
|
11
|
-
<boolProp name="useExpires">#{params[:use_expires] ? 'true' : 'false'}</boolProp>
|
|
12
|
-
</CacheManager>
|
|
13
|
-
EOF
|
|
14
|
-
params.delete :clear_each_iteration
|
|
15
|
-
update params
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class CookieManager
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
|
|
10
|
-
<collectionProp name="CookieManager.cookies"/>
|
|
11
|
-
<boolProp name="CookieManager.clearEachIteration">#{params[:clear_each_iteration] ? 'true' : 'false'}</boolProp>
|
|
12
|
-
<stringProp name="CookieManager.policy">default</stringProp>
|
|
13
|
-
</CookieManager>
|
|
14
|
-
EOF
|
|
15
|
-
params.delete :clear_each_iteration
|
|
16
|
-
update params
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class CounterConfig
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(name, params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="#{name}" enabled="true">
|
|
10
|
-
<stringProp name="CounterConfig.start">1</stringProp>
|
|
11
|
-
<stringProp name="CounterConfig.end"></stringProp>
|
|
12
|
-
<stringProp name="CounterConfig.incr">1</stringProp>
|
|
13
|
-
<stringProp name="CounterConfig.name">#{name}</stringProp>
|
|
14
|
-
<stringProp name="CounterConfig.format"></stringProp>
|
|
15
|
-
<boolProp name="CounterConfig.per_user">true</boolProp>
|
|
16
|
-
<boolProp name="CounterConfig.reset_on_tg_iteration">true</boolProp>
|
|
17
|
-
</CounterConfig>
|
|
18
|
-
EOF
|
|
19
|
-
update params
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
end
|
|
24
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class HeaderManager
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
|
|
10
|
-
<collectionProp name="HeaderManager.headers"/>
|
|
11
|
-
</HeaderManager>
|
|
12
|
-
EOF
|
|
13
|
-
params.each do |name, value|
|
|
14
|
-
@doc.at_xpath('//collectionProp') <<
|
|
15
|
-
Nokogiri::XML(<<-EOF.strip_heredoc).children
|
|
16
|
-
<elementProp name="" elementType="Header">
|
|
17
|
-
<stringProp name="Header.name">#{name}</stringProp>
|
|
18
|
-
<stringProp name="Header.value">#{value}</stringProp>
|
|
19
|
-
</elementProp>
|
|
20
|
-
EOF
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class RandomVariableConfig
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(name, min, max, params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<RandomVariableConfig guiclass="TestBeanGUI" testclass="RandomVariableConfig" testname="#{name}" enabled="#{enabled(params)}">
|
|
10
|
-
<stringProp name="maximumValue">#{max}</stringProp>
|
|
11
|
-
<stringProp name="minimumValue">#{min}</stringProp>
|
|
12
|
-
<stringProp name="outputFormat"></stringProp>
|
|
13
|
-
<boolProp name="perThread">false</boolProp>
|
|
14
|
-
<stringProp name="randomSeed"></stringProp>
|
|
15
|
-
<stringProp name="variableName">#{name}</stringProp>
|
|
16
|
-
</RandomVariableConfig>
|
|
17
|
-
|
|
18
|
-
EOF
|
|
19
|
-
update params
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
end
|
|
24
|
-
end
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class RequestDefaults
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
|
|
10
|
-
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
|
11
|
-
<collectionProp name="Arguments.arguments"/>
|
|
12
|
-
</elementProp>
|
|
13
|
-
<stringProp name="HTTPSampler.domain"></stringProp>
|
|
14
|
-
<stringProp name="HTTPSampler.port"></stringProp>
|
|
15
|
-
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
|
|
16
|
-
<stringProp name="HTTPSampler.response_timeout"></stringProp>
|
|
17
|
-
<stringProp name="HTTPSampler.protocol"></stringProp>
|
|
18
|
-
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
|
19
|
-
<stringProp name="HTTPSampler.path"></stringProp>
|
|
20
|
-
<boolProp name="HTTPSampler.image_parser">false</boolProp>
|
|
21
|
-
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
|
22
|
-
<boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
|
|
23
|
-
<stringProp name="HTTPSampler.concurrentPool">4</stringProp>
|
|
24
|
-
</ConfigTestElement>
|
|
25
|
-
EOF
|
|
26
|
-
update params
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
end
|
|
31
|
-
end
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class UserDefinedVariable
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
|
10
|
-
<collectionProp name="Arguments.arguments">
|
|
11
|
-
<elementProp name="testguid" elementType="Argument">
|
|
12
|
-
<stringProp name="Argument.name"></stringProp>
|
|
13
|
-
<stringProp name="Argument.value"></stringProp>
|
|
14
|
-
<stringProp name="Argument.metadata">=</stringProp>
|
|
15
|
-
</elementProp>
|
|
16
|
-
</collectionProp>
|
|
17
|
-
<stringProp name="TestPlan.comments"></stringProp>
|
|
18
|
-
</Arguments>
|
|
19
|
-
EOF
|
|
20
|
-
update params
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
end
|
|
25
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class IfController
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(name, params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="#{name}" enabled="true">
|
|
10
|
-
<stringProp name="IfController.condition">#{params[:condition]}</stringProp>
|
|
11
|
-
<boolProp name="IfController.evaluateAll">false</boolProp>
|
|
12
|
-
<boolProp name="IfController.useExpression">false</boolProp>
|
|
13
|
-
</IfController>
|
|
14
|
-
EOF
|
|
15
|
-
update params
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class InterleaveController
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(name, params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<InterleaveControl guiclass="InterleaveControlGui" testclass="InterleaveControl" testname="#{name}" enabled="true">
|
|
10
|
-
<intProp name="InterleaveControl.style">1</intProp>
|
|
11
|
-
</InterleaveControl>
|
|
12
|
-
EOF
|
|
13
|
-
update params
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class LoopController
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(loops, params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
|
|
10
|
-
<boolProp name="LoopController.continue_forever">true</boolProp>
|
|
11
|
-
<stringProp name="LoopController.loops">#{loops}</stringProp>
|
|
12
|
-
</LoopController>
|
|
13
|
-
EOF
|
|
14
|
-
update params
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class OnceOnly
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(name, params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="#{name}" enabled="true">
|
|
10
|
-
</OnceOnlyController>
|
|
11
|
-
EOF
|
|
12
|
-
update params
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class RandomOrderController
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(name, params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<RandomOrderController guiclass="RandomOrderControllerGui" testclass="RandomOrderController" testname="#{name}" enabled="true"/>
|
|
10
|
-
EOF
|
|
11
|
-
update params
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class SimpleController
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
|
|
8
|
-
def initialize(name, params={})
|
|
9
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
10
|
-
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="#{name}" enabled="true"/>
|
|
11
|
-
EOF
|
|
12
|
-
update params
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class SwitchController
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
|
|
8
|
-
def initialize(name, switch_value, params={})
|
|
9
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
10
|
-
<SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="#{name}" enabled="#{enabled(params)}">
|
|
11
|
-
<stringProp name="SwitchController.value">#{switch_value}</stringProp>
|
|
12
|
-
</SwitchController>
|
|
13
|
-
|
|
14
|
-
EOF
|
|
15
|
-
update params
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
|
20
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class Throughput
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(name, percent, params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<ThroughputController guiclass="ThroughputControllerGui" testclass="ThroughputController" testname="#{percent.to_i}%_#{name}" enabled="true">
|
|
10
|
-
<intProp name="ThroughputController.style">1</intProp>
|
|
11
|
-
<boolProp name="ThroughputController.perThread">false</boolProp>
|
|
12
|
-
<intProp name="ThroughputController.maxThroughput">1</intProp>
|
|
13
|
-
<FloatProperty>
|
|
14
|
-
<name>ThroughputController.percentThroughput</name>
|
|
15
|
-
<value>#{percent.to_f}</value>
|
|
16
|
-
<savedValue>0.0</savedValue>
|
|
17
|
-
</FloatProperty>
|
|
18
|
-
</ThroughputController>
|
|
19
|
-
EOF
|
|
20
|
-
update params
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class Transaction
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(name, params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="#{name}" enabled="true">
|
|
10
|
-
<boolProp name="TransactionController.parent">true</boolProp>
|
|
11
|
-
<boolProp name="TransactionController.includeTimers">false</boolProp>
|
|
12
|
-
</TransactionController>
|
|
13
|
-
EOF
|
|
14
|
-
update params
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class WhileController
|
|
5
|
-
attr_accessor :doc
|
|
6
|
-
include Helper
|
|
7
|
-
def initialize(condition, params={})
|
|
8
|
-
@doc = Nokogiri::XML(<<-EOF.strip_heredoc)
|
|
9
|
-
<WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
|
|
10
|
-
<stringProp name="WhileController.condition">#{condition}</stringProp>
|
|
11
|
-
</WhileController>
|
|
12
|
-
EOF
|
|
13
|
-
update params
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
module Helper
|
|
4
|
-
def update(params)
|
|
5
|
-
params.each do |name, value|
|
|
6
|
-
node = @doc.children.xpath("//*[contains(@name,\"#{name.to_s}\")]")
|
|
7
|
-
node.first.content = value unless node.empty?
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def enabled(params)
|
|
12
|
-
#default to true unless explicitly set to false
|
|
13
|
-
if params.has_key?(:enabled) && params[:enabled] == false
|
|
14
|
-
'false'
|
|
15
|
-
else
|
|
16
|
-
'true'
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class DSL
|
|
5
|
-
def http_authorization_manager(params={}, &block)
|
|
6
|
-
node = Gridinit::Jmeter::HttpAuthorizationManager.new(params)
|
|
7
|
-
attach_node(node, &block)
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
class HttpAuthorizationManager
|
|
12
|
-
attr_accessor :doc
|
|
13
|
-
include Helper
|
|
14
|
-
|
|
15
|
-
def initialize(name, params={})
|
|
16
|
-
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
17
|
-
<AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="#{name}" enabled="true">
|
|
18
|
-
<collectionProp name="AuthManager.auth_list"/>
|
|
19
|
-
</AuthManager>)
|
|
20
|
-
EOS
|
|
21
|
-
update params
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Gridinit
|
|
2
|
-
module Jmeter
|
|
3
|
-
|
|
4
|
-
class DSL
|
|
5
|
-
def user_defined_variables(params={}, &block)
|
|
6
|
-
node = Gridinit::Jmeter::UserDefinedVariables.new(params)
|
|
7
|
-
attach_node(node, &block)
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
class UserDefinedVariables
|
|
12
|
-
attr_accessor :doc
|
|
13
|
-
include Helper
|
|
14
|
-
|
|
15
|
-
def initialize(name, params={})
|
|
16
|
-
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
|
17
|
-
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="#{name}" enabled="true">
|
|
18
|
-
<collectionProp name="Arguments.arguments"/>
|
|
19
|
-
</Arguments>)
|
|
20
|
-
EOS
|
|
21
|
-
update params
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
end
|
|
26
|
-
end
|