| <?xml version="1.0" encoding="UTF-8"?> |
| <jmeterTestPlan version="1.2" properties="2.9" jmeter="3.0-SNAPSHOT.20160419"> |
| <hashTree> |
| <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="build-adv-web-test-plan" enabled="true"> |
| <stringProp name="TestPlan.comments"></stringProp> |
| <boolProp name="TestPlan.functional_mode">false</boolProp> |
| <boolProp name="TestPlan.serialize_threadgroups">false</boolProp> |
| <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"></stringProp> |
| </TestPlan> |
| <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> |
| <stringProp name="HTTPSampler.domain"></stringProp> |
| <stringProp name="HTTPSampler.port"></stringProp> |
| <stringProp name="HTTPSampler.connect_timeout"></stringProp> |
| <stringProp name="HTTPSampler.response_timeout"></stringProp> |
| <stringProp name="HTTPSampler.protocol"></stringProp> |
| <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| <stringProp name="HTTPSampler.path"></stringProp> |
| <stringProp name="HTTPSampler.concurrentPool">6</stringProp> |
| </ConfigTestElement> |
| <hashTree/> |
| <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> |
| <collectionProp name="Arguments.arguments"> |
| <elementProp name="resources_folder" elementType="Argument"> |
| <stringProp name="Argument.name">resources_folder</stringProp> |
| <stringProp name="Argument.value">${__P(resources_folder, CHANGE_FOLDER)}</stringProp> |
| <stringProp name="Argument.desc">Change this value to folder containing your CSV files</stringProp> |
| <stringProp name="Argument.metadata">=</stringProp> |
| </elementProp> |
| <elementProp name="host" elementType="Argument"> |
| <stringProp name="Argument.name">host</stringProp> |
| <stringProp name="Argument.value">site.example</stringProp> |
| <stringProp name="Argument.metadata">=</stringProp> |
| </elementProp> |
| <elementProp name="bugzilla_host" elementType="Argument"> |
| <stringProp name="Argument.name">bugzilla_host</stringProp> |
| <stringProp name="Argument.value">bz.site.example</stringProp> |
| <stringProp name="Argument.metadata">=</stringProp> |
| </elementProp> |
| </collectionProp> |
| </Arguments> |
| <hashTree/> |
| <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> |
| <collectionProp name="CookieManager.cookies"/> |
| <boolProp name="CookieManager.clearEachIteration">true</boolProp> |
| <stringProp name="CookieManager.policy">standard</stringProp> |
| <stringProp name="CookieManager.implementation">org.apache.jmeter.protocol.http.control.HC4CookieHandler</stringProp> |
| </CookieManager> |
| <hashTree/> |
| <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> |
| <collectionProp name="HeaderManager.headers"> |
| <elementProp name="User-Agent" elementType="Header"> |
| <stringProp name="Header.name">User-Agent</stringProp> |
| <stringProp name="Header.value">Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:22.0) Gecko/20100101 Firefox/22.0</stringProp> |
| </elementProp> |
| <elementProp name="Connection" elementType="Header"> |
| <stringProp name="Header.name">Connection</stringProp> |
| <stringProp name="Header.value">keep-alive</stringProp> |
| </elementProp> |
| <elementProp name="Accept-Language" elementType="Header"> |
| <stringProp name="Header.name">Accept-Language</stringProp> |
| <stringProp name="Header.value">fr,en;q=0.8,fr-fr;q=0.5,en-us;q=0.3</stringProp> |
| </elementProp> |
| <elementProp name="Accept-Encoding" elementType="Header"> |
| <stringProp name="Header.name">Accept-Encoding</stringProp> |
| <stringProp name="Header.value">gzip, deflate</stringProp> |
| </elementProp> |
| <elementProp name="Accept" elementType="Header"> |
| <stringProp name="Header.name">Accept</stringProp> |
| <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8</stringProp> |
| </elementProp> |
| </collectionProp> |
| </HeaderManager> |
| <hashTree/> |
| <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="loginData" enabled="true"> |
| <stringProp name="TestPlan.comments">CSV file that must contains rows with 2 columns separated by comma, first column will be mapped to login, second one to password</stringProp> |
| <stringProp name="delimiter">,</stringProp> |
| <stringProp name="fileEncoding">UTF-8</stringProp> |
| <stringProp name="filename">${resources_folder}/login.csv</stringProp> |
| <boolProp name="quotedData">false</boolProp> |
| <boolProp name="recycle">true</boolProp> |
| <stringProp name="shareMode">shareMode.all</stringProp> |
| <boolProp name="stopThread">false</boolProp> |
| <stringProp name="variableNames">login,password</stringProp> |
| </CSVDataSet> |
| <hashTree/> |
| <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="JMeter Users" enabled="true"> |
| <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> |
| <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> |
| <boolProp name="LoopController.continue_forever">false</boolProp> |
| <stringProp name="LoopController.loops">2</stringProp> |
| </elementProp> |
| <stringProp name="ThreadGroup.num_threads">1</stringProp> |
| <stringProp name="ThreadGroup.ramp_time">5</stringProp> |
| <longProp name="ThreadGroup.start_time">1373789594000</longProp> |
| <longProp name="ThreadGroup.end_time">1373789594000</longProp> |
| <boolProp name="ThreadGroup.scheduler">false</boolProp> |
| <stringProp name="ThreadGroup.duration"></stringProp> |
| <stringProp name="ThreadGroup.delay"></stringProp> |
| </ThreadGroup> |
| <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> |
| <stringProp name="HTTPSampler.domain">${host}</stringProp> |
| <stringProp name="HTTPSampler.port"></stringProp> |
| <stringProp name="HTTPSampler.connect_timeout"></stringProp> |
| <stringProp name="HTTPSampler.response_timeout"></stringProp> |
| <stringProp name="HTTPSampler.protocol"></stringProp> |
| <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| <stringProp name="HTTPSampler.path"></stringProp> |
| <stringProp name="TestPlan.comments">Shows how to set defaults on page</stringProp> |
| <stringProp name="HTTPSampler.concurrentPool">4</stringProp> |
| </ConfigTestElement> |
| <hashTree/> |
| <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="CheckResponseCode200" enabled="true"> |
| <collectionProp name="Asserion.test_strings"> |
| <stringProp name="49586">200</stringProp> |
| </collectionProp> |
| <stringProp name="TestPlan.comments">Check Response code for all children samplers of JMeter Users Thread Group</stringProp> |
| <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> |
| <boolProp name="Assertion.assume_success">false</boolProp> |
| <intProp name="Assertion.test_type">8</intProp> |
| </ResponseAssertion> |
| <hashTree/> |
| <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Home Page" enabled="true"> |
| <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="Variables pré-définies" enabled="true"> |
| <collectionProp name="Arguments.arguments"/> |
| </elementProp> |
| <stringProp name="HTTPSampler.domain"></stringProp> |
| <stringProp name="HTTPSampler.port"></stringProp> |
| <stringProp name="HTTPSampler.connect_timeout"></stringProp> |
| <stringProp name="HTTPSampler.response_timeout"></stringProp> |
| <stringProp name="HTTPSampler.protocol"></stringProp> |
| <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| <stringProp name="HTTPSampler.path">/</stringProp> |
| <stringProp name="HTTPSampler.method">GET</stringProp> |
| <boolProp name="HTTPSampler.follow_redirects">true</boolProp> |
| <boolProp name="HTTPSampler.auto_redirects">false</boolProp> |
| <boolProp name="HTTPSampler.use_keepalive">true</boolProp> |
| <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> |
| <boolProp name="HTTPSampler.monitor">false</boolProp> |
| <stringProp name="HTTPSampler.embedded_url_re"></stringProp> |
| </HTTPSamplerProxy> |
| <hashTree> |
| <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> |
| <collectionProp name="Asserion.test_strings"> |
| <stringProp name="605898121"><title>Apache JMeter - Apache JMeter&trade;</title></stringProp> |
| </collectionProp> |
| <stringProp name="TestPlan.comments">We check page contains some text</stringProp> |
| <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> |
| <boolProp name="Assertion.assume_success">false</boolProp> |
| <intProp name="Assertion.test_type">16</intProp> |
| </ResponseAssertion> |
| <hashTree/> |
| </hashTree> |
| <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Changes" enabled="true"> |
| <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="Variables pré-définies" enabled="true"> |
| <collectionProp name="Arguments.arguments"/> |
| </elementProp> |
| <stringProp name="HTTPSampler.domain"></stringProp> |
| <stringProp name="HTTPSampler.port"></stringProp> |
| <stringProp name="HTTPSampler.connect_timeout"></stringProp> |
| <stringProp name="HTTPSampler.response_timeout"></stringProp> |
| <stringProp name="HTTPSampler.protocol"></stringProp> |
| <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| <stringProp name="HTTPSampler.path">/changes.html</stringProp> |
| <stringProp name="HTTPSampler.method">GET</stringProp> |
| <boolProp name="HTTPSampler.follow_redirects">true</boolProp> |
| <boolProp name="HTTPSampler.auto_redirects">false</boolProp> |
| <boolProp name="HTTPSampler.use_keepalive">true</boolProp> |
| <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> |
| <boolProp name="HTTPSampler.monitor">false</boolProp> |
| <stringProp name="HTTPSampler.embedded_url_re"></stringProp> |
| </HTTPSamplerProxy> |
| <hashTree> |
| <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Wait5s Before Page" enabled="true"> |
| <stringProp name="ConstantTimer.delay">5000</stringProp> |
| <stringProp name="RandomTimer.range">500.0</stringProp> |
| </GaussianRandomTimer> |
| <hashTree/> |
| <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> |
| <collectionProp name="Asserion.test_strings"> |
| <stringProp name="-420601512"><title>Apache JMeter - Changes</title></stringProp> |
| </collectionProp> |
| <stringProp name="TestPlan.comments">We check page contains some text</stringProp> |
| <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> |
| <boolProp name="Assertion.assume_success">false</boolProp> |
| <intProp name="Assertion.test_type">16</intProp> |
| </ResponseAssertion> |
| <hashTree/> |
| <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="randomBugIdExtractor" enabled="true"> |
| <stringProp name="TestPlan.comments">Shows how to extract bug id from a link in response</stringProp> |
| <stringProp name="RegexExtractor.useHeaders">false</stringProp> |
| <stringProp name="RegexExtractor.refname">bugId</stringProp> |
| <stringProp name="RegexExtractor.regex">https://bz.apache.org/bugzilla/show_bug.cgi\?id=([^"]+?)"</stringProp> |
| <stringProp name="RegexExtractor.template">$1$</stringProp> |
| <stringProp name="RegexExtractor.default">nv_bugId</stringProp> |
| <stringProp name="RegexExtractor.match_number">0</stringProp> |
| </RegexExtractor> |
| <hashTree/> |
| </hashTree> |
| <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="BugDetail Page" enabled="true"> |
| <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="Variables pré-définies" enabled="true"> |
| <collectionProp name="Arguments.arguments"/> |
| </elementProp> |
| <stringProp name="HTTPSampler.domain">${bugzilla_host}</stringProp> |
| <stringProp name="HTTPSampler.port"></stringProp> |
| <stringProp name="HTTPSampler.connect_timeout"></stringProp> |
| <stringProp name="HTTPSampler.response_timeout"></stringProp> |
| <stringProp name="HTTPSampler.protocol">https</stringProp> |
| <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| <stringProp name="HTTPSampler.path">/bugzilla/show_bug.cgi?id=${bugId}</stringProp> |
| <stringProp name="HTTPSampler.method">GET</stringProp> |
| <boolProp name="HTTPSampler.follow_redirects">true</boolProp> |
| <boolProp name="HTTPSampler.auto_redirects">false</boolProp> |
| <boolProp name="HTTPSampler.use_keepalive">true</boolProp> |
| <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> |
| <boolProp name="HTTPSampler.monitor">false</boolProp> |
| <stringProp name="HTTPSampler.embedded_url_re"></stringProp> |
| <stringProp name="TestPlan.comments">We use bugId variable extracted in Changes by randomBugIdExtractor</stringProp> |
| </HTTPSamplerProxy> |
| <hashTree> |
| <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Wait5s Before BugDetail Page" enabled="true"> |
| <stringProp name="ConstantTimer.delay">5000</stringProp> |
| <stringProp name="RandomTimer.range">500.0</stringProp> |
| </GaussianRandomTimer> |
| <hashTree/> |
| <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> |
| <collectionProp name="Asserion.test_strings"> |
| <stringProp name="-1440480625">This is <b>ASF Bugzilla</b>: the Apache Software Foundation bug system</stringProp> |
| </collectionProp> |
| <stringProp name="TestPlan.comments">We check page contains some text</stringProp> |
| <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> |
| <boolProp name="Assertion.assume_success">false</boolProp> |
| <intProp name="Assertion.test_type">16</intProp> |
| </ResponseAssertion> |
| <hashTree/> |
| </hashTree> |
| <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Login" enabled="false"> |
| <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="Variables pré-définies" enabled="true"> |
| <collectionProp name="Arguments.arguments"> |
| <elementProp name="username" elementType="HTTPArgument"> |
| <boolProp name="HTTPArgument.always_encode">true</boolProp> |
| <stringProp name="Argument.value">${login}</stringProp> |
| <stringProp name="Argument.metadata">=</stringProp> |
| <boolProp name="HTTPArgument.use_equals">true</boolProp> |
| <stringProp name="Argument.name">username</stringProp> |
| </elementProp> |
| <elementProp name="password" elementType="HTTPArgument"> |
| <boolProp name="HTTPArgument.always_encode">true</boolProp> |
| <stringProp name="Argument.value">${password}</stringProp> |
| <stringProp name="Argument.metadata">=</stringProp> |
| <boolProp name="HTTPArgument.use_equals">true</boolProp> |
| <stringProp name="Argument.name">password</stringProp> |
| </elementProp> |
| </collectionProp> |
| </elementProp> |
| <stringProp name="HTTPSampler.domain">www.example.com</stringProp> |
| <stringProp name="HTTPSampler.port"></stringProp> |
| <stringProp name="HTTPSampler.connect_timeout"></stringProp> |
| <stringProp name="HTTPSampler.response_timeout"></stringProp> |
| <stringProp name="HTTPSampler.protocol"></stringProp> |
| <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| <stringProp name="HTTPSampler.path">/loginform.html</stringProp> |
| <stringProp name="HTTPSampler.method">POST</stringProp> |
| <boolProp name="HTTPSampler.follow_redirects">true</boolProp> |
| <boolProp name="HTTPSampler.auto_redirects">false</boolProp> |
| <boolProp name="HTTPSampler.use_keepalive">true</boolProp> |
| <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> |
| <boolProp name="HTTPSampler.monitor">false</boolProp> |
| <stringProp name="HTTPSampler.embedded_url_re"></stringProp> |
| <stringProp name="TestPlan.comments">We use here data from loginData CSV DataSet</stringProp> |
| </HTTPSamplerProxy> |
| <hashTree/> |
| </hashTree> |
| <ResultCollector guiclass="StatGraphVisualizer" testclass="ResultCollector" testname="Aggregate Graph" enabled="true"> |
| <boolProp name="ResultCollector.error_logging">false</boolProp> |
| <objProp> |
| <name>saveConfig</name> |
| <value class="SampleSaveConfiguration"> |
| <time>true</time> |
| <latency>true</latency> |
| <timestamp>true</timestamp> |
| <success>true</success> |
| <label>true</label> |
| <code>true</code> |
| <message>true</message> |
| <threadName>true</threadName> |
| <dataType>false</dataType> |
| <encoding>false</encoding> |
| <assertions>true</assertions> |
| <subresults>false</subresults> |
| <responseData>false</responseData> |
| <samplerData>false</samplerData> |
| <xml>false</xml> |
| <fieldNames>true</fieldNames> |
| <responseHeaders>false</responseHeaders> |
| <requestHeaders>false</requestHeaders> |
| <responseDataOnError>true</responseDataOnError> |
| <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> |
| <assertionsResultsToSave>0</assertionsResultsToSave> |
| <bytes>true</bytes> |
| <hostname>true</hostname> |
| <threadCounts>true</threadCounts> |
| <sampleCount>true</sampleCount> |
| </value> |
| </objProp> |
| <stringProp name="filename"></stringProp> |
| </ResultCollector> |
| <hashTree/> |
| <ResultCollector guiclass="RespTimeGraphVisualizer" testclass="ResultCollector" testname="Response Time Graph" enabled="true"> |
| <boolProp name="ResultCollector.error_logging">false</boolProp> |
| <objProp> |
| <name>saveConfig</name> |
| <value class="SampleSaveConfiguration"> |
| <time>true</time> |
| <latency>true</latency> |
| <timestamp>true</timestamp> |
| <success>true</success> |
| <label>true</label> |
| <code>true</code> |
| <message>true</message> |
| <threadName>true</threadName> |
| <dataType>false</dataType> |
| <encoding>false</encoding> |
| <assertions>true</assertions> |
| <subresults>false</subresults> |
| <responseData>false</responseData> |
| <samplerData>false</samplerData> |
| <xml>false</xml> |
| <fieldNames>true</fieldNames> |
| <responseHeaders>false</responseHeaders> |
| <requestHeaders>false</requestHeaders> |
| <responseDataOnError>true</responseDataOnError> |
| <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> |
| <assertionsResultsToSave>0</assertionsResultsToSave> |
| <bytes>true</bytes> |
| <hostname>true</hostname> |
| <threadCounts>true</threadCounts> |
| <sampleCount>true</sampleCount> |
| </value> |
| </objProp> |
| <stringProp name="filename"></stringProp> |
| </ResultCollector> |
| <hashTree/> |
| <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> |
| <boolProp name="ResultCollector.error_logging">false</boolProp> |
| <objProp> |
| <name>saveConfig</name> |
| <value class="SampleSaveConfiguration"> |
| <time>true</time> |
| <latency>true</latency> |
| <timestamp>true</timestamp> |
| <success>true</success> |
| <label>true</label> |
| <code>true</code> |
| <message>true</message> |
| <threadName>true</threadName> |
| <dataType>false</dataType> |
| <encoding>false</encoding> |
| <assertions>true</assertions> |
| <subresults>false</subresults> |
| <responseData>false</responseData> |
| <samplerData>false</samplerData> |
| <xml>false</xml> |
| <fieldNames>true</fieldNames> |
| <responseHeaders>false</responseHeaders> |
| <requestHeaders>false</requestHeaders> |
| <responseDataOnError>true</responseDataOnError> |
| <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> |
| <assertionsResultsToSave>0</assertionsResultsToSave> |
| <bytes>true</bytes> |
| <hostname>true</hostname> |
| <threadCounts>true</threadCounts> |
| <sampleCount>true</sampleCount> |
| </value> |
| </objProp> |
| <stringProp name="TestPlan.comments">Use only during debug of script</stringProp> |
| <stringProp name="filename"></stringProp> |
| </ResultCollector> |
| <hashTree/> |
| </hashTree> |
| </hashTree> |
| </jmeterTestPlan> |