为了账号安全,请及时绑定邮箱和手机立即绑定

如果选择了从下拉列表中选择的选项,如何断言。硒。页面对象模型

如果选择了从下拉列表中选择的选项,如何断言。硒。页面对象模型

红颜莎娜 2022-05-25 10:33:56
我需要从下拉列表中选择选项并检查此选项是否已被选中/对用户可见。选择选项的代码:@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>我想选择“阿拉巴马”并使用断言来检查“阿拉巴马”是否真的被选中。我知道我必须编写一个函数,将选择状态的名称发送到字符串。断言它将被包括在这里:@Then("^I see \"([^\"]*)\" in dropdown$")public void iSeeInDropdown(String state) Assert.assertEquals("Alabama",??????);}
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

在 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);

        }

我希望它有帮助...


查看完整回答
反对 回复 2022-05-25
  • 1 回答
  • 0 关注
  • 50 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信