2016-04-19 1 views
0

私は2つの選択Web要素を持っています。第1のものは第2のものに依存する。たとえば、値20interestPeriodを選択した場合、loanTermSelectには値10がありません。そして、それはまさに私がセレンウェブテストでチェックしたいものです。Selenium/Select Dropdrown /特定の値が存在することをアサートします

マイコード:

@Test 
public void testLoanTerm20() { 
    kqcPage = loginToFinancialPlanet().openKonditionenQuickcheckPage(); 
    kqcPage = kqcPage.fillForm(getLoanTerm20()); 
} 

private Map<String, Object> getLoanTerm20() { 
    Map<String, Object> map = new HashMap<String, Object>(); 
    map.put("addTypeOfLoan", "KfW Energieeff. Bauen (153)"); 
    map.put("interestPeriod", "20"); 
    map.put("loanTermSelect", "25"); 
    return map; 
} 

通常、私は与えられた要素が表示されていることを、主張するには、次のコードのようなものを使用しています。しかし、今回は、特定の要素が特定の値を提供しているかどうかをチェックしたいと思います。

assertThat(extranetRulesVersionDisplayBegriffMultiSumme.getButtonDelete().isDisplayed(), is(true)); 

ベストプラクティスは何ですか?ヘルプは非常に感謝しています。

Select select = new Select(driver); 
List<WebElement> allOptions = select.getOptions(); 

それは、あなたがテキストを取得するためのドロップダウンに反復処理できるドロップダウンメニュー内のすべてのオプションのリストを返します - :あなたが使用することができますSelectクラス内のすべてのオプションを取得するには

+0

特定の 'WebElement'の' text'を取得し、 'String Comparison'の間に条件を入れることができます。ここで問題は何ですか? – Paras

+0

問題は、私が前にそれをしなかったことです...しかし、はい。論理的に聞こえる... JUnitとして実行できるコード例がありますか? –

+0

答えに入れました。 – Paras

答えて

1

for(WebElement el : allOptions) { 
    // So you can get the text like:- 
    String text = el.getText(); 
    if(text.equals("specific value")) { 
     // Your operation that you want to do once string matches. 
    } 
} 

この方法で、探している特定の値に一致させることができます。

希望すると助かります!

+0

私が直面している問題は、 'new Select(driver)'に赤い下線が引かれていることです。私は、 'driver'の可視性を保護されるように変更することを提案します。何が正しいことができない... –

+0

と私は何を求めているのですか?forループで。 'loanTermSelect'要素を見たいとループに伝えるものは何ですか? –

+0

okこのチャットルームに参加するとここで議論ができます: - http://chat.stackoverflow.com/rooms/109547/36715708 – Paras

関連する問題