メインコンテンツにスキップ

Sauce Labs

すべてのコマンドはSauce Labs上のChromeでのみサポートされており、 拡張デバッグ 機能を使用しています。以下のようなSauceオプションを設定することで有効化できます:

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

getPageLogs

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

Sauce Labsコマンドです。詳細は公式プロトコルドキュメントで確認できます。

使用法
browser.getPageLogs(type)
パラメータ
名前詳細
typestringログタイプ (例: 'sauce:network', 'sauce:performance')
// ネットワークログを取得
console.log(browser.getPageLogs('sauce:network'));
/**
* 出力:
* [{
* "url": "https://app.saucelabs.com/dashboard",
* "statusCode": 200,
* "method": "GET",
* "requestHeaders": {
* ...
* },
* "responseHeaders": {
* ...
* },
* "timing": {
* ...
* }
* }, {,
* ...
* }]
*/
// パフォーマンスログを取得(capturePerformanceケイパビリティが必要 参照: https://docs.saucelabs.com/performance/transitions/#setting-performance-capabilities
console.log(browser.getPageLogs('sauce:performance'));
/**
* 出力:
* {
* "speedIndex": 1472.023,
* "timeToFirstInteractive": 1243.214,
* "firstMeaningfulPaint": 892.643,
* ...
* }
*/
戻り値
  • <object> log: 指定したタイプのログ出力(例を参照)

sauceThrottleNetwork

ネットワーク条件を設定することで、さまざまなネットワーク接続(Edge、3G、オフラインなど)でサイトをテストできます。データのスループット(最大ダウンロードおよびアップロードスループットを含む)を制限したり、接続の往復時間(RTT)に最小遅延を適用するための遅延操作を使用したりできます。

Sauce Labsコマンドです。詳細は公式プロトコルドキュメントで確認できます。

使用法
browser.sauceThrottleNetwork(condition)
パラメータ
名前詳細
conditionstring, object設定するネットワーク条件 (例: 'online', 'offline', 'GPRS', 'Regular 2G', 'Good 2G', 'Regular 3G', 'Good 3G', 'Regular 4G', 'DSL', 'Wifi')
// 定義済みネットワーク条件
browser.sauceThrottleNetwork('offline')
// カスタムネットワーク条件
browser.sauceThrottleNetwork({
download: 1000,
upload: 500,
latency: 40'
})

throttleCPU

DevToolsでCPUをスロットリングして、その制約下でページがどのように動作するかを理解できます。

Sauce Labsコマンドです。詳細は公式プロトコルドキュメントで確認できます。

使用法
browser.throttleCPU(rate)
パラメータ
名前詳細
ratenumberCPUをスロットリングする割合
// CPUをスロットリングして4倍遅くする
browser.throttleCPU(4)
// CPUスロットリングをリセット
browser.throttleCPU(0)

interceptRequest

ブラウザが行うリクエストを変更できます。テストに必要に応じて、これらをブラックリストに登録したり、変更したり、リダイレクトしたりできます。

Sauce Labsコマンドです。詳細は公式プロトコルドキュメントで確認できます。

使用法
browser.interceptRequest(rule)
パラメータ
名前詳細
ruleobjectリクエストのインターセプトを記述するルール
// リクエストをリダイレクト
browser.interceptRequest({
url: 'https://saucelabs.com',
redirect: 'https://google.com'
})
// サードパーティベンダーへのリクエストをブラックリストに登録
browser.interceptRequest({
url: 'https://api.segment.io/v1/p',
error: 'Failed'
})
// REST APIへのリクエストを変更(REST APIレスポンスをモック)
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)
パラメータ
名前詳細
namestringベースラインを作成したジョブの名前
metrics
省略可能
string[]ベースラインに対してアサートしたいメトリクスの名前
// ページのパフォーマンスをテスト
browser.url('https://webdriver.io')
const hasRegression = browser.assertPerformance({
name: 'my performance test', // 名前がケイパビリティのsauceオプションにも設定されていることを確認してください
metrics: ['score', 'firstPaint']
})
戻り値
  • <object> hasRegression: 結果とその結果に関するメトリクスを含むオブジェクト

jankinessCheck

アプリケーションのジャンキネス(描画のガタつき)を評価するスクロールテストを実行します。

Sauce Labsコマンドです。詳細は公式プロトコルドキュメントで確認できます。

使用法
browser.jankinessCheck()
// ページのパフォーマンスをテスト
browser.url('https://webdriver.io')
browser.jankinessCheck()
戻り値
  • <object> testResults: スコアとテスト中のページのUXのスムーズさに関するメトリクスを含むオブジェクト

mockRequest

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

Sauce Labsコマンドです。詳細は公式プロトコルドキュメントで確認できます。

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

getMockCalls

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

Sauce Labsコマンドです。詳細は公式プロトコルドキュメントで確認できます。

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

clearMockCalls

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

Sauce Labsコマンドです。詳細は公式プロトコルドキュメントで確認できます。

使用法
browser.clearMockCalls(mockId, restore)
パラメータ
名前詳細
mockIdStringモックのID
restore
省略可能
booleanモックも復元する場合はtrueに設定します

respondMock

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

Sauce Labsコマンドです。詳細は公式プロトコルドキュメントで確認できます。

使用法
browser.respondMock(mockId, payload)
パラメータ
名前詳細
mockIdStringモックのID
payload
省略可能
objectモックレスポンスに関する情報

Welcome! How can I help?

WebdriverIO AI Copilot