JMeter steps
Este plugin proporciona un conjunto de pasos para realizar pruebas de rendimiento utilizando JMeter DSL.
- Instalación
-
jmeter.baseURL
jmeter.contentType
jmeter.httpCodeThreshold
jmeter.timeout
jmeter.cookies
jmeter.cache
jmeter.resources.download
jmeter.resources.regex
jmeter.csv.delimiter
jmeter.csv.encoding
jmeter.csv.eofStop
jmeter.csv.random
jmeter.csv.sharing
jmeter.proxy.url
jmeter.proxy.username
jmeter.proxy.password
jmeter.oauth2.url
jmeter.oauth2.clientId
jmeter.oauth2.clientSecret
jmeter.oauth2.cached
jmeter.oauth2.parameters
jmeter.redirect.follow
jmeter.report.tree
jmeter.report.jtl
jmeter.report.html
jmeter.report.influx.url
jmeter.report.influx.token
jmeter.report.influx.title
jmeter.report.influx.application
jmeter.report.influx.measurement
jmeter.report.influx.samplersRegex
jmeter.report.influx.tags
jmeter.report.influx.percentiles
jmeter.report.graphite.url
jmeter.report.graphite.prefix
-
- Definir URL base
- Definir tipo de contenido
- Definir timeout
- Definir umbral de códigos HTTP
- Definir cookies
- Definir cache
- Definir descarga de recursos integrados
- Definir patrón de descarga de recursos integrados
- Definir proxy
- Definir autenticación básica
- Definir autenticación oauth2
- Definir autenticación oauth2 por token
- Definir autenticación oauth2 por token (fichero)
- Definir autenticación oauth2 por credenciales
- Definir autenticación oauth2 por cliente
- Limpiar autenticación
- Definir dataset
- Definir variables
- Definir variables (tabla)
- Definir petición
- Definir cuerpo de la petición
- Definir cuerpo de la petición (fichero)
- Definir perámetros o cabeceras de la petición
- Definir perámetros o cabeceras de la petición (tabla)
- Definir fichero adjunto de la petición
- Definir extractor de la petición
- Ejecutar simple
- Ejecutar carga
- Ejecutar carga (iteraciones)
- Ejecutar carga (incremento)
- Ejecutar carga (tramos)
- Comprobar métricas
Instalación
Incluye el módulo en la sección correspondiente.
es.iti.wakamiti:jmeter-wakamiti-plugin:1.0.0
es.iti.wakamiti:jmeter-wakamiti-plugin:1.0.0
<dependency> <groupId>es.iti.wakamiti</groupId> <artifactId>jmeter-wakamiti-plugin</artifactId> <version>1.0.0</version> </dependency>
<dependency> <groupId>es.iti.wakamiti</groupId> <artifactId>jmeter-wakamiti-plugin</artifactId> <version>1.0.0</version> </dependency>
Configuración
jmeter.baseURL
- Tipo:
URL
requerido
Establece la URL base para las llamadas REST. Esta configuración es equivalente al paso Definir URL base si se prefiere una declaración más descriptiva.
Ejemplo:
jmeter: baseURL: https://example.org/api/v2
jmeter.contentType
- Tipo:
string
- Por defecto:
APPLICATION_JSON
Establece el tipo de contenido que se enviará en la cabecera de las llamadas REST. Los valores aceptados son:
literal | valor de la cabecera content-type |
---|---|
WILDCARD |
*/* |
TEXT_PLAIN |
text/plain |
TEXT_XML |
text/xml |
TEXT_HTML |
text/html |
APPLICATION_JSON |
application/json |
APPLICATION_XML |
application/xml |
APPLICATION_XHTML_XML |
application/xhtml+xml |
APPLICATION_SVG_XML |
application/svg+xml |
APPLICATION_SOAP_XML |
application/soap+xml |
APPLICATION_ATOM_XML |
application/atom+xml |
APPLICATION_FORM_URLENCODED |
application/x-www-form-urlencoded |
APPLICATION_OCTET_STREAM |
application/octet-stream |
MULTIPART_FORM_DATA |
multipart/form-data |
Ejemplo:
jmeter: contentType: APPLICATION_XML
jmeter.httpCodeThreshold
- Tipo:
integer
- Por defecto:
500
Establece un límite a los códigos de respuesta HTTP. Cada vez que una llamada REST retorne un código HTTP igual o superior a este valor, el paso se marcará como fallido automáticamente, sin comprobar ninguna otra condición.
Example:
jmeter: httpCodeThreshold: 999
jmeter.timeout
- Tipo:
integer
- Por defecto:
60000
Establece un tiempo máximo de respuesta (en milisegundos) para las siguientes peticiones HTTP. En el caso de exceder el tiempo indicado se detendrá la llamada y se producirá un error.
Ejemplo:
jmeter: timeout: 10000
jmeter.cookies
- Tipo:
boolean
- Por defecto:
false
jmeter.cache
- Tipo:
boolean
- Por defecto:
false
jmeter.resources.download
- Tipo:
boolean
- Por defecto:
false
jmeter.resources.regex
- Tipo:
regex
jmeter.csv.delimiter
- Tipo:
string
- Por defecto:
,
jmeter.csv.encoding
- Tipo:
charset
- Por defecto:
UTF-8
jmeter.csv.eofStop
- Tipo:
boolean
- Por defecto:
false
jmeter.csv.random
- Tipo:
boolean
- Por defecto:
false
jmeter.csv.sharing
- Tipo:
string
- Por defecto:
ALL_THREADS
Los valores aceptados son:
Name | Description |
---|---|
ALL_THREADS | Todos los hilos del plan de pruebas compartirán el archivo CSV, lo que significa que cualquier iteración del hilo consumirá una entrada del mismo. Se puede pensar como tener sólo un puntero a la línea actual del CSV, siendo avanzado por cualquier iteración del hilo. El archivo sólo se abre una vez. |
THREAD_GROUP | El consumo de archivos CSV sólo se comparte dentro de los grupos de hilos. Esto significa que los hilos en grupos de hilos separados utilizarán índices separados para consumir los datos. El archivo se abre una vez por grupo de hilos. |
THREAD | El consumo de archivos CSV está aislado por subproceso. Esto significa que cada hilo comenzará a consumir el CSV desde el principio y no compartirá ninguna información con otros hilos. El fichero se abre una vez por hilo. |
jmeter.proxy.url
- Tipo:
url
jmeter.proxy.username
- Tipo:
string
jmeter.proxy.password
- Tipo:
string
jmeter.oauth2.url
- Tipo:
URL
Establece el servicio de autenticación OAuth 2.0 que se usará para generar el token que se enviará en la
cabecera HTTP Authorization
de las llamadas REST.
Ejemplo:
jmeter: oauth2: url: https://accounts.google.com/o/oauth2/auth
jmeter.oauth2.clientId
- Tipo:
string
Establece el parámetro clientId
para el servicio de autenticación OAuth 2.0 definido por el valor de la
propiedad de configuración jmeter.oauth2.url
.
Ejemplo:
jmeter: oauth2: clientId: WEB_APP
jmeter.oauth2.clientSecret
- Tipo:
string
Establece el parámetro clientSecret
para el servicio de autenticación OAuth 2.0 definido por el valor de la
propiedad de configuración jmeter.oauth2.url
.
Ejemplo:
jmeter: oauth2: clientSecret: ABRACADABRAus1ZMGHvq9R
jmeter.oauth2.cached
- Tipo:
boolean
- Por defecto:
false
Establece si el token recuperado se guarda en caché para evitar llamadas recurrentes al servicio oauth si los datos son los mismos.
Ejemplo:
jmeter: oauth2: cached: true
jmeter.oauth2.parameters
- Tipo:
property[]
Establece los parámetros por defecto de la autenticación oauth.
Ejemplo:
jmeter: oauth2: parameters: grant_type: password username: pepe password: 1234asdf scope: something
jmeter.redirect.follow
- Tipo:
boolean
- Por defecto:
true
Establece si se permite seguir las redirecciones en las llamadas HTTP.
Ejemplo:
jmeter: redirect: follow: false
jmeter.report.tree
- Tipo:
boolean
- Por defecto:
false
jmeter.report.jtl
- Tipo:
path
- POr defecto:
./wakamiti.jtl
jmeter.report.html
- Tipo:
path
jmeter.report.influx.url
- Tipo:
url
jmeter.report.influx.token
- Tipo:
string
jmeter.report.influx.title
- Tipo:
string
jmeter.report.influx.application
- Tipo:
string
jmeter.report.influx.measurement
- Tipo:
string
jmeter.report.influx.samplersRegex
- Tipo:
regex
jmeter.report.influx.tags
- Tipo:
property[]
jmeter.report.influx.percentiles
- Tipo:
long[]
jmeter.report.graphite.url
- Tipo:
url
jmeter.report.graphite.prefix
- Tipo:
string
Pasos
Definir URL base
la URL base {url}
la URL base {url}
Establece la ruta base de la API. Este paso es equivalente a configurar la propiedad jmeter.baseURL
.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
url |
url obligatorio |
URL base |
Ejemplos:
Dada la URL base https//example.org/api
Definir tipo de contenido
{type} como el tipo de contenido
{type} como el tipo de contenido
Establece el tipo de contenido de la API en la cabecera content-type
. Este paso es equivalente a configurar la
propiedad jmeter.contentType
.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
type |
word obligatorio |
La URL de conexión |
Ejemplos:
Dado APPLICATION_XML como el tipo de contenido
Definir timeout
un timeout de {duration}
un timeout de {duration}
Establece un tiempo máximo de respuesta para las siguientes peticiones HTTP. En el caso de exceder el tiempo indicado se detendrá la llamada y se producirá un error.
Parámetros:
Name | Wakamiti type | Description |
---|---|---|
duration |
duration requerido |
El tiempo máximo |
Ejemplos:
Dado un timeout de 12000 milisegundos
Dado un timeout de 10 segundos
Definir umbral de códigos HTTP
(que) toda petición se considera satisfactoria si su código HTTP {matcher}
(que) toda petición se considera satisfactoria si su código HTTP {matcher}
Establece una validación general para el código HTTP de todas las respuestas siguientes. Es similar a la propiedad de
configuración jmeter.httpCodeTreshold
pero con una validación de enteros personalizada.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
matcher |
integer-assertion requerido |
Comparador numérico |
Ejemplo:
* toda petición se considera satisfactoria si su código HTTP es menor que 500
Definir cookies
(que) las cookies están (activadas|desactivadas)
(que) las cookies están (activadas|desactivadas)
Activa o desactiva las cookies para todas las peticiones http.
Ejemplo:
Dado que las cookies están activadas
Definir cache
(que) la caché está (activada|desactivada)
(que) la caché está (activada|desactivada)
Activa o desactiva la caché para todas las peticiones http.
Ejemplo:
Dado que la caché está activada
Definir descarga de recursos integrados
(que) (no) se descargan los recursos embebidos
(que) (no) se descargan los recursos embebidos
Activa o desactiva la descarga de recursos embebidos para todas las peticiones http.
Ejemplo:
Dado que se descargan los recursos embebidos
Definir patrón de descarga de recursos integrados
(que) se descargan los recursos embebidos que (no) cumplen el patrón {pattern}
(que) se descargan los recursos embebidos que (no) cumplen el patrón {pattern}
Especifica la expresión regular de los recursos incrustados a descargar, o no, en todas las peticiones http.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
pattern |
regex requerido |
Una expresión regular |
Ejemplos:
Dado que se descargan los recursos embebidos que cumplen el patrón '.*'
Dado que se descargan los recursos embebidos que no cumplen el patrón '.*'
Definir proxy
un proxy con la URL {url} (y las credenciales {username}:{password})
un proxy con la URL {url} (y las credenciales {username}:{password})
Especifica la URL, con o sin credenciales, de un servidor proxy a través del cual se envían las peticiones HTTP a su destino final.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
url |
url requerido |
La url del proxy |
username |
text |
El nombre de usuario |
password |
text |
La contraseña |
Ejemplos:
Dado un proxy con la URL https://proxy.org
Dado un proxy con la URL https://proxy.org Y las credenciales 'user1':'s3cr3t'
Definir autenticación básica
(que) el servicio usa autenticación básica con las credenciales {username}:{password}
(que) el servicio usa autenticación básica con las credenciales {username}:{password}
Establece las credenciales de autenticación básica que se enviarán en la cabecera HTTP Authorization
.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
username |
text requerido |
Nombre de usuario |
password |
text requerido |
Contraseña |
Ejemplos:
Dado que el servicio usa autenticación básica con las credenciales 'us1532':'xxxxx'
Definir autenticación oauth2
(que) el servicio usa autenticación oauth
(que) el servicio usa autenticación oauth
Establece el token de autenticación "bearer" que se enviará en la cabecera Authorization
, que se recupera previamente
del servicio oauth2 configurado (url, clientId,
clientSecret, parámetros), para las siguientes peticiones.
Ejemplos:
Dado que el servicio usa autenticación oauth
Definir autenticación oauth2 por token
(que) el servicio usa autenticación oauth con el token {token}
(que) el servicio usa autenticación oauth con el token {token}
Establece el token de autenticación "bearer" que se enviará en la cabecera Authorization
para las siguientes
peticiones.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
token |
text requerido |
token de autenticación |
Ejemplos:
Dado que el servicio usa autenticación oauth con el token 'hudytw9834y9cqy32t94'
Definir autenticación oauth2 por token (fichero)
(que) el servicio usa autenticación oauth con el token del fichero {file}
(que) el servicio usa autenticación oauth con el token del fichero {file}
Establece el token de autenticación "bearer" que se enviará en la cabecera Authorization
para las siguientes llamadas,
obtenido desde un fichero.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
file |
file requerido |
Fichero con el token de autenticación |
Ejemplo:
Dado que el servicio usa autenticación oauth con el token del fichero 'token.txt'
Definir autenticación oauth2 por credenciales
(que) el servicio usa autenticación oauth con las credenciales {username}:{password}
(que) el servicio usa autenticación oauth con las credenciales {username}:{password}
(que) el servicio usa autenticación oauth con las credenciales {username}:{password} y los siguientes parámetros: {table}
(que) el servicio usa autenticación oauth con las credenciales {username}:{password} y los siguientes parámetros: {table}
Establece el token de autenticación "bearer" que se enviará en la cabecera Authorization
, que se recupera previamente
del servicio oauth2 configurado (url, clientId,
clientSecret), usando las credenciales indicadas, para las siguientes peticiones.
También se pueden añadir más parámetros adicionales admitidos por Oauth
mediante una tabla.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
username |
text requerido |
Nombre de usuario |
password |
text requerido |
Contraseña |
table |
table |
Una tabla con las columnas nombre y valor |
Ejemplos:
Dado que el servicio usa autenticación oauth con las credenciales 'us1532':'xxxxx'
Dado que el servicio usa autenticación oauth con las credenciales 'us1532':'xxxxx' y los siguientes parámetros: | name | value | | scope | something |
Definir autenticación oauth2 por cliente
(que) el servicio usa autenticación oauth
(que) el servicio usa autenticación oauth
(que) el servicio usa autenticación oauth con los siguientes parámetros: {table}
(que) el servicio usa autenticación oauth con los siguientes parámetros: {table}
Establece el token de autenticación "bearer" que se enviará en la cabecera Authorization
, que se recupera previamente
del servicio oauth2 configurado (url, clientId,
clientSecret), usando los datos del cliente, para las siguientes peticiones.
También se pueden añadir más parámetros adicionales admitidos por Oauth
mediante una tabla.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
table |
table |
Una tabla con las columnas nombre y valor |
Ejemplos:
Dado que el servicio usa autenticación oauth
Dado que el servicio usa autenticación oauth con los siguientes parámetros: | name | value | | scope | something |
Limpiar autenticación
(que) el servicio no usa autenticación
(que) el servicio no usa autenticación
Elimina la cabecera con la autenticación.
Ejemplos:
Dado que el servicio no usa autenticación
Definir dataset
los datos del fichero {file}
los datos del fichero {file}
Establece el conjunto de datos de un archivo CSV para las peticiones HTTP.
Por defecto, el archivo CSV se abrirá una vez y será compartido por todos los subprocesos. Esto significa que cuando un hilo lea una línea CSV en una iteración, el siguiente hilo que lea una línea continuará con la siguiente línea.
Si desea cambiar esto (para compartir el archivo por grupo de hilos o utilizar un archivo por hilo), puede utilizar la
propiedad jmeter.csv.sharing
.
Compruebe las propiedades csv
para detalles y opciones adicionales (como cambiar el
delimitador, parar al final del fichero, etc.).
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
file |
file requerido |
Un fichero CSV |
Ejemplos:
Dado los datos del fichero 'data/users.csv'
Definir variables
la variable {name} con el valor {value}
la variable {name} con el valor {value}
Establece una variable para las peticiones HTTP.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
name |
text requerido |
Nombre de la variable |
value |
text requerido |
Valor de la variable |
Ejemplos:
Dado la variable 'something' con el valor 'abc' Y una llamada GET al servicio '/users/{something}'
Definir variables (tabla)
las siguientes variables: {table}
las siguientes variables: {table}
Establece multiples variables para las peticiones HTTP.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
table |
table requerido |
Una tabla con las columnas nombre y valor |
Ejemplos:
Dadas las siguientes variables: | Nombre | Valor | | id | 13 | | city | Valencia | Y una llamada GET al servicio '/users/{id}?city={city}'
Definir petición
una llamada {method} al servicio {service}
una llamada {method} al servicio {service}
Define una petición HTTP a un servicio. Las partes restantes de la llamada se definen en pasos posteriores hasta que se defina otra llamada REST.
Se pueden definir varias llamadas en un escenario.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
method |
word requerido |
El método de la llamda (GET , PUT , POST ...) |
service |
text requerido |
La ruta del servicio |
Ejemplos:
Dada una llamada GET al servicio '/users'
Definir cuerpo de la petición
con los siguientes datos: {data}
con los siguientes datos: {data}
Define el cuerpo del mensaje de la petición en curso.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
data |
document requerido |
El cuerpo de la petición |
Ejemplos:
Dado una llamda POST al servicio '/users' * con los siguientes datos: """json { "firstName": "John", "lastName": "Doe", "birthDate": "1980-02-20", "address": "221B, Baker Street" } """
Definir cuerpo de la petición (fichero)
con los datos del fichero {file}
con los datos del fichero {file}
Define el cuerpo del mensaje de la petición en curso a partir del contenido del fichero.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
file |
file requerido |
Fichero con el cuerpo de la petición |
Ejemplos:
Dado una llamda POST al servicio '/users' * con los datos del fichero 'data/user123.json'
Definir perámetros o cabeceras de la petición
con (el|la) (parámetro|cabecera|parámetro de formulario) {name} con el valor {value}
con (el|la) (parámetro|cabecera|parámetro de formulario) {name} con el valor {value}
Define una cabecera, parámetro o parámetro de formulario de la petición en curso.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
name |
text requerido |
Nombre del parámetro o cabecera |
value |
text requerido |
Valor del parámetro o cabecera |
Ejemplos:
Dado una llamda GET al servicio '/users' * con el parámetro 'id' con el valor '13'
Dado una llamda GET al servicio '/users' * con el parámetro de formulario 'id' con el valor '13'
Dado una llamda GET al servicio '/users' * con la cabecera 'Keep-Alive' con el valor '1200'
Definir perámetros o cabeceras de la petición (tabla)
con (los|las) siguientes (parámetros|cabeceras|parámetros de formulario): {table}
con (los|las) siguientes (parámetros|cabeceras|parámetros de formulario): {table}
Define múltiples cabeceras, parámetros o parámetros de formulario de la petición en curso.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
table |
table requerido |
Una tabla con las columnas nombre y valor |
Ejemplos:
Dado una llamda GET al servicio '/users' * con los siguientes parámetros: | Nombre | valor | | id | 13 | | city | Valencia |
Dado una llamda GET al servicio '/users' * con los siguientes parámetros de formulario: | Nombre | valor | | id | 13 | | city | Valencia |
Dado una llamda GET al servicio '/users' * con las siguientes cabeceras: | Nombre | Valor | | Age | 3600 | | Keep-Alive | 1200 |
Definir fichero adjunto de la petición
con el fichero adjunto {file} con nombre {name}
con el fichero adjunto {file} con nombre {name}
Define un fichero adjunto de la petición en curso.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
file |
file requerido |
Fichero adjunto |
Ejemplos:
Dado una llamda POST al servicio '/users' * con el fichero adjunto 'data/data.txt' con nombre 'file'
Definir extractor de la petición
con la expresión regular {regex} extraída en la variable {name}
con la expresión regular {regex} extraída en la variable {name}
con el valor json {query} extraído en la variable {name}
con el valor json {query} extraído en la variable {name}
con el fragmento entre {leftBoundary} y {rightBoundary} extraído en la variable {name}
con el fragmento entre {leftBoundary} y {rightBoundary} extraído en la variable {name}
Define un extractor de datos de la respuesta de la petición en curso. Este extractor puede ser de una expresión regular, una ruta json o límites definidos.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
regex |
text |
Una expersión regular |
query |
text |
Una ruta json |
leftBoundary |
text |
Límite izquierdo |
rightBoundary |
text |
Límite derecho |
name |
text requerido |
Nombre de la variable |
Ejemplos:
Dado una llamda GET al servicio '/users' * con la expresión regular '"id":\s*"([^"]+)"' extraída en la variable 'id' Y una llamada GET al servicio '/users/{id}'
Dado una llamda GET al servicio '/users' * con el valor json '[0].id' extraído en la variable 'id' Y una llamada GET al servicio '/users/{id}'
Dado una llamda GET al servicio '/users' * con el fragmento entre '"id":"' y '"' extraído en la variable 'id' Y una llamada GET al servicio '/users/{id}'
Ejecutar simple
se ejecuta(n) {threads} hilo(s)
se ejecuta(n) {threads} hilo(s)
Ejecuta un grupo de hilos el número de veces indicado.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
threads |
int requerido |
Número de veces a lanzar |
Ejemplos:
Dado una llamda GET al servicio '/users'
Cuando se ejecuta 1 hilo
Ejecutar carga
se ejecuta(n) {threads} hilo(s) en {ramp} manteniendo {hold}
se ejecuta(n) {threads} hilo(s) en {ramp} manteniendo {hold}
Ejecuta un grupo de hilos el número de veces indicado, en el tiempo indicado y manteniendo la duración indicada.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
threads |
int requerido |
Número de veces a lanzar |
ramp |
duration requerido |
|
hold |
duration requerido |
Ejemplos:
Dado una llamda GET al servicio '/users'
Cuando se ejecutan 10 hilos en 10 segundos manteniendo 30 segundos
Esto produce el siguiente escenario:
Ejecutar carga (iteraciones)
se ejecuta(n) {threads} hilo(s) en {ramp} {iterations} ve(z|ces)
se ejecuta(n) {threads} hilo(s) en {ramp} {iterations} ve(z|ces)
Ejecuta un grupo de hilos el número de veces indicado, en el tiempo indicado, el número de iteraciones indicadas.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
threads |
int requerido |
Número de veces a lanzar |
ramp |
duration requerido |
|
iterations |
int requerido |
Ejemplos:
Dado una llamda GET al servicio '/users'
Cuando se ejecutan 10 hilos en 10 segundos 3 veces
Esto produce el siguiente escenario:
Ejecutar carga (incremento)
se ejecuta(n) {threads} hilo(s) en {ramp} cada {hold} {iterations} ve(z|ces)
se ejecuta(n) {threads} hilo(s) en {ramp} cada {hold} {iterations} ve(z|ces)
Ejecuta un grupo de hilos el número de veces indicado, en el tiempo indicado, incrementando los hilos en cada tiempo indicado, el número indicado de veces.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
threads |
int requerido |
Número de veces a lanzar |
ramp |
duration requerido |
|
hold |
duration requerido |
|
iterations |
int requerido |
Ejemplos:
Dado una llamda GET al servicio '/users'
Cuando se ejecutan 10 hilos en 10 segundos cada 10 segundos 3 veces
Esto produce el siguiente escenario:
Ejecutar carga (tramos)
se ejecuta(n) (el|los) siguiente(s) tramo(s): {table}
se ejecuta(n) (el|los) siguiente(s) tramo(s): {table}
Ejecuta un grupo de hilos en los tramos indicados, incluyendo: 1. El número de hilos 2. La duración de la rampa 3. La duración a mantener
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
table |
table requerido |
Tramos |
Ejemplos:
Dado una llamda GET al servicio '/users' Cuando se ejecuta(n) (el|los) siguiente(s) tramo(s): | threads | ramp | hold | | 10 | 10 segundos | 0 segundos | | 5 | 10 segundos | 10 segundos | | 20 | 10 segundos | 0 segundos | | 0 | 20 segundos | 0 segundos |
Esto produce el siguiente escenario:
Comprobar métricas
(el|la) {metric} {matcher}
(el|la) {metric} {matcher}
Valida que una métrica del resultado coincida con el matcher especificado.
Parámetros:
Nombre | Wakamiti type | Descripción |
---|---|---|
metric |
*-metric requerido |
La métrica del resultado |
matcher |
*-assertion requerido |
Comparador |
*
: duration
, long
o double
.
Ejemplos:
Entonces el percentil 99 es menor que 3 segundos
Entonces el número de errores es menor que 10
Entonces el número de muestras por segundo es mayor que 5.5
Tipos de datos
duration-metric
Lo valores aceptados son:
duración mínima
duración máxima
duración (promedio|media)
mediana
percentil 90
percentil 95
percentil 99
long-metric
Lo valores aceptados son:
número de muestras
número de errores
número de bytes recibidos
número de bytes enviados
double-metric
Lo valores aceptados son:
número de muestras por segundo
número de errores por segundo
número de bytes recibidos por segundo
número de bytes enviados por segundo