Testcafe не может определить, включен ли элемент или отключен - PullRequest
0 голосов
/ 20 февраля 2019

Я использую TestCafe 0.23.3.Я пытаюсь проверить элемент, если он включен или отключен.Вот HTML-узел элемента, когда он отключен:

<button class="MuiButtonBase-root-415 MuiButtonBase-disabled-416 MuiButton-root-3719 MuiButton-text-3721 MuiButton-textPrimary-3722 MuiButton-flat-3724 MuiButton-flatPrimary-3725 MuiButton-disabled-3739" tabindex="-1" type="button" disabled=""><span class="MuiButton-label-3720">Add Person</span></button>

Вот HTML-узел элемента, когда он включен:

<button class="MuiButtonBase-root-415 MuiButton-root-7365 MuiButton-text-7367 MuiButton-textPrimary-7368 MuiButton-flat-7370 MuiButton-flatPrimary-7371" tabindex="0" type="button"><span class="MuiButton-label-7366">Add Person</span><span class="MuiTouchRipple-root-778"></span></button>

Вот мой код TestCafe дляпроверьте элемент:

.expect(Selector('button').withText('Add Person').hasAttribute('disabled'))
.ok();

Приведенный выше код TestCafe проходит как для включенного / отключенного состояния элемента, что является неправильным, так как ожидаемый результат должен проверять, отключен ли элемент.Я не уверен, в чем здесь проблема.

1 Ответ

0 голосов
/ 21 февраля 2019

Как объяснил @lostlemon, такая ситуация возникает при множественном совпадении.

Чтобы иметь только одно совпадение, либо используйте .withExactText('Add Person'), либо используйте регулярное выражение вместо строкового литерала.

Также возможно, что у вас есть невидимые элементы, которые также совпадают.Таким образом, ожидаемое утверждение должно быть переписано так:

const button = Selector('button')
  .with({visibilityCheck: true})
  .withExactText('Add Person');
await t
  .expect(button.hasAttribute('disabled')).ok();
...