有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

这不是一个标准的例外。我怎样才能抓住它


共 (2) 个答案

  1. # 1 楼答案

    如果这是一个下拉列表和一个已禁用的下拉列表,那么它应该在DOM中添加一个属性“disabled”

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

    如果你有这个,那么你可以很容易地验证元素被禁用

    如果没有,你可以先检查它是否显示,然后再检查它是否被禁用

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

    如果下拉列表已启用或未启用,则应返回

    希望这有帮助

  2. # 2 楼答案

    您可以捕获从Selenide的任何断言中抛出的断言错误

    不过,您可能不应该这样做,通常当您的断言在特定的超时时间内没有得到满足时,您可能有一个错误或错误的断言