本文へ移動

Sauce Labs

すべてのコマンドは、Sauce Labsの拡張デバッグ機能を使用したChromeでのみサポートされています。以下のSauceオプションを設定して有効にできます。

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

getPageLogs

最後のページ読み込みに基づいて、ウェブページ固有のログ情報を取得します。

Sauce Labsコマンド。詳細は公式プロトコルドキュメントを参照してください。

使用方法
browser.getPageLogs(type)
パラメータ
名前詳細
type文字列ログタイプ(例: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://wiki.saucelabs.com/display/DOCS/Measure+Page+Load+Performance+Using+Test+Automation#MeasurePageLoadPerformanceUsingTestAutomation-EnableYourScript)
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文字列、オブジェクト設定するネットワーク状態(例:'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

DevToolsでCPUを調整して、その制約下でのページのパフォーマンスを理解できます。

Sauce Labsコマンド。詳細は公式プロトコルドキュメントを参照してください。

使用方法
browser.throttleCPU(rate)
パラメータ
名前詳細
rate数値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オブジェクト要求のインターセプトを記述するルール。
// 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)
パラメータ
名前詳細
name文字列ベースラインを作成したジョブの名前。
metrics
オプション
string[]ベースラインに対してアサートするメトリクスの名前。
// test performance for a page
browser.url('https://webdriverio.dokyumento.jp')
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']
})
戻り値
  • <object> hasRegression: 結果と結果に関するメトリクスを含むオブジェクト。

jankinessCheck

アプリケーションのぎこちなさを評価するスクロールテストを実行します。

Sauce Labsコマンド。詳細は公式プロトコルドキュメントを参照してください。

使用方法
browser.jankinessCheck()
// test performance for a page
browser.url('https://webdriverio.dokyumento.jp')
browser.jankinessCheck()
戻り値
  • <object> testResults: スコアと、テスト中のページのUXの滑らかさに関するメトリクスを含むオブジェクト。

mockRequest

ネットワークリソースをモックします。

Sauce Labsコマンド。詳細は公式プロトコルドキュメントを参照してください。

使用方法
browser.mockRequest(url, filterOptions)
パラメータ
名前詳細
url文字列モックするURLに一致するURLグロブ。
filterOptions
オプション
オブジェクトモックするURLの追加のフィルタオプション(例:ヘッダー、メソッド)。
戻り値
  • <object> mockId: モックリソースのIDを含むオブジェクト。

getMockCalls

モックリソースと一致するリクエストに関するリクエスト情報を受け取ります。

Sauce Labsコマンド。詳細は公式プロトコルドキュメントを参照してください。

使用方法
browser.getMockCalls(mockId)
パラメータ
名前詳細
mockId文字列モックのID
戻り値
  • <object> requests: リクエスト情報のリスト。

clearMockCalls

モック呼び出しのリストをクリアします。

Sauce Labsコマンド。詳細は公式プロトコルドキュメントを参照してください。

使用方法
browser.clearMockCalls(mockId, restore)
パラメータ
名前詳細
mockId文字列モックのID
restore
オプション
ブール値モックも復元する場合はtrueに設定します。

respondMock

モックが特定のリソースと一致する場合は応答します。

Sauce Labsコマンド。詳細は公式プロトコルドキュメントを参照してください。

使用方法
browser.respondMock(mockId, payload)
パラメータ
名前詳細
mockId文字列モックのID
payload
オプション
オブジェクトモックレスポンスの情報。

ようこそ!お手伝いできることはありますか?

WebdriverIO AI Copilot