Как обслуживать локальный файл вместо реального ресурса с кукловодом? - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь создать тесты E2E для моего веб-приложения с кукловодом.Я хотел бы работать в моем общедоступном домене с локальными js-файлами, поэтому я получаю полное публичное поведение, и только js является результатом моей локальной сборки.

Я знаю, как перехватывать запросы на пакеты js, но, глядя на документацию request.respond, я не мог понять, как обслуживать файл, отличный от локального диска

1 Ответ

0 голосов
/ 15 октября 2018

Нашел решение, оно работает, даже если это не самый лучший способ.Это позволяет запускать тесты e2e в сборке CI с помощью веток js bundles.После перехвата запроса пакета js я прерываю его.Затем я вставляю тег сценария с путем к локальному пакету js относительно корня проекта -

page.on('request', async interceptedRequest => {
      const url = interceptedRequest.url()
      if (jsBundleRegex.test(url)) {
        const fullLocalFileName = findMatchingBundleFileName(url)
        await page.addScriptTag({
          path: `./build/static/js/${fullLocalFileName}`
        })
        interceptedRequest.abort()
      } else {
        interceptedRequest.continue()
      }
...