DEV Community

Cover image for Apidog CLIとHoppscotch CLIを比較:CI/CDに最適なランナーは?
Akira
Akira

Posted on • Originally published at apidog.com

Apidog CLIとHoppscotch CLIを比較:CI/CDに最適なランナーは?

Apidog CLIとHoppscotch CLIは、どちらもターミナルからAPIテストを実行し、CI/CDに組み込めるCLIランナーです。違いは役割です。Hoppscotch CLIはHoppscotchコレクションを実行するオープンソースのランナーです。一方、Apidog CLIは、API設計、テスト、モック、ドキュメントを含むApidogプラットフォームをCLIから操作するための入口です。

今すぐApidogを試す

簡単な判断

  • Hoppscotch CLIを選ぶべきケース

    • オープンソースとセルフホスティングを重視する
    • すでにHoppscotchを使っている
    • CIレポートはJUnit XMLで十分
  • Apidog CLIを選ぶべきケース

    • CLI、HTML、JSONレポートを使い分けたい
    • CSV/JSONでデータ駆動型テストを実行したい
    • クラウドにテストレポートをアップロードしたい
    • CLIだけでなく、設計、モック、ドキュメント、テストを同じプラットフォームで扱いたい

比較

項目 Apidog CLI Hoppscotch CLI
インストール Apidog runner / apidog CLI npm i -g @hoppscotch/cli(Node v22以降)
実行対象 テストシナリオ、コレクション Hoppscotchコレクション
ソース Apidogプロジェクト、OpenAPIインポート コレクションJSONファイル、インスタンスID
データ駆動型 -d でCSV/JSON --iteration-data CSV + --iteration-count
レポート CLI、HTML、JSON、クラウドアップロード JUnit XML
スクリプト プリ/ポストプロセッサー、アサーション プリリクエスト + pw.test() / pw.expect()
仕様リンティング スタンドアロンリンターなし(インポート時に検証) なし(ランナー用途)
コードとしてのリソース管理 エンドポイント、スキーマ、ブランチ、マージリクエスト なし
オープンソース なし(フリーティアあり) あり、セルフホスト可能
プラットフォーム 設計、モック、ドキュメント、テストを1つのアプリで管理 Hoppscotchエコシステムの一部

インストールと最小実行

Hoppscotch CLI

Hoppscotch CLIはnpmからインストールします。Node.js v22以降が必要です。Node 20を使う場合はCLI v0.26.0を使います。

npm i -g @hoppscotch/cli
Enter fullscreen mode Exit fullscreen mode

ローカルのコレクションJSONを実行します。

hopp test ./collection.json -e ./staging.env.json
Enter fullscreen mode Exit fullscreen mode

HoppscotchインスタンスからコレクションIDで実行する場合は、トークンとサーバーURLを渡します。

hopp test <collection-id> \
  --token <access_token> \
  --server https://hoppscotch.your-company.com
Enter fullscreen mode Exit fullscreen mode

Apidog CLI

Apidog CLIはApidog runnerを使って実行します。認証後、シナリオIDと環境IDを指定します。

apidog run \
  -t <scenario-id> \
  -e <env-id> \
  --access-token <token>
Enter fullscreen mode Exit fullscreen mode

新規セットアップはApidog CLIインストールガイドを確認してください。

実行の基本は次の流れです。

  1. ApidogでAPIプロジェクトを作成する
  2. APIまたはOpenAPI定義をインポートする
  3. テストシナリオを作成する
  4. シナリオID、環境ID、アクセストークンを取得する
  5. CIまたはローカルで apidog run を実行する

実行モデルの違い

Hoppscotch CLI

Hoppscotch CLIはHoppscotchコレクションを実行します。

各リクエストでは、主に次の処理が行われます。

  1. プリリクエストスクリプトを実行
  2. HTTPリクエストを送信
  3. pw.test()pw.expect() でテストスクリプトを評価
  4. アサーション失敗時にゼロ以外の終了コードを返す

CIでは、終了コードを使ってジョブの成功/失敗を判定できます。

hopp test ./collection.json -e ./staging.env.json
Enter fullscreen mode Exit fullscreen mode

Apidog CLI

Apidog CLIは、Apidogプロジェクト内で作成したテストシナリオを実行します。

シナリオでは、複数ステップを連結し、変数を共有し、前のレスポンスを次のリクエストやアサーションで利用できます。

apidog run -t <scenario-id> -e <env-id> --access-token <token>
Enter fullscreen mode Exit fullscreen mode

アプリ上で設計・デバッグしたシナリオを、そのままCIで実行できるため、別途コレクションをエクスポートする手順を減らせます。

シナリオの考え方はApidog CLI完全ガイド、REST APIのCLI実行例はコマンドラインからREST APIをテストするを参照してください。

データ駆動型テスト

同じテストを複数データで繰り返す場合、データ駆動型テストを使います。

Hoppscotch CLIでCSVを使う

Hoppscotch CLIでは、CSVファイルと反復回数を指定します。

hopp test ./collection.json \
  --iteration-data ./users.csv \
  --iteration-count 5
Enter fullscreen mode Exit fullscreen mode

CSVの例です。

email,password
user1@example.com,password1
user2@example.com,password2
Enter fullscreen mode Exit fullscreen mode

Apidog CLIでCSVまたはJSONを使う

Apidog CLIでは -d でCSVまたはJSONを渡します。

apidog run \
  -t <scenario-id> \
  -d ./users.csv \
  -r cli,html
Enter fullscreen mode Exit fullscreen mode

JSONデータを使う場合は、ネストされたフィクスチャや既存のJSONデータをそのまま扱いやすくなります。

apidog run \
  -t <scenario-id> \
  -d ./users.json \
  -r cli,json
Enter fullscreen mode Exit fullscreen mode

フォーマットの柔軟性が必要な場合はApidogが向いています。CSV/JSONの使い分けはApidog CLIデータ駆動型テストガイドで確認できます。

レポート出力

Hoppscotch CLI: JUnit XML

Hoppscotch CLIはJUnit XMLを生成できます。

hopp test ./collection.json \
  --reporter-junit ./report.xml
Enter fullscreen mode Exit fullscreen mode

JUnit XMLは多くのCIでサポートされています。GitHub Actions、GitLab CI、Jenkinsなどでテスト結果を表示する用途には十分です。

Apidog CLI: CLI、HTML、JSON、クラウドレポート

Apidog CLIは複数形式のレポートを出力できます。

apidog run \
  -t <scenario-id> \
  -r cli,html,json
Enter fullscreen mode Exit fullscreen mode

クラウドにアップロードして共有可能なレポートURLを作成することもできます。

apidog run \
  -t <scenario-id> \
  --upload-report
Enter fullscreen mode Exit fullscreen mode

使い分けの例です。

  • ローカル確認: -r cli
  • PRレビュー用アーティファクト: -r html
  • 後続処理や集計: -r json
  • Slackやチケットで共有: --upload-report

詳細はApidog CLIテストレポートガイドを参照してください。

CI/CDに組み込む例

Hoppscotch CLIの例

name: API Tests

on:
  pull_request:

jobs:
  api-test:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-node@v4
        with:
          node-version: 22

      - run: npm i -g @hoppscotch/cli

      - run: |
          hopp test ./collection.json \
            -e ./staging.env.json \
            --reporter-junit ./report.xml
Enter fullscreen mode Exit fullscreen mode

Apidog CLIの例

name: API Tests

on:
  pull_request:

jobs:
  api-test:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Run Apidog scenario
        run: |
          apidog run \
            -t ${{ secrets.APIDOG_SCENARIO_ID }} \
            -e ${{ secrets.APIDOG_ENV_ID }} \
            --access-token ${{ secrets.APIDOG_ACCESS_TOKEN }} \
            -r cli,html,json
Enter fullscreen mode Exit fullscreen mode

CIで扱う場合は、トークン、シナリオID、環境IDをSecretsに保存してください。失敗時はCLIの終了コードでジョブを失敗させます。

オープンソースとセルフホスティング

Hoppscotchの強みは、オープンソースでセルフホスト可能な点です。自社環境でバックエンドを運用し、リクエストデータをベンダークラウドから分離できます。

次のようなチームにはHoppscotch CLIが合います。

  • オープンソースツールを優先したい
  • セルフホストが必須
  • データレジデンシー要件が厳しい
  • JUnit XMLだけでCIレポート要件を満たせる

関連する比較として、Hoppscotchの代替品Postman vs Hoppscotchも参考になります。

Apidogはオープンソースではありません。フリーティアはありますが、主な価値は「よりオープン」ではなく、設計、モック、ドキュメント、テストを統合して扱える点です。

テスト実行を超えて使う場合

Apidog CLIは単なるテストランナーではなく、ApidogプラットフォームのCLIインターフェースとして使えます。

扱える領域には、次のようなものがあります。

  • OpenAPIのインポート
  • エンドポイント管理
  • スキーマ管理
  • 環境管理
  • ブランチ
  • マージリクエスト
  • テストシナリオ実行

そのため、APIリソースをGitスタイルのワークフローに近い形で管理したい場合に向いています。

一方、Hoppscotch CLIは設計上、コレクション実行に特化しています。API設計、モック、ドキュメント管理は別の仕組みと組み合わせる必要があります。

注意: どちらもOpenAPIリンターではない

Apidog CLIには、スタンドアロンのOpenAPIリンターやスタイルガイド用コマンドはありません。インポート時に仕様を検証しますが、専用リンターのようにルールベースでリンティングするものではありません。

Hoppscotch CLIもランナーであり、OpenAPIリンターではありません。

ターミナルで仕様リンティングが必須なら、次のようなツールを別途使います。

  • Redocly CLI
  • Spectral

ランナーとしての違いはApidog CLI vs Newmanでも比較されています。

どちらを選ぶべきか

Hoppscotch CLIが向いているケース

  • すでにHoppscotchを使っている
  • オープンソースとセルフホストを重視する
  • CIではJUnit XMLがあれば十分
  • コレクション実行だけをCLIで自動化したい
hopp test ./collection.json \
  -e ./staging.env.json \
  --reporter-junit ./report.xml
Enter fullscreen mode Exit fullscreen mode

Apidog CLIが向いているケース

  • API設計、モック、ドキュメント、テストを1つの場所で管理したい
  • CSV/JSONでデータ駆動型テストを実行したい
  • HTML/JSON/クラウドレポートが必要
  • アプリで作ったテストシナリオをそのままCIで実行したい
apidog run \
  -t <scenario-id> \
  -e <env-id> \
  -d ./users.json \
  -r cli,html,json
Enter fullscreen mode Exit fullscreen mode

既存のコレクションを試す場合は、Apidogをダウンロードしてインポートできます。

よくある質問

どちらもデータ駆動型テストをサポートしていますか?

はい。Hoppscotchは --iteration-data--iteration-count を使います。データ形式はCSVです。

Apidogは -d を使い、CSVまたはJSONを指定できます。

どちらのレポートが優れていますか?

CIダッシュボードにJUnit XMLを表示するだけならHoppscotchで十分です。

HTML、JSON、クラウド共有レポートも必要ならApidogの方が選択肢が多くなります。

Hoppscotch CLIは無料でオープンソースですか?

はい。セルフホストも可能です。詳細は公式ドキュメントGitHubリポジトリを確認してください。

Apidogにはフリーティアがありますが、オープンソースではありません。

HoppscotchコレクションをApidogに移行できますか?

はい。Hoppscotchからコレクションをエクスポートし、Apidogにインポートしてから apidog run で実行できます。

コマンド対応は移行ガイドにまとまっています。

まとめ

Hoppscotch CLIは、オープンソース、セルフホスト、JUnit XMLを重視するチームに適したコレクションランナーです。

Apidog CLIは、データ駆動型テスト、複数形式のレポート、クラウド共有、設計からテストまでの統合ワークフローを必要とするチームに向いています。

コレクション実行だけならどちらも使えます。すでに使っているAPIクライアントと、CIで必要なレポート形式に合わせて選ぶのが実装上の最短ルートです。統合APIプラットフォームの一部としてCLIを使いたい場合は、Apidogを選択してください。

Top comments (0)