gustav/README.md
2024-09-08 01:40:03 +03:00

1.7 KiB

Gustav

Gustav (also known as Schwerer Gustav) is a traffic and load generator for testing web applications.

TBD

Configuration

load.pipeline.yaml:

name: "My pipeline" # The name of pipeline
description: "Test pipeline" 

steps: # Steps
	step1:
	# The preparatory phase of our pipeline. Here we can perform authorizations and other actions that must 
	# be performed BEFORE the main part.
	prepare: 
		type: "http_call" # Call type. 
		expected_codes: [200] # Expected return codes
		# The name of the variable in which the result of this call will be stored. 
		# This value will be accessible only in scope of current stop.
		save_into: "prepare_step1_result" 
		# The name of the variable in which the result of this call will be stored. 
		# This value will be accessible globally.
		global_save_into: "global_variable" 
		call: # Request configuration
			target: "http://127.0.0.1:8080/login" # Endpoint
			headers: 
				secret: "xxx"
				logon-with: "password"
			method: "POST" 
			body: |-
				{
					"login":"admin",
					"password":"password"
				}
	repeat: 1000 
	# The main part of the step. The set of requests that will be executed. 
	# They will be looped until the repeat number reached
	shells:
		shell1:
			type: "http_call"
			call:
				target: "http://127.0.0.1:8080/main"
				headers:
				secret: "xxx"
				token: "${REGISTRY}.token" ## Accessing prepare step result from registry
				method: "GET"
		shell2:
			type: "http_call"
			call:
				target: "http://127.0.0.1:8080/profile"
				headers:
				secret: "xxx"
				token: "${REGISTRY}.token" ## Accessing prepare step result from registry
				method: "GET"
		# ...