Testcafe может видеть кнопку, но не нажимать на нее - PullRequest
6 голосов
/ 17 апреля 2020

В тесте testcafe, как я могу щелкнуть по элементу, который можно щелкнуть четко (с помощью t.debug() я могу щелкнуть по элементу) и увидеть его, не используя ClientFunction или t.eval - эти «обходные пути» "Рекомендуется в github testcafe, проблемы не работают.

Некоторые дополнительные соображения:

  • код, который я тестирую, Angular 1.7.
  • Selector проверено как правильное (и я пробовал различные типы селекторов)
  • testcafe версия 1.8.4
  • Я пробовал различные t.wait раз до и после выбора и нажмите
  • Я пытался изменить тип элемента (<button> на <div>, et c)

Ответы [ 2 ]

5 голосов
/ 20 апреля 2020

Попробуйте подождать, пока элемент будет виден, прежде чем нажимать

await element.with({ visibilityCheck: true }).with({timeout: 10000});
1 голос
/ 28 апреля 2020

Здесь - некоторые типичные проблемы с не щелкающими элементами, я знаю, что ссылка предназначена для проблем с Selenium, но некоторые решения могут использоваться независимо от используемой технологии.

Если вы уже пробовали с Различные ожидающие решения, которые будут видны / кликабельны. Следующее, что вы можете захотеть проверить, это наличие нескольких элементов с одинаковым идентификатором, один из которых невидим, поэтому TestCafe не может однозначно идентифицировать нужный элемент. В этом случае вам необходимо улучшить локатор.

Еще одна вещь, которую следует учитывать, - это то, что элемент может быть вне области просмотра (если не выполняется отладка). В этом случае попробуйте изменить размер окна (или увеличить его) или перейти к элементу.

...