Ir al Contenido Principal

Configuración

Basado en el tipo de configuración Setup-Type (p. ej. usando los enlaces de protocolo crudo, WebdriverIO como paquete independiente o el testrunner WDIo) hay un conjunto diferente de opciones disponibles para controlar el entorno.

Opciones de WebDriver

Las siguientes opciones se definen al utilizar el paquete de protocolo webdriver:

Protocolo

Protocolo a usar para comunicarse con el servidor de controladores.

Tipo: String
Predeterminado: localhost

nombre del host

Anfitrión de su servidor de controladores.

Tipo: String
Predeterminado: localhost

port

Puerto en el que está el servidor del conductor.

Type: Number
Default: 100 (ms)

path

Ruta al punto final del servidor del controlador.

Type: String
Default: /

queryParams

Parámetros de consulta que se propagan al servidor de controladores.

Type: Object
Default: null

user

Su nombre de usuario de servicio en la nube (solo funciona para Sauce Labs, Browserstack, TestingBot o cuentas LambdaTest). Si se establece, WebdriverIO automáticamente establecerá las opciones de conexión para usted. Si no utiliza un proveedor de nube esto se puede utilizar para autenticar cualquier otro backend de WebDriver.

Type: String
Default: null

key

Su nombre de usuario de servicio en la nube (solo funciona para Sauce Labs, Browserstack, TestingBot o cuentas LambdaTest). Si se establece, WebdriverIO automáticamente establecerá las opciones de conexión para usted. Si no utiliza un proveedor de nube esto se puede utilizar para autenticar cualquier otro backend de WebDriver.

Type: String
Default: null

capabilities

Define las capacidades que desea ejecutar en su sesión de WebDriver. Consulte el Protocolo WebDriver para obtener más detalles. Si ejecuta un controlador anterior que no soporta el protocolo WebDriver necesitarás usar las capacidades JSONWireProtocol para ejecutar correctamente una sesión.

Al lado de las capacidades basadas en WebDriver usted puede aplicar opciones específicas del navegador y del proveedor que permiten una configuración más profunda al navegador o dispositivo remoto. Estos están documentados en los documentos de proveedor correspondientes, por ejemplo.:

Adicionalmente, una utilidad útil es el Configurador Automatizado de Pruebasde Sauce Labs, que le ayuda a crear este objeto haciendo clic juntos en las capacidades deseadas.

Type: Object
Default: null

Ejemplo:

{
browserName: 'chrome', // options: `chrome`, `edge`, `firefox`, `safari`
browserVersion: '27.0', // browser version
platformName: 'Windows 10' // OS platform
}

Si está ejecutando pruebas web o nativas en dispositivos móviles, capacidades difieren del protocolo WebDriver. See the Appium Docs for more details.

logLevel

Nivel de detalle de registro.

Type: String
Default: info
Options: trace | debug | info | warn | error | silent

outputDir

Directorio para almacenar todos los archivos de registro de testrunner (incluyendo los registros de los reporteros y wdio registros). Si no se establece, todos los registros se transfieren a stdout. Puesto que la mayoría de los reporteros están hechos para iniciar sesión en stdout, se recomienda usar esta opción sólo para reporteros específicos donde tiene más sentido enviar un informe a un archivo (como el reportero junit, por ejemplo).

Cuando se ejecuta en modo independiente, el único registro generado por WebdriverIO será el registro de wdio.

Type: String
Default: null

connectionRetryTimeout

Tiempo de espera para cualquier solicitud de WebDriver a un controlador o grid.

Type: Number
Default: 120000

connectionRetryCount

Número máximo de intentos de solicitud al servidor Selenium.

Type: Number
Default: 3

agent

Le permite usar unhttp/https/http2 agente personalizado para realizar solicitudes.

Type: Object
Default:

{
http: new http.Agent({ keepAlive: true }),
https: new https.Agent({ keepAlive: true })
}

headers

Especifique encabezados personalizados para pasar a cada solicitud de WebDriver y cuando se conecte al navegador a través de Puppeteer usando el protocolo CDP.

¡Atención!

Estos encabezados no son pasados a la solicitud del navegador. ¡Si está buscando modificar los encabezados de las solicitudes del navegador, por favor participe en #6361!

Type: Object
Default: {}

transformRequest

Interceptando funciones opciones de solicitud HTTP antes de que se haga una solicitud de WebDriver

Type: (RequestOptions) => RequestOptions
Default: none

transformResponse

Función interceptando objetos de respuesta HTTP después de que haya llegado una respuesta de WebDriver. La función se pasa el objeto de respuesta original como el primero y la correspondiente RequestOptions como segundo argumento.

Type: (Response, RequestOptions) => Response
Default: none

strictSSL

Si no requiere que el certificado SSL sea válido. Puede establecerse a través de variables de entorno como STRICT_SSL o strict_ssl.

Type: Boolean
Default: true

enableDirectConnect

Si habilita la función de conexión directa del Appium. No hace nada si la respuesta no tiene las teclas apropiadas mientras la bandera está habilitada.

Type: Boolean
Default: true

cacheDir

The path to the root of the cache directory. This directory is used to store all drivers that are downloaded when attempting to start a session.

Type: String
Default: process.env.WEBDRIVER_CACHE_DIR || os.tmpdir()


WebdriverIO

Las siguientes opciones (incluyendo las mencionadas arriba) se pueden utilizar con WebdriverIO en autónomo:

automationProtocol

Defina el protocolo que desea utilizar para la automatización de su navegador. Actualmente, solo se admiten webdriver y devtools, ya que estas son las principales tecnologías de automatización de navegadores disponibles.

Si desea automatizar el navegador usando devtools, asegúrese de que tiene instalado el paquete NPM ($ npm install --save-dev devtool).

Type: String
Default: webdriver

baseUrl

Acortar las llamadas de comando de url estableciendo una URL base.

  • Si tu parámetro url comienza con /, entonces baseUrl está precedida (excepto la ruta baseUrl, si tiene una).
  • Si el parámetro url comienza sin un esquema o / (como some/path), entonces el baseUrl completo se añade directamente.

Type: String
Default: null

waitforTimeout

Tiempo de espera predeterminado para todos los comandos waitFor*. (Tenga en cuenta la minúscula f en el nombre de opción.) (Tenga en cuenta la minúscula f en el nombre de opción.) (Tenga en cuenta la minúscula f en el nombre de opción.) Este tiempo de espera solo afecta a los comandos que empiezan con espera* y su tiempo de espera predeterminado.

Para aumentar el tiempo de espera de una prueba, por favor vea la documentación del framework.

Type: Number
Default: 5000

waitforInterval

Intervalo predeterminado para todos los comandos waitFor* para comprobar si un estado esperado (por ejemplo, visibilidad) ha sido cambiado.

Type: Number
Default: 500

region

Si se ejecuta en Sauce Labs, puede ejecutar pruebas entre diferentes data centers: EE. UU. o UE. Para cambiar tu región a la UE, añade región: 'eu' a tu configuración.

Nota: Esto solo tiene efecto si proporcionas usuario y opciones de clave que están conectadas a tu cuenta de Sauce Labs.

Type: String
Default: us

(sólo para vm y o em/simuladores)


Testrunner Options

Las siguientes opciones (incluidas las mencionadas arriba) se definen sólo para ejecutar WebdriverIO con el testrunner WDIO:

specs

Definir las especificaciones para la ejecución de pruebas. Puede especificar un patrón de glob para que coincida con varios archivos a la vez o envolver un glob o un conjunto de rutas en un array para ejecutarlos dentro de un proceso de un solo worker. All paths are seen as relative from the config file path.

Type: (String | String[])[]
Default: []

exclude

Excluir las especificaciones de la ejecución de pruebas. Todas las rutas son vistas como relativas desde la ruta del archivo de configuración.

Type: String[]
Default: []

suites

Un objeto que describe varias suites, que puede especificar con la opción --suite en la CLI wdio.

Type: Object
Default: {}

capabilities

Lo mismo que la sección capacidades descrita anteriormente excepto con la opción para especificar un objeto multiremoto, o varias sesiones WebDriver en una matriz para ejecución paralela.

Puede aplicar las mismas capacidades específicas del proveedor y del navegador según lo definido arriba.

Type: Object|Object[]
Default: [{ 'wdio:maxInstances': 5, browserName: 'firefox' }]

maxInstances

Número máximo de trabajadores en ejecución paralela.

Nota: que puede ser un número de hasta 100, cuando las pruebas se están llevando a cabo en algunos proveedores externos como las máquinas de Sauce Lang. Las pruebas no se prueban en una sola máquina, sino en múltiples máquinas virtuales. Si las pruebas deben ejecutarse en una máquina de desarrollo local, utilice un número más razonable, tales como 3, 4o 5. Esencialmente, este es el número de navegadores que se iniciarán simultáneamente y ejecutarán tus pruebas al mismo tiempo, para que dependa de la cantidad de RAM que hay en su máquina, y de cuántas otras aplicaciones están ejecutándose en su máquina.

You can also apply maxInstances within your capability objects using the wdio:maxInstances capability. This will limit the amount of parallel sessions for that particular capability.

Type: Number
Default: 100

maxInstancesPerCapability

Número máximo de trabajadores en ejecución paralela por capacidad.

Type: Number
Default: 100

injectGlobals

Inserta los globales de WebdriverIO (por ejemplo, browser, $ y $$) en el entorno global. Si se establece a false, debería importar de @wdio/globals, por ejemplo.:

import { browser, $, $$, expect } from '@wdio/globals'

Nota: WebdriverIO no maneja la inyección del framework de pruebas globales específicos.

Type: Boolean
Default: true

bail

Si quieres que tu ejecución de prueba se detenga después de un número específico de fallos de prueba, usa bail. (Por defecto es 0, que ejecuta todas las pruebas sin importar qué.) (Por defecto es 0, que ejecuta todas las pruebas sin importar qué.) (Por defecto es 0, que ejecuta todas las pruebas sin importar qué.) Nota: Tenga en cuenta que al usar un corredor de pruebas de terceros (como Mocha), podría requerirse una configuración adicional.

Type: Number
Default: 0 (don't bail; run all tests)

specFileRetries

El número de veces para volver a intentar un espectro completo cuando falla en su conjunto.

Type: Number
Default: 0

specFileRetriesDelay

Retraso en segundos entre los intentos de reintento del archivo específico

Type: Number
Default: 0

specFileRetriesDeferred

Whether or not retried spec files should be retried immediately or deferred to the end of the queue.

Type: Boolean
Default: true

groupLogsByTestSpec

Choose the log output view.

If set to false logs from different test files will be printed in real-time. Please note that this may result in the mixing of log outputs from different files when running in parallel.

If set to true log outputs will be grouped by Test Spec and printed only when the Test Spec is completed.

By default, it is set to false so logs are printed in real-time.

Type: Boolean
Default: false

services

Los servicios se hacen cargo de un trabajo específico que no desea cuidar. Mejoran su configuración de prueba sin casi ningún esfuerzo.

Type: String[]|Object[]
Default: []

framework

Define el marco de pruebas que utilizará el testrunner WDIO.

Type: String
Default: mocha
Options: mocha | jasmine

mochaOpts, jasmineOpts and cucumberOpts

Opciones específicas relacionadas con el framework. Vea la documentación del adaptador del framework sobre qué opciones están disponibles. Lea más sobre esto en Frameworks.

Type: Object
Default: { timeout: 10000 }

cucumberFeaturesWithLineNumbers

Lista de características de cucumber con números de línea (cuando utiliza marco de pepino).

Type: String[] Default: []

reporters

Lista de reporteros a utilizar. Un reportero puede ser una cadena o un array de ['reporterName', { /* reportero options */}] donde el primer elemento es una cadena con el nombre del reportero y el segundo elemento un objeto con opciones de reportero.

Type: String[]|Object[]
Default: []

Ejemplo:

reporters: [
'dot',
'spec'
['junit', {
outputDir: `${__dirname}/reports`,
otherOption: 'foobar'
}]
]

reporterSyncInterval

Determina en qué intervalo el reportero debe comprobar si se sincronizan si reportan sus registros de forma asincrónica (e., si los registros son transmitidos a un proveedor de terceros).

Type: Number
Default: 100 (ms)

reporterSyncTimeout

Determina el tiempo máximo que los periodistas tienen que terminar de cargar todos sus registros hasta que el testrunner lanza un error.

Type: Number
Default: 5000 (ms)

execArgv

Argumentos del nodo a especificar al lanzar procesos.

Type: String[]
Default: null

filesToWatch

Una lista de glob que soporta patrones de cadenas que le dicen al testrunner que lo tenga adicionalmente para ver otros archivos.. archivos de aplicación al ejecutarlo con la bandera --watch. Por defecto, el testrunner ya observa todos los archivos de especialización.

Type: String[]
Default: []

autoCompileOpts

Opciones de compilador al usar WebdriverIO con TypeScript o Babel.

autoCompileOpts.autoCompile

Si se establece en true el testrunner WDIO intentará transpirar automáticamente los archivos de especificación.

Type: Object Default: { transpileOnly: true }

autoCompileOpts.tsNodeOpts

Configura cómo ts-node se supone que transpile los archivos.

Type: Object Default: { transpileOnly: true }

autoCompileOpts.babelOpts

Configura cómo ts-node se supone que transpile los archivos.

Type: Object Default: {}

Hooks

El testrunner WDIO le permite configurar ganchos para que se activen en momentos específicos del ciclo de vida de la prueba. Esto permite acciones personalizadas (por ejemplo, tomar captura de pantalla si una prueba falla).

Cada gancho 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). Lea más sobre todas las propiedades de gancho en nuestra configuración de ejemplo.

Nota: Algunos hooks (onPrepare, onWorkerStart, onWorkerEnd y onComplete) se ejecutan en un proceso diferente y por lo tanto no pueden compartir ningún dato global con los otros ganchos que viven en el proceso de trabajo.

onPrepare

Se ejecuta una vez antes de que todos los trabajadores sean lanzados.

Parámetros:

  • config (objeto): objeto de configuración WebdriverIO
  • param (object[]): lista de detalles de capacidades

onWorkerStart

Se ejecuta antes de que un proceso trabajador sea generado y se puede utilizar para inicializar un servicio específico para ese trabajador, así como para modificar los entornos de tiempo de ejecución de una manera asíncrona.

Parámetros:

  • cid (string): id de capacidad (por ejemplo, 0-0)
  • caps (object): conteniendo capacidades para la sesión que aparecerán en el worker
  • especificaciones (cadenas []): especificaciones que se ejecutarán en el proceso de trabajo
  • argumentos (objeto): objeto que se fusionará con la configuración principal una vez que se inicialice el trabajador
  • execArgv (string[]): lista de argumentos de cadena pasados al proceso de trabajo

onWorkerEnd

Se ejecuta justo después de que el proceso de un trabajador haya terminado.

Parámetros:

  • cid (string): id de capacidad (por ejemplo, 0-0)
  • exitCode (número): 0 - éxito, 1 - error
  • especificaciones (cadenas []): especificaciones que se ejecutarán en el proceso de trabajo
  • retries (number): number of spec level retries used as defined in "Add retries on a per-specfile basis"

beforeSession

Se ejecuta justo antes de inicializar la sesión webdriver y el framework de pruebas. Permite manipular configuraciones dependiendo de la capacidad o especificación.

Parámetros:

  • config (objeto): objeto de configuración WebdriverIO
  • caps (object): conteniendo capacidades para la sesión que aparecerán en el worker
  • especificaciones (cadenas []): especificaciones que se ejecutarán en el proceso de trabajo

before

Se ejecuta antes de comenzar la ejecución de la prueba. En este punto puede acceder a todas las variables globales como navegador. Es el lugar perfecto para definir comandos personalizados.

Parámetros:

  • caps (object): conteniendo capacidades para la sesión que aparecerán en el worker
  • especificaciones (cadenas []): especificaciones que se ejecutarán en el proceso de trabajo
  • browser (object): instancia de la sesión de navegador/dispositivo creada

beforeSuite

Hook that gets executed before the suite starts (in Mocha/Jasmine only)

Parámetros:

  • suite (objeto): detalles de suite

beforeHook

Gancho que se ejecuta antes de que se inicie un gancho dentro de la suite (por ejemplo, se ejecuta antes de llamar a beforeEach en Mocha)

Parámetros:

  • test (object): detalles de prueba
  • contexto (objeto): contexto de prueba (representa el objeto del mundo en cupón)

afterHook

Gancho que es ejecutado después de un gancho dentro de la suite termina (por ejemplo, después de llamar después de cada llamada en Mocha)

Parámetros:

  • test (object): detalles de prueba
  • contexto (objeto): contexto de prueba (representa el objeto del mundo en cupón)
  • resultado (objeto): resultado de gancho (contiene error, resultado, duración, pasado, reintentos propiedades)

beforeTest

Función que se ejecuta antes de una prueba (en Mocha/Jasmine solamente).

Parámetros:

  • test (object): detalles de prueba
  • contexto (objeto): objeto de ámbito con el que se ejecutó la prueba

beforeCommand

Ejecuta antes de que un comando WebdriverIO sea ejecutado.

Parámetros:

  • commandName (string): nombre de comando
  • args (*): argumentos que recibiría el comando

afterCommand

Ejecuta después de que un comando WebdriverIO sea ejecutado.

Parámetros:

  • commandName (string): nombre de comando
  • args (*): argumentos que recibiría el comando
  • resultado (número): 0 - comando exitoso, 1 - error de comando
  • error (Error): objeto de error si existe

afterTest

Función que se ejecuta después de que finalice una prueba (en Mocha/Jasmine).

Parámetros:

  • test (object): detalles de prueba
  • contexto (objeto): objeto de ámbito con el que se ejecutó la prueba
  • result.error (Error): objeto de error en caso de que la prueba falle, de lo contrario indefinido
  • result.result (Any): devuelve el objeto de la función de prueba
  • resultado.duración (Número): duración de la prueba
  • result.passed (Boolean): verdadero si la prueba ha pasado, de lo contrario, falso
  • result.retries (Object): information about single test related retries as defined for Mocha and Jasmine as well as Cucumber, e.g. { attempts: 0, limit: 0 }, see
  • resultado (objeto): resultado de gancho (contiene error, resultado, duración, pasado, reintentos propiedades)

afterSuite

Hook that gets executed after the suite has ended (in Mocha/Jasmine only)

Parámetros:

  • suite (objeto): detalles de suite

after

Se ejecuta después de que todas las pruebas hayan terminado. Todavía tiene acceso a todas las variables globales de la prueba.

Parámetros:

  • exitCode (número): 0 - éxito, 1 - error
  • caps (object): conteniendo capacidades para la sesión que aparecerán en el worker
  • especificaciones (cadenas []): especificaciones que se ejecutarán en el proceso de trabajo

afterSession

Se ejecuta justo después de terminar la sesión del controlador web.

Parámetros:

  • config (objeto): objeto de configuración WebdriverIO
  • caps (object): conteniendo capacidades para la sesión que aparecerán en el worker
  • especificaciones (cadenas []): especificaciones que se ejecutarán en el proceso de trabajo

onComplete

Se ejecutó después de que todos los trabajadores se cerraron y el proceso está a punto de salir. Un error arrojado en el gancho onComplete resultará en que la prueba falle.

Parámetros:

  • exitCode (número): 0 - éxito, 1 - error
  • config (objeto): objeto de configuración WebdriverIO
  • caps (object): conteniendo capacidades para la sesión que aparecerán en el worker
  • resultado (objeto): objeto de resultados que contiene resultados de prueba

onReload

Se ejecuta cuando ocurre una actualización.

Parámetros:

  • oldSessionId (string): ID de sesión de la sesión anterior
  • newSessionId (string): ID de sesión de la nueva sesión

beforeFeature

Se ejecuta antes de una Característica de Cucumber

Parámetros:

afterFeature

Se ejecuta antes de una Característica de Cucumber.

Parámetros:

beforeScenario

Se ejecuta antes de una Característica de Cucumber.

Parámetros:

  • mundo (ITestCaseHookParameter): objeto del mundo que contiene información sobre el ickle y paso de prueba
  • contexto (objeto): objeto Cucumber World

afterScenario

Se ejecuta antes de una Característica de Cucumber.

Parámetros:

  • mundo (ITestCaseHookParameter): objeto del mundo que contiene información sobre el ickle y paso de prueba
  • resultado (objeto): objeto de resultados que contiene resultados de prueba
  • result.passed (boolean): verdadero si la prueba ha pasado, de lo contrario, falso
  • result.error (string): pila de errores si el escenario falló
  • result.duration (number): duración del escenario en milisegundos
  • contexto (objeto): objeto Cucumber World

beforeStep

Se ejecuta antes de una Característica de Cucumber

Parámetros:

afterStep

Se ejecuta antes de una Característica de Cucumber

Parámetros:

  • paso (Pickle.IPickleStep): objeto de paso Cucumber
  • paso (Pickle.IPickleStep): objeto de paso Cucumber
  • resultado (objeto): objeto de resultados que contiene resultados de prueba
  • result.passed (boolean): verdadero si la prueba ha pasado, de lo contrario, falso
  • result.error (string): pila de errores si el escenario falló
  • result.duration (number): duración del escenario en milisegundos
  • contexto (objeto): objeto Cucumber World

beforeAssertion

Hook that gets executed before a WebdriverIO assertion happens.

Parameters:

  • params: assertion information
  • params.matcherName (string): name of the matcher (e.g. toHaveTitle)
  • params.expectedValue: value that is passed into the matcher
  • params.options: assertion options

afterAssertion

Hook that gets executed after a WebdriverIO assertion happened.

Parameters:

  • params: assertion information
  • params.matcherName (string): name of the matcher (e.g. toHaveTitle)
  • params.expectedValue: value that is passed into the matcher
  • params.options: assertion options
  • params.result: assertion results

Welcome! How can I help?

WebdriverIO AI Copilot