継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

k6 のテスト実行を GitHub Actions で行う

タダです.

以前,k6 に関する記事を書いて使っているうちにテストの数も増えてきたりして繰り返しの作業になっているのでテスト実行を自動化できないかと思い,調べてみた内容をこの記事にまとめていきます.

sadayoshi-tada.hatenablog.com

GitHub Actions がマーケットプレイスにあった

k6GitHub Actions があったのでこれを使ってみることにしました.

github.com

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 の中で表示されました.

f:id:sadayoshi_tada:20211013005513p:plain

まとめ

簡単ですが,GitHub Actions で k6 を実行してみたのでまとめてみました.これまで自分の手元でやってましたが,GitHub Actions に載せて自動化しつつ自分以外の人でも実行できるようになっていければと思います.