From 17cd7dedaac144d4bcc38b93f4e2b27813fa01a7 Mon Sep 17 00:00:00 2001 From: Olexii Korshenko <okorshenko@ebay.com> Date: Thu, 9 Jul 2015 18:12:08 +0300 Subject: [PATCH] MAGETWO-35895: Checkout place order becomes slower on each iteration with same params --- setup/performance-toolkit/benchmark.jmx | 187 ++++-------------------- 1 file changed, 29 insertions(+), 158 deletions(-) diff --git a/setup/performance-toolkit/benchmark.jmx b/setup/performance-toolkit/benchmark.jmx index b5c7b55cac6..bd6658516e1 100644 --- a/setup/performance-toolkit/benchmark.jmx +++ b/setup/performance-toolkit/benchmark.jmx @@ -2395,19 +2395,16 @@ vars.put("category_name", props.get("category_name"));</stri <stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> </GaussianRandomTimer> <hashTree/> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout billing/shipping addresses(GuestChkt)" enabled="true"> + <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">{"shippingAddress":{"company":"","fax":"","city":"Culver City","firstname":"Name","lastname":"Lastname"
 -,"street":{"0":"10441 Jefferson Blvd, ste 200","1":""},"telephone":"1-310-945-0345","postcode":"90232"
 -,"region_id":"12","country_id":"US","region":"","save_in_address_book":"1","email":"test@example.com"
 -,"same_as_billing":1},"billingAddress":{"company":"","fax":"","city":"Culver City","firstname":"Name"
 -,"lastname":"Lastname","street":{"0":"10441 Jefferson Blvd, ste 200","1":""},"telephone":"1-310-945-0345"
 -,"postcode":"90232","region_id":"12","country_id":"US","region":"","save_in_address_book":"1","email"
 -:"test@example.com","same_as_billing":1},"additionalData":{"extensionAttributes":{}}}</stringProp> + <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> @@ -2418,7 +2415,7 @@ vars.put("category_name", props.get("category_name"));</stri <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}/addresses</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> @@ -2451,7 +2448,7 @@ vars.put("category_name", props.get("category_name"));</stri <hashTree/> <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert success" enabled="true"> <collectionProp name="Asserion.test_strings"> - <stringProp name="-768590464">{"shipping_methods":</stringProp> + <stringProp name="-1494218646">{"payment_methods":</stringProp> </collectionProp> <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> <boolProp name="Assertion.assume_success">false</boolProp> @@ -2464,15 +2461,16 @@ vars.put("category_name", props.get("category_name"));</stri <stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> </GaussianRandomTimer> <hashTree/> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout shipping/payment method(GuestChkt)" enabled="true"> + <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}
 -,"shippingCarrierCode":"flatrate","shippingMethodCode":"flatrate"}</stringProp> + <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> @@ -2483,71 +2481,8 @@ vars.put("category_name", props.get("category_name"));</stri <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}/collect-totals</stringProp> - <stringProp name="HTTPSampler.method">PUT</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="Response Assertion" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="629313218">{"grand_total":</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 place order(GuestChkt)" 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"></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}/order</stringProp> - <stringProp name="HTTPSampler.method">PUT</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> @@ -3324,19 +3259,16 @@ if (emailsCount < 1) { <stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> </GaussianRandomTimer> <hashTree/> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout billing/shipping addresses(CustomerChkt)" enabled="true"> + <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">{"shippingAddress":{"company":"","fax":"","city":"Culver City","firstname":"Name","lastname":"Lastname"
 -,"street":{"0":"10441 Jefferson Blvd, ste 200","1":""},"telephone":"1-310-945-0345","postcode":"90232"
 -,"region_id":"12","country_id":"US","region":"","save_in_address_book":"1","email":"test@example.com"
 -,"same_as_billing":1},"billingAddress":{"company":"","fax":"","city":"Culver City","firstname":"Name"
 -,"lastname":"Lastname","street":{"0":"10441 Jefferson Blvd, ste 200","1":""},"telephone":"1-310-945-0345"
 -,"postcode":"90232","region_id":"12","country_id":"US","region":"","save_in_address_book":"1","email"
 -:"test@example.com","same_as_billing":1},"additionalData":{"extensionAttributes":{}}}</stringProp> + <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> @@ -3347,7 +3279,7 @@ if (emailsCount < 1) { <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/addresses</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> @@ -3380,7 +3312,7 @@ if (emailsCount < 1) { <hashTree/> <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert success" enabled="true"> <collectionProp name="Asserion.test_strings"> - <stringProp name="-768590464">{"shipping_methods":</stringProp> + <stringProp name="-1494218646">{"payment_methods":</stringProp> </collectionProp> <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> <boolProp name="Assertion.assume_success">false</boolProp> @@ -3393,15 +3325,17 @@ if (emailsCount < 1) { <stringProp name="RandomTimer.range">${think_time_deviation}</stringProp> </GaussianRandomTimer> <hashTree/> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Checkout shipping/payment method(CustomerChkt)" enabled="true"> + <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}
 -,"shippingCarrierCode":"flatrate","shippingMethodCode":"flatrate"}</stringProp> + <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> @@ -3412,71 +3346,8 @@ if (emailsCount < 1) { <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/collect-totals</stringProp> - <stringProp name="HTTPSampler.method">PUT</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="Response Assertion" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="629313218">{"grand_total":</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 place order(CustomerChkt)" 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"></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/order</stringProp> - <stringProp name="HTTPSampler.method">PUT</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> -- GitLab