Last active
June 9, 2021 18:09
-
-
Save Marko-M/25453eefbd0378289a65 to your computer and use it in GitHub Desktop.
Magento 2 Merchant Beta fixed performance toolkit benchmark.jmx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<jmeterTestPlan version="1.2" properties="2.8" jmeter="2.13 r1665067"> | |
<hashTree> | |
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Toolkit" 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 name="host" elementType="Argument"> | |
<stringProp name="Argument.name">host</stringProp> | |
<stringProp name="Argument.value">${__P(host,localhost)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="base_path" elementType="Argument"> | |
<stringProp name="Argument.name">base_path</stringProp> | |
<stringProp name="Argument.value">${__P(base_path,/)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="report_save_path" elementType="Argument"> | |
<stringProp name="Argument.name">report_save_path</stringProp> | |
<stringProp name="Argument.value">${__P(report_save_path,./)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="ramp_period" elementType="Argument"> | |
<stringProp name="Argument.name">ramp_period</stringProp> | |
<stringProp name="Argument.value">${__P(ramp_period,300)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="orders" elementType="Argument"> | |
<stringProp name="Argument.name">orders</stringProp> | |
<stringProp name="Argument.value">${__P(orders,0)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="users" elementType="Argument"> | |
<stringProp name="Argument.name">users</stringProp> | |
<stringProp name="Argument.value">${__P(users,100)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="view_product_add_to_cart_percent" elementType="Argument"> | |
<stringProp name="Argument.name">view_product_add_to_cart_percent</stringProp> | |
<stringProp name="Argument.value">${__P(view_product_add_to_cart_percent,62)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="view_catalog_percent" elementType="Argument"> | |
<stringProp name="Argument.name">view_catalog_percent</stringProp> | |
<stringProp name="Argument.value">${__P(view_catalog_percent,30)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="guest_checkout_percent" elementType="Argument"> | |
<stringProp name="Argument.name">guest_checkout_percent</stringProp> | |
<stringProp name="Argument.value">${__P(guest_checkout_percent,4)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="customer_checkout_percent" elementType="Argument"> | |
<stringProp name="Argument.name">customer_checkout_percent</stringProp> | |
<stringProp name="Argument.value">${__P(customer_checkout_percent,4)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="loops" elementType="Argument"> | |
<stringProp name="Argument.name">loops</stringProp> | |
<stringProp name="Argument.value">${__P(loops,1)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="customer_password" elementType="Argument"> | |
<stringProp name="Argument.name">customer_password</stringProp> | |
<stringProp name="Argument.value">123123q</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="url_suffix" elementType="Argument"> | |
<stringProp name="Argument.name">url_suffix</stringProp> | |
<stringProp name="Argument.value">.html</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="admin_path" elementType="Argument"> | |
<stringProp name="Argument.name">admin_path</stringProp> | |
<stringProp name="Argument.value">${__P(admin_path,admin)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="admin-user" elementType="Argument"> | |
<stringProp name="Argument.name">admin-user</stringProp> | |
<stringProp name="Argument.value">${__P(admin-user,admin)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="admin-password" elementType="Argument"> | |
<stringProp name="Argument.name">admin-password</stringProp> | |
<stringProp name="Argument.value">${__P(admin-password,123123q)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="website_id" elementType="Argument"> | |
<stringProp name="Argument.name">website_id</stringProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="think_time_deviation" elementType="Argument"> | |
<stringProp name="Argument.name">think_time_deviation</stringProp> | |
<stringProp name="Argument.value">${__P(think_time_deviation, 1000)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
<elementProp name="think_time_delay_offset" elementType="Argument"> | |
<stringProp name="Argument.name">think_time_delay_offset</stringProp> | |
<stringProp name="Argument.value">${__P(think_time_delay_offset, 2000)}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
</collectionProp> | |
</elementProp> | |
<stringProp name="TestPlan.user_define_classpath"></stringProp> | |
<boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp> | |
</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">${host}</stringProp> | |
<stringProp name="HTTPSampler.port"></stringProp> | |
<stringProp name="HTTPSampler.connect_timeout"></stringProp> | |
<stringProp name="HTTPSampler.response_timeout"></stringProp> | |
<stringProp name="HTTPSampler.protocol">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">utf-8</stringProp> | |
<stringProp name="HTTPSampler.path"></stringProp> | |
<stringProp name="HTTPSampler.implementation">HttpClient4</stringProp> | |
<stringProp name="HTTPSampler.concurrentPool">4</stringProp> | |
</ConfigTestElement> | |
<hashTree/> | |
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> | |
<collectionProp name="HeaderManager.headers"> | |
<elementProp name="Accept-Language" elementType="Header"> | |
<stringProp name="Header.name">Accept-Language</stringProp> | |
<stringProp name="Header.value">en-US,en;q=0.5</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> | |
<elementProp name="User-Agent" elementType="Header"> | |
<stringProp name="Header.name">User-Agent</stringProp> | |
<stringProp name="Header.value">Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0</stringProp> | |
</elementProp> | |
<elementProp name="Accept-Encoding" elementType="Header"> | |
<stringProp name="Header.name">Accept-Encoding</stringProp> | |
<stringProp name="Header.value">gzip, deflate</stringProp> | |
</elementProp> | |
</collectionProp> | |
</HeaderManager> | |
<hashTree/> | |
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> | |
<collectionProp name="CookieManager.cookies"> | |
<elementProp name="product_list_limit" elementType="Cookie" testname="product_list_limit"> | |
<stringProp name="Cookie.value">30</stringProp> | |
<stringProp name="Cookie.domain">${host}</stringProp> | |
<stringProp name="Cookie.path">/</stringProp> | |
<boolProp name="Cookie.secure">false</boolProp> | |
<longProp name="Cookie.expires">0</longProp> | |
<boolProp name="Cookie.path_specified">true</boolProp> | |
<boolProp name="Cookie.domain_specified">true</boolProp> | |
</elementProp> | |
</collectionProp> | |
<boolProp name="CookieManager.clearEachIteration">true</boolProp> | |
</CookieManager> | |
<hashTree/> | |
<SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true"> | |
<stringProp name="ThreadGroup.on_sample_error">stoptest</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">1</stringProp> | |
</elementProp> | |
<stringProp name="ThreadGroup.num_threads">1</stringProp> | |
<stringProp name="ThreadGroup.ramp_time">1</stringProp> | |
<longProp name="ThreadGroup.start_time">1384333221000</longProp> | |
<longProp name="ThreadGroup.end_time">1384333221000</longProp> | |
<boolProp name="ThreadGroup.scheduler">false</boolProp> | |
<stringProp name="ThreadGroup.duration"></stringProp> | |
<stringProp name="ThreadGroup.delay"></stringProp> | |
</SetupThreadGroup> | |
<hashTree> | |
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> | |
<collectionProp name="CookieManager.cookies"> | |
<elementProp name="product_list_limit" elementType="Cookie" testname="product_list_limit"> | |
<stringProp name="Cookie.value">30</stringProp> | |
<stringProp name="Cookie.domain">${host}</stringProp> | |
<stringProp name="Cookie.path">/</stringProp> | |
<boolProp name="Cookie.secure">false</boolProp> | |
<longProp name="Cookie.expires">0</longProp> | |
<boolProp name="Cookie.path_specified">true</boolProp> | |
<boolProp name="Cookie.domain_specified">true</boolProp> | |
</elementProp> | |
</collectionProp> | |
<boolProp name="CookieManager.clearEachIteration">true</boolProp> | |
</CookieManager> | |
<hashTree/> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler: Clear properties" enabled="true"> | |
<stringProp name="BeanShellSampler.query">props.remove("category_url_key"); | |
props.remove("category_name"); | |
props.remove("simple_products_list"); | |
props.remove("configurable_products_list"); | |
props.remove("users"); | |
props.remove("customer_emails_list");</stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler: validate user defined variables" enabled="true"> | |
<stringProp name="BeanShellSampler.query">Boolean stopTestOnError (String error) { | |
log.error(error); | |
System.out.println(error); | |
SampleResult.setStopTest(true); | |
return false; | |
} | |
if ("${host}" == "1") { | |
return stopTestOnError("\"host\" parameter is not defined. Please define host parameter as: \"-Jhost=example.com\""); | |
} | |
if (${users} < 10) { | |
return stopTestOnError("\"users\" parameter is invalid. Its value must be 10 or greater"); | |
} | |
String path = "${base_path}"; | |
String slash = "/"; | |
if (!slash.equals(path.substring(path.length() -1)) || !slash.equals(path.substring(0, 1))) { | |
return stopTestOnError("\"base_path\" parameter is invalid. It must start and end with \"/\""); | |
} | |
</stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP Request: Open main page (for category extract)" 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">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_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> | |
<stringProp name="TestPlan.comments">Site - Get Category 1</stringProp> | |
</HTTPSamplerProxy> | |
<hashTree> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor: Extarct first category url key" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">category_url_key</stringProp> | |
<stringProp name="RegexExtractor.regex"><a href="http://${host}${base_path}(index.php/)?([^'"]+)${url_suffix}" class="level-top" ></stringProp> | |
<stringProp name="RegexExtractor.template">$2$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
<stringProp name="Scope.variable">simple_product_1_url_key</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor: Extarct first category name" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">category_name</stringProp> | |
<stringProp name="RegexExtractor.regex"><a href="http://${host}${base_path}(index.php/)?${category_url_key}${url_suffix}" class="level-top" ><span>([^'"]+)</span></stringProp> | |
<stringProp name="RegexExtractor.template">$2$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
<stringProp name="Scope.variable">simple_product_1_url_key</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Responce Assertion: Assert category url" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="484395188">^[a-z0-9-]+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">category_url_key</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Responce Assertion: Assert category name" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">category_name</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler: Collect category" enabled="true"> | |
<stringProp name="BeanShellSampler.query">props.put("category_url_key", vars.get("category_url_key")); | |
props.put("category_name", vars.get("category_name"));</stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP Request: Search simple products" 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">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}catalogsearch/result/index/?limit=30&q=Simple</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="Responce Assertion: Assert search result" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-68828613">Search results for: 'Simple'</stringProp> | |
<stringProp name="1647182604"><div class="search results"></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor: Extract product url keys" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">simple_products_url_keys</stringProp> | |
<stringProp name="RegexExtractor.regex"><a class="product-item-link"\s*href="http://${host}${base_path}(index.php/)?([^'"]+)${url_suffix}"></stringProp> | |
<stringProp name="RegexExtractor.template">$2$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">-1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
</hashTree> | |
<ForeachController guiclass="ForeachControlPanel" testclass="ForeachController" testname="ForEach Controller: Simple products loop (search result)" enabled="true"> | |
<stringProp name="ForeachController.inputVal">simple_products_url_keys</stringProp> | |
<stringProp name="ForeachController.returnVal">simple_products_url_key</stringProp> | |
<boolProp name="ForeachController.useSeparator">true</boolProp> | |
</ForeachController> | |
<hashTree> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP Request: Open Simple product" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${simple_products_url_key}${url_suffix}</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> | |
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="XPath Extractor: Extarct product id" enabled="true"> | |
<stringProp name="XPathExtractor.default"></stringProp> | |
<stringProp name="XPathExtractor.refname">simple_product_id</stringProp> | |
<stringProp name="XPathExtractor.xpathQuery">.//input[@type="hidden" and @name="product"]/@value</stringProp> | |
<boolProp name="XPathExtractor.validate">false</boolProp> | |
<boolProp name="XPathExtractor.tolerant">true</boolProp> | |
<boolProp name="XPathExtractor.namespace">false</boolProp> | |
</XPathExtractor> | |
<hashTree/> | |
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="XPath Extractor: Extarct product title" enabled="true"> | |
<stringProp name="XPathExtractor.default"></stringProp> | |
<stringProp name="XPathExtractor.refname">simple_product_title</stringProp> | |
<stringProp name="XPathExtractor.xpathQuery">.//*[@data-ui-id='page-title-wrapper']/text()</stringProp> | |
<boolProp name="XPathExtractor.validate">false</boolProp> | |
<boolProp name="XPathExtractor.tolerant">true</boolProp> | |
<boolProp name="XPathExtractor.namespace">false</boolProp> | |
</XPathExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Responce Assertion: Assert id" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="89649215">^\d+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">simple_product_id</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Responce Assertion: Assert title" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">simple_product_title</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Responce Assertion: Assert url key" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="484395188">^[a-z0-9-]+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">simple_products_url_key</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter" enabled="true"> | |
<stringProp name="CounterConfig.start">1</stringProp> | |
<stringProp name="CounterConfig.end"></stringProp> | |
<stringProp name="CounterConfig.incr">1</stringProp> | |
<stringProp name="CounterConfig.name">simple_products_counter</stringProp> | |
<stringProp name="CounterConfig.format"></stringProp> | |
<boolProp name="CounterConfig.per_user">false</boolProp> | |
</CounterConfig> | |
<hashTree/> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler: Collect simple product" enabled="true"> | |
<stringProp name="BeanShellSampler.query">import java.util.ArrayList; | |
import java.util.HashMap; | |
// If it is first iteration of cycle then recreate productList | |
if (1 == Integer.parseInt(vars.get("simple_products_counter"))) { | |
productList = new ArrayList(); | |
props.put("simple_products_list", productList); | |
} else { | |
productList = props.get("simple_products_list"); | |
} | |
// Create product map | |
Map productMap = new HashMap(); | |
productMap.put("id", vars.get("simple_product_id")); | |
productMap.put("title", vars.get("simple_product_title")); | |
productMap.put("url_key", vars.get("simple_products_url_key")); | |
// Collect products map in products list | |
productList.add(productMap); </stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
</hashTree> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP Request: Search configurable products" 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">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}catalogsearch/result/index/?limit=30&q=Configurable</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="Responce Assertion: Assert search result" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-1354477292">Search results for: 'Configurable'</stringProp> | |
<stringProp name="1647182604"><div class="search results"></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor: Extract product url keys" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">configurable_products_url_keys</stringProp> | |
<stringProp name="RegexExtractor.regex"><a class="product-item-link"\s*href="http://${host}${base_path}(index.php/)?([^'"]+)${url_suffix}">\s*Configurable</stringProp> | |
<stringProp name="RegexExtractor.template">$2$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">-1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
</hashTree> | |
<ForeachController guiclass="ForeachControlPanel" testclass="ForeachController" testname="ForEach Controller: Configurable products loop (search result)" enabled="true"> | |
<stringProp name="ForeachController.inputVal">configurable_products_url_keys</stringProp> | |
<stringProp name="ForeachController.returnVal">configurable_products_url_key</stringProp> | |
<boolProp name="ForeachController.useSeparator">true</boolProp> | |
</ForeachController> | |
<hashTree> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP Request: Open Configurable product" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${configurable_products_url_key}${url_suffix}</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> | |
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="XPath Extractor: Extarct product id" enabled="true"> | |
<stringProp name="XPathExtractor.default"></stringProp> | |
<stringProp name="XPathExtractor.refname">configurable_product_id</stringProp> | |
<stringProp name="XPathExtractor.xpathQuery">.//input[@type="hidden" and @name="product"]/@value</stringProp> | |
<boolProp name="XPathExtractor.validate">false</boolProp> | |
<boolProp name="XPathExtractor.tolerant">true</boolProp> | |
<boolProp name="XPathExtractor.namespace">false</boolProp> | |
</XPathExtractor> | |
<hashTree/> | |
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="XPath Extractor: Extarct product title" enabled="true"> | |
<stringProp name="XPathExtractor.default"></stringProp> | |
<stringProp name="XPathExtractor.refname">configurable_product_title</stringProp> | |
<stringProp name="XPathExtractor.xpathQuery">.//*[@data-ui-id='page-title-wrapper']/text()</stringProp> | |
<boolProp name="XPathExtractor.validate">false</boolProp> | |
<boolProp name="XPathExtractor.tolerant">true</boolProp> | |
<boolProp name="XPathExtractor.namespace">false</boolProp> | |
</XPathExtractor> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor: Extarct product attribute id" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">configurable_product_attribute_id</stringProp> | |
<stringProp name="RegexExtractor.regex">"attributes":\{"(\d+)"</stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor: Extarct product attribute option id" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">configurable_product_attribute_option_id</stringProp> | |
<stringProp name="RegexExtractor.regex">"options":\[\{"id":"(\d+)"</stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Responce Assertion: Assert id" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="89649215">^\d+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">configurable_product_id</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Responce Assertion: Assert title" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">configurable_product_title</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Responce Assertion: Assert url key" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="484395188">^[a-z0-9-]+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">configurable_products_url_key</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion: Assert attribute id" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="89649215">^\d+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">configurable_product_attribute_id</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion: Assert attribute option id" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="89649215">^\d+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">configurable_product_attribute_option_id</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter" enabled="true"> | |
<stringProp name="CounterConfig.start">1</stringProp> | |
<stringProp name="CounterConfig.end"></stringProp> | |
<stringProp name="CounterConfig.incr">1</stringProp> | |
<stringProp name="CounterConfig.name">configurable_products_counter</stringProp> | |
<stringProp name="CounterConfig.format"></stringProp> | |
<boolProp name="CounterConfig.per_user">false</boolProp> | |
</CounterConfig> | |
<hashTree/> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler: Collect configurable product" enabled="true"> | |
<stringProp name="BeanShellSampler.query">import java.util.ArrayList; | |
import java.util.HashMap; | |
// If it is first iteration of cycle then recreate productList | |
if (1 == Integer.parseInt(vars.get("configurable_products_counter"))) { | |
productList = new ArrayList(); | |
props.put("configurable_products_list", productList); | |
} else { | |
productList = props.get("configurable_products_list"); | |
} | |
// Create product map | |
Map productMap = new HashMap(); | |
productMap.put("id", vars.get("configurable_product_id")); | |
productMap.put("title", vars.get("configurable_product_title")); | |
productMap.put("url_key", vars.get("configurable_products_url_key")); | |
productMap.put("attribute_id", vars.get("configurable_product_attribute_id")); | |
productMap.put("attribute_option_id", vars.get("configurable_product_attribute_option_id")); | |
// Collect products map in products list | |
productList.add(productMap); </stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
</hashTree> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Admin - Login" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${admin_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="Assert login form shown" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-1397214398">Welcome</stringProp> | |
<stringProp name="-515240035"><title>Magento Admin</title></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form key" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">admin_form_key</stringProp> | |
<stringProp name="RegexExtractor.regex"><input name="form_key" type="hidden" value="([^'"]+)" /></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_key extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">admin_form_key</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Admin - Login Submit Form" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="dummy" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">dummy</stringProp> | |
</elementProp> | |
<elementProp name="form_key" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${admin_form_key}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">form_key</stringProp> | |
</elementProp> | |
<elementProp name="login[password]" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">true</boolProp> | |
<stringProp name="Argument.value">${admin-password}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">login[password]</stringProp> | |
</elementProp> | |
<elementProp name="login[username]" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">true</boolProp> | |
<stringProp name="Argument.value">${admin-user}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">login[username]</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${admin_path}</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> | |
</HTTPSamplerProxy> | |
<hashTree> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert logged-in" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="1847038912"><title>Dashboard / Magento Admin</title></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Admin - Open Customer Grid" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${admin_path}/customer/index/</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="Assert Customer Grid" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-679437259">Customers</stringProp> | |
<stringProp name="495525733"><title>Customers / Customers / Magento Admin</title></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Admin - Prepare Customers search Data" enabled="true"> | |
<stringProp name="BeanShellSampler.query">import org.apache.jmeter.protocol.http.util.Base64Encoder; | |
String searchData = "customer_since[locale]=en_US&website_id=1"; | |
vars.put("searchData", new String(Base64Encoder.encode(searchData)));</stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Admin - Search Customers" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="ajax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">ajax</stringProp> | |
</elementProp> | |
<elementProp name="isAjax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">isAjax</stringProp> | |
</elementProp> | |
<elementProp name="form_key" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${admin_form_key}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">form_key</stringProp> | |
</elementProp> | |
<elementProp name="internal_customer" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">internal_customer</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${admin_path}/customer/index/grid/limit/${users}/filter/${searchData}</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> | |
</HTTPSamplerProxy> | |
<hashTree> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-1083053965">We couldn't find any records.</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">6</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<XPathAssertion guiclass="XPathAssertionGui" testclass="XPathAssertion" testname="XPath Assertion" enabled="true"> | |
<boolProp name="XPath.negate">false</boolProp> | |
<stringProp name="XPath.xpath">//table[@id='customerGrid_table']//tr[@data-role='row']</stringProp> | |
<boolProp name="XPath.validate">false</boolProp> | |
<boolProp name="XPath.whitespace">false</boolProp> | |
<boolProp name="XPath.tolerant">true</boolProp> | |
<boolProp name="XPath.namespace">false</boolProp> | |
<boolProp name="XPath.show_warnings">true</boolProp> | |
<boolProp name="XPath.report_errors">true</boolProp> | |
</XPathAssertion> | |
<hashTree/> | |
<XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="XPath Extractor" enabled="true"> | |
<stringProp name="XPathExtractor.default"></stringProp> | |
<stringProp name="XPathExtractor.refname">customer_emails</stringProp> | |
<stringProp name="XPathExtractor.xpathQuery">//*[@id='customerGrid_table']//td[@data-column='email']/text()</stringProp> | |
<boolProp name="XPathExtractor.validate">false</boolProp> | |
<boolProp name="XPathExtractor.tolerant">true</boolProp> | |
<boolProp name="XPathExtractor.namespace">false</boolProp> | |
<boolProp name="XPathExtractor.show_warnings">true</boolProp> | |
<boolProp name="XPathExtractor.report_errors">true</boolProp> | |
</XPathExtractor> | |
<hashTree/> | |
</hashTree> | |
<ForeachController guiclass="ForeachControlPanel" testclass="ForeachController" testname="ForEach Controller: customer emails loop (search result)" enabled="true"> | |
<stringProp name="ForeachController.inputVal">customer_emails</stringProp> | |
<stringProp name="ForeachController.returnVal">customer_email</stringProp> | |
<boolProp name="ForeachController.useSeparator">true</boolProp> | |
</ForeachController> | |
<hashTree> | |
<CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter" enabled="true"> | |
<stringProp name="CounterConfig.start">1</stringProp> | |
<stringProp name="CounterConfig.end"></stringProp> | |
<stringProp name="CounterConfig.incr">1</stringProp> | |
<stringProp name="CounterConfig.name">email_counter</stringProp> | |
<stringProp name="CounterConfig.format"></stringProp> | |
<boolProp name="CounterConfig.per_user">false</boolProp> | |
</CounterConfig> | |
<hashTree/> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler: Collect customer emails" enabled="true"> | |
<stringProp name="BeanShellSampler.query">import java.util.ArrayList; | |
// If it is first iteration of cycle then recreate emailsList | |
if (1 == Integer.parseInt(vars.get("email_counter"))) { | |
emailsList = new ArrayList(); | |
props.put("customer_emails_list", emailsList); | |
} else { | |
emailsList = props.get("customer_emails_list"); | |
} | |
emailsList.add(vars.get("customer_email"));</stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
</hashTree> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler: Validate properties and count users" enabled="true"> | |
<stringProp name="BeanShellSampler.query">Boolean stopTestOnError (String error) { | |
log.error(error); | |
System.out.println(error); | |
SampleResult.setStopTest(true); | |
return false; | |
} | |
if (props.get("simple_products_list") == null) { | |
return stopTestOnError("Cannot find simple products. Test stopped."); | |
} | |
if (props.get("configurable_products_list") == null) { | |
return stopTestOnError("Cannot find configurable products. Test stopped."); | |
} | |
if (props.get("customer_emails_list") == null) { | |
return stopTestOnError("Cannot find customer emails. Test stopped."); | |
} | |
int orders = Integer.parseInt(vars.get("orders")); | |
if (orders > 0) { | |
int checkout_sum = Integer.parseInt(vars.get("guest_checkout_percent")) + Integer.parseInt(vars.get("customer_checkout_percent")); | |
checkout_sum = checkout_sum > 0 ? checkout_sum : 1; | |
int users = orders * (100 / checkout_sum); | |
props.put("users", users); | |
} else { | |
props.put("users", Integer.parseInt(vars.get("users"))); | |
} | |
</stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="WarmUp Add To Cart" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">product</stringProp> | |
</elementProp> | |
<elementProp name="related_product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">related_product</stringProp> | |
</elementProp> | |
<elementProp name="qty" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">qty</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}checkout/cart/add</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> | |
</HTTPSamplerProxy> | |
<hashTree/> | |
</hashTree> | |
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Category Product browsing" enabled="true"> | |
<stringProp name="ThreadGroup.on_sample_error">startnextloop</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">${loops}</stringProp> | |
</elementProp> | |
<stringProp name="ThreadGroup.num_threads">${__javaScript(Math.round(props.get("users")*${view_catalog_percent}/100>>0))}</stringProp> | |
<stringProp name="ThreadGroup.ramp_time">${ramp_period}</stringProp> | |
<longProp name="ThreadGroup.start_time">1304708488000</longProp> | |
<longProp name="ThreadGroup.end_time">1304708488000</longProp> | |
<boolProp name="ThreadGroup.scheduler">false</boolProp> | |
<stringProp name="ThreadGroup.duration"></stringProp> | |
<stringProp name="ThreadGroup.delay"></stringProp> | |
</ThreadGroup> | |
<hashTree> | |
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> | |
<collectionProp name="CookieManager.cookies"> | |
<elementProp name="product_list_limit" elementType="Cookie" testname="product_list_limit"> | |
<stringProp name="Cookie.value">30</stringProp> | |
<stringProp name="Cookie.domain">${host}</stringProp> | |
<stringProp name="Cookie.path">/</stringProp> | |
<boolProp name="Cookie.secure">false</boolProp> | |
<longProp name="Cookie.expires">0</longProp> | |
<boolProp name="Cookie.path_specified">true</boolProp> | |
<boolProp name="Cookie.domain_specified">true</boolProp> | |
</elementProp> | |
</collectionProp> | |
<boolProp name="CookieManager.clearEachIteration">true</boolProp> | |
</CookieManager> | |
<hashTree/> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Get arguments(CatProdBrows)" enabled="true"> | |
<stringProp name="TestPlan.comments">Passing arguments between threads</stringProp> | |
<stringProp name="BeanShellSampler.query">number = (int)(Math.random() * props.get("simple_products_list").size()); | |
simpleList = props.get("simple_products_list").get(number); | |
vars.put("simple_product_1_url_key", simpleList.get("url_key")); | |
vars.put("simple_product_1_name", simpleList.get("title")); | |
do { | |
number1 = (int)(Math.random() * props.get("simple_products_list").size()); | |
} while(number == number1); | |
simpleList = props.get("simple_products_list").get(number1); | |
vars.put("simple_product_2_url_key", simpleList.get("url_key")); | |
vars.put("simple_product_2_name", simpleList.get("title")); | |
number = (int)(Math.random() * props.get("configurable_products_list").size()); | |
configurableList = props.get("configurable_products_list").get(number); | |
vars.put("configurable_product_1_url_key", configurableList.get("url_key")); | |
vars.put("configurable_product_1_name", configurableList.get("title")); | |
vars.put("category_url_key", props.get("category_url_key")); | |
vars.put("category_name", props.get("category_name"));</stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">true</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Open Home Page(CatProdBrows)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_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="571386695"><title>Home page</title></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Open Category(CatProdBrows)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${category_url_key}${url_suffix}</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="1210004667"><span class="base" data-ui-id="page-title">${category_name}</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">6</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 1 View(CatProdBrows)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${simple_product_1_url_key}${url_suffix}</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="1254853024"><title>${simple_product_1_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 2 View(CatProdBrows)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${simple_product_2_url_key}${url_suffix}</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="2142356705"><title>${simple_product_2_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Configurable Product 1 View(CatProdBrows)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${configurable_product_1_url_key}${url_suffix}</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="199922279"><title>${configurable_product_1_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
</hashTree> | |
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Product browsing and adding items to the cart" enabled="true"> | |
<stringProp name="ThreadGroup.on_sample_error">startnextloop</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">${loops}</stringProp> | |
</elementProp> | |
<stringProp name="ThreadGroup.num_threads">${__javaScript(Math.round(props.get("users")*${view_product_add_to_cart_percent}/100>>0))}</stringProp> | |
<stringProp name="ThreadGroup.ramp_time">${ramp_period}</stringProp> | |
<longProp name="ThreadGroup.start_time">1304708488000</longProp> | |
<longProp name="ThreadGroup.end_time">1304708488000</longProp> | |
<boolProp name="ThreadGroup.scheduler">false</boolProp> | |
<stringProp name="ThreadGroup.duration"></stringProp> | |
<stringProp name="ThreadGroup.delay"></stringProp> | |
</ThreadGroup> | |
<hashTree> | |
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> | |
<collectionProp name="CookieManager.cookies"> | |
<elementProp name="product_list_limit" elementType="Cookie" testname="product_list_limit"> | |
<stringProp name="Cookie.value">30</stringProp> | |
<stringProp name="Cookie.domain">${host}</stringProp> | |
<stringProp name="Cookie.path">/</stringProp> | |
<boolProp name="Cookie.secure">false</boolProp> | |
<longProp name="Cookie.expires">0</longProp> | |
<boolProp name="Cookie.path_specified">true</boolProp> | |
<boolProp name="Cookie.domain_specified">true</boolProp> | |
</elementProp> | |
</collectionProp> | |
<boolProp name="CookieManager.clearEachIteration">true</boolProp> | |
</CookieManager> | |
<hashTree/> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Get arguments(BrowsAddToCart)" enabled="true"> | |
<stringProp name="TestPlan.comments">Passing arguments between threads</stringProp> | |
<stringProp name="BeanShellSampler.query">number = (int)(Math.random() * props.get("simple_products_list").size()); | |
simpleList = props.get("simple_products_list").get(number); | |
vars.put("simple_product_1_url_key", simpleList.get("url_key")); | |
vars.put("simple_product_1_name", simpleList.get("title")); | |
vars.put("simple_product_1_id", simpleList.get("id")); | |
do { | |
number1 = (int)(Math.random() * props.get("simple_products_list").size()); | |
} while(number == number1); | |
simpleList = props.get("simple_products_list").get(number1); | |
vars.put("simple_product_2_url_key", simpleList.get("url_key")); | |
vars.put("simple_product_2_name", simpleList.get("title")); | |
vars.put("simple_product_2_id", simpleList.get("id")); | |
number = (int)(Math.random() * props.get("configurable_products_list").size()); | |
configurableList = props.get("configurable_products_list").get(number); | |
vars.put("configurable_product_1_url_key", configurableList.get("url_key")); | |
vars.put("configurable_product_1_name", configurableList.get("title")); | |
vars.put("configurable_product_1_id", configurableList.get("id")); | |
vars.put("configurable_attribute_id", configurableList.get("attribute_id")); | |
vars.put("configurable_option_id", configurableList.get("attribute_option_id")); | |
vars.put("category_url_key", props.get("category_url_key")); | |
vars.put("category_name", props.get("category_name"));</stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">true</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Open Home Page(BrowsAddToCart)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_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="571386695"><title>Home page</title></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Open Category(BrowsAddToCart)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${category_url_key}${url_suffix}</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="1210004667"><span class="base" data-ui-id="page-title">${category_name}</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">6</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 1 View(BrowsAddToCart)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${simple_product_1_url_key}${url_suffix}</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="1254853024"><title>${simple_product_1_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">simple_product_1_form_action</stringProp> | |
<stringProp name="RegexExtractor.regex"><form action="([^'"]+)"\s*method="post"\s*id="product_addtocart_form"></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">simple_product_1_form_action</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 1 Add To Cart(BrowsAddToCart)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${simple_product_1_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">product</stringProp> | |
</elementProp> | |
<elementProp name="related_product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">related_product</stringProp> | |
</elementProp> | |
<elementProp name="qty" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">qty</stringProp> | |
</elementProp> | |
<elementProp name="isAjax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">isAjax</stringProp> | |
</elementProp> | |
<elementProp name="ajax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">ajax</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${simple_product_1_form_action}</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> | |
</HTTPSamplerProxy> | |
<hashTree/> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 2 View(BrowsAddToCart)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${simple_product_2_url_key}${url_suffix}</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="2142356705"><title>${simple_product_2_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">simple_product_2_form_action</stringProp> | |
<stringProp name="RegexExtractor.regex"><form action="([^'"]+)"\s*method="post"\s*id="product_addtocart_form"></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">simple_product_2_form_action</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 2 Add To Cart(BrowsAddToCart)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${simple_product_2_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">product</stringProp> | |
</elementProp> | |
<elementProp name="related_product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">related_product</stringProp> | |
</elementProp> | |
<elementProp name="qty" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">qty</stringProp> | |
</elementProp> | |
<elementProp name="isAjax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">isAjax</stringProp> | |
</elementProp> | |
<elementProp name="ajax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">ajax</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${simple_product_2_form_action}</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> | |
</HTTPSamplerProxy> | |
<hashTree/> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Configurable Product 1 View(BrowsAddToCart)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${configurable_product_1_url_key}${url_suffix}</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="199922279"><title>${configurable_product_1_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">configurable_product_form_action</stringProp> | |
<stringProp name="RegexExtractor.regex"><form action="([^'"]+)"\s*method="post"\s*id="product_addtocart_form"></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">configurable_product_form_action</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Configurable Product 1 Add To Cart(BrowsAddToCart)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${configurable_product_1_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">product</stringProp> | |
</elementProp> | |
<elementProp name="related_product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">related_product</stringProp> | |
</elementProp> | |
<elementProp name="qty" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">qty</stringProp> | |
</elementProp> | |
<elementProp name="super_attribute[${configurable_attribute_id}]" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${configurable_option_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">super_attribute[${configurable_attribute_id}]</stringProp> | |
</elementProp> | |
<elementProp name="isAjax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">isAjax</stringProp> | |
</elementProp> | |
<elementProp name="ajax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">ajax</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${configurable_product_form_action}</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> | |
</HTTPSamplerProxy> | |
<hashTree/> | |
</hashTree> | |
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Guest Checkout" enabled="true"> | |
<stringProp name="ThreadGroup.on_sample_error">startnextloop</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">${loops}</stringProp> | |
</elementProp> | |
<stringProp name="ThreadGroup.num_threads">${__javaScript(Math.round(props.get("users")*${guest_checkout_percent}/100>>0))}</stringProp> | |
<stringProp name="ThreadGroup.ramp_time">${ramp_period}</stringProp> | |
<longProp name="ThreadGroup.start_time">1304708488000</longProp> | |
<longProp name="ThreadGroup.end_time">1304708488000</longProp> | |
<boolProp name="ThreadGroup.scheduler">false</boolProp> | |
<stringProp name="ThreadGroup.duration"></stringProp> | |
<stringProp name="ThreadGroup.delay"></stringProp> | |
</ThreadGroup> | |
<hashTree> | |
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> | |
<collectionProp name="CookieManager.cookies"> | |
<elementProp name="product_list_limit" elementType="Cookie" testname="product_list_limit"> | |
<stringProp name="Cookie.value">30</stringProp> | |
<stringProp name="Cookie.domain">${host}</stringProp> | |
<stringProp name="Cookie.path">/</stringProp> | |
<boolProp name="Cookie.secure">false</boolProp> | |
<longProp name="Cookie.expires">0</longProp> | |
<boolProp name="Cookie.path_specified">true</boolProp> | |
<boolProp name="Cookie.domain_specified">true</boolProp> | |
</elementProp> | |
</collectionProp> | |
<boolProp name="CookieManager.clearEachIteration">true</boolProp> | |
</CookieManager> | |
<hashTree/> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Get arguments(GuestChkt)" enabled="true"> | |
<stringProp name="TestPlan.comments">Passing arguments between threads</stringProp> | |
<stringProp name="BeanShellSampler.query">number = (int)(Math.random() * props.get("simple_products_list").size()); | |
simpleList = props.get("simple_products_list").get(number); | |
vars.put("simple_product_1_url_key", simpleList.get("url_key")); | |
vars.put("simple_product_1_name", simpleList.get("title")); | |
vars.put("simple_product_1_id", simpleList.get("id")); | |
do { | |
number1 = (int)(Math.random() * props.get("simple_products_list").size()); | |
} while(number == number1); | |
simpleList = props.get("simple_products_list").get(number1); | |
vars.put("simple_product_2_url_key", simpleList.get("url_key")); | |
vars.put("simple_product_2_name", simpleList.get("title")); | |
vars.put("simple_product_2_id", simpleList.get("id")); | |
number = (int)(Math.random() * props.get("configurable_products_list").size()); | |
configurableList = props.get("configurable_products_list").get(number); | |
vars.put("configurable_product_1_url_key", configurableList.get("url_key")); | |
vars.put("configurable_product_1_name", configurableList.get("title")); | |
vars.put("configurable_product_1_id", configurableList.get("id")); | |
vars.put("configurable_attribute_id", configurableList.get("attribute_id")); | |
vars.put("configurable_option_id", configurableList.get("attribute_option_id")); | |
vars.put("category_url_key", props.get("category_url_key")); | |
vars.put("category_name", props.get("category_name"));</stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">true</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Open Home Page(GuestChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_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="571386695"><title>Home page</title></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Open Category(GuestChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${category_url_key}${url_suffix}</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="1210004667"><span class="base" data-ui-id="page-title">${category_name}</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">6</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 1 View(GuestChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${simple_product_1_url_key}${url_suffix}</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="1254853024"><title>${simple_product_1_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">simple_product_1_form_action</stringProp> | |
<stringProp name="RegexExtractor.regex"><form action="([^'"]+)"\s*method="post"\s*id="product_addtocart_form"></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">simple_product_1_form_action</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 1 Add To Cart(GuestChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${simple_product_1_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">product</stringProp> | |
</elementProp> | |
<elementProp name="related_product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">related_product</stringProp> | |
</elementProp> | |
<elementProp name="qty" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">qty</stringProp> | |
</elementProp> | |
<elementProp name="isAjax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">isAjax</stringProp> | |
</elementProp> | |
<elementProp name="ajax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">ajax</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${simple_product_1_form_action}</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> | |
</HTTPSamplerProxy> | |
<hashTree/> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 2 View(GuestChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${simple_product_2_url_key}${url_suffix}</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="2142356705"><title>${simple_product_2_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">simple_product_2_form_action</stringProp> | |
<stringProp name="RegexExtractor.regex"><form action="([^'"]+)"\s*method="post"\s*id="product_addtocart_form"></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">simple_product_2_form_action</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 2 Add To Cart(GuestChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${simple_product_2_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">product</stringProp> | |
</elementProp> | |
<elementProp name="related_product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">related_product</stringProp> | |
</elementProp> | |
<elementProp name="qty" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">qty</stringProp> | |
</elementProp> | |
<elementProp name="isAjax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">isAjax</stringProp> | |
</elementProp> | |
<elementProp name="ajax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">ajax</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${simple_product_2_form_action}</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> | |
</HTTPSamplerProxy> | |
<hashTree/> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Configurable Product 1 View(GuestChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${configurable_product_1_url_key}${url_suffix}</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="199922279"><title>${configurable_product_1_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">configurable_product_form_action</stringProp> | |
<stringProp name="RegexExtractor.regex"><form action="([^'"]+)"\s*method="post"\s*id="product_addtocart_form"></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">configurable_product_form_action</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Configurable Product 1 Add To Cart(GuestChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${configurable_product_1_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">product</stringProp> | |
</elementProp> | |
<elementProp name="related_product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">related_product</stringProp> | |
</elementProp> | |
<elementProp name="qty" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">qty</stringProp> | |
</elementProp> | |
<elementProp name="super_attribute[${configurable_attribute_id}]" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${configurable_option_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">super_attribute[${configurable_attribute_id}]</stringProp> | |
</elementProp> | |
<elementProp name="isAjax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">isAjax</stringProp> | |
</elementProp> | |
<elementProp name="ajax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">ajax</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${configurable_product_form_action}</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> | |
</HTTPSamplerProxy> | |
<hashTree/> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout start(GuestChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}checkout/index/</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="-1403911775"><title>Checkout</title></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-179817969"><title>Shopping Cart</title></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">6</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Cart Id" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">cart_id</stringProp> | |
<stringProp name="RegexExtractor.regex">"quoteData":{"entity_id":"([^'"]+)",</stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form key" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">form_key</stringProp> | |
<stringProp name="RegexExtractor.regex"><input name="form_key" type="hidden" value="([^'"]+)" /></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert Cart Id extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">cart_id</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_key extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">form_key</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout shipping information" enabled="true"> | |
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">{"addressInformation":{"shipping_address":{"countryId":"US","regionId":"12","regionCode":"CA","region"
 | |
:"California","street":["10441 Jefferson Blvd","ste 200"],"company":"","telephone":"1-310-945-0345","fax"
 | |
:"","postcode":"90232","city":"Culver City","firstname":"Firstname","lastname":"Lastname","saveInAddressBook"
 | |
:false},"shipping_method_code":"flatrate","shipping_carrier_code":"flatrate"}}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}rest/default/V1/carts/${cart_id}/shipping-information</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> | |
</HTTPSamplerProxy> | |
<hashTree> | |
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> | |
<collectionProp name="HeaderManager.headers"> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">Referer</stringProp> | |
<stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> | |
</elementProp> | |
<elementProp name="Content-Type" elementType="Header"> | |
<stringProp name="Header.name">Content-Type</stringProp> | |
<stringProp name="Header.value">application/json; charset=UTF-8
</stringProp> | |
</elementProp> | |
<elementProp name="X-Requested-With" elementType="Header"> | |
<stringProp name="Header.name">X-Requested-With</stringProp> | |
<stringProp name="Header.value">XMLHttpRequest
</stringProp> | |
</elementProp> | |
<elementProp name="Accept" elementType="Header"> | |
<stringProp name="Header.name">Accept</stringProp> | |
<stringProp name="Header.value">application/json</stringProp> | |
</elementProp> | |
</collectionProp> | |
</HeaderManager> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert success" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-1494218646">{"payment_methods":</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout payment information" enabled="true"> | |
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">{"cartId":"${cart_id}","email":"user@example.com","paymentMethod":{"method":"checkmo","po_number":null,"cc_owner":null,"cc_number":null,"cc_type":null,"cc_exp_year":null,"cc_exp_month":null,"additional_data":null},"billingAddress":{"countryId"
 | |
:"US","regionId":"12","regionCode":"CA","region":"California","street":["10441 Jefferson Blvd","ste 200"
 | |
],"company":"","telephone":"1-310-945-0345","fax":"","postcode":"90232","city":"Culver City","firstname"
 | |
:"Firstname","lastname":"Lastname","saveInAddressBook":false}}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}rest/default/V1/guest-carts/${cart_id}/payment-information</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> | |
</HTTPSamplerProxy> | |
<hashTree> | |
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> | |
<collectionProp name="HeaderManager.headers"> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">Referer</stringProp> | |
<stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> | |
</elementProp> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">Content-Type</stringProp> | |
<stringProp name="Header.value">application/json; charset=UTF-8 </stringProp> | |
</elementProp> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">Accept</stringProp> | |
<stringProp name="Header.value">application/json</stringProp> | |
</elementProp> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">X-Requested-With</stringProp> | |
<stringProp name="Header.value">XMLHttpRequest</stringProp> | |
</elementProp> | |
</collectionProp> | |
</HeaderManager> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert success" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-1412623327">^"\d+"$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout success(GuestChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}checkout/onepage/success/</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="Assert success" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="494863233">Thank you for your purchase!</stringProp> | |
<stringProp name="1635682758">Your order # is</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
</hashTree> | |
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Customer Checkout" enabled="true"> | |
<stringProp name="ThreadGroup.on_sample_error">startnextloop</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">${loops}</stringProp> | |
</elementProp> | |
<stringProp name="ThreadGroup.num_threads">${__javaScript(Math.round(props.get("users")*${customer_checkout_percent}/100>>0))}</stringProp> | |
<stringProp name="ThreadGroup.ramp_time">${ramp_period}</stringProp> | |
<longProp name="ThreadGroup.start_time">1304708488000</longProp> | |
<longProp name="ThreadGroup.end_time">1304708488000</longProp> | |
<boolProp name="ThreadGroup.scheduler">false</boolProp> | |
<stringProp name="ThreadGroup.duration"></stringProp> | |
<stringProp name="ThreadGroup.delay"></stringProp> | |
</ThreadGroup> | |
<hashTree> | |
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> | |
<collectionProp name="CookieManager.cookies"> | |
<elementProp name="product_list_limit" elementType="Cookie" testname="product_list_limit"> | |
<stringProp name="Cookie.value">30</stringProp> | |
<stringProp name="Cookie.domain">${host}</stringProp> | |
<stringProp name="Cookie.path">/</stringProp> | |
<boolProp name="Cookie.secure">false</boolProp> | |
<longProp name="Cookie.expires">0</longProp> | |
<boolProp name="Cookie.path_specified">true</boolProp> | |
<boolProp name="Cookie.domain_specified">true</boolProp> | |
</elementProp> | |
</collectionProp> | |
<boolProp name="CookieManager.clearEachIteration">true</boolProp> | |
</CookieManager> | |
<hashTree/> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Get arguments(CustomerChkt)" enabled="true"> | |
<stringProp name="TestPlan.comments">Passing arguments between threads</stringProp> | |
<stringProp name="BeanShellSampler.query">import org.apache.jmeter.samplers.SampleResult; | |
number = (int)(Math.random() * props.get("simple_products_list").size()); | |
simpleList = props.get("simple_products_list").get(number); | |
vars.put("simple_product_1_url_key", simpleList.get("url_key")); | |
vars.put("simple_product_1_name", simpleList.get("title")); | |
vars.put("simple_product_1_id", simpleList.get("id")); | |
do { | |
number1 = (int)(Math.random() * props.get("simple_products_list").size()); | |
} while(number == number1); | |
simpleList = props.get("simple_products_list").get(number1); | |
vars.put("simple_product_2_url_key", simpleList.get("url_key")); | |
vars.put("simple_product_2_name", simpleList.get("title")); | |
vars.put("simple_product_2_id", simpleList.get("id")); | |
number = (int)(Math.random() * props.get("configurable_products_list").size()); | |
configurableList = props.get("configurable_products_list").get(number); | |
vars.put("configurable_product_1_url_key", configurableList.get("url_key")); | |
vars.put("configurable_product_1_name", configurableList.get("title")); | |
vars.put("configurable_product_1_id", configurableList.get("id")); | |
vars.put("configurable_attribute_id", configurableList.get("attribute_id")); | |
vars.put("configurable_option_id", configurableList.get("attribute_option_id")); | |
vars.put("category_url_key", props.get("category_url_key")); | |
vars.put("category_name", props.get("category_name")); | |
emailsCount = props.get("customer_emails_list").size(); | |
print(emailsCount); | |
if (emailsCount < 1) { | |
log.error("You have to increase customers qty for running 'Customer Checkout' thread."); | |
System.out.println("You have to increase customers qty for running 'Customer Checkout' thread."); | |
SampleResult.setStopTest(true); | |
} else { | |
emails = props.get("customer_emails_list"); | |
email = emails.get(emailsCount - 1); | |
emails.remove(email); | |
props.put("customer_emails_list", emails); | |
vars.put("customer_email", email); | |
}</stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">true</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Open Home Page(CustomerChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_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="571386695"><title>Home page</title></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Open Category(CustomerChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${category_url_key}${url_suffix}</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="1210004667"><span class="base" data-ui-id="page-title">${category_name}</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">6</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 1 View(CustomerChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${simple_product_1_url_key}${url_suffix}</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="1254853024"><title>${simple_product_1_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">simple_product_1_form_action</stringProp> | |
<stringProp name="RegexExtractor.regex"><form action="([^'"]+)"\s*method="post"\s*id="product_addtocart_form"></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">simple_product_1_form_action</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 1 Add To Cart(CustomerChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${simple_product_1_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">product</stringProp> | |
</elementProp> | |
<elementProp name="related_product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">related_product</stringProp> | |
</elementProp> | |
<elementProp name="qty" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">qty</stringProp> | |
</elementProp> | |
<elementProp name="isAjax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">isAjax</stringProp> | |
</elementProp> | |
<elementProp name="ajax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">ajax</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${simple_product_1_form_action}</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> | |
</HTTPSamplerProxy> | |
<hashTree/> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 2 View(CustomerChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${simple_product_2_url_key}${url_suffix}</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="2142356705"><title>${simple_product_2_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">simple_product_2_form_action</stringProp> | |
<stringProp name="RegexExtractor.regex"><form action="([^'"]+)"\s*method="post"\s*id="product_addtocart_form"></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">simple_product_2_form_action</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Simple Product 2 Add To Cart(CustomerChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${simple_product_2_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">product</stringProp> | |
</elementProp> | |
<elementProp name="related_product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">related_product</stringProp> | |
</elementProp> | |
<elementProp name="qty" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">qty</stringProp> | |
</elementProp> | |
<elementProp name="isAjax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">isAjax</stringProp> | |
</elementProp> | |
<elementProp name="ajax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">ajax</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${simple_product_2_form_action}</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> | |
</HTTPSamplerProxy> | |
<hashTree/> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Configurable Product 1 View(CustomerChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}${configurable_product_1_url_key}${url_suffix}</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="199922279"><title>${configurable_product_1_name}</stringProp> | |
<stringProp name="-1787050162"><span>In stock</span></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form action" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">configurable_product_form_action</stringProp> | |
<stringProp name="RegexExtractor.regex"><form action="([^'"]+)"\s*method="post"\s*id="product_addtocart_form"></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_action extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">configurable_product_form_action</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Configurable Product 1 Add To Cart(CustomerChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${configurable_product_1_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">product</stringProp> | |
</elementProp> | |
<elementProp name="related_product" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value"></stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">related_product</stringProp> | |
</elementProp> | |
<elementProp name="qty" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">1</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">qty</stringProp> | |
</elementProp> | |
<elementProp name="super_attribute[${configurable_attribute_id}]" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">${configurable_option_id}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">super_attribute[${configurable_attribute_id}]</stringProp> | |
</elementProp> | |
<elementProp name="isAjax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">isAjax</stringProp> | |
</elementProp> | |
<elementProp name="ajax" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">true</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">ajax</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${configurable_product_form_action}</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> | |
</HTTPSamplerProxy> | |
<hashTree/> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout start(CustomerChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}checkout/index/</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="-1403911775"><title>Checkout</title></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-179817969"><title>Shopping Cart</title></stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">6</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Cart Id" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">cart_id</stringProp> | |
<stringProp name="RegexExtractor.regex">"quoteData":{"entity_id":"([^'"]+)",</stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract form key" enabled="true"> | |
<stringProp name="RegexExtractor.useHeaders">false</stringProp> | |
<stringProp name="RegexExtractor.refname">form_key</stringProp> | |
<stringProp name="RegexExtractor.regex"><input name="form_key" type="hidden" value="([^'"]+)" /></stringProp> | |
<stringProp name="RegexExtractor.template">$1$</stringProp> | |
<stringProp name="RegexExtractor.default"></stringProp> | |
<stringProp name="RegexExtractor.match_number">1</stringProp> | |
</RegexExtractor> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert Cart Id extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">cart_id</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert form_key extracted" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="2845929">^.+$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
<stringProp name="Assertion.scope">variable</stringProp> | |
<stringProp name="Scope.variable">form_key</stringProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Login(CustomerChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="context" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">true</boolProp> | |
<stringProp name="Argument.name">context</stringProp> | |
<stringProp name="Argument.value">checkout</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
</elementProp> | |
<elementProp name="login[username]" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">true</boolProp> | |
<stringProp name="Argument.value">${customer_email}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">login[username]</stringProp> | |
</elementProp> | |
<elementProp name="login[password]" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">true</boolProp> | |
<stringProp name="Argument.value">${customer_password}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">login[password]</stringProp> | |
</elementProp> | |
<elementProp name="form_key" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">true</boolProp> | |
<stringProp name="Argument.value">${form_key}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
<boolProp name="HTTPArgument.use_equals">true</boolProp> | |
<stringProp name="Argument.name">form_key</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}customer/account/loginPost/</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> | |
</HTTPSamplerProxy> | |
<hashTree/> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout shipping information" enabled="true"> | |
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">{"addressInformation":{"shipping_address":{"countryId":"US","regionId":"12","regionCode":"CA","region"
 | |
:"California","street":["10441 Jefferson Blvd","ste 200"],"company":"","telephone":"1-310-945-0345","fax"
 | |
:"","postcode":"90232","city":"Culver City","firstname":"Firstname","lastname":"Lastname","saveInAddressBook"
 | |
:false},"shipping_method_code":"flatrate","shipping_carrier_code":"flatrate"}}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}rest/default/V1/carts/mine/shipping-information</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> | |
</HTTPSamplerProxy> | |
<hashTree> | |
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> | |
<collectionProp name="HeaderManager.headers"> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">Referer</stringProp> | |
<stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> | |
</elementProp> | |
<elementProp name="Content-Type" elementType="Header"> | |
<stringProp name="Header.name">Content-Type</stringProp> | |
<stringProp name="Header.value">application/json; charset=UTF-8
</stringProp> | |
</elementProp> | |
<elementProp name="X-Requested-With" elementType="Header"> | |
<stringProp name="Header.name">X-Requested-With</stringProp> | |
<stringProp name="Header.value">XMLHttpRequest
</stringProp> | |
</elementProp> | |
<elementProp name="Accept" elementType="Header"> | |
<stringProp name="Header.name">Accept</stringProp> | |
<stringProp name="Header.value">application/json</stringProp> | |
</elementProp> | |
</collectionProp> | |
</HeaderManager> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert success" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-1494218646">{"payment_methods":</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout payment information" enabled="true"> | |
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments"> | |
<collectionProp name="Arguments.arguments"> | |
<elementProp name="" elementType="HTTPArgument"> | |
<boolProp name="HTTPArgument.always_encode">false</boolProp> | |
<stringProp name="Argument.value">{"cartId":"${cart_id}","paymentMethod":{"method":"checkmo","po_number":null,"cc_owner":null,"cc_number":null
 | |
,"cc_type":null,"cc_exp_year":null,"cc_exp_month":null,"additional_data":null},"billingAddress":{"countryId"
 | |
:"US","regionId":"12","regionCode":"CA","region":"California","street":["10441 Jefferson Blvd","ste 200"
 | |
],"company":"","telephone":"1-310-945-0345","fax":"","postcode":"90232","city":"Culver City","firstname"
 | |
:"Firstname","lastname":"Lastname","saveInAddressBook":false}}</stringProp> | |
<stringProp name="Argument.metadata">=</stringProp> | |
</elementProp> | |
</collectionProp> | |
</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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}rest/default/V1/carts/mine/payment-information</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> | |
</HTTPSamplerProxy> | |
<hashTree> | |
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> | |
<collectionProp name="HeaderManager.headers"> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">Referer</stringProp> | |
<stringProp name="Header.value">http://mage2.com/checkout/index/</stringProp> | |
</elementProp> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">Content-Type</stringProp> | |
<stringProp name="Header.value">application/json; charset=UTF-8 </stringProp> | |
</elementProp> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">Accept</stringProp> | |
<stringProp name="Header.value">application/json</stringProp> | |
</elementProp> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">X-Requested-With</stringProp> | |
<stringProp name="Header.value">XMLHttpRequest</stringProp> | |
</elementProp> | |
</collectionProp> | |
</HeaderManager> | |
<hashTree/> | |
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert success" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="-1412623327">^"\d+"$</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">1</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Random Timer" enabled="true"> | |
<stringProp name="ConstantTimer.delay">${think_time_delay_offset}</stringProp> | |
<stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> | |
</GaussianRandomTimer> | |
<hashTree/> | |
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout success(CustomerChkt)" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" 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">http</stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">${base_path}checkout/onepage/success/</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="Assert success" enabled="true"> | |
<collectionProp name="Asserion.test_strings"> | |
<stringProp name="494863233">Thank you for your purchase!</stringProp> | |
<stringProp name="-1590086334">Your order number is</stringProp> | |
</collectionProp> | |
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp> | |
<boolProp name="Assertion.assume_success">false</boolProp> | |
<intProp name="Assertion.test_type">2</intProp> | |
</ResponseAssertion> | |
<hashTree/> | |
</hashTree> | |
</hashTree> | |
<PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="tearDown Thread Group" enabled="true"> | |
<stringProp name="ThreadGroup.on_sample_error">stoptest</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">1</stringProp> | |
</elementProp> | |
<stringProp name="ThreadGroup.num_threads">1</stringProp> | |
<stringProp name="ThreadGroup.ramp_time">1</stringProp> | |
<longProp name="ThreadGroup.start_time">1395324075000</longProp> | |
<longProp name="ThreadGroup.end_time">1395324075000</longProp> | |
<boolProp name="ThreadGroup.scheduler">false</boolProp> | |
<stringProp name="ThreadGroup.duration"></stringProp> | |
<stringProp name="ThreadGroup.delay"></stringProp> | |
</PostThreadGroup> | |
<hashTree> | |
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> | |
<collectionProp name="CookieManager.cookies"> | |
<elementProp name="product_list_limit" elementType="Cookie" testname="product_list_limit"> | |
<stringProp name="Cookie.value">30</stringProp> | |
<stringProp name="Cookie.domain">${host}</stringProp> | |
<stringProp name="Cookie.path">/</stringProp> | |
<boolProp name="Cookie.secure">false</boolProp> | |
<longProp name="Cookie.expires">0</longProp> | |
<boolProp name="Cookie.path_specified">true</boolProp> | |
<boolProp name="Cookie.domain_specified">true</boolProp> | |
</elementProp> | |
</collectionProp> | |
<boolProp name="CookieManager.clearEachIteration">true</boolProp> | |
</CookieManager> | |
<hashTree/> | |
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler: Clear properties" enabled="true"> | |
<stringProp name="BeanShellSampler.query">props.remove("category_url_key"); | |
props.remove("category_name"); | |
props.remove("simple_products_list"); | |
props.remove("configurable_products_list"); | |
props.remove("users"); | |
props.remove("customer_emails_list");</stringProp> | |
<stringProp name="BeanShellSampler.filename"></stringProp> | |
<stringProp name="BeanShellSampler.parameters"></stringProp> | |
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp> | |
</BeanShellSampler> | |
<hashTree/> | |
</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>true</dataType> | |
<encoding>false</encoding> | |
<assertions>true</assertions> | |
<subresults>true</subresults> | |
<responseData>false</responseData> | |
<samplerData>false</samplerData> | |
<xml>false</xml> | |
<fieldNames>false</fieldNames> | |
<responseHeaders>false</responseHeaders> | |
<requestHeaders>false</requestHeaders> | |
<responseDataOnError>false</responseDataOnError> | |
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> | |
<assertionsResultsToSave>0</assertionsResultsToSave> | |
<bytes>true</bytes> | |
<hostname>true</hostname> | |
<threadCounts>true</threadCounts> | |
<sampleCount>true</sampleCount> | |
</value> | |
</objProp> | |
<stringProp name="filename">${report_save_path}/view-results-tree.log</stringProp> | |
</ResultCollector> | |
<hashTree/> | |
<ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="Detailed URLs report" enabled="true"> | |
<boolProp name="ResultCollector.error_logging">false</boolProp> | |
<objProp> | |
<name>saveConfig</name> | |
<value class="SampleSaveConfiguration"> | |
<time>true</time> | |
<latency>false</latency> | |
<timestamp>false</timestamp> | |
<success>false</success> | |
<label>true</label> | |
<code>false</code> | |
<message>false</message> | |
<threadName>false</threadName> | |
<dataType>false</dataType> | |
<encoding>false</encoding> | |
<assertions>false</assertions> | |
<subresults>false</subresults> | |
<responseData>false</responseData> | |
<samplerData>false</samplerData> | |
<xml>false</xml> | |
<fieldNames>true</fieldNames> | |
<responseHeaders>false</responseHeaders> | |
<requestHeaders>false</requestHeaders> | |
<responseDataOnError>false</responseDataOnError> | |
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> | |
<assertionsResultsToSave>0</assertionsResultsToSave> | |
<url>true</url> | |
<hostname>true</hostname> | |
<threadCounts>true</threadCounts> | |
<sampleCount>true</sampleCount> | |
</value> | |
</objProp> | |
<stringProp name="filename">${report_save_path}/detailed-urls-report.log</stringProp> | |
</ResultCollector> | |
<hashTree/> | |
<ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" 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>true</dataType> | |
<encoding>false</encoding> | |
<assertions>true</assertions> | |
<subresults>true</subresults> | |
<responseData>false</responseData> | |
<samplerData>false</samplerData> | |
<xml>false</xml> | |
<fieldNames>false</fieldNames> | |
<responseHeaders>false</responseHeaders> | |
<requestHeaders>false</requestHeaders> | |
<responseDataOnError>false</responseDataOnError> | |
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> | |
<assertionsResultsToSave>0</assertionsResultsToSave> | |
<bytes>true</bytes> | |
<hostname>true</hostname> | |
<threadCounts>true</threadCounts> | |
<sampleCount>true</sampleCount> | |
</value> | |
</objProp> | |
<stringProp name="filename">${report_save_path}/summary-report.log</stringProp> | |
</ResultCollector> | |
<hashTree/> | |
<ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" 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>true</dataType> | |
<encoding>false</encoding> | |
<assertions>true</assertions> | |
<subresults>true</subresults> | |
<responseData>false</responseData> | |
<samplerData>false</samplerData> | |
<xml>false</xml> | |
<fieldNames>false</fieldNames> | |
<responseHeaders>false</responseHeaders> | |
<requestHeaders>false</requestHeaders> | |
<responseDataOnError>false</responseDataOnError> | |
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> | |
<assertionsResultsToSave>0</assertionsResultsToSave> | |
<bytes>true</bytes> | |
<threadCounts>true</threadCounts> | |
</value> | |
</objProp> | |
<stringProp name="filename"></stringProp> | |
</ResultCollector> | |
<hashTree/> | |
</hashTree> | |
</hashTree> | |
</jmeterTestPlan> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment