ElementLocatorFactory
とFieldDecorator
をPageFactory
に入力する方法を説明してもらえますか?Selenium
?私はそれを理解することができず、あなたにこのことを説明するよう要請します。Page FactoryでElementLocatorFactoryとFieldDecoratorを使用することは何ですか?
3
A
答えて
7
あなたがPageFactory
を使用する場合は、webelementsインスタンスは、実際のプロキシであり、要素はあなたがそれらのメソッドを呼び出す前に発見する必要があります。
各フィールドの取得部分はElementLocator
にカプセル化されています。 ElementLocatorFactory
は、各要素に対してこれらを提供します。このファクトリは、ファクトリコンストラクタに提供されるSearchContext
を必要とします。ドライバはSearchContext
(メソッドfindelement)またはweb要素を実装します。それらを探す方法であるBy
部分は、ページオブジェクトのフィールドの反映API
によって検索されます。
プロキシをフィールドに割り当てることはFieldDecorator
によって処理され、ElementLocatorFactory
が必要です。各webelementフィールドに対して呼び出されるdecorate()
メソッドは、そのフィールドに設定されているプロキシを返します。メソッドがweb要素で呼び出されると、実際にはそのメソッドが呼び出されます。プロキシがこの呼び出しを傍受してSearchContext.findElement
メソッドを使用して実際の要素を見つけ、元のメソッドを呼び出します。
ElementLocatorFactory
とFieldDecorator
を作成してPageFactory
に渡すことができます。
コードレベルの説明については、http://www.alechenninger.com/2014/07/a-case-study-of-javas-dynamic-proxies_14.htmlを参照してください。
関連する問題
- 1. Page Factoryデザインパターンでオブジェクトを返すユースケースは何ですか?
- 2. PageMod/page-modとPage/page-workerの違いは何ですか?
- 3. Page factoryデザインパターンselenium
- 4. CSS - @pageとは何ですか?
- 5. ScreenplayパターンをPageオブジェクトに使用するメリットとデメリットは何ですか?
- 6. Selenium:ArrayListでFieldDecoratorとLocator.ElementHandlerをどのように使用しますか?
- 7. Laravelフレームワークで.bladeを使用することは何ですか?
- 8. strutsで<html:htmlを使用することは何ですか?
- 9. このクエリでtotalを使用するとは何ですか?
- 10. Model FactoryとLaravelのDBシーダの違いは何ですか?
- 11. Factoryメソッドにパラメータを渡すことはできますか?
- 12. (「*」)を使用することは何ですかjqueryの
- 13. Page Object Factoryを使用したセレンのアサーション
- 14. Page()はRazor Pageで何をしますか?
- 15. Page Controllerとmvcパターンの違いは何ですか?
- 16. ng2-page-scrollのイージングロジックとは何ですか?
- 17. デストラクタをプライベートとして使用することは何ですか?
- 18. seleniumRCまたはWebDriverでMavenを使用することは何ですか?
- 19. firefox拡張page-modの中でreactを使うことはできますか?
- 20. joomlaのItemid()を使用するとは何ですか
- 21. これはFactoryデザインパターンを使用していますか? (Java)
- 22. PhonegapとTitaniumを使用するメリットとデメリットは何ですか?
- 23. Typed Factoryファシリティを使用して(enum)パラメータに基づいて実装を返すことはできますか?
- 24. ここでヌルとは何ですか?
- 25. Azure Data Factoryで.NET SDKを使用してjsonファイルをテンプレートとして使用することはできますか?
- 26. C#コードでブロックを使用することのポイントは何ですか?
- 27. エリキシル(Laravel)で.versionを使用することの重要性は何ですか?
- 28. このResponseEntityとは何ですか?
- 29. sql用にlinqでfactoryクラスを使用する方法は?
- 30. 角度2 - ロダッシュとは何ですか?タイスクリプトアプリケーションで使用することは必須ですか?
素晴らしい。ありがとうございました! – shank087