
今後のこういったサービスの発展をお祈りしましてまとめてみました。
国際化対応(マルチロケール、タイムゾーン)設定
mablはUS環境(たぶんGCP)なので、起動したサーバがUSロケール、タイムゾーンで動いているぽいので、HTMLやJSの部品のフォーマットがUSモード(たとえば、日付がdd/mm/yyyy)になったりします。
また、ロケール情報やタイムゾーンで言語切り分けをしているアプリなどは、かんちがいして英語表記してしまったり。
これだと、国際化対応されたアプリの場合、文言チェックがぜんぜんできないので、はやめにタイムゾーンやロケール設定できるようにお願いしました。パラメタ(?locale=en)とかになってると悩まなくてすむんだろうなぁ。
- 参考
- mablにフィードバックした内容はこちら
- Is there any way to change input type=“date” format? (HTMLのDate Typeがなかなかいじらしい仕様)
環境ごとに通知先を分けたい

mablは、Planに設定されたラベルを使って通知先を切り分けられます。ただ、この方法だと、本番は本番通知用のチャンネルに投げて、STGやDEVは開発者が集まるチャンネルに投げる・・・という設定が工夫しなければできません。
たとえば、上記のようにアプリを環境ごとのURLで設定しても、Planで選べるアプリは1つであり、環境も1つなので、Planにラベルを付けても、この結果がSTGなのか、本番なのか切り分けられないのでこのような問題がおきます。
回避策は、環境をわけずに、アプリを「DEVアプリ」、「本番アプリ」といった形に分ける方法です。mablが自動作成するテストがアプリの数だけできるので煩雑になるため、ラベリングをうまく活用して回避するといいと思います。
個人的には本番からの通知は「すごくやべー」にしたいのですが、ひとつのPlanを複数の環境に向けて実行できるメリットもあります。それぞれの運用環境に合わせて使い分けるといいと思います。
リンク切れ通知はありがたいけど問題
mablはリンク切れも検知してくれるのですが、外部サイトに対するリンクは切れまくるので、除外設定があるとうれしいものです。
参考:Allow suppressing network errors of a particular type or URLs
属性の存在チェック
Xpathで頑張ればいいのですが、QA自動化サービスを使ってるのにXPathやJSでガリガリ書くのは本末顛倒ですよね。
最近見つけたのは、DisabledやCheckedといった属性は「attribute=”value”」形式じゃないせいか、チェックが難しい。単純に属性の存在チェックができるといいなぁと思いました。
〜まで待つ機能
mablは「Wait until」という機能があるのですが、やれることがかぎられています。
追加で、「要素がなくなるまで待つ(Loading画像とか)」があると便利そう。上に書いた属性の存在チェックと同じく、最近のフロントエンドは状態がぐりぐりかわるので、「Disabledが消えるまで待つ」もほしいところです。
このあたりはPRも送っていますが、mablはJSのスニペットを公開してくれているので、これらがmablで実装されるのを待つばかりです。スニペットはユーザが自力でがんばっている塊ですからね。本来はないほうがいい。
まとめ
今回は、これまで問い合わせたりFBした内容を洗い出してまとめてみました。
最近はテスト自動化エンジニアになりつつあり、マニアックなノウハウも溜まってきつつあります。そのうち、自動化する上でのテスト設計や運用ポイントもまとめてみようとおもいます。