Przejdź do głównej treści

Sauce Labs

Wszystkie komendy są obsługiwane tylko na Chrome przy użyciu funkcji Sauce Labs Extended Debugging. Możesz je włączyć, ustawiając następujące opcje Sauce:

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

getPageLogs

Uzyskaj informacje z logów specyficzne dla strony internetowej na podstawie ostatniego załadowania strony.

Komenda Sauce Labs. Więcej szczegółów można znaleźć w oficjalnej dokumentacji protokołu.

Użycie
browser.getPageLogs(type)
Parametry
NazwaTypSzczegóły
typestringtyp logu (np. 'sauce:network', 'sauce:performance')
Przykłady
// 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,
* ...
* }
*/
Zwraca
  • <object> log: wynik logu żądanego typu (patrz przykład)

sauceThrottleNetwork

Dzięki kontroli sieci możesz testować swoją stronę na różnych połączeniach sieciowych, w tym Edge, 3G, a nawet w trybie offline. Możesz ograniczyć przepustowość danych, w tym maksymalną przepustowość pobierania i wysyłania, a także wykorzystać manipulację opóźnieniem, aby wymusić minimalne opóźnienie w czasie podróży połączenia (RTT).

Komenda Sauce Labs. Więcej szczegółów można znaleźć w oficjalnej dokumentacji protokołu.

Użycie
browser.sauceThrottleNetwork(condition)
Parametry
NazwaTypSzczegóły
conditionstring, objectwarunek sieciowy do ustawienia (np. 'online', 'offline', 'GPRS', 'Regular 2G', 'Good 2G', 'Regular 3G', 'Good 3G', 'Regular 4G', 'DSL', 'Wifi')
Przykłady
// predefined network condition
browser.sauceThrottleNetwork('offline')
// custom network condition
browser.sauceThrottleNetwork({
download: 1000,
upload: 500,
latency: 40'
})

throttleCPU

Możesz ograniczyć CPU w DevTools, aby zrozumieć, jak Twoja strona działa w takich warunkach.

Komenda Sauce Labs. Więcej szczegółów można znaleźć w oficjalnej dokumentacji protokołu.

Użycie
browser.throttleCPU(rate)
Parametry
NazwaTypSzczegóły
ratenumberWspółczynnik określający, jak bardzo CPU powinno być ograniczone.
Przykłady
// throttle CPU and make it run 4x slower
browser.throttleCPU(4)
// reset CPU throttling
browser.throttleCPU(0)

interceptRequest

Pozwala modyfikować dowolne żądania wykonywane przez przeglądarkę. Możesz zablokować, zmodyfikować lub przekierować te żądania zgodnie z wymaganiami testów.

Komenda Sauce Labs. Więcej szczegółów można znaleźć w oficjalnej dokumentacji protokołu.

Użycie
browser.interceptRequest(rule)
Parametry
NazwaTypSzczegóły
ruleobjectReguła opisująca przechwytywanie żądania.
Przykłady
// 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

Dokonaj porównania z bazową wydajnością Twojej aplikacji.

Komenda Sauce Labs. Więcej szczegółów można znaleźć w oficjalnej dokumentacji protokołu.

Użycie
browser.assertPerformance(name, metrics)
Parametry
NazwaTypSzczegóły
namestringNazwa zadania, dla którego utworzyłeś linię bazową.
metrics
optional
string[]Nazwy metryk, które chcesz porównać z linią bazową.
Przykład
// 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']
})
Zwraca
  • <object> hasRegression: Obiekt zawierający wynik oraz metryki dotyczące wyniku.

jankinessCheck

Wykonaj test przewijania, który ocenia płynność działania aplikacji.

Komenda Sauce Labs. Więcej szczegółów można znaleźć w oficjalnej dokumentacji protokołu.

Użycie
browser.jankinessCheck()
Przykład
// test performance for a page
browser.url('https://webdriver.io')
browser.jankinessCheck()
Zwraca
  • <object> testResults: Obiekt zawierający wynik oraz metryki dotyczące płynności UX strony podczas testu.

mockRequest

Symuluje zasób sieciowy.

Komenda Sauce Labs. Więcej szczegółów można znaleźć w oficjalnej dokumentacji protokołu.

Użycie
browser.mockRequest(url, filterOptions)
Parametry
NazwaTypSzczegóły
urlstringGlob URL do dopasowania adresu URL do symulacji.
filterOptions
optional
objectDodatkowe opcje filtrowania dla adresu URL do symulacji (np. nagłówki, metoda).
Zwraca
  • <object> mockId: Obiekt zawierający identyfikator symulowanego zasobu.

getMockCalls

Odbierz informacje o żądaniach, które pasują do symulowanego zasobu.

Komenda Sauce Labs. Więcej szczegółów można znaleźć w oficjalnej dokumentacji protokołu.

Użycie
browser.getMockCalls(mockId)
Parametry
NazwaTypSzczegóły
mockIdStringidentyfikator symulacji
Zwraca
  • <object> requests: Lista informacji o żądaniach.

clearMockCalls

Wyczyść listę wywołań symulacji.

Komenda Sauce Labs. Więcej szczegółów można znaleźć w oficjalnej dokumentacji protokołu.

Użycie
browser.clearMockCalls(mockId, restore)
Parametry
NazwaTypSzczegóły
mockIdStringidentyfikator symulacji
restore
optional
booleanUstaw na true, jeśli symulacja powinna zostać również przywrócona.

respondMock

Odpowiedz, jeśli symulacja pasuje do określonego zasobu.

Komenda Sauce Labs. Więcej szczegółów można znaleźć w oficjalnej dokumentacji protokołu.

Użycie
browser.respondMock(mockId, payload)
Parametry
NazwaTypSzczegóły
mockIdStringidentyfikator symulacji
payload
optional
objectInformacje o odpowiedzi symulacji.

Welcome! How can I help?

WebdriverIO AI Copilot