diff options
Diffstat (limited to 'clover/tools/jmeter')
4 files changed, 42 insertions, 13 deletions
diff --git a/clover/tools/jmeter/jmeter-master/grpc/jmeter.proto b/clover/tools/jmeter/jmeter-master/grpc/jmeter.proto index 7213faa..f65ed6c 100644 --- a/clover/tools/jmeter/jmeter-master/grpc/jmeter.proto +++ b/clover/tools/jmeter/jmeter-master/grpc/jmeter.proto @@ -29,8 +29,10 @@ message ConfigJmeter { string url_names = 3; string url_protocols = 4; string url_methods = 5; - string loops = 6; - string ramp_time = 7; + string url_agents = 6; + string loops = 7; + string ramp_time = 8; + string duration = 9; } message JmeterReply { diff --git a/clover/tools/jmeter/jmeter-master/grpc/jmeter_pb2.py b/clover/tools/jmeter/jmeter-master/grpc/jmeter_pb2.py index e4a75fd..7a2d62c 100644 --- a/clover/tools/jmeter/jmeter-master/grpc/jmeter_pb2.py +++ b/clover/tools/jmeter/jmeter-master/grpc/jmeter_pb2.py @@ -19,7 +19,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='jmeter.proto', package='jmeter', syntax='proto3', - serialized_pb=_b('\n\x0cjmeter.proto\x12\x06jmeter\"F\n\nTestParams\x12\x12\n\nnum_slaves\x18\x01 \x01(\t\x12\x11\n\ttest_plan\x18\x02 \x01(\t\x12\x11\n\tslave_ips\x18\x03 \x01(\t\"\x96\x01\n\x0c\x43onfigJmeter\x12\x10\n\x08url_list\x18\x01 \x01(\t\x12\x13\n\x0bnum_threads\x18\x02 \x01(\t\x12\x11\n\turl_names\x18\x03 \x01(\t\x12\x15\n\rurl_protocols\x18\x04 \x01(\t\x12\x13\n\x0burl_methods\x18\x05 \x01(\t\x12\r\n\x05loops\x18\x06 \x01(\t\x12\x11\n\tramp_time\x18\x07 \x01(\t\"\x1e\n\x0bJmeterReply\x12\x0f\n\x07message\x18\x01 \x01(\t\",\n\x08JResults\x12\x10\n\x08r_format\x18\x01 \x01(\t\x12\x0e\n\x06r_file\x18\x02 \x01(\t2\xb3\x01\n\nController\x12\x36\n\x07GenTest\x12\x14.jmeter.ConfigJmeter\x1a\x13.jmeter.JmeterReply\"\x00\x12\x36\n\tStartTest\x12\x12.jmeter.TestParams\x1a\x13.jmeter.JmeterReply\"\x00\x12\x35\n\nGetResults\x12\x10.jmeter.JResults\x1a\x13.jmeter.JmeterReply\"\x00\x62\x06proto3') + serialized_pb=_b('\n\x0cjmeter.proto\x12\x06jmeter\"F\n\nTestParams\x12\x12\n\nnum_slaves\x18\x01 \x01(\t\x12\x11\n\ttest_plan\x18\x02 \x01(\t\x12\x11\n\tslave_ips\x18\x03 \x01(\t\"\xbc\x01\n\x0c\x43onfigJmeter\x12\x10\n\x08url_list\x18\x01 \x01(\t\x12\x13\n\x0bnum_threads\x18\x02 \x01(\t\x12\x11\n\turl_names\x18\x03 \x01(\t\x12\x15\n\rurl_protocols\x18\x04 \x01(\t\x12\x13\n\x0burl_methods\x18\x05 \x01(\t\x12\x12\n\nurl_agents\x18\x06 \x01(\t\x12\r\n\x05loops\x18\x07 \x01(\t\x12\x11\n\tramp_time\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\t \x01(\t\"\x1e\n\x0bJmeterReply\x12\x0f\n\x07message\x18\x01 \x01(\t\",\n\x08JResults\x12\x10\n\x08r_format\x18\x01 \x01(\t\x12\x0e\n\x06r_file\x18\x02 \x01(\t2\xb3\x01\n\nController\x12\x36\n\x07GenTest\x12\x14.jmeter.ConfigJmeter\x1a\x13.jmeter.JmeterReply\"\x00\x12\x36\n\tStartTest\x12\x12.jmeter.TestParams\x1a\x13.jmeter.JmeterReply\"\x00\x12\x35\n\nGetResults\x12\x10.jmeter.JResults\x1a\x13.jmeter.JmeterReply\"\x00\x62\x06proto3') ) @@ -113,19 +113,33 @@ _CONFIGJMETER = _descriptor.Descriptor( is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='loops', full_name='jmeter.ConfigJmeter.loops', index=5, + name='url_agents', full_name='jmeter.ConfigJmeter.url_agents', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='ramp_time', full_name='jmeter.ConfigJmeter.ramp_time', index=6, + name='loops', full_name='jmeter.ConfigJmeter.loops', index=6, number=7, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ramp_time', full_name='jmeter.ConfigJmeter.ramp_time', index=7, + number=8, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='duration', full_name='jmeter.ConfigJmeter.duration', index=8, + number=9, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -139,7 +153,7 @@ _CONFIGJMETER = _descriptor.Descriptor( oneofs=[ ], serialized_start=97, - serialized_end=247, + serialized_end=285, ) @@ -169,8 +183,8 @@ _JMETERREPLY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=249, - serialized_end=279, + serialized_start=287, + serialized_end=317, ) @@ -207,8 +221,8 @@ _JRESULTS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=281, - serialized_end=325, + serialized_start=319, + serialized_end=363, ) DESCRIPTOR.message_types_by_name['TestParams'] = _TESTPARAMS @@ -253,8 +267,8 @@ _CONTROLLER = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, options=None, - serialized_start=328, - serialized_end=507, + serialized_start=366, + serialized_end=545, methods=[ _descriptor.MethodDescriptor( name='GenTest', diff --git a/clover/tools/jmeter/jmeter-master/grpc/jmeter_server.py b/clover/tools/jmeter/jmeter-master/grpc/jmeter_server.py index cef180c..9f9e561 100644 --- a/clover/tools/jmeter/jmeter-master/grpc/jmeter_server.py +++ b/clover/tools/jmeter/jmeter-master/grpc/jmeter_server.py @@ -37,6 +37,7 @@ class Controller(jmeter_pb2_grpc.ControllerServicer): template_file = 'tests/jmx.template' unames = pickle.loads(r.url_names) umethods = pickle.loads(r.url_methods) + uagents = pickle.loads(r.url_agents) ulist = [] for url in pickle.loads(r.url_list): u = urlparse(url) @@ -58,7 +59,9 @@ class Controller(jmeter_pb2_grpc.ControllerServicer): num_threads=r.num_threads, url_names=unames, url_methods=umethods, + url_agents=uagents, ramp_time=r.ramp_time, + duration=r.duration, loops=r.loops, url_list=ulist ) diff --git a/clover/tools/jmeter/jmeter-master/tests/jmx.template b/clover/tools/jmeter/jmeter-master/tests/jmx.template index 1a6fa95..ad3414d 100644 --- a/clover/tools/jmeter/jmeter-master/tests/jmx.template +++ b/clover/tools/jmeter/jmeter-master/tests/jmx.template @@ -23,7 +23,7 @@ <longProp name="ThreadGroup.start_time">1385457190000</longProp> <longProp name="ThreadGroup.end_time">1385457190000</longProp> <boolProp name="ThreadGroup.scheduler">true</boolProp> - <stringProp name="ThreadGroup.duration">60</stringProp> + <stringProp name="ThreadGroup.duration">{{ duration }}</stringProp> <stringProp name="ThreadGroup.delay"/> <boolProp name="ThreadGroup.delayedStart">true</boolProp> </ThreadGroup> @@ -49,7 +49,17 @@ <stringProp name="HTTPSampler.embedded_url_re"/> <stringProp name="HTTPSampler.implementation"/> </HTTPSampler> + <hashTree> + <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> + <collectionProp name="HeaderManager.headers"> + <elementProp name="" elementType="Header"> + <stringProp name="Header.name">User-Agent</stringProp> + <stringProp name="Header.value">{{ url_agents[loop.index0] }}</stringProp> + </elementProp> + </collectionProp> + </HeaderManager> <hashTree/> + </hashTree> {%- endfor %} |