【jest-puppeteer】テストで使うカスタム属性の追加と取得はどうやるのか?

4288 ワード

背景

Vue.jsでのブラウザテストとしてjest-puppeteerを採用しています。

idやclassをテストで使う要素のターゲットにしていると仕様変更の際にどの要素がテストと関わっているのか分からず思わぬところでエラーが発生します。これを回避するためにカスタム属性の追加は必須になってきます。

過去にCypressの実装に触れたことがありdata-cyをカスタム属性として使用する慣習があることを知ったのですがjest-puppeteerでは決まりごとがはないようなので個人の判断でつけて良いようですね。

ちなみにCypressの公式にもカスタム属性を使うようベストプラクティスに記載されています。