Documentation

Poshiのメリット

簡略化された構文

技術力の低いテスターでもテスト自動化の読み書きが簡単にできるように、PoshiではGroovyのような簡略化されたスクリプト構文を採用しています。 一般的なプログラミング言語よりも語数が少なく、他のテストファイルの取り込みも自動で行います。 また、Poshiは、テスト作成者がJavaやJavaScriptを理解しなくても、新しいテストの記述、新しい動作のスクリプト化、ページオブジェクトの定義、あるいは新しいメソッドの作成を行えるように書かれています。 文字列データ型に対応し、文字列操作と演算が可能です。

ページオブジェクトの分離

Poshiはページオブジェクトのデザインパターンを採用しています。 しかし、従来のページオブジェクトモデルとは異なり、Poshiはページロケーターとページインタラクションを分離しています。 テストロジックをWeb要素から分離するという考え方を取り入れ、すべてのページオブジェクトロケーターは、パスファイルと呼ばれる単一のレイヤーで定義されています。 この単一レイヤーは、すべてのロケーターを管理し、あらゆるテストケースで使用できるページ要素ロケーターのライブラリーを含んでいます。 現在のPoshiパターンでは、製品をページの組み合わせではなく、要素の組み合わせとして扱っています。 Poshiのテスト作成者が新しいテストを追加する必要がある場合、ほとんどのオブジェクトはすでに定義されており、読みやすいロケーター名で参照できるようになっている可能性が高いです。 また、テスト対象の製品やWebページでUIが変更された場合、一般的にはすべてのテストケースを修正するのではなく、1つのファイルのみを更新する必要があります。

WebDriver拡張

PoshiはWebDriverのメソッドを実装・拡張し、Seleniumが提供する機能を超えた、より便利な機能を提供できるようにしました。 この実装には LiferaySelenium というSeleniumメソッドのカスタムインターフェースがあり、テストがページ上の要素と確実に連携できるようにする新しいメソッドを提供します。 WebDriverImpl クラスとともに、LiferaySeleniumインターフェースが実装され、ブラウザの違いにより必要となるメソッドや初期化をオーバーライドするためにブラウザ固有のクラスで拡張され、Poshiはテスト自動化のニーズに対して堅牢で信頼性と柔軟性の高いソリューションを提供します。