При запуске cypress с помощью команды docker, cypress type () становится неопределенным - PullRequest
0 голосов
/ 29 февраля 2020

При выполнении теста кипариса с использованием приведенной ниже команды docker из командной строки windows 10 возникает следующая ошибка.

docker run -it -v %cd%:/e2e -w /e2e cypress/included:3.4.0

Но при запуске кипарисового теста с помощью сценария npm run cy:test-uattest из командной строки windows все тесты выполняются успешно. Любая идея, почему команда cy.type() становится неопределенной при выполнении команды docker.

cy.get('input[name="firstInput"]').type(Cypress.env('firstNumber'));

Ниже приведен мой Cypress.env. json file

{
  "numTestsKeptInMemory": 3,
  "firstNumber":"1000"
}

Ошибка при выполнении команды docker:

CypressError: cy.type() can only accept a String or Number. You passed in: 'undefined'
      at Object.cypressErr (https://someurl.net/__cypress/runner/cypress_runner.js:84963:11)
      at Object.throwErr (https://someurl.net/__cypress/runner/cypress_runner.js:84916:18)
      at Object.throwErrByPath (https://someurl.net/__cypress/runner/cypress_runner.js:84947:17)
      at Context.type (https://someurl.net/__cypress/runner/cypress_runner.js:71800:16)
      at Context.<anonymous> (https://someurl.net/__cypress/runner/cypress_runner.js:80518:21)
      at https://someurl.net/__cypress/runner/cypress_runner.js:80223:33
      at tryCatcher (https://someurl.net/__cypress/runner/cypress_runner.js:134216:23)
      at Promise._settlePromiseFromHandler (https://someurl.net/__cypress/runner/cypress_runner.js:132234:31)
      at Promise._settlePromise (https://someurl.net/__cypress/runner/cypress_runner.js:132291:18)
      at Promise._settlePromiseCtx (https://someurl.net/__cypress/runner/cypress_runner.js:132328:10)
      at Async._drainQueue (https://someurl.net/__cypress/runner/cypress_runner.js:129145:12)
      at Async._drainQueues (https://someurl.net/__cypress/runner/cypress_runner.js:129150:10)
      at <anonymous>

1 Ответ

2 голосов
/ 29 февраля 2020

Основываясь на комментариях, это требует дополнительного изучения.

Тем временем вы можете использовать переменные окружения:

Создать файл .env (имя не важно, если вы используете то же самое на следующем шаге) со следующим содержимым:

CYPRESS_numTestsKeptInMemory=3
CYPRESS_firstNumber=1000

Запустите ваши тесты в docker с:

docker run -it -v %cd%:/e2e -w /e2e --env-file .env cypress/included:3.4.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...