Selenide中的java捕获shouldHave/shouldBe方法
我正在编写一个测试,可能无法正确加载所有字段。我正在考虑使用简单的try/catch,但是当我使用
$("select[formcontrolname=\"idenifier\"]").shouldBe(disabled);
我得到:
Element should be disabled {input[type="text"]}
Element: '<input class="col-md-8 col-sm-12 col-xs-12 with-tooltip ng-untouched ng-pristine ng-invalid" formcontrolname="identifier" placeholder="e.g. "America" type="text"></input>'
Actual value: enabled
这不是一个标准的例外。我怎样才能抓住它
# 1 楼答案
如果这是一个下拉列表和一个已禁用的下拉列表,那么它应该在DOM中添加一个属性“disabled”
如果你有这个,那么你可以很容易地验证元素被禁用
如果没有,你可以先检查它是否显示,然后再检查它是否被禁用
如果下拉列表已启用或未启用,则应返回
希望这有帮助
# 2 楼答案
您可以捕获从Selenide的任何断言中抛出的断言错误
不过,您可能不应该这样做,通常当您的断言在特定的超时时间内没有得到满足时,您可能有一个错误或错误的断言