Кипарисовые тесты периодически терпят неудачу

Мы отлаживаем неудачные тесты на кипарис в течение нескольких дней и, похоже, не можем сузить причину. Тесты выполняются в нашем конвейере GitLab CICD.

Ошибка мы видим в логах:

Uncaught (в обещании): TypeError: Невозможно преобразовать undefined или null в объект \ nTypeError: Невозможно преобразовать undefined или null в объект \ n в Function.keys () \ n в MapSubscriber.project (https: // localhost: 49152 / main. 2e49092b1a3db7b9c078.js: 8506: 28) \ n в MapSubscriber.push ../ node_modules / rxjs / _esm5 / internal / operations / map.js.MapSubscriber._next …

Мы добавили плагин cypress, чтобы повторно запустить любой тест, если он не прошел, и он всегда проходит второй раз. Это не один и тот же тест, который каждый раз терпит неудачу, он меняется. Кажется, что сбой происходит из-за того, что страница не отображается из-за ошибки выше, но неясно, из-за чего эта ошибка.

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

Есть идеи, на что мы могли бы взглянуть, чтобы узнать, что не так?

Похоже на проблему с синхронизацией, а также на возможный промах при неопределенном параметре. Шаг 1) ничего не делайте в этих тестах, пока не будет выполнена проверка правильности входных параметров. Шаг 2) Используйте собственные процедуры ожидания Cypress, чтобы убедиться, что контент есть. Я написал серию статей о Cypress, которые могут помочь разработчикам .to / jwp / angular-and-cypress-in-20-minutes-21be   —  person Justin    schedule 07.10.2020

Я также подумал, что это может быть состояние гонки, но оказалось, что это проблема с памятью Chrome в Docker. Смотрите ответ.   —  person Justin    schedule 07.10.2020

См. также:  Булева функция в C
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Justin

    Мы смогли получить более полезную ошибку после добавления пакета регистрации в Cypress для нашего интерфейса.

    ошибка (сеть): не удалось загрузить ресурс: net :: ERR_INSUFFICIENT_RESOURCES

    Наша проблема оказывается открытой проблемой с Cypress, когда Chrome съедает слишком много памяти и вызывает сбой Docker.

    Проблема и решение опубликованы здесь: https://github.com/cypress-io/cypress/issues/7457

    Следуйте https://docs.cypress.io/guides/guides/continuous-integration.html#In-Docker, а затем установка —ipc = host в наших контейнерах докеров [решит] проблему.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: