Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ページ遷移したときなどにWeb API経由でブラウザから性能情報を取得する機能を追加しました。
これにより、「スクリーンショットは一致していても時間がかかりすぎている」といった問題がないかどうかもテストできるようになり、使いどころがいっそう増えると考えています。
既存機能を邪魔しないように、設定に「性能測定モード」を追加し、これを明示的にONにした時のみ機能を利用できるようになる実装にしました。
ご確認のほど、よろしくお願いいたします。
パッケージの分け方、追加すべきテストなどございましたら、ご教示ください。
使い方
本機能は
PtlTestBase
を拡張したTelemetricTestBase
を基底クラスとしてテストクラスを記述する使い方を想定しています。具体的な書き方は iijimakazuyuki/hifive-pitalium-samples@7b779ef をご覧ください。
TelemetricTestBase
はPtlTestBase
と同様、Ruleクラスでテスト結果の出力を行っており、スクリーンショットのフォルダ内に
testCaptureTop_performance_WINDOWS_chrome.html
というような名前のレポートがテストメソッド単位で出力されるようになります。
ここには各ページ遷移時の性能情報が記録されています。
ちなみに、このレポートはThymeleafテンプレートを用いており、ユーザが差替可能です。
具体的な差替方法は iijimakazuyuki/hifive-pitalium-samples@458ef4e をご覧ください。
このレポートは、下記メソッド実行時に性能情報が追記されます。
WebDriver#get()
WebElement#click()
WebElement#submit()
なお、上記メソッドで検知できないタイミングの場合は、
PerformanceTelemetry#measurePerformance()
を実行すれば、手動で性能情報を取得できます。