Advanced Test Scripts

Complex testing scenarios with dynamic headers, pagination, and variable data.

Example 1: Dynamic Headers

name: DynamicHeadersTest
variables:
- name: authToken
  value: "Bearer exampleauthtoken"
rounds:
- name: AuthenticatedRound
  numberOfClients: 5
  arrivalDelay: 3000
  iterations:
  - name: AuthenticatedRequest
    httpRequest:
      url: https://api.example.com/protected
      httpMethod: GET
      httpHeaders:
        Authorization: $authToken
    mode: R
    requestCount: 5

Run Command:

lps run DynamicHeadersTest.yaml

Example 2: Paginated Data Retrieval with Counter

name: PaginatedDataRetrieval
rounds:
- name: PaginationRound
  numberOfClients: 5
  arrivalDelay: 3000
  iterations:
  - name: PaginationIteration
    httpRequest:
      url: https://api.example.com/data?page=$counter(start=1, reset=10)
      httpMethod: GET
    mode: R
    requestCount: 10

Run Command:

lps run PaginatedDataRetrieval.yaml

Example 3: Multipart Form Submission

name: MultipartFormSubmission
rounds:
- name: MultipartRound
  numberOfClients: 5
  arrivalDelay: 3000
  iterations:
  - name: FormIteration
    httpRequest:
      url: https://api.example.com/submit
      httpMethod: POST
      payload:
        multipart:
          fields:
          - name: "username"
            value: "testuser"
          - name: "password"
            value: "password123"
          files:
          - name: "profilePicture"
            path: ../data/profile.jpg
            contentType: image/jpeg
    mode: R
    requestCount: 1

Run Command:

lps run MultipartFormSubmission.yaml

Example 4: Simulating Load with Variable Data

name: SimulatedLoadTest
variables:
- name: userData
  value: $read(path=../data/users.csv)
  as: csv
rounds:
- name: SimulatedLoadRound
  numberOfClients: 5
  arrivalDelay: 3000
  iterations:
  - name: LoadIteration
    httpRequest:
      url: https://api.example.com/user/${userData[$counter(start=0, reset=49),0]}
      httpMethod: GET
    mode: R
    requestCount: 50

Run Command:

lps run SimulatedLoadTest.yaml