2017-11-19 10 views
0

私はドライバを初期化するクラスを持っています。ドライバの同じリファレンスを使用するために、すべてのページとテストケースでそれを拡張したいと思います。この場合、私のページクラスでpageFactory.initElementsを使用する必要がありますか?はいの場合 - なぜですか?ドライバが既に初期化されているクラスを拡張している場合、Pagefactory.initElementsを使用してドライバを初期化していますか?

答えて

0

ページオブジェクトモデルを使用している場合は、そうします。 pageFactory.initElementsはドライバを初期化することではなく、ページオブジェクトを初期化することです。それを使用しないと、そのページで宣言されたwebElementと対話しようとするたびに、webElementがインスタンス化されていないため、nullポインタが取得されます。詳細

+0

パブリッククラスUsingGoogleSearchPage { パブリック静的無効メイン(文字列[] args){ webdriverをドライバ=新しいHtmlUnitDriver()のための

See here。 driver.get( "http://www.google.com/"); GoogleSearchPage page = PageFactory.initElements(ドライバ、GoogleSearchPage.class); page.searchFor( "Cheese"); } }この例では、ドライバはこのクラスで宣言されています。私の要件は、親クラスのドライバを参照することです。その場合はここでクラスを拡張し、PageFactory.initElements(driver、GoogleSearchPage.class)を使用してください。それは親クラスのドライバを参照しますか? – messy

関連する問題