Configuraiton

SG-Runner:

Directory definition

Root directory: /opt/sea/sg-runner

  • Configuration precedence:
    • Test-specific configuration overrides environment configuration.
    • Environment configuration overrides common configuration.
  • Scenario configuration:
    • Provides default values when no more specific configuration applies.
    • Acts as a fallback mechanism.
  • Scenario templates:
    • Driven by the Jinja2 templating engine.
/opt/sea/sg-runner
├── bin/        # Executable tools
├── sbin/       # Main sg-runner scripts
├── etc/        # Common configuration
├── docs/       # Documentation
├── sw/         # Extra tools and software
├── store/      # Test store
└── shared/     # Test execution directories

Test Store

store/
├── env/            # Environment settings
├── scens/          # Scenario settings
│   └── dico/       # Dictionary files
└── tests/          # Test setup
    └── data/       # Test data

Test Exeutions directories

shared/
├── .run/                 # Symlink to the last test execution directory
├── runs/                 # Contains all test execution directories
├── tests/
│   └── <test_name>/      # Symlinks to test execution directories by test
└── hosts/
    └── <host_name>/      # Symlinks to test execution directories by host

Environment definition

  • Main enviroment file: ./env/<env_name>/.yml
ParameterDescription
env_nameEnvironment used for the setup.
ScenEnvFile containing the main environment configuration for a specific scenario
envNameSame as the file name, without the extension
envDescDescription of the environment node
envSeagullSeagull configuration details (see below)
envJmeterJMeter configuration details (see below)

Test definition

  • Main test file: ./test/<test_name>/test.yml
  • Test data: ./test/<test_name>/data/
ParameterDescription
TestNameMust match the test directory name (<test_name>).
TestDescHuman-readable test description.
TestEnvEnvironment configuration name (environment directory).
ScenNameScenario name used by the setup script.
ScenStoreMain configuration source for the scenario.
ScenEngineScenario engine:
SG – Seagull
JM – JMeter
ScenEnvScenario environment configuration (file name without extension).
ScenAttrAttributes applied to the selected scenario.
sourceDataFilePath to the source data file (e.g. ./test/data/profile_C.csv).

Seagull scenario defination

Scnearios configuraion

  • Scneario file: ./scens/<scen_name>/scen.yml
ParameterDescription
scenNameMain scenarion name
scenDescHuman-readable test description.
scenTemplatesThe seagull conf, scenario or report jinjaj templates
ChannelsAttributes applied to the Gy/Sy connection. Required for new environments: IP, Port, Realm/Host
reportSetupreport generation settings
dataAttrheader number is line above data are valid, report template
responseTimeRepartitionTime intervals used to group and measure response times.
logLevelLogging level: A (All), W (Warnings), U (User), E (Errors), T (Traffic events)
backgroundExecEnables execution in the background.
tcpdumpNetwork capture configuration (interface and filter using tcpdump syntax).
pcapEnabledEnables or disables packet capture globally.
defaultBehaviourDeafult seagull beahaviour
callTimeoutMsCall time out between messages drive TPS
callTimeoutAbortBehaviourIn case of tameout, no expected message recesived beahvaiour
msgCheckBehaviourmessage check beahaviour

Perfromance test model

JMeter scenario defination

Scnearios configuraion

  • Scneario file: ./scens/<scen_name>/scen.yml
ParameterDescription
scenNameMain scenarion name
scenDescHuman-readable test description.
scenTemplatesThe jmeter prop, scenario or report jinjaj templates
reportSetupreport generation settings
dataAttrheader number is line above data are valid, report template
logLevelLogging level:
backgroundExecEnables execution in the background.
tcpdumpNetwork capture configuration (interface and filter using tcpdump syntax).
pcapEnabledEnables or disables packet capture globally.
threadGroupTrNumber1Thread Group-1 thread’s number
threadGroupRampUp1Thread Group-1 ramp up
threadGroupLoop1Thread Group-1 loop counter
reqTimeoutMsRequest time out
reqSleep1MsSleeping msec.

This is a general configuration, but it depends on the scenario itself.

Perfromance test model

  • Test model: is very similar as seagull test model