にあなたにいくつかのコーディングの手間を節約し、より多くのエレガントなIDEインテリセンスとなります見ることができるように、私は以下の
HomePage newPage = page.typeUsername("tarun").typePassword("lalwani").submitLogin()
のようにそれを使用することができますフローをキャプチャします。ログインページからログインしてホームページを表示すると、ログインメソッドはホームページのページオブジェクトを返します。そのフローが変わった場合、他のページオブジェクトを返すようにログインメソッドを更新すると、フローが失敗するIDEのどこにでもエラーが発生します。それはあなたがより速く修正する必要がある場所を見つけるのに役立ちます。
私の方法では、私はページオブジェクトを返さないと言っています。私はページオブジェクトのメソッド連鎖の大きなファンではありません。私はあまりにも多くのメソッドを連鎖させることによってあなたがどのページを追跡しているか分からなくなるので、テストフローをあいまいにすると思います。
ページオブジェクトを返すことで、エラーケースなどのための余分なメソッドを記述する必要があります。これは例で分かります。ホームページを返すsubmitLogin()
メソッドと、ログインページを返すsubmitLoginExpectingFailure()
などがあります。私にとって、私は、余分なコードとテストフローを読むことの難しさを上回るメリットは見つけられていません。
回答と例をありがとう。これは実際に理にかなっています。それを追加することには何の影響もなく、実装/テスト側にいくつかのコードを保存するための新しいオプションが用意されています。 – James