Как запустить все тестовые сценарии на одном экземпляре браузера - PullRequest
0 голосов
/ 08 ноября 2019

Я использую Testcafe (бесплатная версия) с Java Script. Я хочу запустить все мои тестовые случаи (находятся в нескольких тестовых сценариях в каталоге __test__) в одном экземпляре браузера (таким образом, 1 раз вход) для каждого типа браузера.

  1. Например, 1 экземпляр для Chrome и 1 экземпляр для Safari, но все тесты будут выполняться до закрытия браузера.
  2. Если тест не пройден, я хочу сделать снимок экрана и подсчитать числоиспытания не пройдены. Но хочу продолжить.
  3. Я делаю все на образе Nocker 12 Docker, так что лучше, если мне не нужно устанавливать что-либо еще.

Как мне это сделать с Testcafe?

const createTestCafe = require('testcafe')

let testcafe = null
let runner = null

createTestCafe('localhost', 1337, 1338)
  .then(tc => {
    testcafe = tc

    const runner = testcafe.createRunner()

    return runner
      .src([ '__test__/*.js' ])
      .browsers([ 'chrome:headless --no-sandbox --disable-gpu', 'safari' ])
      .screenshots('./reports/screenshots/', true)
      .run({
        selectorTimeout: 10000,
        assertionTimeout: 10000,
      })
  })

runner
  .screenshots({
    path: 'reports/screenshots/',
    takeOnFails: true,
  })
  .then(failedCount => {
    console.log('Tests failed: ' + failedCount)

    testcafe.close()
  })
  .catch(error => {
    console.log("An ERROR detected:" + error)
  })

Так вы устанавливаете Chrome в Dockerfile. Может кто-нибудь сказать мне, как установить Firefox на Dockerfile?

RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' && \
  http_proxy=${http_proxy} https_proxy=${https_proxy} apt-get update && \
  http_proxy=${http_proxy} https_proxy=${https_proxy} apt-get install -y --allow-unauthenticated google-chrome-stable && \
  apt clean && rm -rf /var/lib/apt/lists/*

1 Ответ

1 голос
/ 11 ноября 2019

Невозможно выполнить все требования сразу.

1) Например, 1 экземпляр для Chrome и 1 экземпляр для Safari, но все тесты будут запущены до закрытия браузера.

Невозможно установить веб-браузеры Chrome и Safari на образ докера. На него можно установить только Chromium и Firefox. См. Раздел справки Использование TestCafe docker для получения дополнительной информации.

2) Если тест не пройден, я хочу сделать снимок экрана и подсчет количества тестов не пройден. Но я хочу продолжить.

TestCafe Живой режим работает таким же образом, но недоступен в докере.

...