Sauce Labs
Усі команди підтримуються лише у Chrome при використанні можливостей Extended Debugging від Sauce Labs. Ви можете активувати їх, встановивши наступні опції Sauce:
{
    browserName: 'Chrome',
    browserVersion: 'latest',
    platformName: 'Windows 10',
    'sauce:options': {
        extendedDebugging: true
    }
}
getPageLogs
Отримати специфічну лог-інформацію веб-сторінки на основі останнього завантаження сторінки.
Команда Sauce Labs. Більше деталей можна знайти в офіційній документації протоколу.
Використання
browser.getPageLogs(type)
Параметри
| Назва | Тип | Деталі | 
|---|---|---|
| type | string | тип логу (наприклад, 'sauce:network', 'sauce:performance') | 
Приклади
// 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,
 *   ...
 * }
 */
Повертає
- <object>
log: вивід логу бажаного типу (див. приклад)
sauceThrottleNetwork
За допомогою управління мережею ви можете тестувати ваш сайт на різних типах з'єднань, включаючи Edge, 3G, і навіть в режимі офлайн. Ви можете обмежити пропускну здатність даних, включаючи максимальну швидкість завантаження і вивантаження, а також використовувати маніпуляції затримки для забезпечення мінімальної затримки в часі обороту з'єднання (RTT).
Команда Sauce Labs. Більше деталей можна знайти в офіційній документації протоколу.
Використання
browser.sauceThrottleNetwork(condition)
Параметри
| Назва | Тип | Деталі | 
|---|---|---|
| condition | string, object | умова мережі для встановлення (наприклад, 'online', 'offline', 'GPRS', 'Regular 2G', 'Good 2G', 'Regular 3G', 'Good 3G', 'Regular 4G', 'DSL', 'Wifi') | 
Приклади
// predefined network condition
browser.sauceThrottleNetwork('offline')
// custom network condition
browser.sauceThrottleNetwork({
  download: 1000,
  upload: 500,
  latency: 40'
})
throttleCPU
Ви можете обмежити CPU в DevTools, щоб зрозуміти, як ваша сторінка працює в цих обмеженнях.
Команда Sauce Labs. Більше деталей можна знайти в офіційній документації протоколу.
Використання
browser.throttleCPU(rate)
Параметри
| Назва | Тип | Деталі | 
|---|---|---|
| rate | number | Ставка, наскільки CPU повинен бути обмежений. | 
Приклади
// throttle CPU and make it run 4x slower
browser.throttleCPU(4)
// reset CPU throttling
browser.throttleCPU(0)
interceptRequest
Дозволяє модифікувати будь-який запит, зроблений браузером. Ви можете блокувати, змінювати або перенаправляти їх, як потрібно для ваших тестів.
Команда Sauce Labs. Більше деталей можна знайти в офіційній документації протоколу.
Використання
browser.interceptRequest(rule)
Параметри
| Назва | Тип | Деталі | 
|---|---|---|
| rule | object | Правило, яке описує перехоплення запиту. | 
Приклади
// 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
Перевірити продуктивність вашого додатка порівняно з базовим рівнем.
Команда Sauce Labs. Більше деталей можна знайти в офіційній документації протоколу.
Використання
browser.assertPerformance(name, metrics)