Configuración
Según el tipo de configuración (por ejemplo, usando los enlaces de protocolo sin procesar, WebdriverIO como paquete independiente o el ejecutor de pruebas WDIO), hay un conjunto diferente de opciones disponibles para controlar el entorno.
Opciones de WebDriver
Las siguientes opciones se definen al usar el paquete de protocolo webdriver
:
protocol
Protocolo a utilizar al comunicarse con el servidor del controlador.
Tipo: String
Predeterminado: http
hostname
Host de tu servidor de controlador.
Tipo: String
Predeterminado: 0.0.0.0
port
Puerto en el que está tu servidor de controlador.
Tipo: Number
Predeterminado: undefined
path
Ruta al punto final del servidor de controlador.
Tipo: String
Predeterminado: /
queryParams
Parámetros de consulta que se propagan al servidor de controlador.
Tipo: Object
Predeterminado: undefined
user
Tu nombre de usuario del servicio en la nube (solo funciona para cuentas de Sauce Labs, Browserstack, TestingBot o LambdaTest). Si se establece, WebdriverIO configurará automáticamente las opciones de conexión para ti. Si no usas un proveedor en la nube, esto se puede usar para autenticar cualquier otro backend de WebDriver.
Tipo: String
Predeterminado: undefined
key
Tu clave de acceso o clave secreta del servicio en la nube (solo funciona para cuentas de Sauce Labs, Browserstack, TestingBot o LambdaTest). Si se establece, WebdriverIO configurará automáticamente las opciones de conexión para ti. Si no usas un proveedor en la nube, esto se puede usar para autenticar cualquier otro backend de WebDriver.
Tipo: String
Predeterminado: undefined
capabilities
Define las capacidades que deseas ejecutar en tu sesión de WebDriver. Consulta el Protocolo WebDriver para más detalles. Si ejecutas un controlador más antiguo que no es compatible con el protocolo WebDriver, deberás usar las capacidades JSONWireProtocol para ejecutar correctamente una sesión.
Además de las capacidades basadas en WebDriver, puedes aplicar opciones específicas del navegador y del proveedor que permiten una configuración más profunda del navegador remoto o dispositivo. Estas están documentadas en los documentos del proveedor correspondiente, por ejemplo:
goog:chromeOptions
: para Google Chromemoz:firefoxOptions
: para Mozilla Firefoxms:edgeOptions
: para Microsoft Edgesauce:options
: para Sauce Labsbstack:options
: para BrowserStackselenoid:options
: para Selenoid
Además, una utilidad útil es el Configurador de Pruebas Automatizadas de Sauce Labs, que te ayuda a crear este objeto haciendo clic en tus capacidades deseadas.
Tipo: Object
Predeterminado: null
Ejemplo:
{
browserName: 'chrome', // opciones: `chrome`, `edge`, `firefox`, `safari`
browserVersion: '27.0', // versión del navegador
platformName: 'Windows 10' // plataforma del sistema operativo
}
Si estás ejecutando pruebas web o nativas en dispositivos móviles, capabilities
difiere del protocolo WebDriver. Consulta la Documentación de Appium para más detalles.
logLevel
Nivel de detalle de los registros.
Tipo: String
Predeterminado: info
Opciones: trace
| debug
| info
| warn
| error
| silent
outputDir
Directorio para almacenar todos los archivos de registro del ejecutor de pruebas (incluidos los registros del reportero y los registros de wdio
). Si no se establece, todos los registros se transmiten a stdout
. Dado que la mayoría de los reporteros están hechos para registrar en stdout
, se recomienda usar esta opción solo para reporteros específicos donde tiene más sentido enviar el informe a un archivo (como el reportero junit
, por ejemplo).
Al ejecutar en modo independiente, el único registro generado por WebdriverIO será el registro wdio
.
Tipo: String
Predeterminado: null
connectionRetryTimeout
Tiempo de espera para cualquier solicitud de WebDriver a un controlador o grid.
Tipo: Number
Predeterminado: 120000
connectionRetryCount
Número máximo de reintentos de solicitud al servidor Selenium.
Tipo: Number
Predeterminado: 3
agent
Te permite usar un agente personalizado http
/https
/http2
agent para realizar solicitudes.
Tipo: Object
Predeterminado:
{
http: new http.Agent({ keepAlive: true }),
https: new https.Agent({ keepAlive: true })
}
headers
Especifica encabezados
personalizados para pasar en cada solicitud de WebDriver. Si tu Selenium Grid requiere Autenticación Básica, recomendamos pasar un encabezado de Authorization
a través de esta opción para autenticar tus solicitudes de WebDriver, por ejemplo:
import { Buffer } from 'buffer';
// Lee el nombre de usuario y contraseña de las variables de entorno
const username = process.env.SELENIUM_GRID_USERNAME;
const password = process.env.SELENIUM_GRID_PASSWORD;
// Combina el nombre de usuario y la contraseña con un separador de dos puntos
const credentials = `${username}:${password}`;
// Codifica las credenciales usando Base64
const encodedCredentials = Buffer.from(credentials).toString('base64');
export const config: WebdriverIO.Config = {
// ...
headers: {
Authorization: `Basic ${encodedCredentials}`
}
// ...
}
Tipo: Object
Predeterminado: {}
transformRequest
Función que intercepta las opciones de solicitud HTTP antes de que se realice una solicitud WebDriver
Tipo: (RequestOptions) => RequestOptions
Predeterminado: ninguno
transformResponse
Función que intercepta los objetos de respuesta HTTP después de que ha llegado una respuesta de WebDriver. La función recibe el objeto de respuesta original como primer argumento y las RequestOptions
correspondientes como segundo argumento.
Tipo: (Response, RequestOptions) => Response
Predeterminado: ninguno
strictSSL
Si no requiere que el certificado SSL sea válido.
Se puede configurar a través de variables de entorno como STRICT_SSL
o strict_ssl
.
Tipo: Boolean
Predeterminado: true
enableDirectConnect
Si habilita la función de conexión directa de Appium. No hace nada si la respuesta no tenía las claves adecuadas mientras la bandera está habilitada.
Tipo: Boolean
Predeterminado: true
cacheDir
La ruta a la raíz del directorio de caché. Este directorio se utiliza para almacenar todos los controladores que se descargan al intentar iniciar una sesión.
Tipo: String
Predeterminado: process.env.WEBDRIVER_CACHE_DIR || os.tmpdir()
maskingPatterns
Para un registro más seguro, las expresiones regulares establecidas con maskingPatterns
pueden ofuscar información sensible del registro.
- El formato de cadena es una expresión regular con o sin banderas (por ejemplo,
/.../i
) y separada por comas para múltiples expresiones regulares. - Para más detalles sobre los patrones de enmascaramiento, consulta la sección de Patrones de Enmascaramiento en el README del Registrador WDIO.
Tipo: String
Predeterminado: undefined
Ejemplo:
{
maskingPatterns: '/--key=([^ ]*)/i,/RESULT (.*)/'
}
WebdriverIO
Las siguientes opciones (incluidas las enumeradas anteriormente) se pueden usar con WebdriverIO de forma independiente:
automationProtocol
Define el protocolo que deseas usar para la automatización de tu navegador. Actualmente solo se admite webdriver
, ya que es la principal tecnología de automatización de navegadores que utiliza WebdriverIO.
Si deseas automatizar el navegador utilizando una tecnología de automatización diferente, asegúrate de establecer esta propiedad en una ruta que resuelva a un módulo que se adhiera a la siguiente interfaz:
import type { Capabilities } from '@wdio/types';
import type { Client, AttachOptions } from 'webdriver';
export default class YourAutomationLibrary {
/**
* Inicia una sesión de automatización y devuelve una mónada [monad](https://github.com/webdriverio/webdriverio/blob/940cd30939864bdbdacb2e94ee6e8ada9b1cc74c/packages/wdio-utils/src/monad.ts) WebdriverIO
* con los respectivos comandos de automatización. Ver el paquete [webdriver](https://www.npmjs.com/package/webdriver)
* como una implementación de referencia
*
* @param {Capabilities.RemoteConfig} options Opciones de WebdriverIO
* @param {Function} hook que permite modificar el cliente antes de que se libere de la función
* @param {PropertyDescriptorMap} userPrototype permite al usuario agregar comandos de protocolo personalizados
* @param {Function} customCommandWrapper permite modificar la ejecución del comando
* @returns una instancia de cliente compatible con WebdriverIO
*/
static newSession(
options: Capabilities.RemoteConfig,
modifier?: (...args: any[]) => any,
userPrototype?: PropertyDescriptorMap,
customCommandWrapper?: (...args: any[]) => any
): Promise<Client>;
/**
* permite al usuario conectarse a sesiones existentes
* @optional
*/
static attachToSession(
options?: AttachOptions,
modifier?: (...args: any[]) => any, userPrototype?: {},
commandWrapper?: (...args: any[]) => any
): Client;
/**
* Cambia el ID de sesión de la instancia y las capacidades del navegador para la nueva sesión
* directamente en el objeto del navegador pasado
*
* @optional
* @param {object} instance el objeto que obtenemos de una nueva sesión de navegador.
* @returns {string} el nuevo ID de sesión del navegador
*/
static reloadSession(
instance: Client,
newCapabilities?: WebdriverIO.Capabilitie
): Promise<string>;
}
Tipo: String
Predeterminado: webdriver
baseUrl
Acorta las llamadas al comando url
estableciendo una URL base.
- Si tu parámetro
url
comienza con/
, entonces se anteponebaseUrl
(excepto la rutabaseUrl
, si tiene una). - Si tu parámetro
url
comienza sin un esquema o/
(comosome/path
), entonces se antepone directamente elbaseUrl
completo.
Tipo: String
Predeterminado: null
waitforTimeout
Tiempo de espera predeterminado para todos los comandos waitFor*
. (Ten en cuenta la f
minúscula en el nombre de la opción). Este tiempo de espera solo afecta a los comandos que comienzan con waitFor*
y su tiempo de espera predeterminado.
Para aumentar el tiempo de espera de una prueba, consulta la documentación del framework.
Tipo: Number
Predeterminado: 5000
waitforInterval
Intervalo predeterminado para todos los comandos waitFor*
para verificar si un estado esperado (por ejemplo, visibilidad) ha cambiado.
Tipo: Number
Predeterminado: 100
region
Si ejecutas en Sauce Labs, puedes elegir ejecutar pruebas entre diferentes centros de datos: EE. UU. o UE.
Para cambiar tu región a UE, agrega region: 'eu'
a tu configuración.
Nota: Esto solo tiene efecto si proporcionas las opciones user
y key
que están conectadas a tu cuenta de Sauce Labs.
Tipo: String
Predeterminado: us
(solo para vm y/o em/simuladores)
Opciones del Ejecutor de Pruebas
Las siguientes opciones (incluidas las enumeradas anteriormente) se definen solo para ejecutar WebdriverIO con el ejecutor de pruebas WDIO:
specs
Define las especificaciones para la ejecución de pruebas. Puedes especificar un patrón glob para hacer coincidir múltiples archivos a la vez o envolver un glob o conjunto de rutas en una matriz para ejecutarlos dentro de un solo proceso de trabajo. Todas las rutas se consideran relativas a la ruta del archivo de configuración.
Tipo: (String | String[])[]
Predeterminado: []
exclude
Excluye especificaciones de la ejecución de pruebas. Todas las rutas se consideran relativas a la ruta del archivo de configuración.
Tipo: String[]
Predeterminado: []
suites
Un objeto que describe varias suites, que luego puedes especificar con la opción --suite
en la CLI wdio
.
Tipo: Object
Predeterminado: {}
capabilities
Lo mismo que la sección capabilities
descrita anteriormente, excepto con la opción de especificar un objeto multiremote
, o múltiples sesiones de WebDriver en una matriz para ejecución paralela.
Puedes aplicar las mismas capacidades específicas del proveedor y del navegador como se define arriba.
Tipo: Object
|Object[]
Predeterminado: [{ 'wdio:maxInstances': 5, browserName: 'firefox' }]
maxInstances
Número máximo total de trabajadores paralelos en ejecución.
Nota: que puede ser un número tan alto como 100
, cuando las pruebas se realizan en algunos proveedores externos como las máquinas de Sauce Labs. Allí, las pruebas no se prueban en una sola máquina, sino en múltiples máquinas virtuales. Si las pruebas se ejecutarán en una máquina de desarrollo local, usa un número más razonable, como 3
, 4
o 5
. Esencialmente, este es el número de navegadores que se iniciarán simultáneamente y ejecutarán tus pruebas al mismo tiempo, por lo que depende de cuánta RAM haya en tu máquina y cuántas otras aplicaciones estén ejecutándose en tu máquina.
También puedes aplicar maxInstances
dentro de tus objetos de capacidad usando la capacidad wdio:maxInstances
. Esto limitará la cantidad de sesiones paralelas para esa capacidad particular.
Tipo: Number
Predeterminado: 100
maxInstancesPerCapability
Número máximo total de trabajadores paralelos en ejecución por capacidad.
Tipo: Number
Predeterminado: 100
injectGlobals
Inserta los globales de WebdriverIO (por ejemplo, browser
, $
y $$
) en el entorno global.
Si lo estableces en false
, debes importar desde @wdio/globals
, por ejemplo:
import { browser, $, $$, expect } from '@wdio/globals'
Nota: WebdriverIO no maneja la inyección de globales específicos del framework de pruebas.
Tipo: Boolean
Predeterminado: true
bail
Si deseas que tu ejecución de prueba se detenga después de un número específico de fallas en las pruebas, usa bail
.
(Por defecto es 0
, lo que ejecuta todas las pruebas sin importar qué). Nota: Una prueba en este contexto son todas las pruebas dentro de un solo archivo de especificación (cuando se usa Mocha o Jasmine) o todos los pasos dentro de un archivo de características (cuando se usa Cucumber). Si deseas controlar el comportamiento de bail dentro de las pruebas de un solo archivo de prueba, consulta las opciones disponibles del framework.
Tipo: Number
Predeterminado: 0
(no hacer bail; ejecutar todas las pruebas)
specFileRetries
El número de veces que se reintenta un archivo de especificación completo cuando falla como un todo.
Tipo: Number
Predeterminado: 0
specFileRetriesDelay
Retraso en segundos entre los intentos de reintento del archivo de especificación
Tipo: Number
Predeterminado: 0
specFileRetriesDeferred
Si los archivos de especificación reintentados deben reintentarse inmediatamente o diferirse al final de la cola.
Tipo: Boolean
Predeterminado: true
groupLogsByTestSpec
Elige la vista de salida de registro.
Si se establece en false
, los registros de diferentes archivos de prueba se imprimirán en tiempo real. Ten en cuenta que esto puede resultar en la mezcla de salidas de registro de diferentes archivos cuando se ejecutan en paralelo.
Si se establece en true
, las salidas de registro se agruparán por Test Spec y se imprimirán solo cuando se complete el Test Spec.
Por defecto, se establece en false
para que los registros se impriman en tiempo real.
Tipo: Boolean
Predeterminado: false
services
Los servicios se encargan de un trabajo específico que no quieres atender. Mejoran tu configuración de prueba con muy poco esfuerzo.
Tipo: String[]|Object[]
Predeterminado: []
framework
Define el framework de pruebas que utilizará el ejecutor de pruebas WDIO.
Tipo: String
Predeterminado: mocha
Opciones: mocha
| jasmine
mochaOpts, jasmineOpts y cucumberOpts
Opciones específicas relacionadas con el framework. Consulta la documentación del adaptador del framework sobre qué opciones están disponibles. Lee más sobre esto en Frameworks.
Tipo: Object
Predeterminado: { timeout: 10000 }
cucumberFeaturesWithLineNumbers
Lista de características de cucumber con números de línea (cuando se usa el framework cucumber).
Tipo: String[]
Predeterminado: []
reporters
Lista de reporteros a utilizar. Un reportero puede ser una cadena, o una matriz de
['reporterName', { /* reporter options */}]
donde el primer elemento es una cadena con el nombre del reportero y el segundo elemento es un objeto con opciones del reportero.
Tipo: String[]|Object[]
Predeterminado: []
Ejemplo:
reporters: [
'dot',
'spec'
['junit', {
outputDir: `${__dirname}/reports`,
otherOption: 'foobar'
}]
]
reporterSyncInterval
Determina en qué intervalo el reportero debe verificar si están sincronizados si informan sus registros de forma asíncrona (por ejemplo, si los registros se transmiten a un proveedor externo).
Tipo: Number
Predeterminado: 100
(ms)
reporterSyncTimeout
Determina el tiempo máximo que tienen los reporteros para terminar de cargar todos sus registros hasta que el ejecutor de pruebas lance un error.
Tipo: Number
Predeterminado: 5000
(ms)
execArgv
Argumentos de Node para especificar al iniciar procesos secundarios.
Tipo: String[]
Predeterminado: null
filesToWatch
Una lista de patrones de cadenas que admiten glob que indican al ejecutor de pruebas que observe otros archivos adicionales, por ejemplo, archivos de aplicación, cuando se ejecuta con la bandera --watch
. Por defecto, el ejecutor de pruebas ya observa todos los archivos de especificación.
Tipo: String[]
Predeterminado: []
updateSnapshots
Establece a true si deseas actualizar tus instantáneas. Idealmente se usa como parte de un parámetro CLI, por ejemplo, wdio run wdio.conf.js --s
.
Tipo: 'new' | 'all' | 'none'
Predeterminado: none
si no se proporciona y las pruebas se ejecutan en CI, new
si no se proporciona, de lo contrario lo que se haya proporcionado
resolveSnapshotPath
Anula la ruta de instantánea predeterminada. Por ejemplo, para almacenar instantáneas junto a los archivos de prueba.
export const config: WebdriverIO.Config = {
resolveSnapshotPath: (testPath, snapExtension) => testPath + snapExtension,
}
Tipo: (testPath: string, snapExtension: string) => string
Predeterminado: almacena archivos de instantáneas en el directorio __snapshots__
junto al archivo de prueba
tsConfigPath
WDIO utiliza tsx
para compilar archivos TypeScript. Tu TSConfig se detecta automáticamente desde el directorio de trabajo actual, pero puedes especificar una ruta personalizada aquí o configurando la variable de entorno TSX_TSCONFIG_PATH.
Consulta la documentación de tsx
: https://tsx.is/dev-api/node-cli#custom-tsconfig-json-path
Tipo: String
Predeterminado: null
Hooks
El ejecutor de pruebas WDIO te permite establecer hooks que se activarán en momentos específicos del ciclo de vida de la prueba. Esto permite acciones personalizadas (por ejemplo, tomar una captura de pantalla si una prueba falla).
Cada hook tiene como parámetro información específica sobre el ciclo de vida (por ejemplo, información sobre el conjunto de pruebas o la prueba). Lee más sobre todas las propiedades de los hooks en nuestro ejemplo de configuración.
Nota: Algunos hooks (onPrepare
, onWorkerStart
, onWorkerEnd
y onComplete
) se ejecutan en un proceso diferente y, por lo tanto, no pueden compartir datos globales con los otros hooks que viven en el proceso de trabajo.
onPrepare
Se ejecuta una vez antes de que se lancen todos los trabajadores.
Parámetros:
config
(object
): objeto de configuración de WebdriverIOparam
(object[]
): lista de detalles de capacidades
onWorkerStart
Se ejecuta antes de que se genere un proceso de trabajo y se puede usar para inicializar un servicio específico para ese trabajador, así como para modificar entornos de tiempo de ejecución de manera asíncrona.
Parámetros:
cid
(string
): ID de capacidad (por ejemplo, 0-0)caps
(object
): contiene capacidades para la sesión que se generará en el trabajadorspecs
(string[]
): especificaciones que se ejecutarán en el proceso de trabajoargs
(object
): objeto que se fusionará con la configuración principal una vez que se inicialice el trabajadorexecArgv
(string[]
): lista de argumentos de cadena pasados al proceso de trabajo
onWorkerEnd
Se ejecuta justo después de que un proceso de trabajo haya salido.
Parámetros:
cid
(string
): ID de capacidad (por ejemplo, 0-0)exitCode
(number
): 0 - éxito, 1 - fallospecs
(string[]
): especificaciones que se ejecutarán en el proceso de trabajoretries
(number
): número de reintentos a nivel de especificación utilizados como se define en "Agregar reintentos en base a un archivo de especificación"
beforeSession
Se ejecuta justo antes de inicializar la sesión del webdriver y el framework de pruebas. Te permite manipular configuraciones dependiendo de la capacidad o especificación.
Parámetros:
config
(object
): objeto de configuración de WebdriverIOcaps
(object
): contiene capacidades para la sesión que se generará en el trabajadorspecs
(string[]
): especificaciones que se ejecutarán en el proceso de trabajo
before
Se ejecuta antes de que comience la ejecución de la prueba. En este punto puedes acceder a todas las variables globales como browser
. Es el lugar perfecto para definir comandos personalizados.
Parámetros:
caps
(object
): contiene capacidades para la sesión que se generará en el trabajadorspecs
(string[]
): especificaciones que se ejecutarán en el proceso de trabajobrowser
(object
): instancia de la sesión del navegador/dispositivo creada
beforeSuite
Hook que se ejecuta antes de que comience el suite (solo en Mocha/Jasmine)
Parámetros:
suite
(object
): detalles del suite
beforeHook
Hook que se ejecuta antes de un hook dentro del suite (por ejemplo, se ejecuta antes de llamar a beforeEach en Mocha)
Parámetros:
test
(object
): detalles de la pruebacontext
(object
): contexto de prueba (representa el objeto World en Cucumber)
afterHook
Hook que se ejecuta después de que finaliza un hook dentro del suite (por ejemplo, se ejecuta después de llamar a afterEach en Mocha)
Parámetros:
test
(object
): detalles de la pruebacontext
(object
): contexto de prueba (representa el objeto World en Cucumber)result
(object
): resultado del hook (contiene las propiedadeserror
,result
,duration
,passed
,retries
)
beforeTest
Función que se ejecutará antes de una prueba (solo en Mocha/Jasmine).
Parámetros:
test
(object
): detalles de la pruebacontext
(object
): objeto de alcance con el que se ejecutó la prueba
beforeCommand
Se ejecuta antes de que se ejecute un comando de WebdriverIO.
Parámetros:
commandName
(string
): nombre del comandoargs
(*
): argumentos que recibiría el comando
afterCommand
Se ejecuta después de que se ejecuta un comando de WebdriverIO.
Parámetros:
commandName
(string
): nombre del comandoargs
(*
): argumentos que recibiría el comandoresult
(number
): 0 - éxito del comando, 1 - error del comandoerror
(Error
): objeto de error si lo hay
afterTest
Función que se ejecutará después de que finalice una prueba (en Mocha/Jasmine).
Parámetros:
test
(object
): detalles de la pruebacontext
(object
): objeto de alcance con el que se ejecutó la pruebaresult.error
(Error
): objeto de error en caso de que la prueba falle, de lo contrarioundefined
result.result
(Any
): objeto de retorno de la función de pruebaresult.duration
(Number
): duración de la pruebaresult.passed
(Boolean
): true si la prueba ha pasado, de lo contrario falseresult.retries
(Object
): información sobre reintentos de pruebas individuales como se define para Mocha y Jasmine así como Cucumber, por ejemplo,{ attempts: 0, limit: 0 }
, verresult
(object
): resultado del hook (contiene las propiedadeserror
,result
,duration
,passed
,retries
)
afterSuite
Hook que se ejecuta después de que el suite haya finalizado (solo en Mocha/Jasmine)
Parámetros:
suite
(object
): detalles del suite
after
Se ejecuta después de que se completan todas las pruebas. Todavía tienes acceso a todas las variables globales de la prueba.
Parámetros:
result
(number
): 0 - prueba pasada, 1 - prueba fallócaps
(object
): contiene capacidades para la sesión que se generará en el trabajadorspecs
(string[]
): especificaciones que se ejecutarán en el proceso de trabajo
afterSession
Se ejecuta justo después de terminar la sesión de webdriver.
Parámetros:
config
(object
): objeto de configuración de WebdriverIOcaps
(object
): contiene capacidades para la sesión que se generará en el trabajadorspecs
(string[]
): especificaciones que se ejecutarán en el proceso de trabajo
onComplete
Se ejecuta después de que todos los trabajadores se hayan cerrado y el proceso esté a punto de salir. Un error lanzado en el hook onComplete resultará en el fallo de la ejecución de la prueba.
Parámetros:
exitCode
(number
): 0 - éxito, 1 - falloconfig
(object
): objeto de configuración de WebdriverIOcaps
(object
): contiene capacidades para la sesión que se generará en el trabajadorresult
(object
): objeto de resultados que contiene los resultados de las pruebas
onReload
Se ejecuta cuando ocurre una actualización.
Parámetros:
oldSessionId
(string
): ID de sesión de la sesión antiguanewSessionId
(string
): ID de sesión de la nueva sesión
beforeFeature
Se ejecuta antes de una Característica de Cucumber.
Parámetros:
uri
(string
): ruta al archivo de característicasfeature
(GherkinDocument.IFeature
): objeto de característica de Cucumber
afterFeature
Se ejecuta después de una Característica de Cucumber.
Parámetros:
uri
(string
): ruta al archivo de característicasfeature
(GherkinDocument.IFeature
): objeto de característica de Cucumber
beforeScenario
Se ejecuta antes de un Escenario de Cucumber.
Parámetros:
world
(ITestCaseHookParameter
): objeto world que contiene información sobre pickle y paso de pruebacontext
(object
): objeto World de Cucumber
afterScenario
Se ejecuta después de un Escenario de Cucumber.
Parámetros:
world
(ITestCaseHookParameter
): objeto world que contiene información sobre pickle y paso de pruebaresult
(object
): objeto de resultados que contiene los resultados del escenarioresult.passed
(boolean
): true si el escenario ha pasadoresult.error
(string
): pila de errores si el escenario fallóresult.duration
(number
): duración del escenario en milisegundoscontext
(object
): objeto World de Cucumber
beforeStep
Se ejecuta antes de un Paso de Cucumber.
Parámetros:
step
(Pickle.IPickleStep
): objeto de paso de Cucumberscenario
(IPickle
): objeto de escenario de Cucumbercontext
(object
): objeto World de Cucumber
afterStep
Se ejecuta después de un Paso de Cucumber.
Parámetros:
step
(Pickle.IPickleStep
): objeto de paso de Cucumberscenario
(IPickle
): objeto de escenario de Cucumberresult
: (object
): objeto de resultados que contiene los resultados del pasoresult.passed
(boolean
): true si el escenario ha pasadoresult.error
(string
): pila de errores si el escenario fallóresult.duration
(number
): duración del escenario en milisegundoscontext
(object
): objeto World de Cucumber
beforeAssertion
Hook que se ejecuta antes de que ocurra una aserción de WebdriverIO.
Parámetros:
params
: información de aserciónparams.matcherName
(string
): nombre del comparador (por ejemplo,toHaveTitle
)params.expectedValue
: valor que se pasa al comparadorparams.options
: opciones de aserción
afterAssertion
Hook que se ejecuta después de que ocurrió una aserción de WebdriverIO.
Parámetros:
params
: información de aserciónparams.matcherName
(string
): nombre del comparador (por ejemplo,toHaveTitle
)params.expectedValue
: valor que se pasa al comparadorparams.options
: opciones de aserciónparams.result
: resultados de la aserción