Как указать testCafe на исполняемый файл запуска - PullRequest
2 голосов
/ 14 октября 2019

Я не могу понять, почему (или если это не разрешено) testcafe не будет запускать мой файл класса бегуна. Текущая настройка

package.json:

{
...
 "test:integration": "testcafe ./bin/integration.js",
...
  "devDependencies": {
    ...
    "testcafe": "^1.5.0",
    "testcafe-react-selectors": "^3.2.0",
    ...
}

bin /gration.js (bin на уровне package.json)

const createTestCafe = require('testcafe')
let runner = null
let testcafe = null

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

    return testcafe.createBrowserConnection()
  })
  .then(remoteConnection => {
    // Outputs remoteConnection.url so that it can be visited from the remote browser.
    console.log('remote url:', remoteConnection.url)
    remoteConnection.once('ready', () => {
      runner
        .src('../integration-tests/*test.js*')
        .browsers(['chrome'])
        .run({
          selectorTimeout: 50000,
          assertionTimeout: 7000,
          pageLoadTimeout: 8000
        })
        .then(failed => {
          console.log('failed tests:', failed)
          testcafe.close()
        })
        .catch(error => {
          console.log(error)
        })
    })
  })

Получена ошибка: ERROR Unable to find the browser. "./bin/integration.js" is not a browser alias or path to an executable file.

Что я делаю не так?

Заранее спасибо

1 Ответ

1 голос
/ 14 октября 2019

Насколько я понимаю, вы хотите использовать testcafe API для запуска ваших тестов. В этом случае вам не нужно запускать тесты с помощью команды testcafe.

Команда testcafe обычно ожидает как минимум два аргумента: browsers и sources. Когда вы используете команду testcafe ./bin/integration.js, анализатор аргументов CLI обрабатывает аргумент как псевдоним браузера, поэтому вы видите ошибку.

Полагаю, вам нужно запустить скрипт с помощью следующей команды: node ./bin/integration.js

...