Селектор Testcafe для идентификации элемента внутри определенного компонента структуры DOM

#dom #css-selectors #automated-tests #e2e-testing #testcafe

#dom #css-селекторы #автоматизированные тесты #e2e-тестирование #testcafe

Вопрос:

Как преобразовать приведенный ниже относительный путь в селектор TestCafe?

//a[содержит(@name,’indent’)]/parent::div//span[содержит(text(),’Follow’)]

Если я попробую вышеуказанный, он распознает конкретный компонент DOM, который содержит несколько элементов, и один из них — «Следовать».

как добиться этого с помощью селекторов TestCafe.

Мне не удалось выполнить следующий: Селектор (‘a’).С атрибутом (‘@name’,’indent’).parent(‘div’).child(‘span’).contains(‘Follow’)

Селектор (‘a’).С атрибутом(‘@name’,’indent’).parent(‘div’).child(‘span’).С текстом(‘Follow’)

Ответ №1:

Я проверил ваш код и нашел пару возможных причин, которые могут привести к проблеме.

  1. У селекторов TestCafe нет contains метода, поэтому первый пример неверен.
  2. Хотя я не знаю вашу структуру html, в настоящее время я могу предположить, что нет необходимости передавать @ символ в аргументе атрибута.

Таким образом, ваш второй пример выглядит допустимым, за исключением @ символа.

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

Комментарии:

1. извините за задержку ответа, да, вы правы, я должен удалить @ char. Элемент не идентифицируется даже после удаления @ char. Я думаю, есть ли у нас какая-либо другая альтернатива для обработки следующего :: *, Следующего родственного и т.д.

2. Я думаю, что лучший вариант — подготовить образец проекта или URL-адрес вашего веб-сайта, который демонстрирует проблему. Это поможет мне эффективно исследовать проблему. На данный момент довольно сложно определить причину проблемы без примера.