Sauce Labsは、WindowsやmacOSの仮想マシン上のブラウザと、スマートフォンの実機をクラウドで貸し出し、Webサイトやアプリのテストを流せるサービスです。Playwright・Cypress・Espresso・XCUITestなどのテストは、公式CLIのsaucectlから実行します。製品の切り分け、既存のPlaywrightテストをsaucectlで流す設定、日本語のテスト名が拒否されるといった公式の制限、社内環境を検証するSauce Connect 5とGitHub Actionsの組み込み、2026年11月2日時点の料金が、この記事で順に扱う内容です。最後に、同じ用途のBrowserStackとどちらを選ぶかの条件を示します。
まとめ:Sauce Labsを選ぶ案件とBrowserStackや自前実行で足りる案件
Sauce Labsが向くのは、WindowsとmacOSのブラウザで回帰テストを毎日流し、テストに関わる人数が多いチームです。料金ページではどのプランも「ユーザー数無制限」で、人数ではなく同時セッション数で費用が決まります。
iPhoneの実機SafariでPlaywrightのテストを流したい場合は話が変わります。Sauce LabsのPlaywright対応表に並ぶのはWindowsとmacOSだけで、実機はAppiumやXCUITestの領域です。この用途ならBrowserStackを、利用者が社内のChromeとEdgeだけならPlaywright単体のCI実行を選びます。
Sauce Labsの製品構成とPlaywrightで検証できるOS・ブラウザの範囲
Sauce Labsの契約は、手動テスト用、仮想環境用、実機用、アプリ配布用のプランに分かれています。何を検証するかで買うプランが変わるため、先に範囲を確かめます。
Virtual Device Cloudと実機クラウドで分かれる検証対象と用途
Webの開発で比較に上がるのは次の3プランです。
| プラン | 検証対象 | テストの形 |
|---|---|---|
| Live Testing | ブラウザ・実機・エミュレーター | 手動のみ |
| Virtual Device Cloud | ブラウザ・エミュレーター・シミュレーター | 自動と手動 |
| Real Device Cloud | スマートフォンとタブレットの実機 | 自動と手動 |
Playwrightで書いたWebの回帰テストを流すならVirtual Device Cloudです。Real Device Cloudは、AppiumやEspresso、XCUITestでネイティブアプリを検証する人を対象にしたプランです。両プランともビジュアルテストが月500スナップショット含まれるため、見た目の差分検出だけなら別のツールを買わずに済みます。差分の判定をAIの専用製品に任せる選択肢はApplitoolsとは?Playwrightへの組み込み手順と料金で比べています。差分検出を自前で組む方法はVRT(ビジュアルリグレッションテスト)の仕組みとPlaywright実装で解説しています。
Playwright対応表に並ぶWindows・macOSと実機が含まれない点
Sauce LabsのPlaywright対応表の最上段は、2026年11月2日時点でPlaywright 1.62.1です。Node.jsは24、OSはWindows 10・11とmacOS 14・15・26で、ブラウザはChromium 151、ブランド版のChrome、Firefox 153、WebKit 26.5が並びます。macOS 14以降は対応したサブスクリプションが必要と注記されています。
iOSとAndroidは、この表に1行もありません。Playwrightの公式ドキュメントが書くとおり、PlaywrightのWebKitはAppleのブランド版Safariとは別物です。macOSのWebKitで通っても、iPhoneのSafariでの動作は保証されません。Sauce LabsでPlaywrightを使う価値は、手元に無いWindowsとmacOSの組み合わせを並列で回せる点にあります。
saucectlでPlaywrightのテストをSauce Labsのクラウドへ流す手順
ここからは、Playwrightのテストが手元で動いている前提で進めます。Playwright自体の仕組みはPlaywrightの仕組みとSeleniumとの違いを参照してください。
saucectlのインストールと認証情報の環境変数を設定する作業
saucectlの公式ドキュメントによると、npmで入れる場合の前提はNode.js 16以上とnpm 8以上です。npm registryの記録では、2026年11月2日時点の最新版は10月28日公開の0.216.4で、ライセンスはApache-2.0です。ソースはGitHubのsaucelabs/saucectlで公開されています。
# 認証情報を環境変数に入れる(macOS・Linux)
export SAUCE_USERNAME="YOUR_USERNAME"
export SAUCE_ACCESS_KEY="YOUR_ACCESS_KEY"
# saucectlを入れる(Homebrewなら brew tap saucelabs/saucectl のあと brew install saucectl)
npm install -g saucectl
# 既存のテストから .sauce/config.yml を生成して実行する
saucectl init
saucectl run
ユーザー名とアクセスキーは、Sauce LabsのUser Settings画面で確認できます。saucectl configureで作るcredentials.ymlと環境変数の両方があるときは、環境変数が優先されます。
config.ymlでChromeとWebKitの実行先OSを指定する設定例
設定ファイルのキーはPlaywright用のYAML設定リファレンスに沿っています。apiVersionは現時点でv1alphaのみ、sauce.regionはus-west-1かeu-central-1から選びます。
# .sauce/config.yml:2スイートを同時に流す
apiVersion: v1alpha
kind: playwright
sauce:
region: us-west-1
concurrency: 2
rootDir: ./
playwright:
version: 1.62.1
configFile: playwright.config.ts
suites:
- name: "windows-chrome"
platformName: "Windows 11"
screenResolution: "1920x1080"
testMatch: ["**/*.spec.ts"]
params:
browserName: "chrome"
- name: "macos-webkit"
platformName: "macOS 15"
testMatch: ["**/*.spec.ts"]
params:
browserName: "webkit"
browserNameに指定できるのはchromium・firefox・webkit・chromeの4つです。concurrencyは契約した同時セッション数以下にします。超えた分は順番待ちになるだけで、速くはなりません。実行時にsaucectl run --ccy 5や--retries 1で上書きもできます。
Playwrightの版を対応表の1.62.1に固定してずれを防ぐ作業
版のずれは最初に詰まる箇所です。2026年11月2日時点で、npmの@playwright/testの最新は10月14日公開の1.64.1でした。Sauce Labsの対応表は1.62.1までなので、手元を最新に上げたままではplaywright.versionと合いません。
YAMLリファレンスには、npm.usePackageLock: trueでインストールを速くする設定があります。この設定はPlaywright 1.48.2以上が条件で、package.jsonの@playwright/testとplaywright.versionが完全に一致していなければ使えません。CIではpackage.jsonの版を対応表に載った版で固定し、対応表が更新されてから上げる運用にします。対応表の各版にはEOLの日付があり、1.56.1は2026年11月30日です。版の確認方法はPlaywrightの最新バージョンと更新方法にまとめています。
日本語のテスト名とlaunchOptionsで実行前に失敗する制限の回避
日本の開発現場で影響が大きいのが、公式の制限事項ページにあるテスト名の規則です。使える文字は英数字と-・_で、一部の記号は-に置き換えられます。「®」「é」のような非ASCII文字や絵文字を含むテストは、実行前の拒否対象です。test('ログインできる', ...)のように日本語で名前を付けたテストは、英語名に書き換える必要があります。
同じページには、ほかにも実務で当たる制限が並びます。優先して確認するのは次の4つです。
- プロジェクトごとに
launchOptionsを設定すると、Sauce Labsが渡すブラウザの場所が上書きされ、Chromeが見つからないエラーになる - PlaywrightのHTML ReporterとTrace Viewerは、成果物の保存方法の都合で想定どおりに動かない
- macOS 15のFirefoxは非対応で、macOS 14かつPlaywright 1.62以降のWebKitも動かない
- WindowsのWebKitでは一部のサイトがSSLエラーで開けないため、WebKitはmacOS 15で流す
上の設定例でWebKitをmacOS 15に置いたのは、3つ目と4つ目を避けるためです。
Sauce Connect 5のトンネルとGitHub Actionsへの組み込み設定
Sauce Labsのブラウザはインターネットの向こう側で動きます。localhostや社内ネットワークにしか無い検証環境を開くには、Sauce Connectのトンネルを張ります。現行版はSauce Connect 5で、4系は非推奨の扱いです。
sc runでトンネルを張りconfig.ymlのtunnel.nameで参照する
Sauce Connect 5のクイックスタートでは、環境変数に認証情報を入れたうえで次のコマンドを実行します。
# トンネルを張る(Windowsは sauce-connect.exe run)
export SAUCE_TUNNEL_NAME="order-system-ci"
sc run --tunnel-name "$SAUCE_TUNNEL_NAME" --region us-west
# 「Sauce Connect is up, you may start your tests」と出たら準備完了
# .sauce/config.yml 側でトンネル名を参照する
sauce:
region: us-west-1
tunnel:
name: order-system-ci
timeout: 30s
トンネルの--regionはus-west・us-east・eu-central・asia-southから選べます。一方、saucectlのsauce.regionはus-west-1とeu-central-1だけです。両者を同じ地域に揃えないとトンネルが見つからないため、日本から使う場合も米国西部で揃えるのが無難です。
saucectl-run-action@v4とSecretsを使うワークフロー例
GitHub Actions連携の公式ページは、公式のActionであるsaucelabs/saucectl-run-action@v4と、Secretsに置いたSAUCE_USERNAME・SAUCE_ACCESS_KEYを使う構成を示しています。次の例は、インターネットから届くステージング環境に対してテストを流すものです。
# .github/workflows/e2e-saucelabs.yml
name: e2e-saucelabs
on: [pull_request]
env:
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
GITHUB_TOKEN: ${{ github.token }}
jobs:
e2e:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Saucectl RUN
uses: saucelabs/saucectl-run-action@v4
ランナー上で起動したアプリを検証する場合は、テストの前にSauce Connect 5のトンネルを張るステップが必要です。公式ページは、CIに組み込む前に手元のsaucectl runで成功させておくよう案内しています。Secretsの置き場所と漏えい経路はGitHub ActionsのSecrets管理で扱っています。
料金プランの実額と同時セッション数・BrowserStackとの費用差
以下は2026年11月2日に公式の料金ページで確認した金額です。表示は並列数のセレクタが初期値の1のときの月額です。
Live Testing月額39ドルから並ぶ4プランの課金単位と上限
| プラン | 年払いの月額 | 月払い | 同時セッション |
|---|---|---|---|
| Live Testing | 39ドル | 49ドル | 記載なし(手動のみ) |
| Virtual Device Cloud | 149ドル | 199ドル | 1〜5 |
| Real Device Cloud | 199ドル | 249ドル | 1〜5 |
| Mobile App Distribution | 249ドル | 299ドル | 対象外 |
料金表の4プランはいずれもユーザー数無制限で、Virtual Device CloudとReal Device Cloudは自動テストの時間も無制限です。料金表で選べる同時セッションは5までで、SSOや専用のデバイスクラウドはEnterpriseの問い合わせになります。並列数を2以上にしたときの増額はページに書かれていないため、見積もりでは営業窓口への確認が必要です。CIの実行時間そのものの費用はGitHub Actionsの料金と無料枠と合わせて見積もります。
ユーザー数無制限と並列課金で変わるBrowserStackとの費用比較
BrowserStackのAutomateは、デスクトップのみで1並列あたり年払い月額99ドルからです。数字だけ比べるとSauce LabsのVirtual Device Cloudの149ドルが高く見えます。差が出るのは手動テストの人数です。BrowserStackのLiveは1ユーザーごとの契約なので、QA担当とデザイナーを合わせて10人が触るなら、その人数分が積み上がります。Sauce Labsは人数で増えません。
まとめると、自動テストだけを1〜2並列で流すならBrowserStackが安く、手動で確認する人が多いチームほどSauce Labsが有利になります。BrowserStackの料金と製品構成はBrowserStackのPlaywright連携の設定手順と料金で同じ観点から整理しています。
Sauce Labsを採用する条件とBrowserStackや自前実行を選ぶ判断
判断の軸は、保証すべき環境に実機のスマートフォンが含まれるかと、テストに関わる人数の2つです。
デスクトップ中心で利用者が多いチームはSauce Labsを採用
Sauce Labsを採用するのは、発注者の動作保証表がWindowsとmacOSのブラウザ中心で、手動確認に関わる人が5人を超えるチームです。管理画面や社外向けの業務システムで、macOSのSafari系とWindowsのChrome・Edge・Firefoxを毎日回す案件がこれに当たります。CypressやTestCafeのテストも同じsaucectlで流せるため、フレームワークが混在するチームでも窓口を1つにできます。
載せるテストは、決済や会員登録など止まると損失が出る導線に絞ります。テストピラミッドの配分で言えば上層のごく一部です。残りは手元のPlaywrightで回し、同時セッション数を抑えます。
iOS実機でPlaywrightを流したい案件はSauce Labsを見送る
見送るのは2つの場面です。1つは、iPhoneのSafariでの表示崩れが主な不具合で、PlaywrightのテストをそのままiOSの実機で流したい案件です。Sauce LabsのPlaywright対応表にiOSは無く、Real Device Cloudで実機を使うにはAppiumなどで別にテストを書く必要があります。この場合はBrowserStackを先に検討します。もう1つは、利用者が社員だけでChromeとEdgeしか使わない社内システムです。Playwright単体でchannel: 'msedge'を指定すれば足り、月額149ドルを払う理由がありません。
どの環境までをクラウドに任せるか、CIのどの段階で流すかの線引きから整えたい場合は、DevOps・CI/CD導入支援で、テスト自動化とGitHub Actionsの構成を含めて相談を受け付けています。
Sauce Labsの導入前に確認される無料枠・連携・制限のよくある質問
導入を検討する段階でよく出る質問を5つ取り上げます。
Sauce Labsは無料で使えますか?
有料が基本です。料金ページのLive Testing、Virtual Device Cloud、Real Device Cloudには「Try for free」の入口があり、登録すれば試用できます。ただし試用の期間や上限は料金ページに書かれていません。登録時の画面で条件を確かめてください。常時無料のプランは料金表に無いため、業務で使い続けるなら年払いで月額39ドルのLive Testingか、自動テストを含む149ドルのVirtual Device Cloudが入口です。
Seleniumのテストも動かせますか?
動かせます。Selenium向けの公式ガイドでは、Remote WebDriverの接続先にSauce Labsのデータセンターのエンドポイントを指定し、認証情報は環境変数に置く形が案内されています。テストコードは大半をそのまま使うことが可能です。saucectlの対応一覧はPlaywright、Cypress、TestCafe、Espresso、XCUITestなどで、Seleniumは含まれません。CLIで流すかWebDriverでつなぐかは、フレームワークで決まります。どのツールで書くかの比較はE2Eテストのツール選定が参考になります。
失敗したテストの原因はどこで確認しますか?
Sauce Labsの管理画面で、スイートごとの動画、ログ、スクリーンショットを確認します。注意したいのは、制限事項ページにあるとおり、PlaywrightのHTML ReporterとTrace Viewerが想定どおりに動かない点です。手元で使っているトレースを、そのままクラウドで開ける前提にはしないでください。原因を追いやすくするには、テスト名を英語で具体的に付け、スイート名にOSとブラウザを入れて、どの組み合わせで落ちたかを一覧で読めるようにします。
Sauce LabsとBrowserStackはどちらが安いですか?
使い方で逆転します。自動テストだけを1並列で流すなら、BrowserStack Automateのデスクトップ月額99ドルが、Sauce LabsのVirtual Device Cloudの149ドルより安く済みます。手動テストに関わる人が多いなら、ユーザー数無制限のSauce Labsが有利です。BrowserStackのLiveは1ユーザーずつの契約だからです。実機のiPhoneでPlaywrightを流したいなら、料金より先に対応範囲でBrowserStackに決まります。
ネイティブアプリの実機テストにも使えますか?
使えます。Real Device CloudでAndroidとiOSの実機を使い、EspressoやXCUITest、Appiumのテストを流すことが可能です。saucectlの対応フレームワークにも、Android 5.1以上のEspressoとiOS 10以上のXCUITestが含まれています。Androidアプリを安く回すだけならFirebase Test Labも比較候補です。Appiumでの自動化の組み方はAppium 3でのモバイルテスト自動化にまとめています。
関連記事
- BrowserStackとは?Playwright連携の設定手順と料金・自前端末との判断:iOS実機でPlaywrightを流すなら比べるべき同種サービスです
- Playwright(プレイライト)とは?仕組み・できること・Seleniumとの違いを解説:Sauce Labsに載せる前のテストを書くための基礎です
- Firebase Test Labとは|実機と仮想端末の課金単位とCI組み込みの設計【2026年8月時点】:アプリの実機テストを別サービスで組むときの比較対象です
- Cypress E2Eテストの使い方|インストールからcy.intercept・CI実行まで【Cypress 16対応】:saucectlで流せるCypressのテストをCIで回す手順を補えます
- GitHub Actionsの料金|2026年10月のドル建て利用枠・分単価とコスト削減の判断基準:Sauce Labsと合わせたCI全体の費用を見積もるときに使えます