Saltar al contenido principal

Sauce Labs

Todos los comandos solo son compatibles con Chrome usando las capacidades de Depuración Extendida de Sauce Labs. Puedes habilitarlas configurando las siguientes opciones de Sauce:

{
browserName: 'Chrome',
browserVersion: 'latest',
platformName: 'Windows 10',
'sauce:options': {
extendedDebugging: true
}
}

getPageLogs

Obtén información específica de registro de la página web basada en la última carga de página.

Comando de Sauce Labs. Más detalles se pueden encontrar en la documentación oficial del protocolo.

Uso
browser.getPageLogs(type)
Parámetros
NombreTipoDetalles
typestringtipo de registro (por ejemplo, 'sauce:network', 'sauce:performance')
Ejemplos
// Get Network Logs
console.log(browser.getPageLogs('sauce:network'));
/**
* outputs:
* [{
* "url": "https://app.saucelabs.com/dashboard",
* "statusCode": 200,
* "method": "GET",
* "requestHeaders": {
* ...
* },
* "responseHeaders": {
* ...
* },
* "timing": {
* ...
* }
* }, {,
* ...
* }]
*/
// Get Performance Logs (needs capturePerformance capability see: https://docs.saucelabs.com/performance/transitions/#setting-performance-capabilities
console.log(browser.getPageLogs('sauce:performance'));
/**
* outputs:
* {
* "speedIndex": 1472.023,
* "timeToFirstInteractive": 1243.214,
* "firstMeaningfulPaint": 892.643,
* ...
* }
*/
Devuelve
  • <object> log: salida de registro del tipo deseado (ver ejemplo)

sauceThrottleNetwork

Con el acondicionamiento de red puedes probar tu sitio en una variedad de conexiones de red, incluyendo Edge, 3G, e incluso sin conexión. Puedes limitar el rendimiento de datos, incluyendo la velocidad máxima de descarga y carga, y usar la manipulación de latencia para forzar un retraso mínimo en el tiempo de ida y vuelta de la conexión (RTT).

Comando de Sauce Labs. Más detalles se pueden encontrar en la documentación oficial del protocolo.

Uso
browser.sauceThrottleNetwork(condition)
Parámetros
NombreTipoDetalles
conditionstring, objectcondición de red a establecer (por ejemplo, 'online', 'offline', 'GPRS', 'Regular 2G', 'Good 2G', 'Regular 3G', 'Good 3G', 'Regular 4G', 'DSL', 'Wifi')
Ejemplos
// predefined network condition
browser.sauceThrottleNetwork('offline')
// custom network condition
browser.sauceThrottleNetwork({
download: 1000,
upload: 500,
latency: 40'
})

throttleCPU

Puedes limitar la CPU en DevTools para entender cómo se comporta tu página bajo esa restricción.

Comando de Sauce Labs. Más detalles se pueden encontrar en la documentación oficial del protocolo.

Uso
browser.throttleCPU(rate)
Parámetros
NombreTipoDetalles
ratenumberTasa sobre cuánto debe limitarse la CPU.
Ejemplos
// throttle CPU and make it run 4x slower
browser.throttleCPU(4)
// reset CPU throttling
browser.throttleCPU(0)

interceptRequest

Permite modificar cualquier solicitud realizada por el navegador. Puedes poner en lista negra, modificar o redirigir estas según sea necesario para tus pruebas.

Comando de Sauce Labs. Más detalles se pueden encontrar en la documentación oficial del protocolo.

Uso
browser.interceptRequest(rule)
Parámetros
NombreTipoDetalles
ruleobjectUna regla que describe la interceptación de solicitud.
Ejemplos
// redirect a request
browser.interceptRequest({
url: 'https://saucelabs.com',
redirect: 'https://google.com'
})
// Blacklist requests to 3rd party vendors
browser.interceptRequest({
url: 'https://api.segment.io/v1/p',
error: 'Failed'
})
// Modify requests to REST API (Mock REST API response)
browser.interceptRequest({
url: 'http://sampleapp.appspot.com/api/todos',
response: {
headers: {
'x-custom-headers': 'foobar'
},
body: [{
title: 'My custom todo',
order: 1,
completed: false,
url: 'http://todo-backend-express.herokuapp.com/15727'
}]
}
})

assertPerformance

Afirma contra la línea base de rendimiento de tu aplicación.

Comando de Sauce Labs. Más detalles se pueden encontrar en la documentación oficial del protocolo.

Uso
browser.assertPerformance(name, metrics)
Parámetros
NombreTipoDetalles
namestringNombre del trabajo con el que creaste tu línea base.
metrics
opcional
string[]Nombre de las métricas contra las que quieres afirmar la línea base.
Ejemplo
// test performance for a page
browser.url('https://webdriver.io')
const hasRegression = browser.assertPerformance({
name: 'my performance test', // make sure that the name is also set in the sauce options in your capabilities
metrics: ['score', 'firstPaint']
})
Devuelve
  • <object> hasRegression: Un objeto que contiene el resultado así como métricas sobre el resultado.

jankinessCheck

Realiza una prueba de desplazamiento que evalúa la inestabilidad de la aplicación.

Comando de Sauce Labs. Más detalles se pueden encontrar en la documentación oficial del protocolo.

Uso
browser.jankinessCheck()
Ejemplo
// test performance for a page
browser.url('https://webdriver.io')
browser.jankinessCheck()
Devuelve
  • <object> testResults: Un objeto que contiene la puntuación así como métricas sobre cuán fluida fue la experiencia de usuario de la página durante la prueba.

mockRequest

Simula un recurso de red.

Comando de Sauce Labs. Más detalles se pueden encontrar en la documentación oficial del protocolo.

Uso
browser.mockRequest(url, filterOptions)
Parámetros
NombreTipoDetalles
urlstringPatrón URL para coincidir con la URL a simular.
filterOptions
opcional
objectOpciones de filtro adicionales para la URL a simular (por ejemplo, encabezados, método).
Devuelve
  • <object> mockId: Un objeto que contiene el ID de un recurso simulado.

getMockCalls

Recibe información de solicitud sobre solicitudes que coinciden con el recurso simulado.

Comando de Sauce Labs. Más detalles se pueden encontrar en la documentación oficial del protocolo.

Uso
browser.getMockCalls(mockId)
Parámetros
NombreTipoDetalles
mockIdStringel ID de una simulación
Devuelve
  • <object> requests: Una lista de información de solicitudes.

clearMockCalls

Limpia la lista de llamadas simuladas.

Comando de Sauce Labs. Más detalles se pueden encontrar en la documentación oficial del protocolo.

Uso
browser.clearMockCalls(mockId, restore)
Parámetros
NombreTipoDetalles
mockIdStringel ID de una simulación
restore
opcional
booleanEstablecer en true si la simulación también debe ser restaurada.

respondMock

Responde si la simulación coincide con un recurso específico.

Comando de Sauce Labs. Más detalles se pueden encontrar en la documentación oficial del protocolo.

Uso
browser.respondMock(mockId, payload)
Parámetros
NombreTipoDetalles
mockIdStringel ID de una simulación
payload
opcional
objectInformación sobre la respuesta simulada.

Welcome! How can I help?

WebdriverIO AI Copilot