Sauce Labs
Alla kommandon stöds endast på Chrome när man använder Sauce Labs Extended Debugging -funktioner. Du kan aktivera dessa genom att ställa in följande Sauce-alternativ:
{
browserName: 'Chrome',
browserVersion: 'latest',
platformName: 'Windows 10',
'sauce:options': {
extendedDebugging: true
}
}
getPageLogs
Hämta webbsidesspecifik logginformation baserad på den senaste sidladdningen.
Sauce Labs-kommando. Mer information finns i de officiella protokolldokumenten.
Användning
browser.getPageLogs(type)
Parametrar
Namn | Typ | Detaljer |
---|---|---|
type | string | loggtyp (t.ex. 'sauce:network', 'sauce:performance') |
Exempel
// 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,
* ...
* }
*/
Returnerar
- <object>
log
: loggutdata av önskad typ (se exempel)
sauceThrottleNetwork
Med nätverkskonditionering kan du testa din webbplats på olika nätverksanslutningar, inklusive Edge, 3G och till och med offline. Du kan begränsa datagenomströmningen, inklusive maximal ned- och uppladdningshastighet, och använda latensmanipulation för att framtvinga en minsta fördröjning i anslutningens rundturstid (RTT).
Sauce Labs-kommando. Mer information finns i de officiella protokolldokumenten.
Användning
browser.sauceThrottleNetwork(condition)
Parametrar
Namn | Typ | Detaljer |
---|---|---|
condition | string, object | nätverksförhållande att ställa in (t.ex. 'online', 'offline', 'GPRS', 'Regular 2G', 'Good 2G', 'Regular 3G', 'Good 3G', 'Regular 4G', 'DSL', 'Wifi') |
Exempel
// predefined network condition
browser.sauceThrottleNetwork('offline')
// custom network condition
browser.sauceThrottleNetwork({
download: 1000,
upload: 500,
latency: 40'
})
throttleCPU
Du kan begränsa CPU:n i DevTools för att förstå hur din sida presterar under den begränsningen.
Sauce Labs-kommando. Mer information finns i de officiella protokolldokumenten.
Användning
browser.throttleCPU(rate)
Parametrar
Namn | Typ | Detaljer |
---|---|---|
rate | number | Värde för hur mycket CPU:n ska begränsas. |
Exempel
// throttle CPU and make it run 4x slower
browser.throttleCPU(4)
// reset CPU throttling
browser.throttleCPU(0)
interceptRequest
Tillåter modifiering av alla förfrågningar som görs av webbläsaren. Du kan svartlista, ändra eller omdirigera dessa enligt vad som krävs för dina tester.
Sauce Labs-kommando. Mer information finns i de officiella protokolldokumenten.
Användning
browser.interceptRequest(rule)
Parametrar
Namn | Typ | Detaljer |
---|---|---|
rule | object | En regel som beskriver förfrågningsavlyssningen. |
Exempel
// 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
Utvärdera mot prestandabaslinje för din app.
Sauce Labs-kommando. Mer information finns i de officiella protokolldokumenten.
Användning
browser.assertPerformance(name, metrics)
Parametrar
Namn | Typ | Detaljer |
---|---|---|
name | string | Namnet på jobbet du skapade din baslinje med. |
metrics valfri | string[] | Namn på mätvärden du vill utvärdera mot baslinjen. |
Exempel
// 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']
})
Returnerar
- <object>
hasRegression
: Ett objekt som innehåller resultatet samt mätvärden om resultatet.
jankinessCheck
Utför ett rullningstest som utvärderar ryckigheten i applikationen.
Sauce Labs-kommando. Mer information finns i de officiella protokolldokumenten.
Användning
browser.jankinessCheck()
Exempel
// test performance for a page
browser.url('https://webdriver.io')
browser.jankinessCheck()
Returnerar
- <object>
testResults
: Ett objekt som innehåller poängen samt mätvärden kring hur smidigt användargränssnittet på sidan var under testet.
mockRequest
Simulerar en nätverksresurs.
Sauce Labs-kommando. Mer information finns i de officiella protokolldokumenten.
Användning
browser.mockRequest(url, filterOptions)
Parametrar
Namn | Typ | Detaljer |
---|---|---|
url | string | URL-mönster som matchar URL att simulera. |
filterOptions valfri | object | Ytterligare filteralternativ för URL att simulera (t.ex. headers, method). |
Returnerar
- <object>
mockId
: Ett objekt som innehåller ID för en simulerad resurs.
getMockCalls
Ta emot förfrågningsinformation om förfrågningar som matchar den simulerade resursen.
Sauce Labs-kommando. Mer information finns i de officiella protokolldokumenten.
Användning
browser.getMockCalls(mockId)
Parametrar
Namn | Typ | Detaljer |
---|---|---|
mockId | String | ID för en simulering |
Returnerar
- <object>
requests
: En lista med förfrågningsinformation.
clearMockCalls
Rensa listan över simulerade anrop.
Sauce Labs-kommando. Mer information finns i de officiella protokolldokumenten.
Användning
browser.clearMockCalls(mockId, restore)
Parametrar
Namn | Typ | Detaljer |
---|---|---|
mockId | String | ID för en simulering |
restore valfri | boolean | Ange till true om simuleringen också ska återställas. |
respondMock
Svara om simuleringen matchar en specifik resurs.
Sauce Labs-kommando. Mer information finns i de officiella protokolldokumenten.
Användning
browser.respondMock(mockId, payload)
Parametrar
Namn | Typ | Detaljer |
---|---|---|
mockId | String | ID för en simulering |
payload valfri | object | Information om simulerat svar. |