Skip to content

Commit a41c606

Browse files
committed
PB-27: Resolve & improve GraphQL error with Products widget
- update performance benchmark with new test
1 parent e858dfc commit a41c606

File tree

1 file changed

+221
-0
lines changed

1 file changed

+221
-0
lines changed

setup/performance-toolkit/benchmark.jmx

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36072,6 +36072,187 @@ vars.put("configurable_sku", "Configurable Product - ${__time(YMD)}-${__threadNu
3607236072
<hashTree/>
3607336073
</hashTree>
3607436074
</hashTree>
36075+
36076+
<TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="Test Fragment" enabled="true"/>
36077+
<hashTree>
36078+
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Create Cms Page with Page Builder Product List" enabled="true">
36079+
<stringProp name="TestPlan.comments">mpaf/tool/fragments/ee/admin_create_cms_page_with_page_builder_product_list/admin_create_cms_page_with_page_builder_product_list.jmx</stringProp>
36080+
</GenericController>
36081+
<hashTree>
36082+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Create New" enabled="true">
36083+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
36084+
<collectionProp name="Arguments.arguments"/>
36085+
</elementProp>
36086+
<stringProp name="HTTPSampler.domain"/>
36087+
<stringProp name="HTTPSampler.port"/>
36088+
<stringProp name="HTTPSampler.connect_timeout">60000</stringProp>
36089+
<stringProp name="HTTPSampler.response_timeout">200000</stringProp>
36090+
<stringProp name="HTTPSampler.protocol">${request_protocol}</stringProp>
36091+
<stringProp name="HTTPSampler.contentEncoding"/>
36092+
<stringProp name="HTTPSampler.path">${base_path}${admin_path}/cms/page/new</stringProp>
36093+
<stringProp name="HTTPSampler.method">GET</stringProp>
36094+
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
36095+
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
36096+
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
36097+
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
36098+
<boolProp name="HTTPSampler.monitor">false</boolProp>
36099+
<stringProp name="HTTPSampler.embedded_url_re"/>
36100+
</HTTPSamplerProxy>
36101+
<hashTree/>
36102+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Save" enabled="true">
36103+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
36104+
<collectionProp name="Arguments.arguments">
36105+
<elementProp name="content" elementType="HTTPArgument">
36106+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36107+
<stringProp name="Argument.value">&amp;lt;div data-content-type=&amp;quot;row&amp;quot; data-appearance=&amp;quot;contained&amp;quot; data-element=&amp;quot;main&amp;quot;&amp;gt;&amp;lt;div data-enable-parallax=&amp;quot;0&amp;quot; data-parallax-speed=&amp;quot;0.5&amp;quot; data-background-images=&amp;quot;{}&amp;quot; data-element=&amp;quot;inner&amp;quot; style=&amp;quot;justify-content: flex-start; display: flex; flex-direction: column; background-position: left top; background-size: cover; background-repeat: no-repeat; background-attachment: scroll; border-style: none; border-width: 1px; border-radius: 0px; margin: 0px 0px 10px; padding: 10px;&amp;quot;&amp;gt;&amp;lt;div data-content-type=&amp;quot;products&amp;quot; data-appearance=&amp;quot;grid&amp;quot; data-element=&amp;quot;main&amp;quot; style=&amp;quot;border-style: none; border-width: 1px; border-radius: 0px; margin: 0px; padding: 0px;&amp;quot;&amp;gt;{{widget type=&amp;quot;Magento\CatalogWidget\Block\Product\ProductsList&amp;quot; template=&amp;quot;Magento_CatalogWidget::product/widget/content/grid.phtml&amp;quot; anchor_text=&amp;quot;&amp;quot; id_path=&amp;quot;&amp;quot; show_pager=&amp;quot;0&amp;quot; products_count=&amp;quot;5&amp;quot; sort_order=&amp;quot;date_newest_top&amp;quot; type_name=&amp;quot;Catalog Products List&amp;quot; conditions_encoded=&amp;quot;^[`1`:^[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Combine`,`aggregator`:`any`,`value`:`1`,`new_child`:``^]^]&amp;quot;}}&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;</stringProp>
36108+
<stringProp name="Argument.metadata">=</stringProp>
36109+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36110+
<stringProp name="Argument.name">content</stringProp>
36111+
</elementProp>
36112+
<elementProp name="content_heading" elementType="HTTPArgument">
36113+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36114+
<stringProp name="Argument.value"/>
36115+
<stringProp name="Argument.metadata">=</stringProp>
36116+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36117+
<stringProp name="Argument.name">content_heading</stringProp>
36118+
</elementProp>
36119+
<elementProp name="form_key" elementType="HTTPArgument">
36120+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36121+
<stringProp name="Argument.value">${admin_form_key}</stringProp>
36122+
<stringProp name="Argument.metadata">=</stringProp>
36123+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36124+
<stringProp name="Argument.name">form_key</stringProp>
36125+
</elementProp>
36126+
<elementProp name="identifier" elementType="HTTPArgument">
36127+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36128+
<stringProp name="Argument.value"/>
36129+
<stringProp name="Argument.metadata">=</stringProp>
36130+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36131+
<stringProp name="Argument.name">identifier</stringProp>
36132+
</elementProp>
36133+
<elementProp name="is_active" elementType="HTTPArgument">
36134+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36135+
<stringProp name="Argument.value">1</stringProp>
36136+
<stringProp name="Argument.metadata">=</stringProp>
36137+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36138+
<stringProp name="Argument.name">is_active</stringProp>
36139+
</elementProp>
36140+
<elementProp name="layout_update_xml" elementType="HTTPArgument">
36141+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36142+
<stringProp name="Argument.value"/>
36143+
<stringProp name="Argument.metadata">=</stringProp>
36144+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36145+
<stringProp name="Argument.name">layout_update_xml</stringProp>
36146+
</elementProp>
36147+
<elementProp name="meta_description" elementType="HTTPArgument">
36148+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36149+
<stringProp name="Argument.value"/>
36150+
<stringProp name="Argument.metadata">=</stringProp>
36151+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36152+
<stringProp name="Argument.name">meta_description</stringProp>
36153+
</elementProp>
36154+
<elementProp name="meta_keywords" elementType="HTTPArgument">
36155+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36156+
<stringProp name="Argument.value"/>
36157+
<stringProp name="Argument.metadata">=</stringProp>
36158+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36159+
<stringProp name="Argument.name">meta_keywords</stringProp>
36160+
</elementProp>
36161+
<elementProp name="meta_title" elementType="HTTPArgument">
36162+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36163+
<stringProp name="Argument.value"/>
36164+
<stringProp name="Argument.metadata">=</stringProp>
36165+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36166+
<stringProp name="Argument.name">meta_title</stringProp>
36167+
</elementProp>
36168+
<elementProp name="nodes_data" elementType="HTTPArgument">
36169+
<boolProp name="HTTPArgument.always_encode">false</boolProp>
36170+
<stringProp name="Argument.value">{}</stringProp>
36171+
<stringProp name="Argument.metadata">=</stringProp>
36172+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36173+
<stringProp name="Argument.name">nodes_data</stringProp>
36174+
</elementProp>
36175+
<elementProp name="node_ids" elementType="HTTPArgument">
36176+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36177+
<stringProp name="Argument.value"/>
36178+
<stringProp name="Argument.metadata">=</stringProp>
36179+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36180+
<stringProp name="Argument.name">node_ids</stringProp>
36181+
</elementProp>
36182+
<elementProp name="page_id" elementType="HTTPArgument">
36183+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36184+
<stringProp name="Argument.value"/>
36185+
<stringProp name="Argument.metadata">=</stringProp>
36186+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36187+
<stringProp name="Argument.name">page_id</stringProp>
36188+
</elementProp>
36189+
<elementProp name="page_layout" elementType="HTTPArgument">
36190+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36191+
<stringProp name="Argument.value">1column</stringProp>
36192+
<stringProp name="Argument.metadata">=</stringProp>
36193+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36194+
<stringProp name="Argument.name">page_layout</stringProp>
36195+
</elementProp>
36196+
<elementProp name="store_id[0]" elementType="HTTPArgument">
36197+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36198+
<stringProp name="Argument.value">0</stringProp>
36199+
<stringProp name="Argument.metadata">=</stringProp>
36200+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36201+
<stringProp name="Argument.name">store_id[0]</stringProp>
36202+
</elementProp>
36203+
<elementProp name="title" elementType="HTTPArgument">
36204+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36205+
<stringProp name="Argument.value">Page Builder Products ${__time(YMDHMS)}-${__threadNum}-${__Random(1,1000000)}</stringProp>
36206+
<stringProp name="Argument.metadata">=</stringProp>
36207+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36208+
<stringProp name="Argument.name">title</stringProp>
36209+
</elementProp>
36210+
<elementProp name="website_root" elementType="HTTPArgument">
36211+
<boolProp name="HTTPArgument.always_encode">true</boolProp>
36212+
<stringProp name="Argument.value">0</stringProp>
36213+
<stringProp name="Argument.metadata">=</stringProp>
36214+
<boolProp name="HTTPArgument.use_equals">true</boolProp>
36215+
<stringProp name="Argument.name">website_root</stringProp>
36216+
</elementProp>
36217+
</collectionProp>
36218+
</elementProp>
36219+
<stringProp name="HTTPSampler.domain"/>
36220+
<stringProp name="HTTPSampler.port"/>
36221+
<stringProp name="HTTPSampler.connect_timeout">60000</stringProp>
36222+
<stringProp name="HTTPSampler.response_timeout">200000</stringProp>
36223+
<stringProp name="HTTPSampler.protocol">${request_protocol}</stringProp>
36224+
<stringProp name="HTTPSampler.contentEncoding"/>
36225+
<stringProp name="HTTPSampler.path">${base_path}${admin_path}/cms/page/save/back/edit</stringProp>
36226+
<stringProp name="HTTPSampler.method">POST</stringProp>
36227+
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
36228+
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
36229+
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
36230+
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
36231+
<boolProp name="HTTPSampler.monitor">false</boolProp>
36232+
<stringProp name="HTTPSampler.embedded_url_re"/>
36233+
</HTTPSamplerProxy>
36234+
<hashTree>
36235+
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
36236+
<collectionProp name="Asserion.test_strings">
36237+
<stringProp name="-398886250">You saved the page.</stringProp>
36238+
</collectionProp>
36239+
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
36240+
<boolProp name="Assertion.assume_success">false</boolProp>
36241+
<intProp name="Assertion.test_type">16</intProp>
36242+
</ResponseAssertion>
36243+
<hashTree/>
36244+
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
36245+
<stringProp name="RegexExtractor.useHeaders">URL</stringProp>
36246+
<stringProp name="RegexExtractor.refname">cms_page_id</stringProp>
36247+
<stringProp name="RegexExtractor.regex">/page_id\/([0-9]*)\/back/</stringProp>
36248+
<stringProp name="RegexExtractor.template">$1$</stringProp>
36249+
<stringProp name="RegexExtractor.default"/>
36250+
<stringProp name="RegexExtractor.match_number">1</stringProp>
36251+
</RegexExtractor>
36252+
<hashTree/>
36253+
</hashTree>
36254+
</hashTree>
36255+
</hashTree>
3607536256
</hashTree>
3607636257

3607736258
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Logout" enabled="true">
@@ -39443,6 +39624,46 @@ if (name == null) {
3944339624
</BeanShellAssertion>
3944439625
<hashTree/>
3944539626
</hashTree>
39627+
39628+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get Cms Page by id" enabled="true">
39629+
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
39630+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
39631+
<collectionProp name="Arguments.arguments">
39632+
<elementProp name="" elementType="HTTPArgument">
39633+
<boolProp name="HTTPArgument.always_encode">false</boolProp>
39634+
<stringProp name="Argument.value">
39635+
{"query":"query getCmsPage($id: Int!, $onServer: Boolean!) {\n cmsPage(id: $id) {\n url_key\n content\n content_heading\n title\n page_layout\n meta_title @include(if: $onServer)\n meta_keywords @include(if: $onServer)\n meta_description @include(if: $onServer)\n }\n}","variables":{"id":${cms_page_id},"onServer":false},"operationName":"getCmsPage"}
39636+
</stringProp>
39637+
<stringProp name="Argument.metadata">=</stringProp>
39638+
</elementProp>
39639+
</collectionProp>
39640+
</elementProp>
39641+
<stringProp name="HTTPSampler.domain"/>
39642+
<stringProp name="HTTPSampler.port">${graphql_port_number}</stringProp>
39643+
<stringProp name="HTTPSampler.connect_timeout">60000</stringProp>
39644+
<stringProp name="HTTPSampler.response_timeout">200000</stringProp>
39645+
<stringProp name="HTTPSampler.protocol">${request_protocol}</stringProp>
39646+
<stringProp name="HTTPSampler.contentEncoding"/>
39647+
<stringProp name="HTTPSampler.path">${base_path}graphql</stringProp>
39648+
<stringProp name="HTTPSampler.method">POST</stringProp>
39649+
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
39650+
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
39651+
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
39652+
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
39653+
<boolProp name="HTTPSampler.monitor">false</boolProp>
39654+
<stringProp name="HTTPSampler.embedded_url_re"/>
39655+
<stringProp name="TestPlan.comments">mpaf/tool/fragments/ce/graphql/get_get_cms_page_by_id.jmx</stringProp></HTTPSamplerProxy>
39656+
<hashTree>
39657+
<com.atlantbh.jmeter.plugins.jsonutils.jsonpathassertion.JSONPathAssertion guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathassertion.gui.JSONPathAssertionGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathassertion.JSONPathAssertion" testname="jp@gc - JSON Path Assertion" enabled="true">
39658+
<stringProp name="JSON_PATH">$.data.cmsPage.url_key</stringProp>
39659+
<stringProp name="EXPECTED_VALUE">${cms_page_id}</stringProp>
39660+
<boolProp name="JSONVALIDATION">false</boolProp>
39661+
<boolProp name="EXPECT_NULL">false</boolProp>
39662+
<boolProp name="INVERT">false</boolProp>
39663+
<boolProp name="ISREGEX">false</boolProp>
39664+
</com.atlantbh.jmeter.plugins.jsonutils.jsonpathassertion.JSONPathAssertion>
39665+
<hashTree/>
39666+
</hashTree>
3944639667
</hashTree>
3944739668
</hashTree>
3944839669

0 commit comments

Comments
 (0)