2017-12-12 10 views
0

にPOMオブジェクトを保存、私はページのオブジェクトモデルでDOMオブジェクトは、以下の形式で特定のページに関連するクラスファイル内で宣言されているという事実を知っている:データベース

​​

私がどうかということを知りたいですこれらのxpathをデータベースに格納し、それらのxpathからアクセスすることができます。

この段階ではまだわかりにくいので、私はこの段階でこれ以上の情報を共有できません。

+1

もちろん、それは可能ですが、なぜあなたはそのようにしますか? :/あなたのコードベースに通常の文字列として格納するのに間違っていますか? – acikojevic

+2

注釈は、コンパイル時定数を値として必要とします。 https://stackoverflow.com/questions/1458535/which-types-can-be-used-for-java-annotation-members – Grasshopper

+0

@acikojevic私たちがこれを行う方法を教えてもらえますか。参考資料はありますか?またはコードを共有することができます。私はコードベースに格納することができることをあなたに同意しますが、私は同じことの実行可能性をチェックするように言われました。 –

答えて

0

ここには2つの方法があります。

アプローチ#1

これはハックが、何もないとしているとあなたにもJDKの風味とバージョンの依存関係で立ち往生されます。

以下は、実行する必要のある上位レベルのアクションです。私はJDK7とJDK8でこれを行う方法について語っ詳細blog postを作成した注釈がある(注釈のそれぞれを実装するクラスを作成します

  • を[私はあなたの走行距離は異なる場合があり、JDK9でこれを試していません]
  • 注釈を保持するフィールドを照会するためにリフレクションを使用し、注釈のために作成したクラスをインスタンス化すると、今表現する必要がある値が使用されます(あなたのケースでは、データベースからの値で)、それをフィールドに戻します。

それはあなたのためにそれを行う必要があります。ここで

アプローチ#2

我々は基本的にセレンのページファクトリモデルがあなたを提供するカスタマイズのサポートにピギーバック。ここでは、これを達成するために必要なことのリストがあります。詳細な概要については、私のブログ投稿hereを参照することができます。

  1. Aはorg.openqa.selenium.support.pagefactory.ElementLocator
  2. Aは、org.openqa.selenium.support.pagefactory.ElementLocatorFactory
  3. 注釈を解読し、注釈から値を読み出すにカスタマイズされたアプローチをカスタマイズし、カスタマイズ。
  4. 特定のWeb要素のDBからロケータを読み取るために使用できるメタデータをキャプチャするカスタム注釈。
+0

これを確認します..ありがとう... –

+0

。それが助けられたら、私の答えを受け入れることを忘れないでください! –

+0

私はしばらく時間がかかりますが、私はこれについてあなたに返答します.... –