{"id":23605,"date":"2023-03-20T17:17:03","date_gmt":"2023-03-20T16:17:03","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=23605"},"modified":"2023-03-20T17:17:03","modified_gmt":"2023-03-20T16:17:03","slug":"octoperf-dynamic-browsing","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/","title":{"rendered":"OctoPerf Dynamic Browsing"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I want to improve the Virtual User (VU) I created in my <a href=\"https:\/\/www.dbi-services.com\/blog\/octoperf-performance-testing\/\" target=\"_blank\" rel=\"noreferrer noopener\">previous blog<\/a> by adding dynamic browsing of the shop web site. Indeed, as VU is based on a HAR file, it is statically browsing the website. Thus, if the website is evolving like a new species is added, the VU will never browse to it. For now, it is always going into &#8220;Fish&#8221; category and add a &#8220;Koi&#8221; to the cart. This is not really simulating real customer behavior (randomness either, but it is better \ud83d\ude09 ). That&#8217;s why, I will explain you here how to add some randomness in the browsing to be more dynamic.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Extracting Information<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First thing, I must do is to get all links to every category of the shop from page body.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To do that, I will add a &#8220;Regexp extractor&#8221;:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" width=\"1652\" height=\"948\" class=\"wp-image-23606\" style=\"width: 700px\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png\" alt=\"\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png 1652w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har--300x172.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har--1024x588.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har--768x441.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har--1536x881.png 1536w\" sizes=\"auto, (max-width: 1652px) 100vw, 1652px\" \/><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, we must fill in few information to it:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_21_54-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-1024x595.png\" alt=\"\" class=\"wp-image-23609\" width=\"700\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_21_54-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-1024x595.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_21_54-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-300x174.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_21_54-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-768x446.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_21_54-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-1536x892.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_21_54-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1.png 1637w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The most important field is &#8220;expression&#8221;. It is a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Regular_expression\" target=\"_blank\" rel=\"noreferrer noopener\">regular expression<\/a> that will be used to find and extract matching patterns. Fortunately, OctoPerf is providing a tool to build it more easily. A click on the gear will open the recorded content and I will be able to find object I want to focus on (i.e. all species URLs):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"464\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_27_04-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-1024x464.png\" alt=\"\" class=\"wp-image-23610\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_27_04-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-1024x464.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_27_04-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-300x136.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_27_04-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-768x348.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_27_04-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-1536x696.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_27_04-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-2048x928.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In that window, I can search for any string. Let&#8217;s look for &#8220;Fish&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"301\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_28_46-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-1024x301.png\" alt=\"\" class=\"wp-image-23611\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_28_46-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-1024x301.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_28_46-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-300x88.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_28_46-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-768x226.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_28_46-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-1536x452.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_28_46-_actions_C_xxx_log_action_extraction-petstore.octoperf.com_Archive-23-03-17-1-2048x603.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Here, we can see the 5 existing species. If I select the part I am interested in (i.e. categoryId), it will automatically create a simple regexp for me:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ory=&amp;amp;categoryId=(.+?)\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Another nice feature of OctoPerf is the ability to test this regular expression against the recorded content, so let&#8217;s try it (I am selecting All in Match Number option).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With this new regexp, the list of extracted variables looks like the following:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_30_24-CategoryID-Extraction-petstore.octoperf.com_Archive-23-03-17-10-49-41.har--1024x587.png\" alt=\"\" class=\"wp-image-23617\" width=\"700\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_30_24-CategoryID-Extraction-petstore.octoperf.com_Archive-23-03-17-10-49-41.har--1024x587.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_30_24-CategoryID-Extraction-petstore.octoperf.com_Archive-23-03-17-10-49-41.har--300x172.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_30_24-CategoryID-Extraction-petstore.octoperf.com_Archive-23-03-17-10-49-41.har--768x440.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_30_24-CategoryID-Extraction-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png 1394w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You see there are duplicated results as links are present twice in the web page. As I will select Random option in &#8220;Match Number&#8221; parameter, it will be fine as it does not change category distribution (all categories are doubled).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Using Variable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now that we have the variable, let&#8217;s use it in the GET query that list all items in a category. The URL is currently containing a hard coded value: &#8220;FISH&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_34_31-_actions_Catalog.action_viewCategorycategoryIdFISH-petstore.octoperf.com_Arc-1024x257.png\" alt=\"\" class=\"wp-image-23618\" width=\"700\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_34_31-_actions_Catalog.action_viewCategorycategoryIdFISH-petstore.octoperf.com_Arc-1024x257.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_34_31-_actions_Catalog.action_viewCategorycategoryIdFISH-petstore.octoperf.com_Arc-300x75.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_34_31-_actions_Catalog.action_viewCategorycategoryIdFISH-petstore.octoperf.com_Arc-768x192.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_34_31-_actions_Catalog.action_viewCategorycategoryIdFISH-petstore.octoperf.com_Arc-1536x385.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_34_31-_actions_Catalog.action_viewCategorycategoryIdFISH-petstore.octoperf.com_Arc-2048x513.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I will empty the field and type &#8220;${&#8220;, then OctoPerf will suggest possible values including variables:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_35_53-_actions_Catalog.action_viewCategorycategoryIdFISH-petstore.octoperf.com_Arc-1024x310.png\" alt=\"\" class=\"wp-image-23619\" width=\"700\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_35_53-_actions_Catalog.action_viewCategorycategoryIdFISH-petstore.octoperf.com_Arc-1024x310.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_35_53-_actions_Catalog.action_viewCategorycategoryIdFISH-petstore.octoperf.com_Arc-300x91.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_35_53-_actions_Catalog.action_viewCategorycategoryIdFISH-petstore.octoperf.com_Arc-768x233.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_35_53-_actions_Catalog.action_viewCategorycategoryIdFISH-petstore.octoperf.com_Arc.png 1508w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Extracting Product<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The next step is quite similar to previous, but as we are getting better, I will a bit faster.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create a new RexExp Extractor under the GET action<\/li>\n\n\n\n<li>Click on the gear to find the list of productId&#8217;s<\/li>\n\n\n\n<li>Select the interesting text to get regexp generated: <code>duct=&amp;productId=(.+?)\"<\/code><\/li>\n\n\n\n<li>Click Save and Debug to confirm it is working:<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_43_00-item-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-OctoPerf-\u2014-Mozill-1024x496.png\" alt=\"\" class=\"wp-image-23620\" width=\"700\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_43_00-item-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-OctoPerf-\u2014-Mozill-1024x496.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_43_00-item-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-OctoPerf-\u2014-Mozill-300x145.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_43_00-item-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-OctoPerf-\u2014-Mozill-768x372.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-16_43_00-item-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-OctoPerf-\u2014-Mozill.png 1400w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Note that result might differ as the categoryId is selected randomly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next, we need to modify the GET action on the productId to be dynamic as well:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/image-16-1024x339.png\" alt=\"\" class=\"wp-image-23621\" width=\"700\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/image-16-1024x339.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/image-16-300x99.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/image-16-768x254.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/image-16-1536x508.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/image-16.png 1840w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">GET action inside <em>04 &#8211; Add to Cart<\/em> container must be modified as well.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Run<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, I will run the VU to check how it behaves and ensure I did not forget anything.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With these changes, the VU will work even if shop is adding or removing any species in the catalog as variables are dynamically extracted from web pages. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>I want to improve the Virtual User (VU) I created in my previous blog by adding dynamic browsing of the shop web site. Indeed, as VU is based on a HAR file, it is statically browsing the website. Thus, if the website is evolving like a new species is added, the VU will never browse&hellip;&nbsp;<\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","neve_meta_reading_time":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[4134],"tags":[1353,2880,2879,67],"class_list":["post-23605","post","type-post","status-publish","format-standard","hentry","category-application-server","tag-dynamic","tag-loadtest","tag-octoperf","tag-performance"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>OctoPerf Dynamic Browsing - dbi services | Blog<\/title>\n<meta name=\"description\" content=\"This blog will describe how to make a scenario more dynamic and more robust on site evolution.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OctoPerf Dynamic Browsing\" \/>\n<meta property=\"og:description\" content=\"This blog will describe how to make a scenario more dynamic and more robust on site evolution.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi services | Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dbiservices\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-20T16:17:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1652\" \/>\n\t<meta property=\"og:image:height\" content=\"948\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Middleware Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dbiservices\" \/>\n<meta name=\"twitter:site\" content=\"@dbiservices\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Middleware Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/\"},\"author\":{\"name\":\"Middleware Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8a0bfec3c3bd1f27d3d452eaa592bfb8\"},\"headline\":\"OctoPerf Dynamic Browsing\",\"datePublished\":\"2023-03-20T16:17:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/\"},\"wordCount\":527,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png\",\"keywords\":[\"Dynamic\",\"LoadTest\",\"OctoPerf\",\"Performance\"],\"articleSection\":[\"Application Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/\",\"name\":\"OctoPerf Dynamic Browsing - dbi services | Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png\",\"datePublished\":\"2023-03-20T16:17:03+00:00\",\"description\":\"This blog will describe how to make a scenario more dynamic and more robust on site evolution.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/octoperf-dynamic-browsing\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OctoPerf Dynamic Browsing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi services Blog\",\"description\":\"#BeSharing\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"alternateName\":\"dbi Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\",\"name\":\"dbi services\",\"alternateName\":\"dbi\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"width\":512,\"height\":512,\"caption\":\"dbi services\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dbiservices\\\/\",\"https:\\\/\\\/x.com\\\/dbiservices\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dbi-services\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/dbiservices\"],\"description\":\"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.\",\"email\":\"info@dbi-services.com\",\"telephone\":\"+41 32 422 96 00\",\"legalName\":\"dbi services SA\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8a0bfec3c3bd1f27d3d452eaa592bfb8\",\"name\":\"Middleware Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"caption\":\"Middleware Team\"},\"description\":\"Posts published under the Middleware Team account are collective contributions by the dbi services middleware and enterprise content management consultants. The practice covers ECM platforms such as OpenText Documentum, Alfresco, and M-Files, as well as application servers and integration technologies including WebLogic, JBoss, Tomcat, and the Elastic Stack, from architecture and deployment to operations under service level agreements.\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/middleware-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OctoPerf Dynamic Browsing - dbi services | Blog","description":"This blog will describe how to make a scenario more dynamic and more robust on site evolution.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/","og_locale":"en_US","og_type":"article","og_title":"OctoPerf Dynamic Browsing","og_description":"This blog will describe how to make a scenario more dynamic and more robust on site evolution.","og_url":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/","og_site_name":"dbi services | Blog","article_publisher":"https:\/\/www.facebook.com\/dbiservices\/","article_published_time":"2023-03-20T16:17:03+00:00","og_image":[{"width":1652,"height":948,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png","type":"image\/png"}],"author":"Middleware Team","twitter_card":"summary_large_image","twitter_creator":"@dbiservices","twitter_site":"@dbiservices","twitter_misc":{"Written by":"Middleware Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/"},"author":{"name":"Middleware Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8a0bfec3c3bd1f27d3d452eaa592bfb8"},"headline":"OctoPerf Dynamic Browsing","datePublished":"2023-03-20T16:17:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/"},"wordCount":527,"commentCount":0,"publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png","keywords":["Dynamic","LoadTest","OctoPerf","Performance"],"articleSection":["Application Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/","url":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/","name":"OctoPerf Dynamic Browsing - dbi services | Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png","datePublished":"2023-03-20T16:17:03+00:00","description":"This blog will describe how to make a scenario more dynamic and more robust on site evolution.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2023\/03\/2023-03-20-15_20_06-_actions_Account.action-petstore.octoperf.com_Archive-23-03-17-10-49-41.har-.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/octoperf-dynamic-browsing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"OctoPerf Dynamic Browsing"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi services Blog","description":"#BeSharing","publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"alternateName":"dbi Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dbi-services.com\/blog\/#organization","name":"dbi services","alternateName":"dbi","url":"https:\/\/www.dbi-services.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","width":512,"height":512,"caption":"dbi services"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dbiservices\/","https:\/\/x.com\/dbiservices","https:\/\/www.linkedin.com\/company\/dbi-services\/","https:\/\/www.youtube.com\/user\/dbiservices"],"description":"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.","email":"info@dbi-services.com","telephone":"+41 32 422 96 00","legalName":"dbi services SA"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8a0bfec3c3bd1f27d3d452eaa592bfb8","name":"Middleware Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","caption":"Middleware Team"},"description":"Posts published under the Middleware Team account are collective contributions by the dbi services middleware and enterprise content management consultants. The practice covers ECM platforms such as OpenText Documentum, Alfresco, and M-Files, as well as application servers and integration technologies including WebLogic, JBoss, Tomcat, and the Elastic Stack, from architecture and deployment to operations under service level agreements.","url":"https:\/\/www.dbi-services.com\/blog\/author\/middleware-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/23605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=23605"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/23605\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=23605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=23605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=23605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}