0

私はPlayの新しいユーザーであり、ToDoリストの例(Javaベースの初心者向けチュートリアル)を使用しています。

現在、ページオブジェクトパターン( https://github.com/FluentLenium/FluentLenium#page-object-pattern )を使用してテストケースを追加する実験を行っています。

残念ながら、このパターンを実装する最初の試みはうまくいきませんでした。すばやくダウンロードして試してみたい場合は、システム全体をGitHubで入手できます。これが私のテストクラスへのリンクです。これは、実行中のテストケース(ページオブジェクトパターンを使用しない)と、ページオブジェクトパターンを使用しようとする失敗したテストケースの両方を示しています。

https://github.com/philipmjohnson/playexample1/blob/master/test/IntegrationTest.java

Play Console内でテストケースを実行するとエラーが発生します):

[error] Test IntegrationTest.testWithPage failed: java.lang.NullPointerException
[error]     at play.test.Helpers.running(Helpers.java:426)
[error]     at IntegrationTest.testWithPage(IntegrationTest.java:34)
[error]     ...
[error] Caused by: java.lang.NullPointerException
[error]     at org.fluentlenium.core.Fluent.goTo(Fluent.java:223)
[error]     at org.fluentlenium.core.FluentPage.go(FluentPage.java:55)
[error]     at org.fluentlenium.core.Fluent.goTo(Fluent.java:204)
[error]     at IntegrationTest$2.invoke(IntegrationTest.java:37)
[error]     at IntegrationTest$2.invoke(IntegrationTest.java:34)
[error]     at play.test.Helpers.running(Helpers.java:424)

ページオブジェクトのデザインパターンを正しく実装するにはどうすればよいですか?

4

1 に答える 1

2

そこにいくつかの詳細:

あなたはページを構築し、それにウェブドライバーを与える必要があります、ページはブラウザを操作するためにそれを必要とします。

public ToDoListPage(WebDriver webDriver) {
    super(webDriver);
}

そしてあなたのテストでは:

ToDoListPage todopage = new ToDoListPage(browser.getDriver());

また、TodoListPageに@Testアノテーションを付ける必要はありません

プルリクエストを参照してください:修正

于 2013-03-22T08:56:55.423 に答える