export default {'/session/:sessionId/sauce/ondemand/log': {POST: {command: 'getPageLogs',description:'Get webpage specific log information based on the last page load.',ref: 'https://docs.saucelabs.com/insights/debug/#network-logs',examples: [['// 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,',' * ...',' * }',' */',],],parameters: [{name: 'type',type: 'string',description:"log type (e.g. sauce:network', 'sauce:performance')",required: true,},],returns: {type: 'object',name: 'log',description: 'log output of desired type (see example)',},},},'/session/:sessionId/sauce/ondemand/throttle/network': {POST: {command: 'sauceThrottleNetwork',description:'With network conditioning you can test your site on a variety of network connections, including Edge, 3G, and even offline. You can throttle the data throughput, including the maximum download and upload throughput, and use latency manipulation to enforce a minimum delay in connection round-trip time (RTT).',ref: 'https://docs.saucelabs.com/insights/debug/#saucethrottlenetwork',examples: [['// predefined network condition',"browser.sauceThrottleNetwork('offline')",],['// custom network condition','browser.sauceThrottleNetwork({',' download: 1000,',' upload: 500,'," latency: 40'",'})',],],parameters: [{name: 'condition',type: '(string|object)',description:"network condition to set (e.g. 'online', 'offline', 'GPRS', 'Regular 2G', 'Good 2G', 'Regular 3G', 'Good 3G', 'Regular 4G', 'DSL', 'Wifi')",required: true,},],},},'/session/:sessionId/sauce/ondemand/throttle/cpu': {POST: {command: 'throttleCPU',description:'You can throttle the CPU in DevTools to understand how your page performs under that constraint.',ref: 'https://docs.saucelabs.com/insights/debug/#saucethrottlecpu',examples: [['// throttle CPU and make it run 4x slower','browser.throttleCPU(4)',],['// reset CPU throttling', 'browser.throttleCPU(0)'],],parameters: [{name: 'rate',type: 'number',description:'Rate on how much the CPU should get throttled.',required: true,},],},},'/session/:sessionId/sauce/ondemand/intercept': {POST: {command: 'interceptRequest',description:'Allows modifying any request made by the browser. You can blacklist, modify, or redirect these as required for your tests.',ref: 'https://docs.saucelabs.com/insights/debug/#intercept-network-requests',examples: [['// 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'",' }]',' }','})',],],parameters: [{name: 'rule',type: 'object',description: 'A rule describing the request interception.',required: true,},],},},'/session/:sessionId/sauce/ondemand/performance': {POST: {command: 'assertPerformance',description: 'Assert against the performance baseline of your app.',ref: 'https://docs.saucelabs.com/performance/transitions/#setting-performance-capabilities',examples: [['// 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']",'})',],],parameters: [{name: 'name',type: 'string',description:'Name of the job you created your baseline with.',required: true,},{name: 'metrics',type: 'string[]',description:'Name of metrics you want to assert agains the baseline.',required: false,},],returns: {type: 'object',name: 'hasRegression',description:'An object containing the result as well as metrics about the result.',},},},'/session/:sessionId/sauce/ondemand/performance/scroll': {POST: {command: 'jankinessCheck',description:'Perform a scroll test that evaluates the jankiness of the application.',ref: 'https://docs.saucelabs.com/performance/motion/#implementing-the-jankiness-custom-command',examples: [['// test performance for a page',"browser.url('https://webdriver.io')",'browser.jankinessCheck()',],],parameters: [],returns: {type: 'object',name: 'testResults',description:'An object containing the score as well as metrics around how smooth the UX of the page was during the test.',},},},'/session/:sessionId/sauce/ondemand/mock': {POST: {command: 'mockRequest',description: 'Mocks a network resource.',ref: 'https://docs.saucelabs.com/',parameters: [{name: 'url',type: 'string',description: 'URL glob to match url to mock.',required: true,},{name: 'filterOptions',description:'Additional filter options for url to mock (e.g. headers, method).',type: 'object',required: false,},],returns: {type: 'object',name: 'mockId',description: 'An object containing the id of a mock resource.',},},},'/session/:sessionId/sauce/ondemand/mock/:mockId': {GET: {command: 'getMockCalls',description:'Receive request information about requests that match the mocked resource.',ref: 'https://docs.saucelabs.com/',variables: [{name: 'mockId',description: 'the id of a mock',},],parameters: [],returns: {type: 'object',name: 'requests',description: 'A list of request information.',},},DELETE: {command: 'clearMockCalls',description: 'Clear list of mock calls.',ref: 'https://docs.saucelabs.com/',variables: [{name: 'mockId',description: 'the id of a mock',},],parameters: [{type: 'boolean',name: 'restore',description:'Set to true if mock should be restored as well.',required: false,},],},POST: {command: 'respondMock',description: 'Respond if mock matches a specific resource.',ref: 'https://docs.saucelabs.com/',variables: [{name: 'mockId',description: 'the id of a mock',},],parameters: [{type: 'object',name: 'payload',description: 'Information on mock response.',},],},},}