Pular para o conteúdo principal

Sauce Labs

Todos os comandos são suportados apenas no Chrome usando os recursos de Extended Debugging do Sauce Labs. Você pode ativá-los definindo as seguintes opções do Sauce:

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

getPageLogs

Obtenha informações específicas do registro da página web com base no último carregamento da página.

Comando do Sauce Labs. Mais detalhes podem ser encontrados na documentação oficial do protocolo.

Uso
browser.getPageLogs(type)
Parâmetros
NomeTipoDetalhes
typestringtipo de log (por exemplo, 'sauce:network', 'sauce:performance')
Exemplos
// 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,
* ...
* }
*/
Retorna
  • <object> log: saída de log do tipo desejado (veja o exemplo)

sauceThrottleNetwork

Com o condicionamento de rede, você pode testar seu site em uma variedade de conexões de rede, incluindo Edge, 3G e até mesmo offline. Você pode limitar a taxa de transferência de dados, incluindo o throughput máximo de download e upload, e usar a manipulação de latência para impor um atraso mínimo no tempo de ida e volta da conexão (RTT).

Comando do Sauce Labs. Mais detalhes podem ser encontrados na documentação oficial do protocolo.

Uso
browser.sauceThrottleNetwork(condition)
Parâmetros
NomeTipoDetalhes
conditionstring, objectcondição de rede a ser definida (por exemplo, 'online', 'offline', 'GPRS', 'Regular 2G', 'Good 2G', 'Regular 3G', 'Good 3G', 'Regular 4G', 'DSL', 'Wifi')
Exemplos
// predefined network condition
browser.sauceThrottleNetwork('offline')
// custom network condition
browser.sauceThrottleNetwork({
download: 1000,
upload: 500,
latency: 40'
})

throttleCPU

Você pode limitar a CPU no DevTools para entender como sua página funciona sob essa restrição.

Comando do Sauce Labs. Mais detalhes podem ser encontrados na documentação oficial do protocolo.

Uso
browser.throttleCPU(rate)
Parâmetros
NomeTipoDetalhes
ratenumberTaxa de quanto a CPU deve ser limitada.
Exemplos
// throttle CPU and make it run 4x slower
browser.throttleCPU(4)
// reset CPU throttling
browser.throttleCPU(0)

interceptRequest

Permite modificar qualquer solicitação feita pelo navegador. Você pode colocar na lista negra, modificar ou redirecionar essas solicitações conforme necessário para seus testes.

Comando do Sauce Labs. Mais detalhes podem ser encontrados na documentação oficial do protocolo.

Uso
browser.interceptRequest(rule)
Parâmetros
NomeTipoDetalhes
ruleobjectUma regra descrevendo a interceptação de solicitação.
Exemplos
// 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

Faça assertivas contra a linha de base de desempenho de seu aplicativo.

Comando do Sauce Labs. Mais detalhes podem ser encontrados na documentação oficial do protocolo.

Uso
browser.assertPerformance(name, metrics)
Parâmetros
NomeTipoDetalhes
namestringNome do trabalho com o qual você criou sua linha de base.
metrics
opcional
string[]Nome das métricas que você deseja testar contra a linha de base.
Exemplo
// 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']
})
Retorna
  • <object> hasRegression: Um objeto contendo o resultado, bem como métricas sobre o resultado.

jankinessCheck

Realize um teste de rolagem que avalia a instabilidade do aplicativo.

Comando do Sauce Labs. Mais detalhes podem ser encontrados na documentação oficial do protocolo.

Uso
browser.jankinessCheck()
Exemplo
// test performance for a page
browser.url('https://webdriver.io')
browser.jankinessCheck()
Retorna
  • <object> testResults: Um objeto contendo a pontuação, bem como métricas sobre quão suave a UX da página foi durante o teste.

mockRequest

Simula um recurso de rede.

Comando do Sauce Labs. Mais detalhes podem ser encontrados na documentação oficial do protocolo.

Uso
browser.mockRequest(url, filterOptions)
Parâmetros
NomeTipoDetalhes
urlstringURL glob para corresponder à URL a ser simulada.
filterOptions
opcional
objectOpções adicionais de filtro para URL a ser simulada (por exemplo, cabeçalhos, método).
Retorna
  • <object> mockId: Um objeto contendo o ID de um recurso simulado.

getMockCalls

Receba informações de solicitação sobre solicitações que correspondem ao recurso simulado.

Comando do Sauce Labs. Mais detalhes podem ser encontrados na documentação oficial do protocolo.

Uso
browser.getMockCalls(mockId)
Parâmetros
NomeTipoDetalhes
mockIdStringo ID de uma simulação
Retorna
  • <object> requests: Uma lista de informações de solicitação.

clearMockCalls

Limpar lista de chamadas simuladas.

Comando do Sauce Labs. Mais detalhes podem ser encontrados na documentação oficial do protocolo.

Uso
browser.clearMockCalls(mockId, restore)
Parâmetros
NomeTipoDetalhes
mockIdStringo ID de uma simulação
restore
opcional
booleanDefina como verdadeiro se a simulação também deve ser restaurada.

respondMock

Responda se a simulação corresponder a um recurso específico.

Comando do Sauce Labs. Mais detalhes podem ser encontrados na documentação oficial do protocolo.

Uso
browser.respondMock(mockId, payload)
Parâmetros
NomeTipoDetalhes
mockIdStringo ID de uma simulação
payload
opcional
objectInformações sobre a resposta simulada.

Welcome! How can I help?

WebdriverIO AI Copilot