Ghost Inspector にテストsuiteを実行するためのWebhookがあることに気付いたので、試してみることにしました。
実行API (Webhook URL)
公式のAPIドキュメント によれば、Ghost Inspectorのテストsuite実行APIは、以下の形式になっています。
https://api.ghostinspector.com/v1/suites/<suiteId>/execute/?apiKey=<apiKey>&startUrl=<startUrl>
suiteId | テストsuite画面のアドレスの末尾にある英数字部分です。 ( https://app.ghostinspector.com/suites/xxx... ←これのxxx... の部分) |
apiKey | Account Settings > API Access にあるAPI Keyをコピペします。 横にある[Regenerate API Key]は鍵の再生成ボタンなので注意します。 |
startUrl | テストのStart URLが指定できます。(省略するとテストの設定が参照されるっぽい?) テストの設定が参照される方が嬉しいので、今回は省略します。 |
というわけで、今回試すWebhook URLは以下のような形になります。
https://api.ghostinspector.com/v1/suites/xxxxxxxxxxxxxxxxxxxxxxxx/execute/?apiKey=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
さあ叩こう
とりあえず、Webhookを叩いてみます。今回はPythonでやってみることにしましょう。
今回、HTTPリクエストの送出には requests
を利用するので、pip等でインストールします。
pip install requests
下記のサイトを参考に、Webhook URLを叩くコードをさっくりと書いていきます。
PythonでSlackのIncoming Webhookを試してみる
先程のWebhook URLをそのまま踏んづけてもテストは実行されるけど、せっかくなのでそれっぽく書いて動作確認。
こちらを実行してみると……Ghost Inspectorのテストが走ります!やったぜ。
もちろんテストの通知設定に従って通知も飛びます。
GETで簡素にやる場合は以下みたいな感じ。
ちなみにrequests
のレスポンスはテストが走り終わるまで返ってこないので、ここでは特に見ていません。
レスポンスに異常があれば、別途Slackに投稿されるような仕組みにしておくと、テストの実行失敗時も検知できて安心感が高まる。
所感
実務的には、動作確認用環境(いわゆるテストサイト/テスト環境)にサービスをデプロイしたあとに、Webhookが自動で叩かれてテストが走る……という流れになると良さそうですね。
テストのし忘れがなくなっていい感じ。