#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:
Я проверил ваш код и нашел пару возможных причин, которые могут привести к проблеме.
- У селекторов TestCafe нет
contains
метода, поэтому первый пример неверен. - Хотя я не знаю вашу структуру html, в настоящее время я могу предположить, что нет необходимости передавать
@
символ в аргументе атрибута.
Таким образом, ваш второй пример выглядит допустимым, за исключением @
символа.
Если эта рекомендация не поможет, пожалуйста, предоставьте нам рабочий пример, показывающий проблему, и создайте отдельный отчет об ошибке в репозитории TestCafe, используя следующую форму
Комментарии:
1. извините за задержку ответа, да, вы правы, я должен удалить @ char. Элемент не идентифицируется даже после удаления @ char. Я думаю, есть ли у нас какая-либо другая альтернатива для обработки следующего :: *, Следующего родственного и т.д.
2. Я думаю, что лучший вариант — подготовить образец проекта или URL-адрес вашего веб-сайта, который демонстрирует проблему. Это поможет мне эффективно исследовать проблему. На данный момент довольно сложно определить причину проблемы без примера.