Apidog CLI オプション
Apidog CLI の基本構文
オンライン実行:
apidog run --access-token <value> [options]
Apidogのアクセストークンと特定のテストシナリオまたはテストシナリオディレクトリのIDを使用します。例:
apidog run --access-token $APIDOG_ACCESS_TOKEN -t 637132 -e 358171 -d 3497013 -r html,cli --database-connection ./database-connections.json
ローカル実行:
apidog run <collection> [options]
ApidogテストシナリオのURLまたはファイルパスを指定します。例:
apidog run examples/sample.apidog-cli.json -r cli,html
オプション
オプション | 説明 |
---|---|
--access-token <accessToken> |
オンライン実行用の認証トークンを設定 |
-t, --test-scenario <testScenarioId> |
実行するテストシナリオIDを指定 |
-f, --test-scenario-folder <folderId> |
実行するテストシナリオディレクトリIDを指定 |
-r, --reporters [reporters] |
テストレポートの種類を指定(デフォルト: ["cli"]) |
--out-dir <outDir> |
テストレポートの出力ディレクトリ(デフォルト: "./apidog-reports") |
--out-file <outFile> |
テストレポートの出力ファイル名 |
--out-json-failures-separated <outJsonFailuresSeparated> |
失敗を別のJSONファイルとしてエクスポート |
-e, --environment |
実行環境を指定 |
-n, --iteration-count <n> |
繰り返し回数を設定 |
-d, --iteration-data <path> |
ケース繰り返し用のデータを設定(JSONまたはCSV) |
--variables <path> |
指定されたパスのファイルから環境/グローバル変数を使用し、環境/グローバル変数の初期値を使用しない。 |
--global-var <value> |
グローバル変数を設定(key=value形式) |
--env-var <value> |
環境変数を設定(key=value形式) |
--external-program-path <path> |
外部プログラムのファイルパスを指定 |
--database-connection <path> |
データベース設定のファイルパスを指定 |
--ignore-redirects |
自動リダイレクトを防止 |
--silent |
コンソール出力を防止 |
--color <value> |
カラーコンソール出力を有効/無効 |
--delay-request [n] |
リクエスト間の遅延を指定(ms) |
--timeout-request [n] |
リクエストタイムアウトを指定(ms) |
--timeout-script [n] |
スクリプト実行タイムアウトを指定(ms) |
-k, --insecure |
SSL検証を無効 |
--ssl-client-cert-list <path> |
クライアント証明書設定ファイルのパスを指定 |
--ssl-client-cert <path> |
クライアント証明書のパスを指定(PEM) |
--ssl-client-key <path> |
クライアント証明書の秘密鍵パスを指定 |
--ssl-client-passphrase <passphrase> |
クライアント証明書のパスフレーズを指定 |
--ssl-extra-ca-certs <path> |
追加の信頼できるCA証明書を指定 |
-b, --bigint |
bigint互換性を有効 |
--upload-report [value] |
テストレポートの概要をクラウドにアップロード |
--preferred-http-version <preferredHttpVersion> |
優先HTTPプロトコルバージョンを設定 |
--verbose |
詳細なリクエストとレスポンス情報を表示 |
--lang <language> |
CLIの言語を設定(en) |
-h, --help |
ヘルプ情報を表示 |
CLIでのファイルアップロード
ファイルアップロードが必要なAPIを扱う場合、Apidogはローカルファイルのパスしか保存せず、実際のファイルはローカルコンピュータに残ることに注意が必要です。これにより、別のマシンでCLI経由でテストを実行する際に、保存されたパスを使用してファイルにアクセスできない問題が発生する可能性があります。
この問題を解決するには、以下の手順に従ってください:
この設定後、ファイルはCLI経由でApidogに正しく送信されます。
注意:このテストシナリオを再度ローカルで実行する場合、パラメータ値のファイルパスをローカルマシン上のパスに戻す必要があります。
CLIでのデータベース操作の使用
テストシナリオにデータベース操作が含まれている場合、データベース設定はローカルに保存され、クラウドには保存されないため、いくつかの追加手順が必要です。これにより、これらのシナリオに対して直接クラウドモードでCLIを実行することはできません。この状況を処理する方法は以下の通りです:
ローカルCLIテストレポートをクラウドにアップロード
ローカルCLIテストレポートをクラウドにアップロードするには、CLIコマンドの最後に--upload-report
パラメータを追加します。以下はその方法です:
apidog run --access-token $APIDOG_ACCESS_TOKEN -t 637132 -e 358171 -d 3497013 -r html,cli --upload-report
</Step>
CLIでの外部スクリプト/プログラムの使用
Apidog CLIを実行する際に、外部スクリプトやプログラムを参照するために、コマンドの最後にそのパスを追加できます。以下はその方法です:
--external-program-path ./scripts
この例では、CLIに./scripts
ディレクトリにあるプログラムを参照するように指示しています。階層が指定されていない場合、デフォルトは現在のCLI実行ディレクトリです。
これらの外部スクリプトを管理する主なアプローチは2つあります:
ローカルパス
ローカルスクリプトの管理における混乱を避けるために、以下のことを推奨します:- すべてのスクリプトファイルをカテゴリ別に整理します。
- 特定のディレクトリに配置します。
- CLIコマンドに対応するローカルパスを指定します。
クラウドコードリポジトリ
または、以下のこともできます:- スクリプトファイルをクラウドベースのコードリポジトリにホストします。
- CI/CDワークフローにプルコマンドを設定し、外部スクリプトをローカル環境にフェッチします。
- CLIコマンドで外部スクリプトの実際のパスを指定します。
SSL
クライアント証明書
Apidog CLIはクライアント証明書の受け渡しをサポートしています。
単一のSSLクライアント証明書の使用
--ssl-client-cert
SSLクライアント証明書の公開鍵のパスを指定します。--ssl-client-key
SSLクライアント証明書の秘密鍵のパスを指定します(オプション)。--ssl-client-passphrase
SSLクライアントのパスフレーズを指定します(オプション)。
SSLクライアント証明書設定ファイルの使用(複数証明書対応)
--ssl-client-cert-list
SSLクライアント証明書リストのJSONファイルのパスを指定します。例:ssl-client-cert-list.json
ssl-client-cert-list.json
[
{
"name": "domain1",
"matches": ["https://test.domain1.com/*", "https://www.domain1/*"],
"key": {"src": "/CI/client.domain1.key"},
"cert": {"src": "/CI/client.domain1.crt"},
"passphrase": "changeme"
},
{
"name": "domain2",
"matches": ["https://domain2.com/*"],
"key": {"src": "/CI/client.domain2.key"},
"cert": {"src": "/CI/client.domain2.crt"},
"passphrase": "changeme"
}
]
このオプションは、URLまたはホスト名に基づいて異なるSSLクライアント証明書を設定することをサポートします。これは--ssl-client-cert
、--ssl-client-key
、--ssl-client-passphrase
オプションよりも優先されます。リスト内のURLに一致するものがない場合、これらのオプションがフォールバックオプションとして使用されます。
HTTP/2
CLIは、--preferred-http-version
パラメータを使用して、リクエストを送信するための特定のプロトコルバージョンを使用するように設定できます。
プロトコルバージョンパラメータ値:
- "HTTP/2" - HTTP/2 Application-Layer Protocol Negotiation (ALPN)、HTTPSリクエストのみサポート。
- "HTTP/2-with-prior-knowledge" - 事前知識付きHTTP/2
- "HTTP/1" - HTTP/1.1
このパラメータは以下の設定をサポートします:
HTTPSとHTTPリクエストに対して異なるプロトコルバージョンを設定:
--preferred-http-version="https=HTTP/2,http=HTTP/2-with-prior-knowledge"
HTTPSとHTTPに対して同じプロトコルバージョンを設定:
--preferred-http-version="HTTP/1"
HTTPSとHTTPに対してHTTP/2を設定(サポートされていない値は自動的に無視されます):
--preferred-http-version="HTTP/2"
FAQ
Q: Invalid character in header content["Authorization"]
というエラーメッセージをどのように処理すればよいですか?
A: ApidogクライアントまたはWebインターフェースでテストシナリオを実行してもエラーが発生しないことを確認した場合、環境変数のINITIAL値が設定されているかどうかを確認してください。