|
JMeter example source code file (GuiTest231.jmx)
The JMeter GuiTest231.jmx source code
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="2.1">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="GUI231" enabled="true">
<stringProp name="TestPlan.comments">All GUI test elements in JMeter 2.3.1
<boolProp name="TestPlan.functional_mode">false
<boolProp name="TestPlan.serialize_threadgroups">false
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="TestPlan.user_define_classpath">
</TestPlan>
<hashTree>
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">false
<stringProp name="LoopController.loops">1
</elementProp>
<stringProp name="ThreadGroup.num_threads">1
<stringProp name="ThreadGroup.ramp_time">1
<longProp name="ThreadGroup.start_time">1210207165000
<longProp name="ThreadGroup.end_time">1210207165000
<boolProp name="ThreadGroup.scheduler">false
<stringProp name="ThreadGroup.on_sample_error">continue
<stringProp name="ThreadGroup.duration">
<stringProp name="ThreadGroup.delay">
</ThreadGroup>
<hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Controllers" enabled="true"/>
<hashTree>
<ForeachController guiclass="ForeachControlPanel" testclass="ForeachController" testname="ForEach Controller" enabled="true">
<stringProp name="ForeachController.inputVal">Input
<stringProp name="ForeachController.returnVal">Output
<boolProp name="ForeachController.useSeparator">true
</ForeachController>
<hashTree/>
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
<stringProp name="IfController.condition">If condition
<stringProp name="IfController.evaluateAll">false
</IfController>
<hashTree/>
<IncludeController guiclass="IncludeControllerGui" testclass="IncludeController" testname="Include Controller" enabled="true">
<stringProp name="IncludeController.includepath">
</IncludeController>
<hashTree/>
<InterleaveControl guiclass="InterleaveControlGui" testclass="InterleaveControl" testname="Interleave Controller" enabled="true">
<intProp name="InterleaveControl.style">1
</InterleaveControl>
<hashTree/>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Simple Controller" enabled="true"/>
<hashTree/>
<LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">true
<stringProp name="LoopController.loops">123
</LoopController>
<hashTree/>
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller" enabled="true">
<collectionProp name="ModuleController.node_path">
<stringProp name="-1227702913">WorkBench
<stringProp name="2113393429">GUI231
<stringProp name="-1948168983">Thread Group
<stringProp name="-46680009">Controllers
<stringProp name="-1591803190">Simple Controller
</collectionProp>
</ModuleController>
<hashTree/>
<OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
<hashTree/>
<RandomController guiclass="RandomControlGui" testclass="RandomController" testname="Random Controller" enabled="true">
<intProp name="InterleaveControl.style">1
</RandomController>
<hashTree/>
<RandomOrderController guiclass="RandomOrderControllerGui" testclass="RandomOrderController" testname="Random Order Controller" enabled="true"/>
<hashTree/>
<RunTime guiclass="RunTimeGui" testclass="RunTime" testname="Runtime Controller" enabled="true">
<stringProp name="RunTime.seconds">321
</RunTime>
<hashTree/>
<SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
<intProp name="InterleaveControl.style">1
<stringProp name="SwitchController.value">7
</SwitchController>
<hashTree/>
<ThroughputController guiclass="ThroughputControllerGui" testclass="ThroughputController" testname="Throughput Controller" enabled="true">
<intProp name="ThroughputController.style">0
<boolProp name="ThroughputController.perThread">true
<intProp name="ThroughputController.maxThroughput">111
<FloatProperty>
<name>ThroughputController.percentThroughput
<value>100.0
<savedValue>0.0
</FloatProperty>
</ThroughputController>
<hashTree/>
<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="Transaction Controller" enabled="true">
<boolProp name="TransactionController.parent">false
</TransactionController>
<hashTree/>
<WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
<stringProp name="WhileController.condition">Condition
</WhileController>
<hashTree/>
<RecordingController guiclass="RecordController" testclass="RecordingController" testname="Recording Controller" enabled="true"/>
<hashTree/>
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Configuration" enabled="true"/>
<hashTree>
<CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Data Set Config" enabled="true">
<stringProp name="delimiter">,
<stringProp name="fileEncoding">encoding
<stringProp name="filename">filename
<boolProp name="recycle">true
<boolProp name="stopThread">false
<stringProp name="variableNames">a,b,c,d
</CSVDataSet>
<hashTree/>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="NAME" elementType="Argument">
<stringProp name="Argument.name">NAME
<stringProp name="Argument.value">VALUE
<stringProp name="Argument.metadata">=
</elementProp>
</collectionProp>
</Arguments>
<hashTree/>
<ConfigTestElement guiclass="LoginConfigGui" testclass="ConfigTestElement" testname="Login Config Element" enabled="true">
<stringProp name="ConfigTestElement.username">USER
<stringProp name="ConfigTestElement.password">PASS
</ConfigTestElement>
<hashTree/>
<ConfigTestElement guiclass="SimpleConfigGui" testclass="ConfigTestElement" testname="Simple Config Element" enabled="true"/>
<hashTree/>
<ConfigTestElement guiclass="FtpConfigGui" testclass="ConfigTestElement" testname="FTP Request Defaults" enabled="true">
<stringProp name="FTPSampler.server">server
<stringProp name="FTPSampler.filename">remote
<stringProp name="FTPSampler.localfilename">local
<stringProp name="FTPSampler.binarymode">true
<stringProp name="FTPSampler.saveresponse">true
<stringProp name="FTPSampler.upload">true
</ConfigTestElement>
<hashTree/>
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false
<stringProp name="Argument.value">Value
<stringProp name="Argument.metadata">=
<boolProp name="HTTPArgument.use_equals">true
<stringProp name="Argument.name">Name
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain">localhost
<stringProp name="HTTPSampler.port">8080
<stringProp name="HTTPSampler.protocol">http
<stringProp name="HTTPSampler.contentEncoding">utf8
<stringProp name="HTTPSampler.path">/path
</ConfigTestElement>
<hashTree/>
<AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true">
<collectionProp name="AuthManager.auth_list">
<elementProp name="" elementType="Authorization">
<stringProp name="Authorization.url">base
<stringProp name="Authorization.username">user
<stringProp name="Authorization.password">pass
<stringProp name="Authorization.domain">domain
<stringProp name="Authorization.realm">realm
</elementProp>
</collectionProp>
</AuthManager>
<hashTree/>
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
<collectionProp name="CookieManager.cookies">
<elementProp name="name" elementType="Cookie" testname="name">
<stringProp name="Cookie.value">value
<stringProp name="Cookie.domain">domain
<stringProp name="Cookie.path">path
<boolProp name="Cookie.secure">false
<longProp name="Cookie.expires">0
<stringProp name="Cookie.path_specified">true
<stringProp name="Cookie.domain_specified">true
</elementProp>
</collectionProp>
<boolProp name="CookieManager.clearEachIteration">false
</CookieManager>
<hashTree/>
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
<collectionProp name="HeaderManager.headers">
<elementProp name="" elementType="Header">
<stringProp name="Header.name">Browser
<stringProp name="Header.value">JMeter
</elementProp>
</collectionProp>
</HeaderManager>
<hashTree/>
<JavaConfig guiclass="JavaConfigGui" testclass="JavaConfig" testname="Java Request Defaults" enabled="true">
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="Sleep_Time" elementType="Argument">
<stringProp name="Argument.name">Sleep_Time
<stringProp name="Argument.value">100
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="Sleep_Mask" elementType="Argument">
<stringProp name="Argument.name">Sleep_Mask
<stringProp name="Argument.value">0xFF
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="Label" elementType="Argument">
<stringProp name="Argument.name">Label
<stringProp name="Argument.value">
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="ResponseCode" elementType="Argument">
<stringProp name="Argument.name">ResponseCode
<stringProp name="Argument.value">
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="ResponseMessage" elementType="Argument">
<stringProp name="Argument.name">ResponseMessage
<stringProp name="Argument.value">
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="Status" elementType="Argument">
<stringProp name="Argument.name">Status
<stringProp name="Argument.value">OK
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="SamplerData" elementType="Argument">
<stringProp name="Argument.name">SamplerData
<stringProp name="Argument.value">
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="ResultData" elementType="Argument">
<stringProp name="Argument.name">ResultData
<stringProp name="Argument.value">
<stringProp name="Argument.metadata">=
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
</JavaConfig>
<hashTree/>
<JDBCDataSource guiclass="TestBeanGUI" testclass="JDBCDataSource" testname="JDBC Connection Configuration" enabled="true">
<boolProp name="autocommit">true
<stringProp name="checkQuery">Select 1
<stringProp name="connectionAge">5000
<stringProp name="dataSource">variable
<stringProp name="dbUrl">url
<stringProp name="driver">driver
<boolProp name="keepAlive">true
<stringProp name="password">pass
<stringProp name="poolMax">10
<stringProp name="timeout">10000
<stringProp name="trimInterval">60000
<stringProp name="username">user
</JDBCDataSource>
<hashTree/>
<ConfigTestElement guiclass="LdapConfigGui" testclass="ConfigTestElement" testname="LDAP Request Defaults" enabled="true">
<stringProp name="servername">server
<stringProp name="port">port
<stringProp name="rootdn">DN
<boolProp name="user_defined">false
</ConfigTestElement>
<hashTree/>
<ConfigTestElement guiclass="LdapExtConfigGui" testclass="ConfigTestElement" testname="LDAP Extended Request Defaults" enabled="true">
<stringProp name="servername">
<stringProp name="port">
<stringProp name="rootdn">
<stringProp name="scope">2
<stringProp name="countlimit">
<stringProp name="timelimit">
<stringProp name="attributes">
<stringProp name="return_object">false
<stringProp name="deref_aliases">false
<stringProp name="connection_timeout">
<stringProp name="parseflag">false
<stringProp name="secure">false
<stringProp name="user_dn">
<stringProp name="user_pw">
<stringProp name="comparedn">
<stringProp name="comparefilt">
<stringProp name="modddn">
<stringProp name="newdn">
</ConfigTestElement>
<hashTree/>
<ConfigTestElement guiclass="TCPConfigGui" testclass="ConfigTestElement" testname="TCP Sampler Config" enabled="true">
<stringProp name="TCPSampler.server">server
<stringProp name="TCPSampler.reUseConnection">true
<stringProp name="TCPSampler.port">port
<stringProp name="TCPSampler.nodelay">false
<stringProp name="TCPSampler.timeout">1234
<stringProp name="TCPSampler.request">text
</ConfigTestElement>
<hashTree/>
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Timer" enabled="true"/>
<hashTree>
<BeanShellTimer guiclass="TestBeanGUI" testclass="BeanShellTimer" testname="BeanShell Timer" enabled="true">
<stringProp name="filename">file
<stringProp name="parameters">p1
<stringProp name="script">script
</BeanShellTimer>
<hashTree/>
<ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="Constant Throughput Timer" enabled="true">
<stringProp name="calcMode">this thread only
<doubleProp>
<name>throughput
<value>11.0
<savedValue>0.0
</doubleProp>
</ConstantThroughputTimer>
<hashTree/>
<SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="Synchronizing Timer" enabled="true">
<intProp name="groupSize">12
</SyncTimer>
<hashTree/>
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
<stringProp name="ConstantTimer.delay">3001
</ConstantTimer>
<hashTree/>
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Gaussian Random Timer" enabled="true">
<stringProp name="ConstantTimer.delay">3001
<stringProp name="RandomTimer.range">100.01
</GaussianRandomTimer>
<hashTree/>
<UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
<stringProp name="ConstantTimer.delay">01
<stringProp name="RandomTimer.range">100.01
</UniformRandomTimer>
<hashTree/>
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Pre-Processor" enabled="true"/>
<hashTree>
<BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
<stringProp name="filename">file
<stringProp name="parameters">p1
<stringProp name="script">script
</BeanShellPreProcessor>
<hashTree/>
<CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter" enabled="true">
<stringProp name="CounterConfig.start">11
<stringProp name="CounterConfig.end">33
<stringProp name="CounterConfig.incr">22
<stringProp name="CounterConfig.name">REF
<stringProp name="CounterConfig.format">##
<boolProp name="CounterConfig.per_user">false
</CounterConfig>
<hashTree/>
<UserParameters guiclass="UserParametersGui" testclass="UserParameters" testname="User Parameters" enabled="true">
<collectionProp name="UserParameters.names">
<stringProp name="2420395">Name
</collectionProp>
<collectionProp name="UserParameters.thread_values">
<collectionProp name="-442416642">
<stringProp name="111578566">user1
</collectionProp>
<collectionProp name="-442416604">
<stringProp name="111578567">user2
</collectionProp>
</collectionProp>
<boolProp name="UserParameters.per_iteration">false
</UserParameters>
<hashTree/>
<AnchorModifier guiclass="AnchorModifierGui" testclass="AnchorModifier" testname="HTML Link Parser" enabled="true"/>
<hashTree/>
<ParamModifier guiclass="ParamModifierGui" testclass="ParamModifier" testname="HTML Parameter Mask" enabled="true">
<elementProp name="ParamModifier.mask" elementType="ParamMask">
<stringProp name="ParamModifier.field_name">name
<stringProp name="ParamModifier.prefix">prefix
<longProp name="ParamModifier.lower_bound">11
<longProp name="ParamModifier.upper_bound">100
<longProp name="ParamModifier.increment">12
<stringProp name="ParamModifier.suffix">suffix
</elementProp>
</ParamModifier>
<hashTree/>
<URLRewritingModifier guiclass="URLRewritingModifierGui" testclass="URLRewritingModifier" testname="HTTP URL Re-writing Modifier" enabled="true">
<stringProp name="argument_name">JSESSION
<boolProp name="path_extension">false
<boolProp name="path_extension_no_equals">true
<boolProp name="path_extension_no_questionmark">false
<boolProp name="cache_value">true
</URLRewritingModifier>
<hashTree/>
<UserParameterModifier guiclass="UserParameterModifierGui" testclass="UserParameterModifier" testname="HTTP User Parameter Modifier" enabled="true">
<stringProp name="UserParameterModifier.xmluri">users.xml
</UserParameterModifier>
<hashTree/>
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Sampler" enabled="true">
<stringProp name="TestPlan.comments">JMS Sub and JMS P-P not available (JavaMail)
</GenericController>
<hashTree>
<FTPSampler guiclass="FtpTestSamplerGui" testclass="FTPSampler" testname="FTP Request" enabled="true">
<stringProp name="FTPSampler.server">server
<stringProp name="FTPSampler.filename">remote
<stringProp name="FTPSampler.localfilename">local
<stringProp name="FTPSampler.binarymode">true
<stringProp name="FTPSampler.saveresponse">true
<stringProp name="FTPSampler.upload">false
<stringProp name="ConfigTestElement.username">user
<stringProp name="ConfigTestElement.password">pass
</FTPSampler>
<hashTree/>
<AjpSampler guiclass="AjpSamplerGui" testclass="AjpSampler" testname="AJP/1.3 Sampler" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false
<stringProp name="Argument.value">Value
<stringProp name="Argument.metadata">=
<boolProp name="HTTPArgument.use_equals">true
<stringProp name="Argument.name">Name
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain">server
<stringProp name="HTTPSampler.port">port
<stringProp name="HTTPSampler.protocol">http
<stringProp name="HTTPSampler.contentEncoding">encoding
<stringProp name="HTTPSampler.path">/path
<stringProp name="HTTPSampler.method">GET
<boolProp name="HTTPSampler.follow_redirects">false
<boolProp name="HTTPSampler.auto_redirects">true
<boolProp name="HTTPSampler.use_keepalive">true
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false
<stringProp name="HTTPSampler.monitor">false
<stringProp name="HTTPSampler.embedded_url_re">match
<elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
<collectionProp name="HTTPFileArgs.files">
<elementProp name="path" elementType="HTTPFileArg">
<stringProp name="File.path">path
<stringProp name="File.mimetype">mime
<stringProp name="File.paramname">name
</elementProp>
</collectionProp>
</elementProp>
</AjpSampler>
<hashTree/>
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="HTTP Request" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="HTTPSampler.domain">server
<stringProp name="HTTPSampler.port">port
<stringProp name="HTTPSampler.protocol">https
<stringProp name="HTTPSampler.contentEncoding">utf8
<stringProp name="HTTPSampler.path">/delete
<stringProp name="HTTPSampler.method">DELETE
<boolProp name="HTTPSampler.follow_redirects">false
<boolProp name="HTTPSampler.auto_redirects">true
<boolProp name="HTTPSampler.use_keepalive">true
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false
<stringProp name="HTTPSampler.monitor">false
<stringProp name="HTTPSampler.embedded_url_re">
</HTTPSampler>
<hashTree/>
<HTTPSampler2 guiclass="HttpTestSampleGui2" testclass="HTTPSampler2" testname="HTTP Request HTTPClient" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="HTTPSampler.domain">localhost
<stringProp name="HTTPSampler.port">xxx
<stringProp name="HTTPSampler.protocol">
<stringProp name="HTTPSampler.contentEncoding">
<stringProp name="HTTPSampler.path">
<stringProp name="HTTPSampler.method">GET
<boolProp name="HTTPSampler.follow_redirects">false
<boolProp name="HTTPSampler.auto_redirects">true
<boolProp name="HTTPSampler.use_keepalive">true
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false
<stringProp name="HTTPSampler.monitor">false
<stringProp name="HTTPSampler.embedded_url_re">
</HTTPSampler2>
<hashTree/>
<SoapSampler guiclass="SoapSamplerGui" testclass="SoapSampler" testname="SOAP/XML-RPC Request" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="SoapSampler.URL_DATA">URL
<stringProp name="HTTPSamper.xml_data">Data
<stringProp name="SoapSampler.xml_data_file">filename
<stringProp name="SoapSampler.SOAP_ACTION">Action
<stringProp name="SoapSampler.SEND_SOAP_ACTION">true
<boolProp name="HTTPSampler.use_keepalive">false
</SoapSampler>
<hashTree/>
<WebServiceSampler guiclass="WebServiceSamplerGui" testclass="WebServiceSampler" testname="WebService(SOAP) Request" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="HTTPSampler.domain">server
<stringProp name="HTTPSampler.port">port
<stringProp name="HTTPSampler.protocol">http
<stringProp name="HTTPSampler.path">path
<stringProp name="WebserviceSampler.wsdl_url">wsdl
<stringProp name="HTTPSampler.method">POST
<stringProp name="Soap.Action">action
<stringProp name="HTTPSamper.xml_data">Data
<stringProp name="WebServiceSampler.xml_data_file">File
<stringProp name="WebServiceSampler.xml_path_loc">Folder
<stringProp name="WebserviceSampler.timeout">timeout
<stringProp name="WebServiceSampler.memory_cache">true
<stringProp name="WebServiceSampler.read_response">false
<stringProp name="WebServiceSampler.use_proxy">true
<stringProp name="WebServiceSampler.proxy_host">Host
<stringProp name="WebServiceSampler.proxy_port">9999
</WebServiceSampler>
<hashTree/>
<AccessLogSampler guiclass="TestBeanGUI" testclass="AccessLogSampler" testname="Access Log Sampler" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="domain">server
<boolProp name="imageParsing">false
<stringProp name="logFile">log
<stringProp name="parserClassName">org.apache.jmeter.protocol.http.util.accesslog.TCLogParser
<stringProp name="portString">port
<stringProp name="filterClassName">org.apache.jmeter.protocol.http.util.accesslog.LogFilter
</AccessLogSampler>
<hashTree/>
<BSFSampler guiclass="BSFSamplerGui" testclass="BSFSampler" testname="BSF Sampler" enabled="true">
<stringProp name="BSFSampler.filename">scriptfile
<stringProp name="BSFSampler.language">javascript
<stringProp name="BSFSampler.parameters">params
<stringProp name="BSFSampler.query">script
</BSFSampler>
<hashTree/>
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler" enabled="true">
<stringProp name="BeanShellSampler.query">script
<stringProp name="BeanShellSampler.filename">file
<stringProp name="BeanShellSampler.parameters">a,b,c
</BeanShellSampler>
<hashTree/>
<JUnitSampler guiclass="JUnitTestSamplerGui" testclass="JUnitSampler" testname="JUnit Request" enabled="true">
<stringProp name="junitSampler.classname">woolfel.DummyTestCase
<stringProp name="junitsampler.constructorstring">
<stringProp name="junitsampler.pkg.filter">
<stringProp name="junitsampler.success">Test successful
<stringProp name="junitsampler.success.code">1000
<stringProp name="junitsampler.failure">Test failed
<stringProp name="junitsampler.failure.code">0001
<stringProp name="junitsampler.exec.setup">false
<stringProp name="junitsampler.append.error">false
<stringProp name="junitsampler.append.exception">false
<stringProp name="junitsampler.method">testMethodPass
</JUnitSampler>
<hashTree/>
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Java Request" enabled="true">
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="Sleep_Time" elementType="Argument">
<stringProp name="Argument.name">Sleep_Time
<stringProp name="Argument.value">100
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="Sleep_Mask" elementType="Argument">
<stringProp name="Argument.name">Sleep_Mask
<stringProp name="Argument.value">0xFF
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="Label" elementType="Argument">
<stringProp name="Argument.name">Label
<stringProp name="Argument.value">
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="ResponseCode" elementType="Argument">
<stringProp name="Argument.name">ResponseCode
<stringProp name="Argument.value">
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="ResponseMessage" elementType="Argument">
<stringProp name="Argument.name">ResponseMessage
<stringProp name="Argument.value">
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="Status" elementType="Argument">
<stringProp name="Argument.name">Status
<stringProp name="Argument.value">OK
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="SamplerData" elementType="Argument">
<stringProp name="Argument.name">SamplerData
<stringProp name="Argument.value">
<stringProp name="Argument.metadata">=
</elementProp>
<elementProp name="ResultData" elementType="Argument">
<stringProp name="Argument.name">ResultData
<stringProp name="Argument.value">
<stringProp name="Argument.metadata">=
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
</JavaSampler>
<hashTree/>
<JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC Request" enabled="true">
<stringProp name="dataSource">POOL
<stringProp name="query">query
<stringProp name="queryArguments">v
<stringProp name="queryArgumentsTypes">t
<stringProp name="queryType">Select Statement
</JDBCSampler>
<hashTree/>
<PublisherSampler guiclass="JMSPublisherGui" testclass="PublisherSampler" testname="JMS Publisher" enabled="true">
<stringProp name="jms.jndi_properties">false
<stringProp name="jms.initial_context_factory">factory
<stringProp name="jms.provider_url">url
<stringProp name="jms.connection_factory">conn
<stringProp name="jms.topic">topic
<stringProp name="jms.security_principle">user
<stringProp name="jms.security_credentials">pass
<stringProp name="jms.text_message">message
<stringProp name="jms.input_file">
<stringProp name="jms.random_path">
<stringProp name="jms.config_choice">Textarea
<stringProp name="jms.config_msg_type">Object Message
<stringProp name="jms.iterations">count
<stringProp name="jms.authenticate">Not Required
</PublisherSampler>
<hashTree/>
<LDAPExtSampler guiclass="LdapExtTestSamplerGui" testclass="LDAPExtSampler" testname="LDAP Extended Request" enabled="true">
<stringProp name="servername">
<stringProp name="port">
<stringProp name="rootdn">
<stringProp name="scope">2
<stringProp name="countlimit">
<stringProp name="timelimit">
<stringProp name="attributes">
<stringProp name="return_object">false
<stringProp name="deref_aliases">false
<stringProp name="connection_timeout">
<stringProp name="parseflag">false
<stringProp name="secure">false
<stringProp name="user_dn">
<stringProp name="user_pw">
<stringProp name="comparedn">
<stringProp name="comparefilt">
<stringProp name="modddn">
<stringProp name="newdn">
</LDAPExtSampler>
<hashTree/>
<LDAPSampler guiclass="LdapTestSamplerGui" testclass="LDAPSampler" testname="LDAP Request" enabled="true">
<stringProp name="servername">server
<stringProp name="port">port
<stringProp name="rootdn">dn
<boolProp name="user_defined">false
<stringProp name="ConfigTestElement.username">user
<stringProp name="ConfigTestElement.password">pass
</LDAPSampler>
<hashTree/>
<MailReaderSampler guiclass="MailReaderSamplerGui" testclass="MailReaderSampler" testname="Mail Reader Sampler" enabled="true">
<stringProp name="host_type">imap
<stringProp name="folder">Trash
<intProp name="num_messages">-1
<boolProp name="delete">false
<stringProp name="host">server
<stringProp name="username">user
<stringProp name="password">pass
</MailReaderSampler>
<hashTree/>
<TCPSampler guiclass="TCPSamplerGui" testclass="TCPSampler" testname="TCP Sampler" enabled="true">
<stringProp name="TCPSampler.server">server
<stringProp name="TCPSampler.reUseConnection">true
<stringProp name="TCPSampler.port">port
<stringProp name="TCPSampler.nodelay">false
<stringProp name="TCPSampler.timeout">1000
<stringProp name="TCPSampler.request">text
<stringProp name="ConfigTestElement.username">user
<stringProp name="ConfigTestElement.password">pass
</TCPSampler>
<hashTree/>
<DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
<boolProp name="displayJMeterProperties">false
<boolProp name="displayJMeterVariables">true
<boolProp name="displaySystemProperties">false
</DebugSampler>
<hashTree/>
<TestAction guiclass="TestActionGui" testclass="TestAction" testname="Test Action" enabled="true">
<intProp name="ActionProcessor.action">1
<intProp name="ActionProcessor.target">0
<stringProp name="ActionProcessor.duration">1234
</TestAction>
<hashTree/>
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Assertion" enabled="true"/>
<hashTree>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
<stringProp name="-1513171730">must match
</collectionProp>
<stringProp name="Assertion.test_field">Assertion.response_data
<stringProp name="Assertion.assume_success">false
<intProp name="Assertion.test_type">1
</ResponseAssertion>
<hashTree/>
<BeanShellAssertion guiclass="BeanShellAssertionGui" testclass="BeanShellAssertion" testname="BeanShell Assertion" enabled="true">
<stringProp name="BeanShellAssertion.query">script
<stringProp name="BeanShellAssertion.filename">file
<stringProp name="BeanShellAssertion.parameters">a,b,c
</BeanShellAssertion>
<hashTree/>
<DurationAssertion guiclass="DurationAssertionGui" testclass="DurationAssertion" testname="Duration Assertion" enabled="true">
<stringProp name="DurationAssertion.duration">111
</DurationAssertion>
<hashTree/>
<HTMLAssertion guiclass="HTMLAssertionGui" testclass="HTMLAssertion" testname="HTML Assertion" enabled="true">
<longProp name="html_assertion_error_threshold">0
<longProp name="html_assertion_warning_threshold">0
<stringProp name="html_assertion_doctype">omit
<boolProp name="html_assertion_errorsonly">false
<longProp name="html_assertion_format">0
<stringProp name="html_assertion_filename">sadaasd
</HTMLAssertion>
<hashTree/>
<MD5HexAssertion guiclass="MD5HexAssertionGUI" testclass="MD5HexAssertion" testname="MD5Hex Assertion" enabled="true">
<stringProp name="MD5HexAssertion.size">abcd
</MD5HexAssertion>
<hashTree/>
<SizeAssertion guiclass="SizeAssertionGui" testclass="SizeAssertion" testname="Size Assertion" enabled="true">
<longProp name="SizeAssertion.size">44
<intProp name="SizeAssertion.operator">4
</SizeAssertion>
<hashTree/>
<XMLAssertion guiclass="XMLAssertionGui" testclass="XMLAssertion" testname="XML Assertion" enabled="true"/>
<hashTree/>
<XMLSchemaAssertion guiclass="XMLSchemaAssertionGUI" testclass="XMLSchemaAssertion" testname="XML Schema Assertion" enabled="true">
<stringProp name="xmlschema_assertion_filename">schema
</XMLSchemaAssertion>
<hashTree/>
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true">
<boolProp name="XPath.validate">false
<boolProp name="XPath.whitespace">false
<boolProp name="XPath.tolerant">false
<boolProp name="XPath.namespace">false
<boolProp name="XPath.negate">false
<stringProp name="XPath.xpath">/xpath
</XPathAssertion>
<hashTree/>
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Post-Processor" enabled="true"/>
<hashTree>
<BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
<stringProp name="filename">file
<stringProp name="parameters">p1
<stringProp name="script">script
</BeanShellPostProcessor>
<hashTree/>
<DebugPostProcessor guiclass="TestBeanGUI" testclass="DebugPostProcessor" testname="Debug PostProcessor" enabled="true"/>
<hashTree/>
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
<stringProp name="RegexExtractor.useHeaders">false
<stringProp name="RegexExtractor.refname">ref
<stringProp name="RegexExtractor.regex">exp
<stringProp name="RegexExtractor.template">$1$
<stringProp name="RegexExtractor.default">DEF
<stringProp name="RegexExtractor.match_number">12
</RegexExtractor>
<hashTree/>
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="XPath Extractor" enabled="true">
<stringProp name="XPathExtractor.default">def
<stringProp name="XPathExtractor.refname">ref
<stringProp name="XPathExtractor.xpathQuery">/abc
<boolProp name="XPathExtractor.tolerant">false
<boolProp name="XPathExtractor.namespace">true
</XPathExtractor>
<hashTree/>
<ResultAction guiclass="ResultActionGui" testclass="ResultAction" testname="Result Status Action Handler" enabled="true">
<intProp name="OnError.action">1
</ResultAction>
<hashTree/>
<ResultSaver guiclass="ResultSaverGui" testclass="ResultSaver" testname="Save Responses to a file" enabled="true">
<stringProp name="FileSaver.filename">prefix
<stringProp name="FileSaver.errorsonly">false
</ResultSaver>
<hashTree/>
<Summariser guiclass="SummariserGui" testclass="Summariser" testname="Generate Summary Results" enabled="true"/>
<hashTree/>
</hashTree>
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Listener" enabled="true"/>
<hashTree>
<ResultCollector guiclass="AssertionVisualizer" testclass="ResultCollector" testname="Assertion Results" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
<BeanShellListener guiclass="TestBeanGUI" testclass="BeanShellListener" testname="BeanShell Listener" enabled="true">
<stringProp name="filename">b
<stringProp name="parameters">a
<stringProp name="script">c
</BeanShellListener>
<hashTree/>
<ResultCollector guiclass="DistributionGraphVisualizer" testclass="ResultCollector" testname="Distribution Graph (alpha)" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="GraphAccumVisualizer" testclass="ResultCollector" testname="Graph Full Results" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="GraphVisualizer" testclass="ResultCollector" testname="Graph Results" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
<MailerResultCollector guiclass="MailerVisualizer" testclass="MailerResultCollector" testname="Mailer Visualizer" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<elementProp name="MailerResultCollector.mailer_model" elementType="MailerModel">
<stringProp name="MailerModel.successLimit">2
<stringProp name="MailerModel.failureLimit">2
<stringProp name="MailerModel.failureSubject">failed
<stringProp name="MailerModel.fromAddress">from
<stringProp name="MailerModel.smtpHost">server
<stringProp name="MailerModel.successSubject">ok
<stringProp name="MailerModel.addressie">to
</elementProp>
<stringProp name="filename">
</MailerResultCollector>
<hashTree/>
<ResultCollector guiclass="MonitorHealthVisualizer" testclass="ResultCollector" testname="Monitor Results" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Simple Data Writer" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="SplineVisualizer" testclass="ResultCollector" testname="Spline Visualizer" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="StatGraphVisualizer" testclass="ResultCollector" testname="Aggregate Graph" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
<boolProp name="ResultCollector.error_logging">false
<objProp>
<name>saveConfig
<value class="SampleSaveConfiguration">
<time>true
<latency>true
<timestamp>true
<success>true
<label>true
<code>true
<message>true
<threadName>true
<dataType>true
<encoding>false
<assertions>true
<subresults>true
<responseData>false
<samplerData>false
<xml>true
<fieldNames>false
<responseHeaders>false
<requestHeaders>false
<responseDataOnError>false
<saveAssertionResultsFailureMessage>false
<assertionsResultsToSave>0
<bytes>true
</value>
</objProp>
<stringProp name="filename">
</ResultCollector>
<hashTree/>
</hashTree>
</hashTree>
</hashTree>
</hashTree>
</jmeterTestPlan>
Other JMeter examples (source code examples)Here is a short list of links related to this JMeter GuiTest231.jmx source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.