Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

Apidog定期タスク操作ガイドでテスト自動化を革新

Apidogの定期タスク機能は、作業効率を大幅に高め操作を簡素化します。セルフホストランナーのデプロイにより、自動化テストとインターフェースドキュメントのインポートを柔軟にスケジュールでき、チームコラボレーションがより効率的になります。今後、Apidogクラウドでの定期タスクサポートなど、さらに便利な機能が追加される予定ですので、ご期待ください。

中村 拓也

中村 拓也

Updated on 11月 12, 2024

定期タスクは、設定された時間に自動的に実行されるタスクで、頻繁に実行される回帰テストや大規模なAPIテストなど、いくつかの一般的な問題を効果的に解決します。これらのタスクは、固定された時間または周期的に自動実行され、ソフトウェアの継続的インテグレーション(CI)および継続的デリバリー(CD)プロセスの安定性と信頼性を確保します。定期タスクを使用することで、人為的な操作ミスや手間を減らし、テストの効率と精度を向上させることができます。

Apidog は現在、定期タスクの設定をサポートしており、たとえば自動テスト内のテストシナリオを定期的に実行することが可能です。

apidog定期タスクの設定

定期タスクで生成されたテストレポートは、Slack、Webhook、Jenkins、メールなどのプラットフォームにも送信できます。

定期タスクで生成されたテストレポート

現在の自動化テストの定期タスクは、セルフホストRunnerに基づいて実行することのみサポートしています。Runnerは自動化プログラムと理解でき、独立したサーバーにホストすることが可能です。これにより、Apidog 内での自動化テストの定期タスク、API仕様書の定期インポートなどが実行されます。

以下では、セルフホストRunnerを使用して、自動化テストのシナリオを定期的に実行する方法について説明します。開始する前に、Apidog を最新バージョンに更新していることを確認してください!

前提条件


定期タスクを使用するには、まずサーバーインスタンスにRunnerをデプロイする必要があります。以下は、Runnerの実行環境に関する推奨構成およびデプロイ方法です。

Runnerの実行環境


推奨されるインスタンス仕様は次のとおりです:

ハードウェア 推奨構成
CPU 少なくとも 2 コア、推奨は 4 コア以上。Runnerが定期タスクを並行実行できるようにします。
メモリ 少なくとも 4GB のメモリ。チームのデータ量が大きい場合は、8GB 以上を推奨。Runnerがタスクを実行する際にデータのロードや生成に対応するためです。
ディスクスペース ログ情報を保存するために少なくとも30GBが必要です。

サーバーインスタンスが準備できたら、Runner をデプロイする前に、インスタンスに Docker 環境がインストールされていることを確認する必要があります。Runnerは Docker を介してタスクを実行するためです。

Docker をインストール


サーバーインスタンスに Docker をインストールする方法は?Google で調べるか、Docker の公式ドキュメントを参考にしてください。Docker の最低バージョンは 20.10.0 である必要がありますのでご注意ください。

Docker をインストール

Docker 環境が整ったら、Runnerのデプロイを開始できます。

Runnerのデプロイ


まず、チーム管理者権限を持っていることを確認してください。次に、Apidogのメインウィンドウでチームを選択し、「チームリソース -> 一般ランナー -> デプロイ一般ランナー」を順にクリックします。

apidog Runnerのデプロイ

ポップアップウィンドウで一般Runnerをデプロイするためのコマンドをコピーし、必要に応じてコマンドを定義できます。サーバーOS、ポートの公開、データディレクトリのマウントなどをカスタマイズできます。以下はこれらの設定の詳細です:

💡
1.サーバーOS:Dockerコンテナが実行されるオペレーティングシステムを指定します。Linux、macOS、およびWindowsが含まれ、正しいOSを選択することはDockerコンテナが正しく動作するための重要な要素です。
2.Dockerイメージ:一般版、軽量版、カスタム版の3つのバージョンが提供されています。「カスタムスクリプト」で外部プログラムを呼び出す必要がある場合、含まれるランタイム環境に基づいて適切なイメージを選択してインストールします。
2.1一般版:ランナーのすべての機能が含まれており、次の外部プログラムのランタイム環境が組み込まれています:Node.js 18、Java 21、Python 3、PHP 8。
2.2軽量版:ランナーのすべての機能が含まれており、Node.js 18 のみのランタイム環境が組み込まれています。
2.3カスタム版:ランナーのすべての機能が含まれており、外部プログラムのランタイム環境をカスタマイズすることができます。Dockerfileを作成し、ニーズに応じて環境を追加または削除できます。
3.ポートの公開:デフォルトでは、Docker コンテナの内部ポートは外部アクセスに公開されません。-p パラメータを使用して、コンテナの内部ポートをホストのポートにマッピングすることで、外部からコンテナの提供するサービスにアクセスできます。たとえば、-p 80:4524 は、コンテナ内の 4524 ポートをホストの 80 ポートにマッピングします。
4.データディレクトリのマウント:-v パラメータを使用して、ホストのディレクトリをコンテナ内にマウントできます。これにより、コンテナはホスト上のファイル(データベース設定、外部プログラムなど)にアクセスして操作できます。たとえば、-v "/opt/runner":/opt/runner は、ホストの /opt/runner ディレクトリをコンテナの /opt/runner ディレクトリにマウントします。
Runnerのデプロイ

サーバーインスタンスに先ほどコピーしたコマンドを貼り付けて実行すると、システムが自動的にイメージを取得してコンテナを起動します。

コマンドを貼り付けて実行する

docker ps コマンドを使用して、起動中の Runner サービスを確認できます。

Runnerのデプロイが完了

Runnerのデプロイが完了したら、Apidog の「チームリソース」ページに戻り、接続されているRunnerサービスを確認できます(表示されない場合は、ページをリフレッシュしてみてください)。ここで、Runnerの管理が可能です。名前の変更、説明の追加、削除、停止、再起動などを行えます。

Runnerサービスを確認

セルフホストRunnerのデプロイに成功した後、Apidog で定期タスクを作成して使用できるようになります。

定期タスクの作成


プロジェクトの自動化テストモジュールで「定期タスク」を選択し、新しい定期タスクを作成します。以下の情報を設定します:

  • タスク名と説明:定期タスクを区別し、その詳細な目的を説明するために使用します。
  • テストシナリオ:定期タスクは、選択された1つまたは複数のテストシナリオを実行し、各シナリオは個別に設定できます。
  • 実行サイクル:タスクの実行サイクルを設定します。例えば、毎週日曜日の11時や6時間ごとに実行されます。
  • 実行先:タスクを実行するインスタンスを選択します。Apidogクラウド(近日公開予定)またはチームのセルフホストRunnerを使用できます。
  • 通知:通知を有効にすると、実行結果が設定に基づいて関係者に送信されます。プロジェクトメンバー以外のメールアドレスを手動で入力することもできます。
apidog定期タスクの作成

基本情報の設定が完了したら、保存するだけです。

定期タスクの実行


定期タスクは、設定された「実行サイクル」に基づいて自動的に実行されます。定期タスクのリストで、実行回数、ステータス、次の実行時間を確認できます。

apidog定期タスクの実行

テストレポートの確認


定期タスクが完了した後、実行結果は定期タスクの実行結果ページに保存されます。「実行履歴」ページにアクセスすることで、定期タスクの詳細な実行状況をいつでも確認できます。

apidogテストレポート確認

また、システムは設定された通知チャネルに従って、関係者やプラットフォームに情報を送信します。

定期タスク実行の情報を送信します


メール内の「詳細を確認」リンクをクリックすると、Apidog 内でより詳細な定期タスクレポートを確認することができます。

apidog詳細な定期タスクレポートを確認する

よくある質問


Q1.サーバーインスタンスに Runner をデプロイしましたが、「定期タスク」が設定された時間に実行されません。どうすればよいですか?


このような場合、まず Apidog で「定期タスク」を手動で一度実行してみることをお勧めします。その後、サーバーインスタンスで docker logs <container_id_or_name> コマンドを使用して、コンテナの実行ログを確認し、「定期タスク」に関する情報があるか確認します。

コンテナの実行ログを確認

ログに関連情報がない場合、サーバーが 4524 番ポートを開放しているか、またそのポートがファイアウォールでブロックされていないか確認してください。

さらに、テストシナリオで「実行先」を現在デプロイされている Runner に変更し、「実行」ボタンをクリックします。アプリ内に表示される内容や Docker コンテナのログを確認し、テストシナリオが完了した後に「テストレポート」が返されるかどうかをチェックして、問題を詳しく特定します。

テストレポートをチェック

また、旧版の Docker コンテナとその対応するイメージを削除し、最新バージョンの Runner を再デプロイすることもお勧めします。それでも問題が解決しない場合は、ぜひ私たちのサポートチームに連絡し、さらなるサポートを受けてください。

Q2.サーバーインスタンスにインストールされた Runner を削除するにはどうすればよいですか?


まず、コンテナを削除する必要があります。コマンドは次のとおりです:

  1. コンテナを表示:docker ps -a
  2. コンテナを停止:docker stop <container_id>
  3. コンテナを削除:docker rm <container_id>
apidog Runnerを削除するのコマンドをチェック

次に、イメージを削除します。コマンドは次のとおりです:

  1. イメージを表示:docker images
  2. イメージを削除:docker rmi <image_id>
apidog Runnerを削除するのコマンドをチェック

これで、サーバーインスタンスにデプロイされた Runner を完全に削除できます。

付録
以下は、デプロイ済みの Runner に対して実行できる一般的な Docker コマンドです:

操作 コマンド
ローカルに保存されたすべてのイメージを一覧表示 docker images
イメージを削除 docker rmi
実行中のコンテナを表示 docker ps
すべてのコンテナを表示(停止したものを含む) docker ps -a
コンテナの実行ログを表示 docker logs
コンテナを起動 docker start
コンテナを再起動 docker restart
コンテナを停止 docker stop
コンテナを削除 docker rm

まとめ


定期タスクは、Apidog での作業効率を大幅に向上させ、操作プロセスを簡素化します。セルフホストランナーをデプロイすることで、自動化テストやインターフェースドキュメントのインポートを柔軟にスケジュールし、より効率的なチームコラボレーションを実現できます。今後、Apidog クラウドでの定期タスクサポートなど、さらに便利な機能を提供予定ですので、ぜひご期待ください!

詳細については、Apidog ヘルプドキュメントを参照してください。使用中に何か問題や提案がありましたら、いつでもユーザーグループでフィードバックをお寄せください。

ApidogでバックエンドAPI開発の効率をどう向上させるか?チュートリアル

ApidogでバックエンドAPI開発の効率をどう向上させるか?

ApidogはAPI管理の全体的なソリューションを提供し、定義からデバッグ、ドキュメント作成までバックエンド開発を最適化します。プロジェクトの規模に関わらず、開発者が効率的に作業を完了するのを支援します。

中村 拓也

11月 25, 2024

APIテスト効率化:ApidogでのJSONレスポンス管理法チュートリアル

APIテスト効率化:ApidogでのJSONレスポンス管理法

この記事では、ApidogでJSONレスポンスからアサーション設定、変数抽出、JSONパスのコピー方法を解説しました。APIテストの自動化と効率的なレスポンス検証が簡単になり、データの再利用も可能です。Apidogを使い、API機能を確認しましょう。

中村 拓也

11月 20, 2024

ApidogとAlgolia統合で実現する効率的なドキュメント検索チュートリアル

ApidogとAlgolia統合で実現する効率的なドキュメント検索

本記事は、AlgoliaをApidogと統合し、APIドキュメントの検索機能を改善する方法を紹介します。最適な検索設定を維持しながら、情報アクセスの迅速さと効率性を向上させ、ユーザー体験を向上させます。

中村 拓也

11月 19, 2024