2016-08-16 13 views
0

は、我々はページファクトリを使用して、ページオブジェクトを作成するために渡す文字列をパラメータ化することができるように方法はあり渡すパラメータ

例:私はプッシュしようとしています

String v = "password"; 
@FindBy(name=v) 
private WebElementFacade password_Field; 

@FindByに文字列vを入力しますが、エラーが表示されます。私は、注釈のため 値を取得しています

はFindBy.nameは定数式

+1

あなたの質問に例外のスタックトレースを追加してください。 – Grasshopper

+0

は、変数vをfinalキーワードで宣言すると機能します。 – Grasshopper

+0

私は最終的なキーワードを使用する場合、それが動作することに同意します。しかし、私はvの値が変更可能であることを望む。そこには道があるのです。 –

答えて

0

はいでなければならない属性。可能です。 、あなたのPage

代わり@FindByを使用しての、Pagefind方法を使用してWebElementFacadeを取得し、操作のためにそれを使用します。以下の解決策を見つけるしてください。例えば

:あなたが要素にclickに必要がある場合は、下記のコードを参照してください。

public void click(String elementId) { 
    WebElementFacade element = find(ById.id(elementId)); 
    element.click(); 
} 

これは私のために完璧に動作します。そして、要素IDは.storyの例からずっと来ています。