タダです.
以前,k6 に関する記事を書いて使っているうちにテストの数も増えてきたりして繰り返しの作業になっているのでテスト実行を自動化できないかと思い,調べてみた内容をこの記事にまとめていきます.
GitHub Actions がマーケットプレイスにあった
k6 の GitHub Actions があったのでこれを使ってみることにしました.
GitHub Actions のコード
サンプルに載っていたのを流用して叩いてみます.10秒間10の仮想ユーザーがアクセスした場合のテストを行います.flags
にはローカル実行同様のオプションを使えて指定できるようです.この辺も k6 の良さが引き続き使えて良さそうです.
name: k6 autotest on: [push] jobs: k6test: name: Run k6 test runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Run k6 local test uses: k6io/action@v0.2.0 with: filename: test.js flags: --vus 10 --duration 10s
test.js
の中身は複数のテストファイルを実行するようなコードにしました.
import TestOne from "./xxx/test1.js" import TestTwo from "./xxx/test2.js" export default function() { TestOne(); TestTwo(); }
結果
ローカルで叩いた時のように k6 の実行結果が GitHub Actions の中で表示されました.
まとめ
簡単ですが,GitHub Actions で k6 を実行してみたのでまとめてみました.これまで自分の手元でやってましたが,GitHub Actions に載せて自動化しつつ自分以外の人でも実行できるようになっていければと思います.