在Selenide中捕获shouldHave / shouldBe方法

时间:2018-07-20 10:49:55

标签: java selenium selenide

我正在编写测试,可能无法正确加载所有字段。我当时正在考虑使用简单的try / catch,但是当我使用

http.authorizeRequests().antMatchers("/login").permitAll().antMatchers("/admin/**").access("hasRole('ADMIN')").antMatchers("/**").denyAll();

我得到:

$("select[formcontrolname=\"idenifier\"]").shouldBe(disabled);

这不是标准例外。我怎么抓到它?

2 个答案:

答案 0 :(得分:1)

您可以捕获从Selenide的任何断言引发的AssertionError。

您可能不应该这样做,通常是在某个超时未满足您的断言时,您要么有错误,要么有不正确的断言。

答案 1 :(得分:0)

如果这是一个下拉菜单,并且是一个禁用的下拉菜单,则应该在DOM中添加一个属性“ disabled”。

<select class='xxxx'>
    <option disabled='disabled'>

如果有此功能,则可以轻松地验证已禁用的元素。

如果没有,您可以先检查是否显示,然后再检查是否已禁用。

$("select[formcontrolname=\"idenifier\"]").shouldBe(Condition.visible).isEnabled();

如果下拉列表启用或未启用,则应该返回您。

希望这会有所帮助。