Zum Hauptinhalt springen

Sauce Labs

Alle Befehle werden nur für Chrome mit Sauce Labs Extended Debugging Funktionen unterstützt. Sie können diese aktivieren, indem Sie die folgenden Sauce-Optionen setzen:

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

getPageLogs

Erhalten Sie webseiten-spezifische Log-Informationen basierend auf dem letzten Seitenladevorgang.

Sauce Labs Befehl. Weitere Details finden Sie in der offiziellen Protokoll-Dokumentation.

Verwendung
browser.getPageLogs(type)
Parameter
NameTypDetails
typestringLog-Typ (z.B. 'sauce:network', 'sauce:performance')
Beispiele
// 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,
* ...
* }
*/
Rückgabewert
  • <object> log: Log-Ausgabe des gewünschten Typs (siehe Beispiel)

sauceThrottleNetwork

Mit Netzwerkbedingungen können Sie Ihre Website auf verschiedenen Netzwerkverbindungen testen, einschließlich Edge, 3G und sogar offline. Sie können den Datendurchsatz drosseln, einschließlich des maximalen Download- und Upload-Durchsatzes, und Latenzmanipulation verwenden, um eine Mindestverzögerung in der Verbindungs-Rundumlaufzeit (RTT) zu erzwingen.

Sauce Labs Befehl. Weitere Details finden Sie in der offiziellen Protokoll-Dokumentation.

Verwendung
browser.sauceThrottleNetwork(condition)
Parameter
NameTypDetails
conditionstring, objectNetzwerkbedingung, die eingestellt werden soll (z.B. 'online', 'offline', 'GPRS', 'Regular 2G', 'Good 2G', 'Regular 3G', 'Good 3G', 'Regular 4G', 'DSL', 'Wifi')
Beispiele
// predefined network condition
browser.sauceThrottleNetwork('offline')
// custom network condition
browser.sauceThrottleNetwork({
download: 1000,
upload: 500,
latency: 40'
})

throttleCPU

Sie können die CPU in DevTools drosseln, um zu verstehen, wie Ihre Seite unter dieser Einschränkung funktioniert.

Sauce Labs Befehl. Weitere Details finden Sie in der offiziellen Protokoll-Dokumentation.

Verwendung
browser.throttleCPU(rate)
Parameter
NameTypDetails
ratenumberRate, wie stark die CPU gedrosselt werden soll.
Beispiele
// throttle CPU and make it run 4x slower
browser.throttleCPU(4)
// reset CPU throttling
browser.throttleCPU(0)

interceptRequest

Ermöglicht die Modifikation jeder vom Browser getätigten Anfrage. Sie können diese Anfragen nach Bedarf für Ihre Tests auf die schwarze Liste setzen, modifizieren oder umleiten.

Sauce Labs Befehl. Weitere Details finden Sie in der offiziellen Protokoll-Dokumentation.

Verwendung
browser.interceptRequest(rule)
Parameter
NameTypDetails
ruleobjectEine Regel, die die Anfragenabfangung beschreibt.
Beispiele
// 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

Prüfen Sie gegen die Performance-Baseline Ihrer App.

Sauce Labs Befehl. Weitere Details finden Sie in der offiziellen Protokoll-Dokumentation.

Verwendung
browser.assertPerformance(name, metrics)
Parameter
NameTypDetails
namestringName des Jobs, mit dem Sie Ihre Baseline erstellt haben.
metrics
optional
string[]Name der Metriken, die Sie gegen die Baseline prüfen möchten.
Beispiel
// 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']
})
Rückgabewert
  • <object> hasRegression: Ein Objekt, das das Ergebnis sowie Metriken über das Ergebnis enthält.

jankinessCheck

Führen Sie einen Scrolltest durch, der die Ruckeligkeit der Anwendung auswertet.

Sauce Labs Befehl. Weitere Details finden Sie in der offiziellen Protokoll-Dokumentation.

Verwendung
browser.jankinessCheck()
Beispiel
// test performance for a page
browser.url('https://webdriver.io')
browser.jankinessCheck()
Rückgabewert
  • <object> testResults: Ein Objekt, das die Punktzahl sowie Metriken zur Geschmeidigkeit der UX der Seite während des Tests enthält.

mockRequest

Mockt eine Netzwerkressource.

Sauce Labs Befehl. Weitere Details finden Sie in der offiziellen Protokoll-Dokumentation.

Verwendung
browser.mockRequest(url, filterOptions)
Parameter
NameTypDetails
urlstringURL-Glob, um die zu mockende URL abzugleichen.
filterOptions
optional
objectZusätzliche Filteroptionen für die zu mockende URL (z.B. headers, method).
Rückgabewert
  • <object> mockId: Ein Objekt, das die ID einer Mock-Ressource enthält.

getMockCalls

Erhalten Sie Anfrageinformationen über Anfragen, die mit der gemockten Ressource übereinstimmen.

Sauce Labs Befehl. Weitere Details finden Sie in der offiziellen Protokoll-Dokumentation.

Verwendung
browser.getMockCalls(mockId)
Parameter
NameTypDetails
mockIdStringdie ID eines Mocks
Rückgabewert
  • <object> requests: Eine Liste von Anfrageinformationen.

clearMockCalls

Leeren Sie die Liste der Mock-Aufrufe.

Sauce Labs Befehl. Weitere Details finden Sie in der offiziellen Protokoll-Dokumentation.

Verwendung
browser.clearMockCalls(mockId, restore)
Parameter
NameTypDetails
mockIdStringdie ID eines Mocks
restore
optional
booleanAuf true setzen, wenn der Mock ebenfalls wiederhergestellt werden soll.

respondMock

Antworten, wenn der Mock einer bestimmten Ressource entspricht.

Sauce Labs Befehl. Weitere Details finden Sie in der offiziellen Protokoll-Dokumentation.

Verwendung
browser.respondMock(mockId, payload)
Parameter
NameTypDetails
mockIdStringdie ID eines Mocks
payload
optional
objectInformationen zur Mock-Antwort.

Welcome! How can I help?

WebdriverIO AI Copilot