在 Selenide 中捕获 shouldHave/shouldBe 方法
Catching shouldHave/shouldBe method in Selenide
我正在编写测试,可能无法正确加载所有字段。我正在考虑使用简单的 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
这不是标准例外。我怎样才能抓住它?
如果这是一个下拉菜单并且是禁用的,那么它应该在 DOM.
中添加一个属性 'disabled'
<select class='xxxx'>
<option disabled='disabled'>
如果你有这个,那么你可以很容易地验证被禁用的元素。
如果没有,您可以先检查它是否显示,然后再检查是否被禁用。
$("select[formcontrolname=\"idenifier\"]").shouldBe(Condition.visible).isEnabled();
这应该 return 你是否启用了下拉菜单。
希望这对您有所帮助..
您可以捕获从 Selenide 的任何断言中抛出的 AssertionError。
虽然你可能不应该,通常当你的断言没有被某个超时满足时,你要么有错误要么断言不正确。
我正在编写测试,可能无法正确加载所有字段。我正在考虑使用简单的 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
这不是标准例外。我怎样才能抓住它?
如果这是一个下拉菜单并且是禁用的,那么它应该在 DOM.
中添加一个属性 'disabled'<select class='xxxx'>
<option disabled='disabled'>
如果你有这个,那么你可以很容易地验证被禁用的元素。
如果没有,您可以先检查它是否显示,然后再检查是否被禁用。
$("select[formcontrolname=\"idenifier\"]").shouldBe(Condition.visible).isEnabled();
这应该 return 你是否启用了下拉菜单。
希望这对您有所帮助..
您可以捕获从 Selenide 的任何断言中抛出的 AssertionError。
虽然你可能不应该,通常当你的断言没有被某个超时满足时,你要么有错误要么断言不正确。