{"id":10505,"date":"2023-04-24T20:31:13","date_gmt":"2023-04-25T00:31:13","guid":{"rendered":"https:\/\/www.redline13.com\/blog\/?p=10505"},"modified":"2023-06-22T14:15:23","modified_gmt":"2023-06-22T18:15:23","slug":"a-guide-to-jmeter-preprocessors-and-postprocessors","status":"publish","type":"post","link":"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/","title":{"rendered":"A Guide to JMeter Preprocessors and Postprocessors"},"content":{"rendered":"<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10506\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-1.png\" alt=\"A Guide to JMeter Preprocessors and Postprocessors\" width=\"400\" height=\"300\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-1.png 400w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-1-300x225.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/strong><\/p>\n<p>When building your JMeter test, <a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#samplers\">samplers<\/a> provide the core functionality. They are responsible for sending the actual HTTP requests and handling those responses. However, as your test becomes more complex and sophisticated, it may be desirable to add conditional logic to your requests. Furthermore, you may wish to dynamically process the inputs and outputs to these. JMeter provides this functionality though a host of <a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#samplers\">preprocessors<\/a> and <a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#samplers\">postprocessors<\/a>. This brief post will serve as a guide to JMeter preprocessors and postprocessors, comparing and contrasting their use in JMeter test plans.<\/p>\n<h3><a id=\"post-10505-_4wj5ua65m2mk\"><\/a>JMeter Preprocessors<\/h3>\n<p>Most of the available preprocessors are included with JMeter (though a few exist as plugins). These can be added to your test plan just like any other element as shown below:<\/p>\n<figure id=\"attachment_10507\" class=\"wp-caption aligncenter\" style=\"max-width: 752px\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-10507\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-2.png\" alt=\"JMeter preprocessors can be added from the list of available test plan elements\" width=\"752\" height=\"308\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-2.png 752w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-2-300x123.png 300w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-2-425x174.png 425w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><figcaption class=\"wp-caption-text\"><em>JMeter preprocessors can be added from the list of available test plan elements.<\/em><\/figcaption><\/figure>\n<p>The key difference between a preprocessor and a postprocessor is <em>when<\/em> your custom logic is executed. As the name suggests, a preprocessor runs before any requests existing at the same level in your test plan.<\/p>\n<p>For the purposes of illustration we will add a <a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#JSR223_PreProcessor\"><em>JSR223 preprocessor<\/em><\/a> to a sample test plan. This simple component allows us to specify a few lines of Java-based code to run before our requests. In our case, we\u2019ll define a simple test plan consisting of a single thread group, with an <em>HTTP Request<\/em> element and our preprocessor. We will also add a <em>View Results Tree<\/em> element so we can see the output:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10508\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-3.png\" alt=\"JMeter test plan structure for example covered in this blog post\" width=\"377\" height=\"102\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-3.png 377w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-3-300x81.png 300w\" sizes=\"auto, (max-width: 377px) 100vw, 377px\" \/><\/p>\n<p>Our <em>HTTP Request<\/em> element we will set up with the following parameters. For this request we will be accessing a Wikipedia page, with the specific article to be determined by the preprocessor.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-10509\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-4.png\" alt=\"Configuration for the JMeter HTTP Request element\" width=\"1107\" height=\"229\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-4.png 1107w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-4-300x62.png 300w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-4-1024x212.png 1024w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-4-768x159.png 768w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-4-425x88.png 425w\" sizes=\"auto, (max-width: 1107px) 100vw, 1107px\" \/><\/p>\n<p>Note that the request path takes the form of <code>https:\/\/en.wikipedia.org\/wiki\/${path_to_article}<\/code>, where the <code>${...}<\/code> notation is shorthand for the insertion of a JMeter variable which we will define in our script. We then set up the <em>JSR223 Preprocessor<\/em> with the following script:<\/p>\n<p><code>import java.util.Random;<\/code><strong><code><br \/>\n<\/code><\/strong><code>String[] paths_to_articles = [\"Hydrogen\", \"Oxygen\", \"Water\"]<\/code><br \/>\n<code>Random random = new Random();<br \/>\nint number = random.nextInt(3);<\/code><br \/>\n<code>vars.put(\"path_to_article\", paths_to_articles[number]);<\/code><\/p>\n<p>The variable <code>paths_to_articles<\/code> is an array containing references to articles on <em>Hydrogen<\/em>, <em>Oxygen<\/em>, and <em>Water<\/em>, respectively. These are intended to correspond to Wikipedia articles on these topics. The purpose of the <code>random<\/code> variable is to select a topic at random each time the test is run.<\/p>\n<p>We can then run our test and view the results within the output area of the <em>View Results Tree<\/em> element.<\/p>\n<figure id=\"attachment_10510\" class=\"wp-caption aligncenter\" style=\"max-width: 1165px\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-10510\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-5.png\" alt=\"Subsequent runs of our example test plan select Wikipedia articles at random\" width=\"1165\" height=\"709\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-5.png 1165w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-5-300x183.png 300w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-5-1024x623.png 1024w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-5-768x467.png 768w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-5-425x259.png 425w\" sizes=\"auto, (max-width: 1165px) 100vw, 1165px\" \/><figcaption class=\"wp-caption-text\"><em>Subsequent runs of our example test plan select Wikipedia articles at random.<\/em><\/figcaption><\/figure>\n<p>After multiple runs of our test, each of the possible endpoints are hit by the single <em>HTTP Request<\/em> element. We can certainly get more sophisticated with our preprocessor and execute more complex pre-request logic, however the concept conveyed here would remain the same.<\/p>\n<h3><a id=\"post-10505-_gkphd6qjk2wg\"><\/a>JMeter Postprocessors<\/h3>\n<p>As mentioned earlier, the differentiating feature of a <em>JMeter Postprocessor<\/em> is that it runs <em>after<\/em> any request elements at the same level within our test plan. This is useful in the case where we would like to take an action depending on the response from any such request. There is an equivalent <a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#JSR223_PostProcessor\"><em>JSR223 Postprocessor<\/em><\/a> to the above example that would allow us to run a script to analyze the response. However, a simpler and more practical example might be worth a look in the form of the <a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Result_Status_Action_Handler\"><em>Result Status Action Handler<\/em><\/a>. If our request fails for any reason due to an error, we might want to abort the test or take some other action. Below is an example of how we would configure the <em>Result Status Action Handler<\/em> to do just that:<\/p>\n<figure id=\"attachment_10511\" class=\"wp-caption aligncenter\" style=\"max-width: 604px\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-10511\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-6.png\" alt=\"Available options for the Result Status Action Handler\" width=\"604\" height=\"218\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-6.png 604w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-6-300x108.png 300w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-6-425x153.png 425w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><figcaption class=\"wp-caption-text\"><em>The Result Status Action Handler can be configured to take action when a test error is encountered.<\/em><\/figcaption><\/figure>\n<p>Trying to request a URL from Wikipedia that does not exist, our <em>HTTP Request<\/em> element throws an error, with the following output in the logs:<\/p>\n<p><code>15:50:34,931 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test<\/code><br \/>\n<code>15:50:34,931 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)<\/code><\/p>\n<p>This indicates that the <em>Result Status Action Handler<\/em> has ended the test as a result of this error.<\/p>\n<h3><a id=\"post-10505-_e438v1h0w638\"><\/a>Other JMeter Preprocessors and Postprocessors<\/h3>\n<p>JMeter comes with a rich selection of preprocessors and postprocessors. The complete listing of all of these components can be found in the component reference section of the <a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html\">JMeter User\u2019s Manual<\/a>, but here are a few selections that can be particularly useful in your JMeter tests:<\/p>\n<p><strong>JMeter Preprocessors<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#HTML_Link_Parser\">HTML Link Parser<\/a> \u2013 Attaching this element to <em>HTTP Requests<\/em> in your test plan, JMeter can perform matches on links and form fields to generate dynamic requests.<\/li>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Sample_Timeout\">Sample Timeout<\/a> \u2013 Using this element, you can specify a request-specific timeout that will interrupt a sample if it takes too long to complete.<\/li>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#JSR223_PreProcessor\">JSR223 Preprocessor<\/a> \u2013 This element is covered in the example above, and is extremely versatile as it allows you to specify a Java-based script to perform any action. It also supersedes the <a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#BeanShell_PreProcessor\">BeanShell Preprocessor<\/a> performing much of the same functionality.<\/li>\n<\/ul>\n<p><strong>JMeter Postprocessors<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Regular_Expression_Extractor\">Regular Expression Extractor<\/a> \u2013 With this postprocessor, you can specify <a href=\"https:\/\/en.wikipedia.org\/wiki\/Regular_expression\">regular expressions<\/a> that will parse sampler output and set local variables to matches. These variables can then be used in subsequent <em>HTTP Request<\/em> samplers or even processed further with custom scripting.<\/li>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Result_Status_Action_Handler\">Result Status Action Handler<\/a> \u2013 This is a simple postprocessor used in the example above, which can take an action when an error is encountered within your test.<\/li>\n<li><a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Result_Status_Action_Handler\">JSR223 Postprocessor<\/a> \u2013 This element functions much in the same way that the <em>JSR223 Preprocessor<\/em> does, however it executes your custom script <em>after<\/em> any associated sampler completes. It also replaces the <a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#BeanShell_PostProcessor\">BeanShell Postprocessor<\/a>.<\/li>\n<\/ul>\n<hr \/>\n<p>Did you know that RedLine13 offers a full-featured free trial that grants time-limited access to all Premium level features? <a href=\"https:\/\/www.redline13.com\/Service\">Sign up now<\/a> and start load testing with RedLine13 today!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When building your JMeter test, samplers provide the core functionality. They are responsible for sending the actual HTTP requests and handling those responses. However, as your test becomes more complex and sophisticated, it may be desirable to add conditional logic to your requests. Furthermore, you may wish to dynamically process the inputs and outputs to these. JMeter provides this functionality though a host of preprocessors and postprocessors. This brief post will serve as a guide to<a class=\"more-link\" href=\"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/\">Read More &rarr;<\/a><\/p>\n","protected":false},"author":11,"featured_media":10506,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,7],"tags":[283,296,619,318,618,617,424],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-dkoziel","4":"post-10505","6":"format-standard","7":"has-post-thumbnail","8":"category-blog","9":"category-jmeter","10":"post_tag-jmeter","11":"post_tag-jmeter-script","12":"post_tag-jmeter-test-plan-elements","13":"post_tag-load-testing","14":"post_tag-postprocessor","15":"post_tag-preprocessor","16":"post_tag-redline13"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.12 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>A Guide to JMeter Preprocessors and Postprocessors - RedLine13<\/title>\n<meta name=\"description\" content=\"This brief post will serve as a guide to JMeter preprocessors and postprocessors, comparing and contrasting their use in JMeter test plans.\" \/>\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.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Guide to JMeter Preprocessors and Postprocessors - RedLine13\" \/>\n<meta property=\"og:description\" content=\"This brief post will serve as a guide to JMeter preprocessors and postprocessors, comparing and contrasting their use in JMeter test plans.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/\" \/>\n<meta property=\"og:site_name\" content=\"RedLine13\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-25T00:31:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-22T18:15:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Koziel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Koziel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/\"},\"author\":{\"name\":\"David Koziel\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/51d282221e3230ab35f964f98ada9b20\"},\"headline\":\"A Guide to JMeter Preprocessors and Postprocessors\",\"datePublished\":\"2023-04-25T00:31:13+00:00\",\"dateModified\":\"2023-06-22T18:15:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/\"},\"wordCount\":927,\"publisher\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#organization\"},\"keywords\":[\"JMeter\",\"jmeter script\",\"JMeter test plan elements\",\"Load Testing\",\"Postprocessor\",\"Preprocessor\",\"RedLine13\"],\"articleSection\":[\"Blog\",\"JMeter\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/\",\"url\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/\",\"name\":\"A Guide to JMeter Preprocessors and Postprocessors - RedLine13\",\"isPartOf\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#website\"},\"datePublished\":\"2023-04-25T00:31:13+00:00\",\"dateModified\":\"2023-06-22T18:15:23+00:00\",\"description\":\"This brief post will serve as a guide to JMeter preprocessors and postprocessors, comparing and contrasting their use in JMeter test plans.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.redline13.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A Guide to JMeter Preprocessors and Postprocessors\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#website\",\"url\":\"https:\/\/www.redline13.com\/blog\/\",\"name\":\"RedLine13\",\"description\":\"(Almost) Free Load Testing in the Cloud\",\"publisher\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.redline13.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#organization\",\"name\":\"RedLine13\",\"url\":\"https:\/\/www.redline13.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg\",\"contentUrl\":\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg\",\"width\":300,\"height\":68,\"caption\":\"RedLine13\"},\"image\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/51d282221e3230ab35f964f98ada9b20\",\"name\":\"David Koziel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2babf644e0993fc86893c24d7525f1e3be114a8746c01249797f25587ae1697a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2babf644e0993fc86893c24d7525f1e3be114a8746c01249797f25587ae1697a?s=96&d=mm&r=g\",\"caption\":\"David Koziel\"},\"url\":\"https:\/\/www.redline13.com\/blog\/author\/dkoziel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A Guide to JMeter Preprocessors and Postprocessors - RedLine13","description":"This brief post will serve as a guide to JMeter preprocessors and postprocessors, comparing and contrasting their use in JMeter test plans.","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.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/","og_locale":"en_US","og_type":"article","og_title":"A Guide to JMeter Preprocessors and Postprocessors - RedLine13","og_description":"This brief post will serve as a guide to JMeter preprocessors and postprocessors, comparing and contrasting their use in JMeter test plans.","og_url":"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/","og_site_name":"RedLine13","article_published_time":"2023-04-25T00:31:13+00:00","article_modified_time":"2023-06-22T18:15:23+00:00","og_image":[{"width":400,"height":300,"url":"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2023\/04\/word-image-10505-1.png","type":"image\/png"}],"author":"David Koziel","twitter_card":"summary_large_image","twitter_misc":{"Written by":"David Koziel","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/#article","isPartOf":{"@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/"},"author":{"name":"David Koziel","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/51d282221e3230ab35f964f98ada9b20"},"headline":"A Guide to JMeter Preprocessors and Postprocessors","datePublished":"2023-04-25T00:31:13+00:00","dateModified":"2023-06-22T18:15:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/"},"wordCount":927,"publisher":{"@id":"https:\/\/www.redline13.com\/blog\/#organization"},"keywords":["JMeter","jmeter script","JMeter test plan elements","Load Testing","Postprocessor","Preprocessor","RedLine13"],"articleSection":["Blog","JMeter"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/","url":"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/","name":"A Guide to JMeter Preprocessors and Postprocessors - RedLine13","isPartOf":{"@id":"https:\/\/www.redline13.com\/blog\/#website"},"datePublished":"2023-04-25T00:31:13+00:00","dateModified":"2023-06-22T18:15:23+00:00","description":"This brief post will serve as a guide to JMeter preprocessors and postprocessors, comparing and contrasting their use in JMeter test plans.","breadcrumb":{"@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.redline13.com\/blog\/2023\/04\/a-guide-to-jmeter-preprocessors-and-postprocessors\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.redline13.com\/blog\/"},{"@type":"ListItem","position":2,"name":"A Guide to JMeter Preprocessors and Postprocessors"}]},{"@type":"WebSite","@id":"https:\/\/www.redline13.com\/blog\/#website","url":"https:\/\/www.redline13.com\/blog\/","name":"RedLine13","description":"(Almost) Free Load Testing in the Cloud","publisher":{"@id":"https:\/\/www.redline13.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.redline13.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.redline13.com\/blog\/#organization","name":"RedLine13","url":"https:\/\/www.redline13.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg","contentUrl":"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg","width":300,"height":68,"caption":"RedLine13"},"image":{"@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/51d282221e3230ab35f964f98ada9b20","name":"David Koziel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2babf644e0993fc86893c24d7525f1e3be114a8746c01249797f25587ae1697a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2babf644e0993fc86893c24d7525f1e3be114a8746c01249797f25587ae1697a?s=96&d=mm&r=g","caption":"David Koziel"},"url":"https:\/\/www.redline13.com\/blog\/author\/dkoziel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/posts\/10505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/comments?post=10505"}],"version-history":[{"count":6,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/posts\/10505\/revisions"}],"predecessor-version":[{"id":10524,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/posts\/10505\/revisions\/10524"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/media\/10506"}],"wp:attachment":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/media?parent=10505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/categories?post=10505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/tags?post=10505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}