簡體   English   中英

選擇了如何從下拉菜單中斷言所選選項。 硒。 頁面對象模型

[英]How to assert if selected option from drop down is choosen. Selenium. Page Object Model

我需要從下拉列表中選擇選項,並檢查該選項是否為用戶選擇/可見。 選擇選項的代碼:

@FindBy(how = How.ID, using = "id_state")
public WebElement StateDropDown;

 public void ChooseState(String index){
    Select Choose = new Select(StateDropDown);
    Choose.selectByVisibleText(index);

這是我的下拉列表:

<select name="id_state" id="id_state" class="form-control">
<option value="">-</option>
<option value="1">Alabama</option>
<option value="2">Alaska</option>
<option value="3">Arizona</option>
<option </select>

我想選擇“阿拉巴馬州”,並使用assert來檢查是否實際上選擇了“阿拉巴馬州”。 我知道我必須編寫一個函數,該函數將選擇狀態的名稱發送到字符串。 斷言它將包含在這里:

@Then("^I see \"([^\"]*)\" in dropdown$")
public void iSeeInDropdown(String state) 
Assert.assertEquals("Alabama",??????);}

在Select類中,有一個名為“ getFirstSelectedOption()”的方法,該方法將從下拉列表中返回所選的Web元素選項。 通過使用此方法,您可以檢索以下選項:

Select select = new Select(someElement);
String option = select.getFirstSelectedOption().getText();

您可以聲明以下條件:

Assert.assertEquals("Alabama", option) ;

嘗試執行以下步驟,

在頁面對象類中添加以下方法:

public String getSelected() {
            return new Select(StateDropDown).getFirstSelectedOption().getText().trim();
        }

並像下面一樣修改此步驟定義方法,該方法將調用頁面對象類的方法,然后獲取所選的選項並進行斷言。

@Then("^I see \"([^\"]*)\" in dropdown$") {
        public void iSeeInDropdown(String state) 
            String selectedOption = new PageObjects().getSelected();
            Assert.assertEquals("Alabama", selectedOption);
        }

希望對您有幫助...

暫無
暫無

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

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