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