簡體   English   中英

單選按鈕的@FindBy注釋

[英]@FindBy annotation for radio buttons

我必須使用@FindBy選擇類型單選按鈕的幾個值之一。 這是我需要自動化的html代碼。

我嘗試給@FindBy(how=How.CSS,using= "[type='radio']" and value)但是我必須動態傳遞值。 即。 選擇BlueSkies或Pangea航空公司,寫它的最好方法是什么。@ @FindBy返回WebElements列表,我可以這樣處理它。 請幫忙。

   <input type="radio" name="outFlight" value="Blue Skies Airlines$361$271$7:10"/>
</td>
<td class="data_left" align="LEFT" bgcolor="CCCCCC">
<font size="-1" face="ARIAL">
<b>Blue Skies Airlines 361</b>
</font>
</td>
<td class="data_center_mono" align="CENTER" valign="TOP" bgcolor="CCCCCC">
<font size="-1" face="ARIAL">7:10</font>
<br/>
</td>
<td class="data_center" align="CENTER" bgcolor="CCCCCC" nowrap="">
<font size="-1" face="ARIAL">non-stop</font>
</td>
</tr>
<tr>
<td class="data_verb_xcols" valign="top" bgcolor="#FFFFFF" colspan="4">
</tr>
<tr>
<td class="frame_action_xrows" rowspan="2" align="CENTER" bgcolor="#FFCC00" valign="CENTER">
<input type="radio" name="outFlight" value="Pangea Airlines$362$274$9:17"/>
</td>
<td class="data_left" align="LEFT" bgcolor="CCCCCC">
<font size="-1" face="ARIAL">
<b>Pangaea Airlines 362</b>
</font>
</td>

@FindBy的值不能是動態的。 您可以將其拆分為兩個

@FindBy(how = How.CSS, using = "[value*='Blue Skies Airlines']")
private WebElement blueSkyesRadioButton;

@FindBy(how = How.CSS, using = "[value*='Pangea Airlines']")
private WebElement pangeaAirlinesRadioButton;

或同時插入它們以列出和使用索引

@FindBy(how = How.CSS, using = "[type='radio']")
private List<WebElement> radioButtons;
@FindBy(how = How.CSS, using = "[type='radio']")
private List<WebElement> radioButtons;

@Guy提供了更多支持該解決方案的解釋,您可以編寫一種動態選擇廣播的方法。 舉個例子

public void selectRadio(String airlineName){
  for(WebElement radio : radioButtons){
    if(radio.getAttribute("value").contains(airlineName)
        radio.click();
  }
}

您可以根據需要使用迭代器。 您只需要通過將objectName傳遞給參數的頁面對象來調用此方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM