mabl CLIでエクスポートしたテストをPlaywrightで動かすときの注意点
はじめに
mablのテストを実行回数を気にせず高頻度に回したいと思ったことはありませんか?私はあります。
この記事では、mabl CLIでエクスポートしたPlaywrightテストを実際に動作させるまでにハマったポイントをまとめます。
mabl CLIについては公式のヘルプをご確認ください
1. planに乗っているテストをまとめてエクスポートできない
mabl CLIでは、planに含まれるテストを一括でエクスポートする機能が提供されていません。各テストを個別にエクスポートする必要があります。
mabl tests export <TEST_ID_1> --format playwright --file test1.spec.ts
ここは面倒なので、mablのダッシュボードからplanの画面を開いて、planに乗っているテストの一覧が出ている箇所の画面要素を生成AIに渡してtestIDを取得して、それをもとに生成AIエディタ経由でテストの一覧を取得して対応しました。
2. flow関連の課題
mablでflowとして管理されているstepが、エクスポート時には単一の長いテストコードとして出力されます。また、flow名はコードに出力されません。flow同士の境界を目視で確認するのは至難の業で、改めてPageObjectとして再構築する必要があります。
3. 変数周りの課題
mablで設定したflow parameter(デフォルト値含む)がエクスポートされたコードに含まれません。なので、あらためてmabl desktopでテストを開き、flow parameterの値を確認し、コードに落とす必要があります。
4. Playwright出力に対応していないstepがある
Ubieのテストケースで確認した限り、下記のstepは現状Playwright出力に対応してないため、それぞれ実装なり代替手段を用意する必要があります。
Open EmailAwaitTabSwitching tabsEvaluateJavaScript
まとめ
いまのところ、mabl CLIでエクスポートしたPlaywrightテストを動作させる際の主要な課題は以下の4つです:
- planに含まれるテストの一括エクスポート機能がない: 生成AIを活用した手動対応が必要
- flow関連の複雑さ: flow境界の特定とPageObject再構築が必要
- 変数周りの課題: flow parameterの手動確認とコード化が必要
- Playwright出力に対応していないstep: 代替手段の実装が必要
加えて、mabl上にあるテストの変更にPlaywright側で追従するとなると、それなりに大変そうなことが予測できます。現在いくつかのテストをPlaywrightに移植して動かしたところなのでまだ見えていない問題もありそうです。また進展があったらzennに記事を書こうと思います。
Discussion