Saltar al contenido principal

Servicio LambdaTest

wdio-lambdatest-service es un paquete de terceros, para más información consulte GitHub | npm

WDIO health check

Un servicio de WebdriverIO que gestiona el túnel y los metadatos de trabajos para usuarios de LambdaTest.

Instalación

npm i wdio-lambdatest-service --save-dev

Las instrucciones sobre cómo instalar WebdriverIO se pueden encontrar aquí.

Configuración

WebdriverIO tiene soporte para LambdaTest incorporado. Simplemente debes establecer user y key en tu archivo wdio.conf.js. Para habilitar la función para automatización de aplicaciones, establece product: 'appAutomation' en tu archivo wdio.conf.js. Este plugin de servicio proporciona soporte para LambdaTest Tunnel. Establece también tunnel: true para activar esta característica.

// wdio.conf.js
exports.config = {
// ...
user: process.env.LT_USERNAME,
key: process.env.LT_ACCESS_KEY,
logFile : './logDir/api.log',
product : 'appAutomation',
services: [
['lambdatest', {
tunnel: true
}]
],
// ...
};

Para obtener observaciones de errores de prueba en el panel de automatización

Para obtener observaciones de errores de prueba en el panel de automatización, simplemente añade ltErrorRemark: true en tu wdio.conf.js.

Para cargar aplicaciones desde local o URL

Sube aplicaciones android o ios desde local o desde URL de aplicación alojada agregando esta configuración requerida en tu wdio.conf.js. Para usar la aplicación cargada para pruebas en la misma ejecución, establece enableCapability = true, esto establecerá el valor de la URL de la aplicación en las capacidades.

// wdio.conf.js
services: [
[
"lambdatest",
{
tunnel: true,
app_upload: true,
app:{
app_name : "xyz", //proporciona el nombre deseado para tu aplicación
app_path : "/path/to/your/app/file", //proporciona la ubicación local de la aplicación
// o
app_url : "https://example.test_android.apk", //proporciona la URL donde está alojada o almacenada tu aplicación
custom_id : "12345", //proporciona tu ID personalizado deseado
enableCapability : true
}
}
]
]

Opciones

Para autorizarse en el servicio LambdaTest, tu configuración debe contener las opciones user y key.

tunnel

Establece esto como true para habilitar el enrutamiento de conexiones desde la nube de LambdaTest a través de tu computadora. También necesitarás establecer tunnel como true en las capacidades del navegador.

Tipo: Boolean
Predeterminado: false

lambdatestOpts

Las opciones específicas especificadas se transmitirán a LambdaTest Tunnel.

Tipo: Object
Predeterminado: {}

A continuación se muestra una lista completa de todas las opciones disponibles:

tunnelName

Especifica el nombre personalizado del túnel LambdaTest que se utilizará.

Ejemplo:

{"tunnelName": "my_custom_tunnel"}

port

Puerto para activar LambdaTest Tunnel.

Ejemplo:

{"port": 33000}

user

Nombre de usuario de LambdaTest.

Ejemplo:

{"user": "your_username"}

key

Clave de acceso de LambdaTest.

Ejemplo:

{"key": "your_access_key"}

verbose

¿Debe registrarse cada solicitud de proxy en stdout?

Ejemplo:

{"verbose": true}

logFile

Ubicación del archivo de registro de LambdaTest Tunnel.

Ejemplo:

{"logFile": "/path/to/log/file"}

config

Ruta del archivo de configuración a utilizar. Ejemplo:

{"config": "/path/to/config/file"}

dir

Especifica el directorio local que será servido por un servidor de archivos en el puerto del túnel.

Ejemplo:

{"dir": "/path/to/local/directory"}

proxyHost

Especifica el nombre de host del puerto proxy del túnel.

Ejemplo:

{"proxyHost": "proxy.example.com"}

proxyUser

Especifica el nombre de usuario del puerto proxy del túnel.

Ejemplo:

{"proxyUser": "your_proxy_username"}

proxyPass

Especifica la contraseña del puerto proxy del túnel.

Ejemplo:

{"proxyPass": "your_proxy_password"}

proxyPort

Especifica el número de puerto donde se activará el proxy del túnel.

Ejemplo:

{"proxyPort": 8080}

egressOnly

Usa la configuración de proxy solo para solicitudes salientes.

Ejemplo:

{"egressOnly": true}

ingressOnly

Enruta solo el tráfico entrante a través del proxy especificado.

Ejemplo:

{"ingressOnly": true}

pacfile

Para usar PAC (Proxy Auto-Configuration) en pruebas locales, proporciona la ruta de un archivo PAC.

Ejemplo:

{"pacfile": "/path/to/pacfile"}

loadBalanced

Activa el Balanceo de Carga para LambdaTest Tunnel.

Ejemplo:

{"loadBalanced": true}

mode

Especifica en qué modo debe ejecutarse el túnel "ssh" o "ws". (predeterminado "ssh").

Ejemplo:

{"mode": "ssh"}

sshConnType

Especifica el tipo de conexión ssh (over_22, over_443, over_ws). Para usar –sshConnType, especifica primero la bandera ––mode ssh.

Ejemplo:

{"sshConnType": "over_22"}

maxSSHConnections

Aumenta la conexión SSH desde el Cliente del Túnel al Servidor del Túnel. El valor máximo permitido es 30.

Ejemplo:

{"maxSSHConnections": 2}

sharedTunnel

Compartir túnel entre miembros del equipo.

Ejemplo:

{"sharedTunnel": true}

env

El entorno en el que se ejecutará LambdaTest Tunnel.

Ejemplo:

{"env": "production"}

infoAPIPort

Expone Tunnel Info API en el puerto especificado.

Ejemplo:

{"infoAPIPort": 8080}

callbackURL

URL de devolución de llamada para el estado del túnel.

Ejemplo:

{"callbackURL": "https://example.com/callback"}

allowHosts

Lista separada por comas de hosts para enrutar a través del túnel. Todo lo demás se enrutará a través de Internet.

Ejemplo:

{"allowHosts": "example.com,anotherexample.com"}

bypassHosts

Lista separada por comas de hosts para omitir del túnel. Estos se enrutarán a través de Internet.

Ejemplo:

{"bypassHosts": "example.com,anotherexample.com"}

clientCert

Ruta del archivo del Certificado de Cliente mTLS.

Ejemplo:

{"clientCert": "/path/to/client_certificate"}

clientKey

Ruta del archivo de la Clave de Cliente mTLS.

Ejemplo:

{"clientKey": "/path/to/client_key"}

mTLSHosts

Lista separada por comas de hosts mTLS.

Ejemplo:

{"mTLSHosts": "example.com,anotherexample.com"}

dns

Lista separada por comas de Servidores DNS.

Ejemplo:

{"dns": "8.8.8.8,8.8.4.4"}

mitm

Habilitar el modo MITM (Man-in-the-middle) para LambdaTest Tunnel.

Ejemplo:

{"mitm": true}

ntlm

Para utilizar la autenticación Microsoft NTLM (Windows NT LAN Manager) para fines de comunicación o transporte.

Ejemplo:

{"ntlm": true}

pidfile

Ruta del archivo pid, donde se escribirá el ID del proceso.

Ejemplo:

{"pidfile": "/path/to/pidfile"}

usePrivateIp

Establece la dirección remota a una IP interna de la máquina cliente.

Ejemplo:

{"usePrivateIp": true}

Puedes encontrar más información sobre estas opciones aquí.

preferScenarioName

Solo para Cucumber. Establece el nombre de la sesión al nombre del Escenario si solo se ejecutó un único Escenario. Útil cuando se ejecuta en paralelo con wdio-cucumber-parallel-execution.

Tipo: Boolean
Predeterminado: false

sessionNameFormat

Personaliza el formato del nombre de la sesión.

Tipo: Function
Predeterminado (Cucumber/Jasmine): (config, capabilities, suiteTitle) => suiteTitle
Predeterminado (Mocha): (config, capabilities, suiteTitle, testTitle) => suiteTitle + ' - ' + testTitle

sessionNameOmitTestTitle

Solo para Mocha. No añade el título de la prueba al nombre de la sesión.

Tipo: Boolean
Predeterminado: false

sessionNamePrependTopLevelSuiteTitle

Solo para Mocha. Antepone el título del suite de nivel superior al nombre de la sesión.

Tipo: Boolean
Predeterminado: false

setSessionName

Establece automáticamente el nombre de la sesión.

Tipo: Boolean
Predeterminado: true

setSessionStatus

Establece automáticamente el estado de la sesión (aprobado/fallido).

Tipo: Boolean
Predeterminado: true

ignoreTestCountInName

Ignora el recuento de reintentos de una prueba en el nombre

Tipo: Boolean
Predeterminado: false

useScenarioName

Para obtener nombres de pruebas como nombres de escenarios para pruebas específicas de cucumber, simplemente añade useScenarioName: true en tu wdio.conf.js.

Pasos para compilar y publicar

  1. git clone este repositorio.
  2. ejecuta "npm install"
  3. ejecuta "npm run build"
  4. Pasos para publicar: ejecuta "npm login"
  5. ejecuta "npm publish --access public"

Para más información sobre WebdriverIO, consulta la página principal.

Welcome! How can I help?

WebdriverIO AI Copilot