開発

Sauce Labsとは?saucectlの設定手順と料金・BrowserStackとの選び分け

Sauce Labsとは?saucectlの設定手順と料金・BrowserStackとの選び分け

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でのモバイルテスト自動化にまとめています。

関連記事

お気に入りに入れた記事の一覧

一創の公式 SNS

X では毎朝の新着記事と IT ニュースの速報を、YouTube・TikTok・Instagram・LinkedIn・Facebook では記事の解説動画を配信しています。

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.29 テックブログ ソニー生命の不正アクセス:38.5万件の対象確認と窓口、停止中の手続き
  2. 2026.10.31 テックブログ osinaの情報漏洩:約23万人の対象確認とSNS連携の解除、分析ツールへ渡すデータの絞り方
  3. 2026.10.31 テックブログ 松屋の不正アクセス:237万件の対象確認と窓口、漏れたパスワードの守り方
  4. 2026.11.01 テックブログ RAGTAGの情報漏洩:延べ約120万件の対象項目と会員の備え、侵入から検知まで11日の意味
  5. 2026.05.18 テックブログ マネーフォワードで連携できない・失敗するときの対処法|エラー別の原因と再連携のやり方

RELATED POSTS 関連記事

目次