Skip to content

Jmeter_Learning_Path_For_Functional_Testing

Rajendra Prasad Reddy Penumalli edited this page Sep 12, 2019 · 19 revisions
  • Understanding Jmeter Project Basic Elements
    • Thread Group
    • Samples
    • Listener
  • Creating Test :
    • Manually by hand configuring sample data
    • Recording using a proxy
    • API -Jmeter Test Stub Generation using Using SwaggerCodeGen
  • Assertions
    • Using builtin elements
    • Using Groovy Assertion:
      • PASS: SampleResult.setSuccessful(true);
      • FAIL:SampleResult.setSuccessful(false);
  • Data Types Used in Jmeter
    • Static data specific to the environment
      • Login Credentials
      • Host
      • port
    • Dynamic Data that can be generated on the fly
      • Unique Data that can be used for only one time
      • Stamps
      • Conditionally generated Data
      • Resource ID
  • Variables and Properties:
    • User-Defined Variables
      • Scope
      • Defining @ Project Level
      • Defining UDV Element
      • Getting via Groovy
    • Variables
      • Scope
      • Defining @ ThreadGroup Level
      • Creating via Groovy
      • Getting/passing variable between the steps via Groovy
      • Sharing object between the steps via Groovy
    • Properties
      • Scope
      • Passing From Command Line Interface in Headless mode
      • Creating via Groovy
      • Getting via Groovy

Creating Robust Script that can run on multiple Environments

  • Parameterisng request with Variables and Properties
  • Parameterisng request body with Variables and Properties

Managing Session across:

  • Config Element Cookie Manager
  • Groovy Way extracting and passing cookie as header manager
  • Samples
  • Thread Groups

Looping

  • Executing Only once
  • Executing a Sample/Request in a loop or Until State Changes to Expected Value
    • With Some Delay between repetitions
    • With Max_Timeout value
    • With Max_Count of the repetition count

Functions in Jmeter

  • ${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}
  • ${__groogy(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}
  • ${__time(dd/mm/yyyy,)}

Correlation

Branching

  • if Controller
  • While loop controller

Designing Test

  • Grouping Samplers using Simple Controller
  • Modularsing Test Divide and Concur
  • Identifying Common blocks and keep them in fragments and call them using Module Controller
  • Identifying Common blocks and keep them in fragments and call them other JMeter scripts using include Controller

Clearing Stray Data of Previous Runs

Debugging Options

Options for Running in Headless Mode

Clone this wiki locally