Проверка кликабельности элемента Selenium web driver

В шаге тест кейса прописано: проверить что кнопка не кликабельна, т.е отображается серым цветом и после нажатия ничего не происходит. Имеющиеся методы isDisplayed() и isEnabled() не подходят, т.к кнопка отображается, и в атрибутах не прописано что она disanabled() ( прошу прощения, если написала неграмотно, пишу с телефона. )
Какие варианты или логические шаги следует попробовать? Возможно кликабельность определяется JS, или крайний вариант, проверить что после клика( а она кликается) не происходит никаких действий, т.е я осталось на прежней странице, проверить например заголовок? Но этот вариант кривой, тк действия по клику могут происходить на этой странице, или могут вылазить эксепшены, т.е это ведёт за собой множество проверок

А Вы спросите у своих фронтендеров по какому критерию понять что она не кликабельна. Скорей всего там стоит заглушка типо href=’#’

можно ещё посмотреть атрибуты элемента, наверняка там есть что-то вроде enabled\disabled true\false
можно получать outerhtml кнопки и проверять, какое значение содержит полученная строка

вот html код неактивной кнопки Edit

<tr class="sub_item_dis" id="DKbrN5ZE0bAr_Edit">
<td class="sub_item_icon">&nbsp;</td>
<td class="sub_item_text">
<div class="sub_item_text">Edit</div></td>
<td class="sub_item_hk">&nbsp;</td></tr>

и код активной (кликабельной) кнопки Copy. видно что они идентичны

<tr class="sub_item" id="DKbrN5ZE0bAr_SaveAs">
<td class="sub_item_icon">&nbsp;</td>
<td class="sub_item_text">
<div class="sub_item_text">Copy</div></td>
<td class="sub_item_hk">&nbsp;</td></tr>

единственное, при наведении на кнопку Copy меняется название класса с sub_item на sub_item_selected, а при наведении на Edit не меняется соответственно, может с этим поиграться?

PS Коммуникаций с разрабами не имеется, только с ручниками, но они мир видят как то иначе )

берите css проперти и можете проверять цвет
алгоритм примерно такой

  • ассерт цвет №1
  • hover или какое там действие изменяет состояние
  • ассерт цвет №2
1 лайк

ну можно через actions наводить курсор на элемент и проверять изменение outerhtml

Проверяйте этот класс class=“sub_item_dis”
Он означает disable

2 лайка