Open4

Datadog Browser Test を Cloud Build から実行したい

nomadblackynomadblacky

目的

  • Cloud Build を使ったデプロイ時に Datadog Browser Test を実行して E2E テストを行いたい
nomadblackynomadblacky

テストの実行

datadog-ci synthetics run-tests コマンドで Synthetics のテストを実行できる。

**/*.synthetics.json というテストファイルを作成して実行する方法もあるようだが、今回は Datadog の UI で事前に作成したテストを利用する。

--public-id <TEST_ID> オプションを指定することで事前に定義済みのテストを実行できる。

<TEST_ID> は Datadog のテスト詳細の URL から確認できた。

コマンドの実行結果は以下の通り

$ datadog-ci synthetics run-tests --public-id n5v-sy8-vy6
(node:40234) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Finding files matching /Users/takumi.kadowaki/ghq/github.com/3-shake/reckoner-cdp/rdap2/{,!(node_modules)/**/}*.synthetics.json

No test files found.

[n5v-sy8-vy6] Found test "[POC] リリース後の動作確認" (1 config override)


View pending summary in Datadog: https://app.datadoghq.com/synthetics/explorer/ci?batchResultId=2ac68e00-78e1-4225-b28a-ce622e80a0eb

✓ [n5v-sy8-vy6] [POC] リリース後の動作確認 - location: Tokyo (AWS) - device: chrome.laptop_large
  ⎋ Total duration: 298345 ms - View test run details: https://app.datadoghq.com/synthetics/details/n5v-sy8-vy6/result/8066359783548955188?from_ci=true


=== REPORT ===
Took 350456ms

View full summary in Datadog: https://app.datadoghq.com/synthetics/explorer/ci?batchResultId=2ac68e00-78e1-4225-b28a-ce622e80a0eb

Continuous Testing Summary:
• Test Results: 1 passed, 0 failed
• Max parallelization configured: 1 test running at the same time
• Total Duration: 5m 50s

Increase your parallelization to reduce the test batch duration: https://app.datadoghq.com/synthetics/settings/continuous-testing
nomadblackynomadblacky

その他オプション

--failOnCriticalErrors オプションはテストをトリガーできなかった場合やテスト結果を取得できなかった場合にエラーにする。
テストが見つからなかった場合にエラーにする --failOnMissingTests や、タイムアウト時にエラーにする --failOnTimeout と組み合わせるのが良さそう。

$ datadog-ci synthetics run-tests --failOnCriticalErrors --failOnMissingTests --failOnTimeout --public-id n5v-sya-zzz
(node:57059) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Finding files matching /Users/takumi.kadowaki/ghq/github.com/3-shake/reckoner-cdp/rdap2/{,!(node_modules)/**/}*.synthetics.json

No test files found.

[n5v-sya-zzz] Test not found: query on https://api.datadoghq.com/api/v1/synthetics/tests/n5v-sya-zzz returned: "Synthetics test not found"


 ERROR: some tests are missing
n5v-sya-zzz

$ echo $?
1