Vai al contenuto principale

Sauce Labs

Tutti i comandi sono supportati solo su Chrome utilizzando le funzionalità Extended Debugging di Sauce Labs. Puoi abilitarle impostando le seguenti opzioni Sauce:

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

getPageLogs

Ottieni informazioni di log specifiche della pagina web basate sull'ultimo caricamento della pagina.

Comando di Sauce Labs. Maggiori dettagli possono essere trovati nella documentazione ufficiale del protocollo.

Utilizzo
browser.getPageLogs(type)
Parametri
NomeTipoDettagli
typestringtipo di log (ad es. 'sauce:network', 'sauce:performance')
Esempi
// 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,
* ...
* }
*/
Restituisce
  • <object> log: output del log del tipo desiderato (vedi esempio)

sauceThrottleNetwork

Con il condizionamento della rete puoi testare il tuo sito su una varietà di connessioni di rete, inclusi Edge, 3G e persino offline. Puoi limitare la velocità di trasmissione dati, inclusa la velocità massima di download e upload, e utilizzare la manipolazione della latenza per imporre un ritardo minimo nel tempo di andata e ritorno della connessione (RTT).

Comando di Sauce Labs. Maggiori dettagli possono essere trovati nella documentazione ufficiale del protocollo.

Utilizzo
browser.sauceThrottleNetwork(condition)
Parametri
NomeTipoDettagli
conditionstring, objectcondizione di rete da impostare (ad es. 'online', 'offline', 'GPRS', 'Regular 2G', 'Good 2G', 'Regular 3G', 'Good 3G', 'Regular 4G', 'DSL', 'Wifi')
Esempi
// predefined network condition
browser.sauceThrottleNetwork('offline')
// custom network condition
browser.sauceThrottleNetwork({
download: 1000,
upload: 500,
latency: 40'
})

throttleCPU

Puoi limitare la CPU in DevTools per capire come si comporta la tua pagina con questo vincolo.

Comando di Sauce Labs. Maggiori dettagli possono essere trovati nella documentazione ufficiale del protocollo.

Utilizzo
browser.throttleCPU(rate)
Parametri
NomeTipoDettagli
ratenumberTasso di quanto la CPU dovrebbe essere limitata.
Esempi
// throttle CPU and make it run 4x slower
browser.throttleCPU(4)
// reset CPU throttling
browser.throttleCPU(0)

interceptRequest

Consente di modificare qualsiasi richiesta effettuata dal browser. Puoi mettere in blacklist, modificare o reindirizzare queste richieste secondo le necessità dei tuoi test.

Comando di Sauce Labs. Maggiori dettagli possono essere trovati nella documentazione ufficiale del protocollo.

Utilizzo
browser.interceptRequest(rule)
Parametri
NomeTipoDettagli
ruleobjectUna regola che descrive l'intercettazione della richiesta.
Esempi
// 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

Verifica le prestazioni rispetto alla baseline della tua app.

Comando di Sauce Labs. Maggiori dettagli possono essere trovati nella documentazione ufficiale del protocollo.

Utilizzo
browser.assertPerformance(name, metrics)
Parametri
NomeTipoDettagli
namestringNome del job con cui hai creato la tua baseline.
metrics
optional
string[]Nome delle metriche che vuoi verificare rispetto alla baseline.
Esempio
// 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']
})
Restituisce
  • <object> hasRegression: Un oggetto contenente il risultato e le metriche relative al risultato.

jankinessCheck

Esegue un test di scorrimento che valuta la fluidità dell'applicazione.

Comando di Sauce Labs. Maggiori dettagli possono essere trovati nella documentazione ufficiale del protocollo.

Utilizzo
browser.jankinessCheck()
Esempio
// test performance for a page
browser.url('https://webdriver.io')
browser.jankinessCheck()
Restituisce
  • <object> testResults: Un oggetto contenente il punteggio e le metriche relative alla fluidità dell'UX della pagina durante il test.

mockRequest

Simula una risorsa di rete.

Comando di Sauce Labs. Maggiori dettagli possono essere trovati nella documentazione ufficiale del protocollo.

Utilizzo
browser.mockRequest(url, filterOptions)
Parametri
NomeTipoDettagli
urlstringURL glob da abbinare all'URL da simulare.
filterOptions
optional
objectOpzioni di filtro aggiuntive per l'URL da simulare (ad es. headers, method).
Restituisce
  • <object> mockId: Un oggetto contenente l'ID di una risorsa simulata.

getMockCalls

Ricevi informazioni sulle richieste che corrispondono alla risorsa simulata.

Comando di Sauce Labs. Maggiori dettagli possono essere trovati nella documentazione ufficiale del protocollo.

Utilizzo
browser.getMockCalls(mockId)
Parametri
NomeTipoDettagli
mockIdStringl'ID di una simulazione
Restituisce
  • <object> requests: Un elenco di informazioni sulle richieste.

clearMockCalls

Cancella l'elenco delle chiamate simulate.

Comando di Sauce Labs. Maggiori dettagli possono essere trovati nella documentazione ufficiale del protocollo.

Utilizzo
browser.clearMockCalls(mockId, restore)
Parametri
NomeTipoDettagli
mockIdStringl'ID di una simulazione
restore
optional
booleanImposta su true se la simulazione deve essere ripristinata.

respondMock

Risponde se la simulazione corrisponde a una risorsa specifica.

Comando di Sauce Labs. Maggiori dettagli possono essere trovati nella documentazione ufficiale del protocollo.

Utilizzo
browser.respondMock(mockId, payload)
Parametri
NomeTipoDettagli
mockIdStringl'ID di una simulazione
payload
optional
objectInformazioni sulla risposta simulata.

Welcome! How can I help?

WebdriverIO AI Copilot