エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

mabl CLIでテスト実行を始めてみるためのTips

こんにちは! エムスリーエンジニアリンググループ QAチームの城本(@yuki_shiro_823)です。こちらはmablアドベントカレンダーの2日目の記事です・

qiita.com

担当しているBIR(Business Intelligence and Research)チームでローコード自動化サービスmablを運用しています。今回はmablのコマンドラインツールであるmabl CLIのTips集を紹介します。

mabl CLIとは

まずmablについて軽く触れておくと、ブラウザの操作を記録することにより、ローコードでテストケースの作成を行えるテスト自動化サービスです。

mabl CLIはmablから提供されているコマンドラインツールで、テスト作成や実行などがコマンドで行えます。CI/CDとの統合などに便利です。詳細はこちらの公式ドキュメントをどうぞ。

help.mabl.com

mabl CLIの使い方

使い方は基本的に公式ドキュメントに丁寧にかかれています。公式に記載のあるところはそのリンクを貼り、記載のなかったちょっとしたハマりどころを紹介してきます。今回はテストケースはすでに作成済みで、mabl CLIを初めて使ってみることを想定して書いています。

インストール

help.mabl.com

<ハマりどころ>

Node.jsがインストールされていれば、公式ドキュメントの通りに進められます。Node.jsのインストールから行う場合は、インストール後に環境変数にパスが通っているかご確認ください。

mablコマンドが実行できず原因を調べたところ、Node.jsにパスが通ってなかったということがありました。

テスト実行

テスト実行前にはmablの認証ログインを通してください。

$ mabl auth login

テスト実行の単位には、テストケースごと、複数のテストケースをまとめたプラン、ラベルを付けたものを一式などがあります。

テストを実行する環境はローカルでの実行、クラウド環境上での実行と指定できます。今回はローカルで軽く動作確認する想定で記載します。

テストケースごとの実行

テストケースごとの実行は、ケースのidを指定して実施します。

$ mabl tests run --id <id>

id の確認方法は、コマンドから確認する方法とmablのデスクトップツールなどのテストケースの詳細ページから確認する方法とがあります。詳細ページから取得する場合は、キャプチャのようにコマンドにテストケースidをセットした状態で準備してくれるので、そのまま貼り付けてテスト実行できます。

mabl CLI用のidやコマンドが楽に取得できる

プランごとの実行

mablのプランは、テストケースをグループにまとめ、テストの実行に必要な情報(実行順、アプリケーション、環境、ブラウザ、タイミングトリガーなど)を設定したものです。テストの実行対象にプランを指定すると、配下のテストケースを一式実行できます。プランを指定して実行するコマンドはこちら(プランのIDは、プランの詳細ページから確認できます)

mabl tests run --from-plan-id <plan-id>

<ハマりどころ>

mabl CLIでローカル環境で実行すると、クラウド実行で使える便利機能(実行順の指定や、テストケース間での変数の引き継ぎ等)は使えません。mabl CLIでのローカル実行の場合はプラン配下のケースを順不同で一式実行できるもの、と考えると良さそうです。

ラベルを付けたテストケースをまとめて実行

テストケースにはラベルをつけることができます。機能名などでラベルを付けておくとそのラベルのついたテストケースを一式実行できます。ラベルは複数指定可能です。

mabl tests run --labels <label-name>

<ハマりどころ>

ラベルでまとめて実行できる件数は100件までです。それより多くなると実行対象から漏れるテストケースがでます。以前欲張ってラベルを指定しすぎて、一部のテストケースが実行されなかったという失敗をしました。

まとめ

mabl CLIのインストールやテスト実行方法、実際に使ってみて少しハマったところをご紹介しました。今回はmabl CLIでのテスト実行を始めてみるという点に絞って紹介しましたが、他にも便利な機能があります。今後も色々試してみてより便利な使い方を探していきたいです。

We're hiring!

QAチームではチームで協力しながら、サービスを届けるまでのリードタイム短縮に貢献したいエンジニアを募集しています。 社会に役立つシステムを高品質で素早く届けたいQAエンジニアの方、一緒に働きませんか? カジュアル面談でより詳しくお話ししましょう!

jobs.m3.com