Testcafe - Как установить относительный вместо абсолютного пути скриншота в отчетах - PullRequest
0 голосов
/ 25 февраля 2019

Я использую спецификации и отчеты xunit.Мой .testcaferc.json:

    {
  "screenshotPath": "artifacts/screenshots",
  "takeScreenshotsOnFails": true,
  "screenshotPathPattern": "${DATE}_${TIME}/${USERAGENT}/test-${TEST_INDEX}.png"
}

Когда в спецификации и в отчетах xunit тест не пройден, отображается ссылка на скриншот, но эта ссылка имеет абсолютный путь.Это нормально, когда я запускаю тесты локально.При запуске в Jenkins CI / CD отчет об опубликованном xunit не может найти снимок экрана с использованием абсолютного пути из-за использования относительного пути из папки «workspace».Есть ли способ настроить Testcafe, чтобы поместить относительный путь в testRunInto.screenshotPath.Мне нужен относительный путь к скриншотам для любых поставщиков отчетов.

Upd: Я использую сервер агента Jenkins для запуска теста.Абсолютный путь к рабочему пространству в этом случае: /home/jenkins/workspace/e2e.Снимки экрана расположены по относительному пути: artifacts/screenshots или по абсолютному пути /home/jenkins/workspace/e2e/artifacts/screenshots.В отчете xunit (или любом другом) мы получили абсолютный путь для скриншотов.Когда все тестирование завершилось, агент Jenkins отправил всю рабочую область на сервер Master Jenkins, и абсолютный путь к рабочей области стал: /home/jenkins/job/test/ws/e2e и путь к скриншотам: /home/jenkins/job/test/ws/e2e/artifacts/screenshots.Затем Jenkins после сборки публикует «Отчет о результатах теста Junit».Но внутри этого отчета у нас есть абсолютный путь к скриншоту, полученный от Jenkins Agent Server.В результате мастер Дженкинс не может найти скриншот, когда показывает отчет о результатах теста.Ранее я использовал Selenium и Maven или Gradle для запуска теста, и к скриншотам относительный путь относительный.

1 Ответ

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

В настоящее время TestCafe не имеет возможности использовать относительные пути в отчетах.Я создал предложение в репозитории TestCafe для вашего случая - https://github.com/DevExpress/testcafe/issues/3497. Если эта функция важна для вас, вы можете попробовать реализовать ее самостоятельно.Это не сложно.Вам нужно сделать следующее: добавить новую опцию (см. Пример здесь ) и изменить механизм разрешения пути в зависимости от этой опции (см. Пример здесь ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...