<Brand>™® <Product>®™
Clarifier (what comes after the colon)
                                            Lab Guide
Getting Started with Apache<course
                             JMeter™
                                   code>
  Lab Guide
 88BLZ20010
88BLZ2001LG1                               <inventory code>
                                               Getting Started with Apache JMeter™
Table of Contents
Lab 1 - Installing and Configuring ·································································································· 1
Lab 2 - Working with Thread Groups ······························································································ 5
Lab 3 - Creating a Basic User Scenario··························································································· 15
Lab 4 - Working with Assertions ························································· ········································ 25
Lab 5 - Understanding Correlations …………………………………………………………………………………………...42
Lab 6 - Configuring Functions …………………………………………………………………………………………………...54
Lab 7 - Configuring Complex Scripts ………...……………………………………………………………………….…..….67
                                                                     TOC-1
                                                     © 2017 BlazeMeter. All rights reserved.
1 | Lab 1: Installing and Configuring
Lab 1- Installing and Configuring
 Goals                  During this lab, you will learn how to install and configure Apache JMeter™.
 Scenario               To do this, you will complete the following tasks:
                           Download and install the Java SE Development Kit
                                Download and install Apache JMeter™
                                Download and install the Apache JMeter™ Plug-in Manager
 Time                   20 minutes
Instructions
Click Lab Resources to download the lab resources required to run the Apache JMeter™ labs.
Part 1: Install the Java SE Development Kit
You must install the Java SE Development Kit (JDK) version 7 or later before installing JMeter. Complete
these steps to install the JDK:
Note: If you already have JDK version 7 or newer installed on your system, you can skip Part 1 of this lab.
1.   Go to http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.
2.   Click the Accept License Agreement radio button in the JDK download section of the web page.
3.   Click the correct version of JDK for your operating system to download the installation files.
4.   When the file is finished downloading, double-click it to begin installing JDK. The User Account Control window
Blazemeter.com |                                        Lab 1: Installing and Configuring
                                                     © 2017 BlazeMeter. All rights reserved.
                                                                                      2 | Lab 1: Installing and Configuring
     opens.
5.   Click Yes in the User Account Control window to allow this app to make changes to your device. The Java SE
     Development Kit setup window opens.
6.   Click Next to start the installation wizard. The Custom Setup window opens.
7.   Click Next. The Progress window opens.
8.   The Complete window opens when the installation finishes. Click Close.
                                              Lab 1: Installing and Configuring             BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
3 | Lab 1: Installing and Configuring
Part 2: Install JMeter
Complete these steps to install JMeter from the Apache JMeter website:
1.   Open http://jmeter.apache.org/download_jmeter.cgi to view the Download Apache JMeter web page.
2.   Click apache-jmeter-3.1.zip to download the JMeter installation files.
3.   When the download is complete, double-click apache-jmeter-3.1_src to open the zip file. Your application for
     managing zip files opens.
     Note: If you do not have an application installed for opening zip files, you can download and install a trial version if
     the WinRAR archiver application at http://www.rarlab.com/.
4.   Create a new folder named JMeter on your desktop and extract the files to the folder.
5.   Open your JMeter folder and then open the bin folder.
6.   In the bin folder, locate the JMeter Windows batch file.
7.   Right-click the JMeter Windows batch file and select Send to  Desktop to create a shortcut to JMeter on your
     desktop.
Part 3: Install the JMeter Plugin Manager
Complete these steps to install the JMeter Plugin Manager:
1.   Go to https://jmeter-plugins.org/downloads/all/ to view the Plugins Manager Download page.
2.   Click plugins-manager.jar in the middle of the page to download the installation files.
Blazemeter.com |                                     Lab 1: Installing and Configuring
                                                  © 2017 BlazeMeter. All rights reserved.
                                                                                        4 | Lab 1: Installing and Configuring
3.   When the download is complete, move the file to the lib/ext directory of your JMeter folder.
4.   Launch JMeter and select Options  Plugin Manager to verify that the Plugin Manager launches properly.
5.   You have finished this lab when the JMeter Plugins Manager opens properly and displays a list of already installed
     plugins in the Installed Plugins tab.
                                              Lab 1: Installing and Configuring               BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
5 | Lab 2: Working with Thread Groups
Lab 2: Working with Thread Groups
 Goals                During this lab, you will learn how to configure Thread Groups and Ultimate Thread Groups.
 Scenario             A Thread Group is one of the most basic elements of a JMeter script. You cannot run a JMeter
                      script without a Thread Group. The Thread Group initiates the thread that runs the scenario that
                      you specify in the script.
                      In this lab, we examine two types of thread groups: standard and ultimate. The standard Thread
                      Group is included in the JMeter installation by default. It is simple to configure and includes a ramp
                      up time, loop count, and duration.
                      The Ultimate Thread Group is more advanced and allows you to specify the ramp down time and
                      the ramp up time. An Ultimate Thread Group can also be used to configure more complex thread
                      scenarios.
                      Complete these tasks to learn how to configure Thread Groups and Ultimate Thread Groups:
                             Install the Dummy Sampler and the jpgc - Standard Set Plugins
                             Create a new JMeter test
                             Add a Thread Group
                             Add a Dummy Sampler
                             Configure the Thread Group
                             Add an Ultimate Thread Group
                             Add an Additional Dummy Sampler
                             Add a View Results Tree listener and run the test
 Time                 20 minutes
Install the Dummy Sampler and jpgc - Standard Set Plugins
Complete these steps to install the Dummy Sampler and the jpgc – Standard Set plugins:
Note: The jpgc – Standard Set plugin includes the Ultimate Thread Group that you will use in this lab.
1.   Launch JMeter from your desktop shortcut.
2.   Select Options  Plugin Manager. The JMeter Plugins Manager opens.
Blazemeter.com |                                     Lab 2: Working with Thread Groups
                                                    © 2017 BlazeMeter. All rights reserved.
                                                                                      6 | Lab 2: Working with Thread Groups
3.   Click the Available Plugins tab.
4.   Check the Dummy Sampler and the jpgc - Standard Set checkboxes in the list of available plugins.
                                             Lab 2: Working with Thread groups               BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
7 | Lab 2: Working with Thread Groups
5.   Click Apply Changes and Restart JMeter to install these plugins. JMeter installs the plugins, closes, and restarts
     automatically.
Create a New JMeter Test
Complete these steps to save your JMeter test and your new configuration:
6.   Select File  Save Test Plan as.
7.   Select Desktop from the Save In dropdown menu.
8.   Click New Folder to create a new folder on your desktop and name the folder JMeter Scripts.
9.   Enter JMeter 1-2 - Thread Groups.jmx in the File Name field.
10. Click Save to save your test script.
Blazemeter.com |                                  Lab 2: Working with Thread Groups
                                                 © 2017 BlazeMeter. All rights reserved.
                                                                                      8 | Lab 2: Working with Thread Groups
Add a Thread Group
Complete these steps to add a Thread Group to your JMeter test:
11. Click Test Plan to view the Test Plan pane.
12. Check the Run Thread Groups consecutively checkbox in the center of the screen.
13. Select Edit  Add  Threads (Users)  Thread Group to create a new thread group. The Thread Group
    configuration pane opens.
                                             Lab 2: Working with Thread groups               BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
9 | Lab 2: Working with Thread Groups
     Note: By default, a Thread Group is configured to have one thread with a ramp-up period of one second and a loop
     count of one.
Add a Dummy Sampler
Complete these steps to add a Dummy Sampler to your JMeter test:
14. Select Edit  Add  Sampler  Dummy Sampler to add a Dummy Sampler to your Thread Group. The Dummy
    Sampler configuration pane opens.
15. Change the name of the dummy sampler to Sampler in TG #1 to indicate that this is the Dummy sampler for
    Thread Group one.
Blazemeter.com |                                Lab 2: Working with Thread Groups
                                               © 2017 BlazeMeter. All rights reserved.
                                                                                     10 | Lab 2: Working with Thread Groups
Configure the Thread Group
Complete these steps to configure the Thread Group:
16. Click Thread Group in the Test Plan pane to view the thread group configuration screen.
17. From the Thread Group screen, select the Stop Thread radio button in the Action to be taken after a Sampler error
    section of the screen.
18. Configure the Thread Properties section of the screen as follows:
    Field                Value
    Number of Threads 5
    Ramp-up Period       60
    Loop Count           2
Your Thread Group configuration should look like this:
                                             Lab 2: Working with Thread groups                BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
11 | Lab 2: Working with Thread Groups
Add an Ultimate Thread Group
Complete these steps to add an Ultimate Thread Group to your test:
19. Click Test Plan to highlight it.
20. Right-click Test Plan and select Add  Threads (Users)  Ultimate Thread Group. The Ultimate Thread Group
    configuration pane opens.
21. Click Add Row three times to add three rows to your Ultimate Thread Group.
Blazemeter.com |                              Lab 2: Working with Thread Groups
                                             © 2017 BlazeMeter. All rights reserved.
                                                                                     12 | Lab 2: Working with Thread Groups
a.   Configure row one as follows:
     Field                Value
     Start Threads Count 3
     Initial Delay        0
     Startup Time         0
     Hold Load For        900
     Shutdown Time       300
b.   Configure row two as follows:
     Field                Value
     Start Threads Count 7
     Initial Delay        0
     Startup Time         420
     Hold Load For        760
     Shutdown Time        10
     Note: This test begins with three threads. The test will reach ten threads at two minutes.
c.   Configure row three as follows:
     Field                Value
     Start Threads Count 10
     Initial Delay        120
     Startup Time         420
     Hold Load For        480
     Shutdown Time        10
                                          Lab 2: Working with Thread groups                 BlazeMeter.com |
                                        © 2017 BlazeMeter. All rights reserved.
13 | Lab 2: Working with Thread Groups
Your Ultimate Thread Group configuration should look like this:
Add an Additional Dummy Sampler
Complete these steps to add another Dummy Sampler and a View Results Tree listener to your test so that
you can run the test and view the results:
22. Click Ultimate Thread Group to highlight it.
23. Right-click Ultimate Thread Group.
24. Select Add  Sampler  Dummy Sampler. The Dummy Sampler configuration pane opens.
25. Enter Sampler in TG #2 in the name field to indicate that this is a Dummy sampler in Thread Group two.
Add a View Results Tree Listener and Run the Test
Complete these steps to add a View Results Tree listener:
26. Click Test Plan to highlight it.
27. Right-click Test Plan in the left pane.
Blazemeter.com |                                    Lab 2: Working with Thread Groups
                                                   © 2017 BlazeMeter. All rights reserved.
                                                                                       14 | Lab 2: Working with Thread Groups
28. Select Add  Listener  View Results Tree. The View Results Tree configuration pane opens.
29. Click Save.
30. Click Start in the toolbar to run the test.
31. Click View Results Tree in the left pane. The View Results Tree pane opens and displays your test results for Thread
    Groups one and two as they are generated.
                                                  Lab 2: Working with Thread groups           BlazeMeter.com |
                                             © 2017 BlazeMeter. All rights reserved.
                                                                                     15 | Lab 3: Creating a Basic User Scenario
Lab 3 – Creating a Basic User Scenario
 Goals             During this lab, you will learn how to simulate Internet browser behavior by using a cookie
                   manager and a cache manager. You will then test your Internet browser response time.
 Scenario          In this scenario, you will create a basic, realistic user scenario in which multiple virtual users enter
                   a website and navigate the site. You will do this by sending HTTP requests to a web page. You will
                   then send a second HTTP request to a second page.
                   Using the Cookie Manager and the Cache Manager, you will configure JMeter to behave like a real
                   browser. You can clear your cache and cookies with each iteration to imitate the behavior of
                   multiple users entering the website. At the end of the lab, you will run your test and view results
                   for multiple users, noting the maximum response times.
                   Complete these tasks to configure and test this basic scenario:
                         Create a new JMeter test
                         Add a Thread Group
                         Add an HTTP Cache Manager
                         Add a Cookie Manager
                         Add an HTTP Request Defaults element
                         Add a View Results Tree listener
                         Execute an HTTP Request and configure a Constant Timer
                         Execute another HTTP Request and configure a Constant Timer
                         Run the test and view the results
                         Add a Response Time Listener and generate an Aggregate Report
 Time              20 minutes
Create a New JMeter Test
Complete these steps to create a new JMeter test:
1.   Launch JMeter.
2.   Select File  Save Test Plan As. The Test Plan.jmx window opens.
                                           Lab 3: Creating a Basic User Scenario                     BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
16 | Lab 3: Creating a Basic User Scenario
3.   Enter JMeter Lab 1-3 - Basic Scenario.jmx in the File Name field and click Save.
     Note: Save the lab periodically throughout this exercise to preserve your work.
Add a Thread Group
Complete these steps to add a Thread Group to your test:
4.   Click Test Plan to highlight it.
5.   Right-click Test Plan and select Add  Threads (Users)  Thread Group. The Thread Group configuration pane
     opens.
6.   Configure your Thread Group as follows:
      Field                     Value           Notes
      Number of Threads 10
      Ramp-Up Period            60              This is how long it will take for all the threads to start running. The last
                                                thread will start at 60 seconds.
     Your Thread Group configuration should look like this:
Add an HTTP Cache Manger
Complete these steps to add an HTTP Cache Manager to your Test Plan:
7.   Click Test Plan to highlight it.
8.   Right-click Test Plan and select Add  Config Element  HTTP Cache Manager to add a cache manager to the
     test.
Blazemeter.com |                                 Lab 3: Creating a Basic User Scenario
                                                 © 2017 BlazeMeter. All rights reserved.
                                                                                    17 | Lab 3: Creating a Basic User Scenario
9.   Check the Clear cache each iteration? checkbox and accept all other default settings.
Add an HTTP Cookie Manger
Complete these steps to add an HTTP Cookie Manager to your Test Plan:
10. Click Test Plan to highlight it.
11. Right-click Test Plan and select Add  Config Element  HTTP Cookie Manager to add a Cookie Manager to the
    test.
12. Check the Clear cache each iteration? checkbox and accept all other default settings.
     Note: Adding a cache manager and a cookie manager to the test plan allows you to better simulate real Internet
     browser behavior.
Add an HTTP Request Defaults Element
Complete these steps to add an HTTP Request Defaults element to your Test Plan:
13. Click Test Plan to highlight it.
14. Right-click Test Plan and select Add  Config Element  HTTP Request Defaults.
15. Configure the HTTP Request Defaults element as follows:
                                          Lab 3: Creating a Basic User Scenario                     BlazeMeter.com |
                                          © 2017 BlazeMeter. All rights reserved.
18 | Lab 3: Creating a Basic User Scenario
      Field                     Value            Notes
      Server Name or IP         blazedemo.com
      Port Number               blazedemo.com
      Protocol                  http             Accept default value of http.
     Your HTTP Request Defaults configuration should look like this:
     Note: You can also enter the protocol in the Server Name or IP field and leave the Protocol field blank. For example,
     enter http://blazedemo.com in the Server Name or IP field.
Add a View Results Tree Listener
Complete this steps to add a View Results Tree listener that will capture and display your test results:
16. Click Test Plan to highlight it.
17. Right-click Test Plan and select Add  Listener  View Results Tree to listen to traffic. The View Results Tree
    configuration pane opens.
Blazemeter.com |                                 Lab 3: Creating a Basic User Scenario
                                                 © 2017 BlazeMeter. All rights reserved.
                                                                                    19 | Lab 3: Creating a Basic User Scenario
Execute an HTTP Request and Configure a Constant Timer
Complete these steps to execute an HTTP Request and configure a Constant Timer:
18. Click Thread Group to highlight it.
19. Right-click Thread Group in the left pane and select Add  Sampler  HTTP Request. The HTTP Request
    configuration pane opens.
    Note: When the fields of the HTTP Request configuration pane are left blank, the HTTP Request Default values are
    automatically applied. For example, the HTTP Request will use the Server Name blazedemo.com provided in the
    Server Name field of the HTTP Request Defaults configuration pane.
20. Right-click HTTP Request in the left pane under Thread Group.
21. Select Add  Timer  Constant Timer from the right-click menu. The Constant Timer configuration pane displays.
22. Enter 10000 in the Thread Delay (in milliseconds) field to run the timer for ten seconds.
23. Click HTTP Request in the left pane. The HTTP Request configuration pane opens
24. Select the Advanced tab. The HTTP Request Advanced configuration pane opens.
                                          Lab 3: Creating a Basic User Scenario                     BlazeMeter.com |
                                          © 2017 BlazeMeter. All rights reserved.
20 | Lab 3: Creating a Basic User Scenario
25. Configure the Advanced tab of your HTTP Request as follows:
      Field                     Value
      Retrieve All              Checked
      Embedded
      Resources
      Parallel downloads Checked
      Parallel downloads, 2
      Number
     Your HTTP Request configuration should look like this:
Execute Another HTTP Request and Configure a Constant Timer
In this section, you will execute another HTTP Request that will wait three seconds before executing. The
delay will occur before the previous request.
Complete these steps to execute another HTTP Request and configure a Constant Timer:
26. Click Thread Group to highlight it.
27. Right-click Thread Group in the left pane and select Add  Sampler  HTTP Request. The new HTTP Request
    configuration page opens.
28. Click the Basic tab.
29. Configure the Basic tab of your HTTP Request as follows:
      Field                     Value           Notes
      Server or IP              blazedemo.com
      Method                    GET             Accept the default value of Get.
      Protocol                  http            Accept the default value of http.
      Path                      /reserve.php
Blazemeter.com |                                 Lab 3: Creating a Basic User Scenario
                                                © 2017 BlazeMeter. All rights reserved.
                                                                                     21 | Lab 3: Creating a Basic User Scenario
    Your HTTP Request configuration should look like this:
30. Click the HTTP Request to select it.
31. Right-click the new HTTP Request.
32. Select Add  Timer  Constant Timer. The Constant Timer configuration pane opens.
33. Enter 3000 in the Thread Delay (in milliseconds) field to apply a wait time of three seconds.
Run the Test and the View Results
Complete these steps to add a Response Time Listener, run your test, and note your test results:
34. Click Save.
                                           Lab 3: Creating a Basic User Scenario                     BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
22 | Lab 3: Creating a Basic User Scenario
35. Click View Results Tree in the left pane. The View Results Tree configuration pane opens and the test results begin
    to display.
     Note: Each thread executes two http requests. You should see the results for twenty total http requests.
36. Click Start in the toolbar.
     Your test results should look like this:
Blazemeter.com |                                 Lab 3: Creating a Basic User Scenario
                                                © 2017 BlazeMeter. All rights reserved.
                                                                                   23 | Lab 3: Creating a Basic User Scenario
37. Click the Request tab to view the Get request and the URL. Your Request tab should look like this:
                                          Lab 3: Creating a Basic User Scenario                    BlazeMeter.com |
                                         © 2017 BlazeMeter. All rights reserved.
24 | Lab 3: Creating a Basic User Scenario
38. Click the Response data tab to view the response data. What was the maximum response time in your test? The
    response time is also known as the load time. You can manually check the load time for each http request to
    discover the maximum load time. You can also add an additional listener to capture this information.
Add a Response Time Listener and Generate an Aggregate Report
Complete these steps to add a Response Time Listener, run your test again, and note your test results:
39. Click Test Plan to highlight it.
40. Right-click Test Plan in the left pane.
41. Select Add  Listener  Aggregate Report. The Aggregate Report configuration pane opens.
42. Click Save.
43. Click Start in the tool bar to run the test again.
44. As data appears in the Aggregate Report pane, note the maximum response time in milliseconds in the Max
    column of the report.
Blazemeter.com |                                   Lab 3: Creating a Basic User Scenario
                                                  © 2017 BlazeMeter. All rights reserved.
25 | Lab 4: Utilizing Assertions
Lab 4 – Utilizing Assertions
 Goals                   During this lab, you will learn how to use a JSON Assertion, a Response Assertion, and a Duration
                         Assertion.
 Scenario                Assertions are used to verify that you accessed the web page that you wanted to access and that
                         you received the response and the value that you wanted to receive. For example, when you login
                         to a website, you see welcome text with your username on the home page. If you want to verify
                         that the sign in completed properly, you may verify that the word “welcome” is included in the
                         sign in request response.
                         During this lab, you will complete these tasks:
                                  Use a JSON Assertion to verify information
                                  Use a JSON Assertion to verify information after modifying the expected value
                                  Apply a Response Assertion to verify text in a response
                                  Utilize a Response Assertion to verify receipt of a code
                                  Verify an outcome with a Duration Assertion
 Time                    20 minutes
Part 1: Use a JSON Assertion to Verify Information
In Part 1 of this lab, you will use a JSON Assertion to verify information. A JSON Assertion is a dedicated and
more convenient method for handling JSON responses that are common and popular in web apps.
Create a New JMeter Test
Complete these steps to create a new JMeter test:
1.   Launch JMeter from your desktop shortcut.
2.   Select File  Save Test Plan As. The Test Plan.jmx window opens.
3.   Enter Lab1-4-Assertions.jmx in the File Name field and click Save.
     Note: Save the lab periodically throughout this exercise to preserve your work.
Blazemeter.com |                                                Lab 4: Utilizing Assertions
                                                          © 2017 BlazeMeter. All rights reserved.
                                                                                                26 | Lab 4: Utilizing Assertions
Install the JSON Plugin
Complete these steps to install the JSON plugin in JMeter:
4.   Select Options  Plugins Manager.
     Note: See JMeter Lab 1-1 Installation for instructions about installing the JMeter Plugins Manager if it is not
     available in your Options menu.
5.   Click the Available Plugins tab of the JMeter Plugins Manager window.
     Check the JSON Plugins checkbox in the list of available plugins.
                                                 Lab 4: Utilizing Assertions                    BlazeMeter.com |
                                             © 2017 BlazeMeter. All rights reserved.
27 | Lab 4: Utilizing Assertions
6.   Click Apply Changes and Restart JMeter. JMeter closes and reopens automatically with the plugin that you
     selected installed.
Add a Thread Group
Complete these steps to add a Thread Group:
7.   Click Test Plan to select it.
8.   Right-click Test Plan and select Add  Threads (Users)  Thread Group. The Thread Group configuration pane
     opens.
9.   Accept the default values for the Thread Group.
Add an HTTP Request
Complete these steps to create an HTTP GET Request to ip-ranges.amazonaws.com/ip-ranges.json:
10. Right-click Thread Group.
11. Select Add  Sampler  HTTP Request. The HTTP Request configuration pane opens.
12. Configure the HTTP Request as follows:
      Field                        Value
      Name                         HTTP JSON 1
      Server Name or IP            ip-ranges.amazonaws.com
      Protocol                     https
      Path                         /ip-ranges.json
      Method                       GET
Blazemeter.com |                                           Lab 4: Utilizing Assertions
                                                     © 2017 BlazeMeter. All rights reserved.
                                                                                        28 | Lab 4: Utilizing Assertions
Your HTTP JSON 1 configuration should look like this:
Add a JSON Path Assertion
Complete these steps to add a JSON Path Assertion to HTTP JSON 1:
13. Right-click HTTP JSON 1 and select Add  Assertions  JSON Path Assertion. The JSON Path Assertion
    configuration pane opens.
14. Configure JSON Path Assertion for HTTP JSON 1 as follows:
    Field                 Value
    JSON Path             $.prefixes[0].region
    Validate against      Checked
    expected value
    Match as regular      Unchecked
    expression
    Expected Value        us-east-1
                                                 Lab 4: Utilizing Assertions            BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
29 | Lab 4: Utilizing Assertions
     Your JSON Path Assertion configuration should look like this:
Add a View Results Tree Listener
Complete these steps to add a View Results Tree listener:
15. Click HTTP JSON 1 to select it.
16. Right-click HTTP JSON 1 and select Add  Listener  View Results Tree. The View Results Tree configuration pane
    opens.
17. Click Start to run the test and view the results as they appear in the View Results Tree listener pane.
     Note: Because the default thread group configuration was applied to this test, only one thread group will run one
     time.
18. Note the test results in the Sampler results tab of the View Results Tree listener. Note that the test failed.
Blazemeter.com |                                       Lab 4: Utilizing Assertions
                                                 © 2017 BlazeMeter. All rights reserved.
                                                                                              30 | Lab 4: Utilizing Assertions
19. Click the Response Data tab. The test failed because the assertion expected to find ‘us-east-1’ in the
    $.prefixes[0].region, but found the value ‘GLOBAL’ instead.
Part 2: Verify a New Expected Value with a JSON Assertion
In Part 2 of this lab, we will recreate the test in Part 1, change the expected value, run the test, and note the
new results.
Create an HTTP Request
Complete these steps to create an HTTP GET Request to ip-ranges.amazonaws.com/ip-ranges.json:
                                               Lab 4: Utilizing Assertions                    BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
31 | Lab 4: Utilizing Assertions
20. Click Thread Group to select it.
21. Right-click Thread Group and select Add  Sampler  HTTP Request. The HTTP Request configuration pane
    opens.
22. Configure the HTTP Request as follows:
      Field                        Value
      Name                         HTTP JSON 2
      Server Name or IP            ip-ranges.amazonaws.com
      Protocol                     https
      Path                         /ip-ranges.json
      Method                       GET
     Your HTTP JSON 2 configuration should look like this:
Add a JSON Path Assertion
Complete these steps to add a JSON Path Assertion:
23. Right-click HTTP JSON 2 and select Add  Assertions  JSON Path Assertion. The JSON Path Assertion
    configuration pane opens.
24. Configure JSON Path Assertion for HTTP JSON 2 as follows:
      Field                                    Value
      JSON Path                                $.prefixes[0].region
      Validate against expected value Checked
      Match as regular expression              Unchecked
      Expected Value                           GLOBAL
Blazemeter.com |                                              Lab 4: Utilizing Assertions
                                                        © 2017 BlazeMeter. All rights reserved.
                                                                                              32 | Lab 4: Utilizing Assertions
    Your JSON Path Assertion configuration for HTTP JSON 2 should this:
Add a View Results Tree Listener
Complete these steps to add a View Results Tree listener:
25. Click HTTP JSON 2 to select it.
26. Right-click HTTP JSON 2 and select Add  Listener  View Results Tree. The View Results Tree configuration pane
    opens.
27. Click Start to run the test again.
28. View the test results in the Sampler results tab of the View Results Tree listener. Note that the test passed.
                                               Lab 4: Utilizing Assertions                    BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
33 | Lab 4: Utilizing Assertions
Click the Response data tab to view the Response data and note that the region in the first prefix matches the expected
value field of GLOBAL.
Part 3: Apply a Response Assertion to Verify Text in a Response
In Part 3 of this lab, we will apply a Response Assertion to verify whether specific text is contained in the
response or not.
Create a Duplicate and Configure an HTTP Get Request
Complete these steps to create a duplicate HTTP GET request to the BlazeMeter website:
29. Right-click HTTP JSON 2 and select Duplicate to create a duplicate of this HTTP Request.
30. Configure the HTTP Request as follows:
      Field                        Value
      Name                         HTTP Response 1
      Server Name or IP            blazedemo.com
      Method                       GET
Blazemeter.com |                                           Lab 4: Utilizing Assertions
                                                     © 2017 BlazeMeter. All rights reserved.
                                                                                             34 | Lab 4: Utilizing Assertions
    Your HTTP Response 1 configuration should look like this
31. While pressing, and holding the Shift key, click JSON Path Assertion and View Results Tree under HTTP Response 1
    to highlight both items.
32. Right-click and select Remove.
33. Click Yes in the Confirm remove? popup window.
Add a Response Assertion
Complete these steps to add a Response Assertion to HTTP Response 1:
34. Right-click HTTP Response 1 and select Add  Assertions  Response Assertion.
35. Configure this Response Assertion as follows:
    Field                     Value
    Apply to:                 Main sample only
    Response Field to Test    Text Response
    Pattern Matching Rules Contains
36. Click Add to add a row to the Patterns to Test section of the Response Assertion pane.
                                              Lab 4: Utilizing Assertions                    BlazeMeter.com |
                                          © 2017 BlazeMeter. All rights reserved.
35 | Lab 4: Utilizing Assertions
37. Enter departure in the row and accept all other default settings.
     Your Response Assertion configuration for HTTP Response 1 should look like this:
Add a Second Response Assertion
Complete these steps to add a second Response Assertion to HTTP Response 1:
38. Click HTTP Response 1 to select it.
39. Right-click HTTP Response 1 and select Add  Assertions  Response Assertion.
40. Configure this new Response Assertion as follows:
      Field                        Value
      Apply to:                    Main sample only
      Response Field to Test       Response Headers
      Pattern Matching Rules       Contains
41. Click Add to add a row to the Patterns to Test section of the Response Assertion pane.
42. Enter apache in the row and accept all other default settings.
Blazemeter.com |                                      Lab 4: Utilizing Assertions
                                                © 2017 BlazeMeter. All rights reserved.
                                                                                               36 | Lab 4: Utilizing Assertions
Your second Response Assertion configuration for HTTP Response 1 should look like this:
Add a View Results Tree Listener
Complete these steps to add a View Results Tree listener:
43. Click HTTP Response 1 to select it.
44. Right-click HTTP Response 1 and select Add  Listener  View Results Tree. The View Results Tree configuration
    pane opens.
45. Click Start to run the test and view the results as they appear in the View Results Tree listener pane. Note that the
    test fails.
                                                Lab 4: Utilizing Assertions                   BlazeMeter.com |
                                            © 2017 BlazeMeter. All rights reserved.
37 | Lab 4: Utilizing Assertions
Part 4: Utilize a Response Assertion to Verify Receipt of a Code
In Part 4 of this lab, we will utilize a Response Assertion to verify receipt of a 404 code.
Create a Duplicate HTTP Get Request
Complete these steps to create a duplicate HTTP GET Request to the BlazeMeter website:
46. Click HTTP Response 1 to select it.
47. Right-click HTTP Response 1 and select Duplicate to create a duplicate of this HTTP Request.
48. Remove one of the Response Assertions for your new HTTP Request.
49. Configure the new HTTP Request as follows:
      Field                        Value
      Name                         HTTP Response 2
      Server Name or IP            blazedemo.com
      Method                       GET
      Path                         /nothinghere.html
     Your HTTP Response 2 configuration should look like this:
Blazemeter.com |                                             Lab 4: Utilizing Assertions
                                                       © 2017 BlazeMeter. All rights reserved.
                                                                                             38 | Lab 4: Utilizing Assertions
Configure the Response Assertion for HTTP Response 2
Complete these steps to configure the Response Assertion for HTTP Response 2:
50. Click the Response Assertion for HTTP Response 2 to select it.
51. Configure this Response Assertion as follows:
     Field                     Value
     Apply to:                 Main sample only
     Response Field to Test    Response Code
     Response Field to Test    Ignore Status Selected
     Pattern Matching Rules Matches
52. Click Add to add a row to the Patterns to Test section of the Response Assertion pane.
53. Enter 404 in the row and accept all other default settings.
                                               Lab 4: Utilizing Assertions                   BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
39 | Lab 4: Utilizing Assertions
     Your Response Assertion configuration for HTTP Response 2 should look like this:
Execute Test and Note Results
Complete these steps to execute your new test and view the results:
54. Click View Results Tree for HTTP Response 2 to select it.
55. Click Start to run your test. Note that the test passes and the Response Code of 404 is found.
Blazemeter.com |                                      Lab 4: Utilizing Assertions
                                                © 2017 BlazeMeter. All rights reserved.
                                                                                              40 | Lab 4: Utilizing Assertions
Part 5: Verify an Outcome with a Duration Assertion
In Part 5 of this lab, we will use a Duration Assertion to verify that the outcome matched the expectation of
the test.
Add a Dummy Sampler
Complete these steps to add a Dummy Sampler to your test:
56. Click Thread Group to select it.
57. Right-click Thread Group and select Add  Sampler  Dummy Sampler.
58. Enter 1000 in the Response Time field and accept all other default settings.
    Your Dummy Sampler configuration should look like this:
Add a Duration Assertion
Complete these steps to add and configure a Duration Assertion:
59. Right-click Dummy Sampler and select Add  Assertions  Duration Assertion.
60. Enter 1200 in the Duration in milliseconds field and accept all other default settings.
                                                Lab 4: Utilizing Assertions                   BlazeMeter.com |
                                            © 2017 BlazeMeter. All rights reserved.
41 | Lab 4: Utilizing Assertions
     Your Duration Assertion configuration should look like this:
Add a View Results Tree Listener
Complete these steps to add a View Results Tree listener:
61. Click Dummy Sampler to select it.
62. Right-click Dummy Sampler and select Add  Listener  View Results Tree. The View Results Tree configuration
    pane opens.
63. Click Start to run the test and view the results as they appear in the View Results Tree listener pane
     .Your results should look like this:
Blazemeter.com |                                       Lab 4: Utilizing Assertions
                                                 © 2017 BlazeMeter. All rights reserved.
42 | Lab 5: Understanding Correlations
Lab 5 - Understanding Correlations
     Goals              During this lab, you will learn how to extract a CSRF token from a response header, the body of a
                        response, and so on. You will then learn how to use the extracted token in another HTTP request.
     Scenario           This is a more advanced lab that builds on everything that you learned in the previous labs. In this
                        lab, you will use a regular expression extractor to extract a token while using timers, login, logout,
                        and a data file with random delays between requests to mimic real world scenarios.
                        You will accomplish this by completing these tasks:
                               Create a new JMeter test
                               Add a Thread Group
                               Add and configure an HTTP Request
                               Extract the CSRF token
                               Register a new account
                               Add an HTTP Cookie Manager
                               Add a View Results Tree listener
                               Add an HTTP Request Sampler to login
                               Add an HTTP Request Sampler to logout
                               Add a Uniform Random Timer
                               Add a Debug Sampler
                               Review tips and tricks
     Time               20 minutes
Create a New JMeter Test
Complete these steps to create a new JMeter test:
1.    Launch JMeter from your desktop shortcut.
2.    Select File  Save Test Plan As. The Test Plan.jmx window opens.
3.    Enter Lab1-5-Correlations.jmx in the File Name field and click Save.
      Note: Save the lab periodically throughout this exercise to preserve your work.
Blazemeter.com |                                         Lab 5: Understanding Correlations
                                                     © 2017 BlazeMeter. All rights reserved.
                                                                                     43 | Lab 5: Understanding Correlations
Add a Thread Group
Complete these steps to add and configure a Thread Group:
4.   Click Test Plan to select it.
5.   Right-click Test Plan and select Add  Thread Groups  Thread Group. The Thread Group configuration pane
     opens.
6.   Configure your thread group as follows by accepting the default values:
      Field                  Value
      Number of Threads 1
      Ramp-Up Period         1
      Loop Count             1
     Your Thread Group configuration should look like this:
Add and Configure an HTTP Request
Complete these steps to add and configure an HTTP Request that will be used to extract the CSRF token:
7.   Right-click Thread Group and select Add  Sampler  HTTP Request. The HTTP Request configuration pane
     opens.
8.   Configure the HTTP Request as follows:
                                              Lab 5: Understanding Correlations           BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
44 | Lab 5: Understanding Correlations
      Field                     Value
      Name                      HTTP Request Homepage
      Server or IP              www.blazedemo.com
      Path                      /register
      Method                    GET
Your HTTP Request Homepage configuration should look like this:
Extract the CSRF Token
Complete these steps to extract the CSRF token from the GET request response received from the
www.blazemeter.com/register web page:
9.   Right-click HTTP Request Homepage and select Add  Post Processors  Regular Expression Extractor. The
     Regular Expression Extractor configuration pane opens.
10. Configure the Regular Expression Extractor as follows:
      Field                     Value            Notes
      Main sample only          Selected
      Response Headers          Selected
      Reference Name            token            This is the name that will be used later in the script for extracting
                                                 the CSRF token.
      Regular Expression XSRF -TOKEN=(.+?)       This is the expression that will be used to extract the CSRF token.
      Template                  $1$
      Default Value             TokenNotFound    This message will appear in your test results if no token was
                                                 found.
Blazemeter.com |                                    Lab 5: Understanding Correlations
                                                 © 2017 BlazeMeter. All rights reserved.
                                                                                       45 | Lab 5: Understanding Correlations
Your Regular Expression Extractor configuration should look like this:
Register a New Account
Complete these steps to register a new account and create a new HTTP Request:
11. Click Thread Group to select it.
12. Right-click Thread Group and select Add  Sampler  HTTP Request. The HTTP Request configuration pane
    opens.
13. Configure your HTTP Request sampler as follows:
     Field                 Value
     Name                  HTTP Request Register
     Method                Post
     Server Name or IP     www.blazedemo.com
     Path                  /register
    a.   Click Add five times at the bottom of the Send Parameters With Request section to add five rows to this
         section.
    b.   Configure row one as follows:
         Field                Value
         Name                 name
         Value               Jane Smith
    c.   Configure row two as follows:
                                            Lab 5: Understanding Correlations               BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
46 | Lab 5: Understanding Correlations
           Field                     Value
           Name                      company
          Value                BlazeMeter
     d.   Configure row three as follows:
           Field                     Value
           Name                      email
          Value                jsmith@blazemeter.com
     e.   Configure row four as follows:
           Field                     Value
           Name                      password
          Value                 abcd1234
     f.   Configure row five as follows:
           Field                     Value
           Name                      password_confirmation
           Value                     abcd1234
     Your HTTP Request sampler configuration should look like this:
Blazemeter.com |                                      Lab 5: Understanding Correlations
                                                    © 2017 BlazeMeter. All rights reserved.
                                                                                     47 | Lab 5: Understanding Correlations
Add an HTTP Cookie Manager
Complete these steps to add and configure an HTTP Cookie Manager:
14. Right-click HTTP Request Register and select Add  Config Element  HTTP Cookie Manager. The HTTP Cookie
    Manager configuration pane opens.
15. Select compatibility from the Cookie Policy dropdown menu.
16. Click Add to add a row to the User-Defined Cookies section of the pane.
17. Configure the HTTP Cookie Manager as follows:
     Field                 Value                Notes
     Name                  XSRF-TOKEN
     Value                 ${token}             This allows the HTTP Cookie Manager to use the token that was
                                                extracted in the first sequence.
Your HTTP Cookie Manager configuration should look like this:
Add a View Results Tree Listener
Complete these steps to add a View Results Tree listener that will capture and display the results of your
test:
18. Click Thread Group to select it.
                                           Lab 5: Understanding Correlations              BlazeMeter.com |
                                          © 2017 BlazeMeter. All rights reserved.
48 | Lab 5: Understanding Correlations
19. Right-click Thread Group and select Add  Listener  View Results Tree. The View Results Tree configuration
    pane opens.
Click Start to run the script. The test results appear in the Sampler result tab of the View Results Tree pane. The test
successfully extracts the token from the first request and posts a cookie to the second request.
Add an HTTP Request Sampler to Login
Complete these steps to add an HTTP Request sampler to login to the website:
20. Click Thread Group to select it.
21. Right-click Thread Group and select Add  Sampler  HTTP Request. The HTTP Request configuration pane
    opens.
22. Configure the HTTP Request Login as follows:
      Field                     Value
      Name                      HTTP Request Login
      Server Name or IP         www.blazedemo.com
      Path                      /login
      Method               POST
     a.   Click Add two times to add two rows to the Send Parameters With Request section of the pane.
     b.   Configure row one as follows:
           Field                     Value
           Name                      email
           Value                     jsmith@blazemeter.com
Blazemeter.com |                                       Lab 5: Understanding Correlations
                                                     © 2017 BlazeMeter. All rights reserved.
                                                                                    49 | Lab 5: Understanding Correlations
    c.   Configure row two as follows:
         Field                Value
         Name                 password
         Value                abcd1234
    Your HTTP Request Login configuration should look like this:
Add an HTTP Request Sampler to Logout
Complete these steps to add an HTTP Request Sampler to logout of the website and pass the token as a
parameter:
23. Click Thread Group to select it.
24. Right-click Thread Group and select Add  Sampler  HTTP Request. The HTTP Request configuration pane
    opens.
25. Configure the HTTP Request Logout as follows:
     Field                 Value
     Name                  HTTP Request Logout
     Server Name or IP     www.blazedemo.com
     Method                POST
     Path                  /logout
     Follow Redirects      Checked
     Use KeepAlive         Checked
                                           Lab 5: Understanding Correlations             BlazeMeter.com |
                                          © 2017 BlazeMeter. All rights reserved.
50 | Lab 5: Understanding Correlations
     Your HTTP Request Logout configuration should look like this:
26. Right-click the HTTP Cookie Manager in the Test Plan pane on the left and select Copy.
27. Right-click HTTP Request Logout in the Test Plan pane and select Paste. A copy of the HTTP Cookie Manager
    appears in the HTTP Request Logout.
Blazemeter.com |                                  Lab 5: Understanding Correlations
                                                © 2017 BlazeMeter. All rights reserved.
                                                                                      51 | Lab 5: Understanding Correlations
Add a Uniform Random Timer
Complete these steps to add a Uniform Random Timer that gives a random delay of approximately 2
seconds between requests:
28. Click Thread Group to select it.
29. Right-click Thread Group and select Add  Timer  Uniform Random Timer. The Uniform Random Timer
    configuration pane opens.
30. Configure the Uniform Random Timer as follows:
      Field                         Value
      Random Delay Maximum 300
      Constant Delay Offset         2000
    Your Uniform Random Timer configuration should look like this:
31. Click Test Plan to select it.
32. Right-click Test Plan and select Add  Listener  View Results Tree. The View Results Tree configuration pane
    opens.
33. Click Start to run your test.
                                             Lab 5: Understanding Correlations             BlazeMeter.com |
                                            © 2017 BlazeMeter. All rights reserved.
52 | Lab 5: Understanding Correlations
     Your test results should look like this:
Add a Debug Sampler
You must add a Debug Sampler to view what was extracted during your test. Complete these steps to add a
Debug Sampler:
34. Click Thread Group to select it.
35. Right-click Thread Group and select Add  Sampler  Debug Sampler. The Debug Sampler configuration pane
    opens.
36. Accept the default configuration of the Debug Sampler.
37. Click the last View Results Tree listener in the Test Plan pane to open the View Results Tree pane.
38. Click Start to run the test again. Your test results display in the View Results Tree pane.
Blazemeter.com |                                   Lab 5: Understanding Correlations
                                                 © 2017 BlazeMeter. All rights reserved.
                                                                                                 53 | Lab 5: Understanding Correlations
    Scroll down and click Debug Sampler in the Text section of the View Results Tree listener.
39. Click Response data to view the variables that were used in the test and note the value captured for token in the
    Response data tab.
Tips and Tricks
        The best way to create an initial script before adding parameters is to record it using the BlazeMeter chrome extension
         recorder. See the knowledge base article Chrome Extension for more information.
        For more information about how to create login scenarios, see How To Use JMeter For Login Authentication. There are at
         least two good options to generate unique login credentials for multiple sign ups and logins. For this exercise, we used a
         comma separated value (CSV) file to create a data set which holds the username, email address, and password. For more
         information about the JMeter CSV Data Set Config option, see Using CSV Data Set Config in the BlazeMeter.com online
         knowledge base.
                                                Lab 5: Understanding Correlations                     BlazeMeter.com |
                                               © 2017 BlazeMeter. All rights reserved.
54 | Lab 6: Configuring Functions
Lab 6 - Configuring Functions
     Goals               During this lab, you will learn about and apply these JMeter functions: log, time, counter &
                         ThreadNum, UUID, Property, and instanceId.
     Scenario            Create a standard test in JMeter using these JMeter functions: log, time, counter & ThreadNum,
                         UUID, Property, and instanceId.
                         You will accomplish this by completing the following tasks:
                                   Configure and Run a JMeter Test
                                   Configure a JMeter Test Using the Log Function
                                   Configure a JMeter Test Using the Time Function
                                   Configure a JMeter Test Using the Counter & ThreadNum Function
                                   Configure a JMeter Test Using the UUID Function
                                   Configure a JMeter Test Using the Property Function
                                   Configure a JMeter Test Using the Property Function with an instanceId
     Time                20 minutes
Part 1: Configure and Run a JMeter Test
Create a New JMeter Test
Complete these steps to create a new JMeter test for this lab:
1.    Launch JMeter from your desktop shortcut.
2.    Select File > Save Test Plan As. The Test Plan.jmx window opens.
3.    Enter Lab1-6-Functions.jmx in the File Name field and click Save.
      Note: Save the lab periodically throughout this exercise to preserve your work.
Add a Thread Group
Complete these steps to add a Thread Group to your test:
4.    Click Test Plan to select it.
5.    Right-click Test Plan and select Add  Thread Groups  Thread Group. The Thread Group configuration pane
      opens.
Blazemeter.com |                                            Lab 6: Configuring Functions
                                                        © 2017 BlazeMeter. All rights reserved.
                                                                                         55 | Lab 6: Configuring Functions
6.   Accept the default configuration for a Thread Group:
      Field                Value
      Number of Threads 1
      Ramp-Up Period       1
      Loop Count           1
     Your Thread Group configuration should look like this:
Add a Dummy Sampler
Complete these steps to add a Dummy Sampler to your test:
7.   Click Thread Group to select it.
8.   Right-click Thread Group and select Add  Sampler  Dummy Sampler. The Dummy Sampler configuration pane
     opens.
9.   Verify that the Dummy Sampler is configured as follows with these default values:
      Field                Value
      Name                 Sampler #1
      Successful sample    Checked
      Response Code        200
      Response Message OK
      Connect Time         ${_Random(1,5)}
                                                Lab 6: Configuring Functions              BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
56 | Lab 6: Configuring Functions
      Latency                       ${_Random(1,50)}
      Response Time                 ${_Random(0,500)}
      Simulate Response Checked
      Time (sleep)
      Request Data                  Dummy Sampler used to simulate requests and responses without actual network activity.
                                    This help debugging tests
      Response Data                 Dummy Sampler used to simulate requests and responses without actual network activity.
                                    This helps debugging test
     Your Dummy Sampler configuration should look like this:
Duplicate the Dummy Sampler
Complete these steps to duplicate the Dummy Sampler that you just created:
10. Right-click Sampler #1 select Duplicate. A duplicate of Dummy Sampler 1 appears in the Thread Group.
Blazemeter.com |                                            Lab 6: Configuring Functions
                                                        © 2017 BlazeMeter. All rights reserved.
                                                                                        57 | Lab 6: Configuring Functions
11. Enter Sampler #2 in the name field of the new Dummy Sampler. Your second Dummy Sampler configuration
    should look like this:
Add a View Results Tree Listener
Complete these steps to add a View Results Tree listener to your test that will capture and display your test
results:
12. Click Test Plan to select it.
13. Right-click Test Plan and select Add  Listener  View Results Tree. The View Results Tree listener configuration
    pane opens.
Run the Test and Observe the Test Results
Complete these steps to run your test and view the test results in the View Results Tree listener pane:
14. Click View Results Tree to view the test results pane.
15. Click Start to begin your test.
                                                Lab 6: Configuring Functions             BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
58 | Lab 6: Configuring Functions
16. Click Sampler #1 and note the load time and connect time in the Sampler result tab.
17. Click Sampler #2 and note the load time and connect time in the Sampler result tab.
     Note: Load time is given in milliseconds and connect time is given in seconds.
Blazemeter.com |                                     Lab 6: Configuring Functions
                                                 © 2017 BlazeMeter. All rights reserved.
                                                                                       59 | Lab 6: Configuring Functions
Part 2: Configure a JMeter Test Using the Log Function
Configure and Run the Log Function
Complete these steps to configure and run a Log function:
1.   Click Sampler #1 to view its configuration page. The Dummy Sampler configuration page opens.
2.   Enter the log function ${__log(“hello world”)} after Sampler #1 in the Name field. Your sampler name should now
     give Sampler #1 ${__log(“hello world”)}.
3.   Click Sampler #2 to view its configuration page. The Dummy Sampler configuration page opens.
4.   Enter the log function ${__log(“hello world”)} after Sampler #2 in the Name field. Your sampler name should now
     give Sampler #2 ${__log(“hello world”)}.
5.   Click View Results Tree to display the pane that will show your test results.
6.   Click Start to begin your test.
                                                 Lab 6: Configuring Functions           BlazeMeter.com |
                                            © 2017 BlazeMeter. All rights reserved.
60 | Lab 6: Configuring Functions
7.   View your test results and note that the log function added “hello world” to the name of each sampler.
8.   Select Options  Log Viewer. The log view opens at the bottom of the View Results Tree window.
9.   In the Log Viewer, note the number of times that the thread group ran and where “hello world” appears in the log.
Blazemeter.com |                                    Lab 6: Configuring Functions
                                                © 2017 BlazeMeter. All rights reserved.
                                                                                         61 | Lab 6: Configuring Functions
Part 3: Configure a JMeter Test Using the Time Function
Configure and Run a Time Function
Complete these steps to configure and run a Time function:
1.   Right-click Sampler #2 ${__log(“hello world”)} and select Duplicate to give you three dummy samplers in total.
2.   Rename each sampler as follows:
     a. Change the name of sampler 1 from Sampler #1 ${__log(“hello world”)} to 1-${__time()}.
     b. Change the name of sampler 2 from Sampler #2 ${__log(“hello world”)} to 2-${__time(MM/dd/YY)}.
     c. Change the name of the sampler 2 duplicate from Sampler #2 ${__log(“hello world”)} to
         3-${__time(dd MM YYYY HH mm ss)}.
         Your Dummy Sampler names should look like this:
3.   Click View Results Tree to view the test results pane.
4.   Click Start to begin your test.
5.   Note the test results in the View Results Tree pane:
     a. The first sampler gives the time stamp as its name. This is because we did not give the time function any other
         values to apply.
     b. The second sampler gives the current date as its name in the format 01/31/16.
     c. The third sampler gives the current date and time as its name in the format 01 31 2016 15 26 56.
                                                 Lab 6: Configuring Functions             BlazeMeter.com |
                                            © 2017 BlazeMeter. All rights reserved.
62 | Lab 6: Configuring Functions
           Your test results should look like this:
Part 4: Configure a JMeter Test Using the Counter & ThreadNum Function
Configure and Run a Counter & ThreadNum Function
Complete these steps to configure and run a Counter and ThreadNum function:
1.   Select the second and third samplers in your thread group to highlight them.
2.   Right-click the highlighted samplers and select Remove.
3.   Click Yes in the popup window to finish removing two samplers. Sampler 1-${__time()} is the only remaining
     sampler.
4.   Click sampler 1-${__time()} to view its Dummy Sampler configuration pane.
5.   Replace 1-${__time()} with ${__counter(false,)} - ${__threadNum} in the Name field to rename the sampler.
     Note: There is no need to make any other changes to the test. The thread group should still be configured to run
     one thread for one loop as it did in previously configured tests.
6.   Click View Results Tree to view the test results pane.
7.   Click Start to begin your test.
8.   Notice that the sampler name is 1 - 1 in the Text pane of the View Results Tree page. The first number 1 in the
     sampler name is a result of the counter function. The second number 1 in the sampler name gives the number of
     thread groups in the test as a result of the threadNum function.
Blazemeter.com |                                          Lab 6: Configuring Functions
                                                      © 2017 BlazeMeter. All rights reserved.
                                                                                            63 | Lab 6: Configuring Functions
Part 5: Configure a JMeter Test Using the UUID Function
Configure and Run a UUID Function
The UUID function provides a unique value every time you use it. For example, a common use case of the
UUID function occurs when you have a web application and you want to performance test the signup phase
of a scenario. In this scenario, you may create 100 new users. If you include a new UUID every time that you
provide a user name, then you can be assured that each username is unique.
Complete these steps to configure and run a UUID function:
1.   Click sampler ${__counter(false,)} - ${__threadNum} to view its Dummy Sampler configuration pane.
2.   Replace ${__counter(false,)} - ${__threadNum} with ${__UUID} in the Name field to rename the sampler.
3.   Click View Results Tree to view the test results pane.
4.   Click Start to begin your test.
5.   View your test results in the View Results Tree pane and note that the function generates a 128-bit universally
     unique identifier. This identifier can be used to randomize logins or any other field when testing with a high level
     of concurrency.
                                                 Lab 6: Configuring Functions                BlazeMeter.com |
                                            © 2017 BlazeMeter. All rights reserved.
64 | Lab 6: Configuring Functions
Part 6: Configure a JMeter Test Using the Property Function
Configure and Run a Property Function
Complete these steps to configure and run a Property function:
1.   Right-click Test Plan and select Add  Config Element  User Defined Variables. The User Defined Variables
     configuration pane opens.
2.   Click Add to add a row to the User Defined Variables section.
3.   Enter threads in the Name field of the new row.
4.   Enter ${__P)PropNumOfThreads,5)} in the Value field of the same row. You now have a Property function with
     two attributes, a name of threads and a default value of 5, added to your test.
5.   Click Thread Group to view the Thread Group configuration pane.
6.   Enter ${threads} in the Number of Threads field. The Thread Group will now use the default value of 5 that you set
     in your Property function to determine how many threads to run in your test.
7.   Go to the command line on your system.
8.   From the command line, go to your JMeter/bin folder.
9.   Enter jmeter -n -t /<path to the location of your Functions_lab.jmx file>/Functions_lab.jmx
     -JpropNameOfThreads=3 -l results.log at the command line prompt and run the command.
     For example, jmeter -n -t /Users/jsmith/downloads/Functions_lab.jmx -JpropNumOfThreads=3 -l results.log.
Blazemeter.com |                                    Lab 6: Configuring Functions
                                                © 2017 BlazeMeter. All rights reserved.
                                                                                          65 | Lab 6: Configuring Functions
     When you run the .jmx script, it changes the default value that you set in the Property function from 5 to 3 and
     writes the results to the results.log file.
     Note: The variable name given at the command line must match the variable name in your JMeter test exactly.
     Variable names are case sensitive.
10. View the test results displayed in the command line window as the command is executed. Note that the value of 3
    was applied to your Property function from the command line. This value populated the threads variable to set the
    number of threads to execute, overriding the value of 5 that you originally configured.
Part 7: Configure a JMeter Test Using the Property Function with an instanceId
Configure and Run a Property Function with an instanceId
In this lab, you will use the instanceId function to verify which instance is giving errors or behaving strangely.
For example, if you want to debug a specific engine because you are receiving errors on one engine, but not
other engines, you can use the instanceId function to identify the engine that is not working properly.
You can do this by running a test using multiple load engines. The instanceId function identifies each specific
engine or instance. For example, if we use a distribution of three load engines, then their instance IDs would
be 1, 2, and 3, respectively, allowing you to identify the malfunctioning engine.
Complete these steps to incorporate the instanceId function into your Property function:
1.   Return to your previous instance of JMeter.
2.   Click ${_UUID} to view its Dummy Sampler configuration page.
3.   Enter ${__P(instanceId)} in the Name field to rename the Dummy Sampler.
4.   Click View Results Tree to view the test results pane.
                                                 Lab 6: Configuring Functions               BlazeMeter.com |
                                            © 2017 BlazeMeter. All rights reserved.
66 | Lab 6: Configuring Functions
5.   Click Start to begin your test.
6.   View your test results in the View Results Tree pane and note that you receive the value of 1 five times. This occurs
     because you are only running one engine on your local computer for five threads.
Blazemeter.com |                                     Lab 6: Configuring Functions
                                                 © 2017 BlazeMeter. All rights reserved.
67 | Lab 7: Configuring Complex Scripts
Lab 7 - Configuring Complex Script
     Goals               During this lab, you will learn how build a script that includes several scenarios that run
                         consecutively.
     Scenario            This lab builds on what you learned in JMeter Lab 1-5 – Correlations by taking an advanced,
                         realistic scenario a step further. In this lab, you will apply your new knowledge of thread groups,
                         assertions, and so on with additional skills such as incorporating a CSV file. You will also learn
                         about and apply a Throughput Controller and a Logic Controller while incorporating a BeanShell
                         Sampler.
                                Configure a JMeter Test that Applies Multiple Throughput Controllers
                                Configure a JMeter Test that Applies a Logic Controller and a BeanShell Sampler
     Time                30 minutes
Part 1: Configure a JMeter Test that Applies Multiple Throughput Controllers
Create and Configure a New JMeter Test
Complete these steps to configure a Thread Group for ten threads with a ten second ramp up that runs for
ten minutes:
1.    Launch JMeter from your desktop shortcut.
2.    Select File  Save Test Plan As. The Test Plan.jmx window opens.
3.    Enter Lab1-7-ComplexScripts.jmx in the File Name field and click Save.
      Note: Save the lab periodically throughout this exercise to preserve your work.
4.    Click Test Plan to view the Test Plan configuration pane.
                                                  Lab 7: Configuring Complex Scripts                BlazeMeter.com |
                                                 © 2017 BlazeMeter. All rights reserved.
                                                                                        68 | Lab 7: Configuring Complex Scripts
Check the Run Thread Groups consecutively (i.e. run groups one at a time) check box.
Add a Thread Group
Complete these steps to add a Thread Group:
5.   Right-click Test Plan and select Add  Threads (Users)  Thread Group. The Thread Group configuration pane
     opens.
6.   Configure your Thread Group as follows:
      Field               Value                 Notes
      Number of Threads 10
      Ramp-Up Period      10
      Loop Count:         Checked
      Forever
      Scheduler           Checked
      Duration            600                   This value configures the test to run for ten minutes.
                                           Lab 7: Configuring Complex Scripts                BlazeMeter.com |
                                          © 2017 BlazeMeter. All rights reserved.
69 | Lab 7: Configuring Complex Scripts
     Your Thread Group configuration should look like this:
Modify the Test Throughput with a Throughput Shaping Timer
Complete these steps to add the Throughput Shaping Timer plug-in and limit the throughput of the test to 5 hits per
second (hits/s) for the first five minutes. After five minutes, ramp up to 10 requests per second (RPS) until the end of
the test.
7.   Select Options  Plug-In Manager. The JMeter Plugins Manager opens.
8.   Click Available Plugins and scroll down to Throughput Shaping Timer.
     Note: If the plugin is not found, click Installed Plugins and verify that it has already been installed and proceed to
     the next step.Check the Throughput Shaping Timer checkbox and click Apply Changes and Restart JMeter to
     install the plugin.
                                               Lab 7: Configuring Complex Scripts                BlazeMeter.com |
                                             © 2017 BlazeMeter. All rights reserved.
                                                                                     70 | Lab 7: Configuring Complex Scripts
9.   Right-click Thread Group and select Add  Timer  Throughput Shaping Timer. The Throughput Shaping Timer
     configuration pane opens.
10. Click Add Row two times to add two rows to the Requests Per Second (RPS) section.
11. Configure the first row in the Requests Per Second (RPS) section as follows:
      Field               Value
      Start RPS           5
      End RPS             5
      Duration            300
12. Configure the second row in the Requests Per Second (RPS) section as follows:
      Field               Value
      Start RPS           10
      End RPS             10
      Duration            300
     Your Throughput Shaping Timer configuration should look like this:
                                            Lab 7: Configuring Complex Scripts            BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
71 | Lab 7: Configuring Complex Scripts
Add a Throughput Controller
Why should you use a Throughput Controller? A Throughput Controller allows you to create tests that imitate virtual
users completing specific tasks to test the performance of a website.
For example, you may want to test the performance of an ecommerce site in a realistic scenario and show 1000
concurrent users accessing the website in a realistic manner. You may assume that 30% of the users are currently
logging in, 20% of the users are already logged in and busy adding items to their cart, 40% of the users are browsing
and searching through your products, and 20% are logging out. In this example, a Throughput Controller could imitate
this behavior to thoroughly test the performance of the site.
Complete these steps to add a Throughput Controller that sends 10% of test plan requests to the BlazeMeter
demonstration registration web page and signs up the users:
13. Click Thread Group to select it.
14. Right-click Thread Group and select Add  Logic Controller  Throughput Controller. The Throughput Controller
    configuration page opens.
15. Configure your Throughput Controller as follows:
      Field                     Value                  Notes
      Name                      Throughput
                                Controller 10%
      Percent Executions Selected
      Throughput                10.0                   This value sets the throughput at 10%.
     Your Throughput Controller configuration should look like this:
Add an HTTP Request
Complete these steps to add an HTTP Request to your Throughput Controller:
16. Right-click Throughput Controller and select Add  Sampler  HTTP Request. The HTTP Request configuration
    pane opens.
                                                  Lab 7: Configuring Complex Scripts            BlazeMeter.com |
                                                 © 2017 BlazeMeter. All rights reserved.
                                                                                        72 | Lab 7: Configuring Complex Scripts
17. Configure your HTTP Request as follows:
     Field                    Value
     Server or IP             blazedemo.com
     Method                   GET
     Protocol                 http
     Path               /register
    Your HTTP Request configuration should look like this:
Add an HTTP Cookie Manager
Complete these steps to add a Cookie Manager to your Throughput Controller:
18. Right-click HTTP Request and select Add  Config Element  HTTP Cookie Manager. The HTTP Cookie Manager
    configuration pane opens.
19. Configure your HTTP Cookie Manager as follows:
    a. Verify and accept these values that are configured by default:
         Field                   Value
         Clear cookies each      Unchecked
         iteration?
         Implementation type HC4CookieHandler
         Cookie Policy           Standard
                                               Lab 7: Configuring Complex Scripts            BlazeMeter.com |
                                              © 2017 BlazeMeter. All rights reserved.
73 | Lab 7: Configuring Complex Scripts
     b.   Click Add to add a row to the User-Defined Cookies section.
           Field                     Value
           Name                      XSRF-TOKEN
           Value                     ${token}
     Your HTTP Cookie Manager configuration should look like this:
Add a Simple Data Writer Listener to Download Content
Complete these steps to configure your test to download all page content and save it to a file:
20. Click HTTP Request to select it.
21. Right-click HTTP Request and select Add  Listener  Simple Data Writer. The Simple Data Writer configuration
    pane opens.
     Note: The Simple Data Writer listener can be used to write the data from a request to a file.
22. Enter page_content.txt in the Filename field.
23. Click Configure. The Sample Request Save Configuration window opens.
                                                  Lab 7: Configuring Complex Scripts          BlazeMeter.com |
                                                © 2017 BlazeMeter. All rights reserved.
                                                                                     74 | Lab 7: Configuring Complex Scripts
24. Check the Save Response Data (XML) checkbox and click Done.
Configure the Advanced Tab of the HTTP Request
Complete these steps to configure the Advanced tab of the HTTP Request:
25. Click HTTP Request to view the HTTP Request configuration pane.
26. Click the Advanced tab to view the advanced configuration options of the HTTP Request.
27. Check the Retrieve All Embedded Resources checkbox to include all embedded resources when downloading page
    content.
                                          Lab 7: Configuring Complex Scripts              BlazeMeter.com |
                                         © 2017 BlazeMeter. All rights reserved.
75 | Lab 7: Configuring Complex Scripts
Modify an HTTP Request to Identify Unique Users
Complete these steps to ensure that each user that is registered for the BlazeMeter Demo is unique no matter how
many engines or threads are used to run the script:
28. Click the Basic tab of the same HTTP Request.
29. Click Add five time to add five rows to the Send Parameters With the Request section.
30. Configure row one as follows:
      Field                     Value
      Name                      name
      Value                     Jane Smith ${__UUID}
31. Configure row two as follows:
      Field                     Value
      Name                      company
      Value                     BlazeMeter
32. Configure row three as follows:
      Field                     Value
      Name                      email
      Value                     jsmith_${__UUID}@blazemeter.com
33. Configure row four as follows:
      Field                     Value
      Name                      password
      Value                     abcd1234
34. Configure row five as follows:
      Field                     Value
      Name                      password_confirmation
      Value                     abcd1234
                                                Lab 7: Configuring Complex Scripts          BlazeMeter.com |
                                              © 2017 BlazeMeter. All rights reserved.
                                                                                        76 | Lab 7: Configuring Complex Scripts
    Your HTTP Request configuration should look like this:
Part 2: Configure a JMeter Test that Applies a Logic Controller and a BeanShell Sampler
Submit a Request to a Website with Wait Time Requirements
The tasks that you will complete in this section of the lab apply a BeanShell Sampler. Elements such as BeanShell
Samplers add functionality to JMeter scripts that are not available in JMeter by default. A BeanShell Sampler allows you
to add scripting language and is like Java in that it enables you to do more with basic JMeter elements. It would be
extremely difficult to complete these tasks in JMeter without a BeanShell Sampler.
Complete these steps to send a request to Blazedemo.com with a wait time between 500 milliseconds and 1 second
occurring between each iteration with an average wait time of 750 milliseconds:
35. Click Thread Group to select it.
36. Right-click Thread Group and select Add  Logic Controller  Throughput Controller. The Throughput Controller
    configuration page opens.
37. Configure the Throughput Controller as follows:
                                            Lab 7: Configuring Complex Scripts               BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
77 | Lab 7: Configuring Complex Scripts
      Field                     Value                                         Notes
      Name                      Throughput Controller 50%                     This Throughput Controller will address
                                                                              50% of your requests.
      Selected from             Percent Executions
      dropdown menu
      Throughput                50.0                                          This value sets the throughput to 50%.
     Your Throughput Controller configuration should look like this:
38. Right-click Throughput Controller 50% and select Add  Sampler  HTTP Request.
39. Enter www.blazedemo.com in the Server Name or IP field.
40. Right-click HTTP Request and select Add  Timer  Uniform Random Timer.
41. Configure the Uniform Random Timer as follows:
      Field                               Value
      Random Delay Maximum 250
      Constant Delay Offset               750
     Your Uniform Random Timer configuration should look like this:
                                                   Lab 7: Configuring Complex Scripts                   BlazeMeter.com |
                                                  © 2017 BlazeMeter. All rights reserved.
                                                                                            78 | Lab 7: Configuring Complex Scripts
The result of setting a Random Delay Maximum of 250ms and a Constant Delay Offset of 750ms is that the maximum
delay will not be longer than one second, the minimum delay will not be less than 500ms, and the average delay will be
750ms.
Submit a Request to a Website
Complete these steps to loop the test thirty times, read a CSV file, push the resulting content to a log, and
then apply a command line parameter that determines if it is necessary to loop again:
42. Click Thread Group to select it.
43. Right-click Thread Group and select Add  Logic Controller  Throughput Controller. The Throughput Controller
    configuration page opens.
44. Configure the Throughput Controller as follows:
     Field                 Value                                       Notes
     Name                  Throughput Controller 30%                   This Throughput Controller will address
                                                                       30% of your requests.
     Selected from         Percent Executions
     dropdown menu
     Throughput            30.0                                        This value sets the throughput to 30%.
    Your Throughput Controller configuration should look like this:
                                            Lab 7: Configuring Complex Scripts                   BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
79 | Lab 7: Configuring Complex Scripts
Add a While Controller
Complete these steps to add and configure a While Controller for your Throughput Controller:
45. Right-click Throughput Controller 30% and select Add  Logic Controller  While Controller. The While
    Controller configuration pane opens.
46. Enter ${__javaScript("${color}" != "red" && ${counter} < 30,)} in the Condition (function or variable) field.
    Applying this function allows the loop to run thirty times unless the color is red. When the color is red, the function
    exits the loop.
     Your While Controller configuration should look like this:
Add a Counter to Your Throughput Controller
Complete these steps to add a Counter to your Throughput Controller:
47. Right-click While Controller and select Add  Config Element  Counter. The Counter configuration pane opens.
48. Configure the Counter as follows:
      Field                     Value
      Start                     1
      Increment                 1
      Reference Name            counter
                                              Lab 7: Configuring Complex Scripts               BlazeMeter.com |
                                            © 2017 BlazeMeter. All rights reserved.
                                                                                           80 | Lab 7: Configuring Complex Scripts
    Your Counter configuration should look like this:
Create a CSV File for Colors
Complete these steps to create a CSV file that will be used by the While Controller function:
49. Open a basic word processor such as Notepad.
50. Enter these colors in order with one color per row in Notepad:
51. Select File  Save As and enter colors.csv in the Filename field.
52. Navigate to the directory that contains the script that you are configuring for this lab, click Save to save the
    colors.csv file in the same directory, and close Notepad.
    Note: You must save the colors.csv file to the same directory containing the script that you are creating for this lab
    to execute the script properly.
                                              Lab 7: Configuring Complex Scripts                BlazeMeter.com |
                                            © 2017 BlazeMeter. All rights reserved.
81 | Lab 7: Configuring Complex Scripts
Include a CSV File in a While Controller
Complete these steps to add a CSV Data Set Config to the While Controller:
53. Right-click While Controller and select Add  Config Element  CSV Data Set Config. The CSV Data Set Config
    pane opens. This element is used to read lines of content from a comma separated value (CSV) file.
54. Configure the CSV Data Set Config as follows:
      Field                     Value
      Filename                  colors.csv
      Variable Names            color
     Your CSV Data Set Config configuration should look like this:
     Add a BeanShell Sampler
     When you execute your test, the lines of the colors.csv file that you just created will be read one-by-one.
     You will use a BeanShell Sampler to push the content of the line currently being read to the log.
     Complete these steps to add and configure a BeanShell Sampler:
55. Right-click While Controller and select Add  Sampler  BeanShell Sampler.
56. Enter log.info("Current color is - " + color); in the Script section of the BeanShell Sampler configuration pane.
                                              Lab 7: Configuring Complex Scripts               BlazeMeter.com |
                                             © 2017 BlazeMeter. All rights reserved.
                                                                                           82 | Lab 7: Configuring Complex Scripts
    Your BeanShell Sampler configuration should look like this:
Add a Dummy Sampler
Complete these steps to add a Dummy Sampler to your test:
57. Right-click While Controller and select Add  Sampler  Dummy Sampler. The Dummy Sampler configuration
    pane opens.
58. Enter ${color} - ${__P(instanceId)} in the Name field of the Dummy Sampler. This step pushes the content of the
    current line being read in the CSV file to the log file.
Add Another Throughput Controller
Complete these steps to add another Throughput Controller:
59. Click Thread Group to select it.
60. Right-click Thread Group and select Add  Logic Controller  Throughput Controller. The Throughput Controller
    configuration window opens.
61. Configure the Throughput Controller as follows:
     Field                 Value                                      Notes
     Name                  Throughput Controller 10%                  This Throughput Controller will address
                                                                      the remaining 10% of your requests.
                                                                      Your test is now configured to address
                                                                      100% of all requests through one of the
                                                                      four Throughput Controllers that you
                                                                      configured.
     Selected from         Percent Executions
     dropdown menu
     Throughput            10.0                                       This value sets the throughput to 10%.
                                            Lab 7: Configuring Complex Scripts                  BlazeMeter.com |
                                          © 2017 BlazeMeter. All rights reserved.
83 | Lab 7: Configuring Complex Scripts
     Your Throughput Controller configuration should look like this:
Create a CSV File for Numbers
Complete these steps to create a CSV file that will be used in by the While Controller function:
62. Open a basic word processor such as Notepad.
63. Enter these numbers in order with one number per row in Notepad:
64. Select File  Save As and enter numbers.csv in the Filename field.
65. Navigate to the directory that contains the script that you are configuring for this lab, click Save, and close
    Notepad.
     Note: You must save the colors.csv file to the same directory containing the script that you are creating for this lab
     to execute the script properly.
Add a CSV Data Set Config Element
Complete these steps to add a CSV Data Set Config element to your Throughput Controller:
66. Right-click Throughput Controller 10% at the bottom of the Test Plan pane and select Add  Config Element 
    CSV Data Set Config. The CSV Data Set Config configuration pane opens.
                                              Lab 7: Configuring Complex Scripts                BlazeMeter.com |
                                             © 2017 BlazeMeter. All rights reserved.
                                                                                     84 | Lab 7: Configuring Complex Scripts
67. Configure the CSV Data Set Config as follows:
     Field                Value
     Filename             numbers.csv
     Variable Names       number
    Your CSV Data Set Config configuration should look like this:
                                            Lab 7: Configuring Complex Scripts            BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.
85 | Lab 7: Configuring Complex Scripts
Add a BeanShell Sampler
Complete these steps to add a BeanShell Sampler to your test:
68. Right-click the last Throughput Controller 10% in the Test Plan pane and select Add  Sampler  BeanShell
    Sampler.
69. Add this BeanShell code to the Script field on the BeanShell Sampler configuration pane. This script will write to a
    new CSV file called newnumbers.csv. It will write the number variable plus one for each loop.
      Field                     Value
      Row 1                     FileWriter fstream = new FileWriter("/Users/your
                                username/Downloads/newnumbers.csv",true);
                                Note: Replace your username in the URL with your username as it appears on your local drive
                                to force the file to download to the Downloads folder on your local drive.
      Row 2                     BufferedWriter out = new BufferedWriter(fstream);
      Row 3                     number = vars.get("number");
      Row 4                     out.write(number + 1);
      Row 5                     out.write(System.getProperty("line.separator"));
      Row 6                     out.close();
      Row 7                     fstream.close();
     Your BeanShell Sampler configuration should look like this:
Add a View Results Tree Listener
Complete these steps to add a View Results Tree Listener to your test and then run the test and view the
results:
                                                    Lab 7: Configuring Complex Scripts          BlazeMeter.com |
                                                   © 2017 BlazeMeter. All rights reserved.
                                                                                      86 | Lab 7: Configuring Complex Scripts
70. Right-click Thread Group and select Add  Listener  View Results Tree. The View Results Tree listener
    configuration page opens.
71. Click Start to run your test.
72. Note the test results in the View Results Tree pane.
    Note: Each Throughput Controller in this lab is an independent, mini-exercise. To verify that each step was
    completed correctly, copy the contents of each Throughput Controller to a new JMeter script under a standard
    Thread Group and run it as a separate script.
                                            Lab 7: Configuring Complex Scripts             BlazeMeter.com |
                                           © 2017 BlazeMeter. All rights reserved.