Невозможно отладить браузер TestCafe, работающий в контейнере docker - PullRequest
3 голосов
/ 20 февраля 2020

Я пытался выяснить проблему, которая возникает только в моей среде TestCafe docker, но не в локальной среде. Для этого я хотел бы отладить TestCafe docker во встроенном chromium или firefox. Я следил за обсуждением здесь , но у меня это не сработало.

Это команда, которую я использую для запуска моего docker контейнера:

docker run --net=host -e NODE_OPTIONS="--inspect-brk=0.0.0.0:9229" -v `pwd`:/tests -v `pwd`/reporter:/reporters -w /reporters -e userEmail=admin@test.com -e userPass=password -e urlPort=9000 --env-file=.env testcafe 'firefox' '/tests/uitests/**/concurrentTests/logintest.js' --disable-page-caching -s takeOnFails=true --reporter 'html:result.html',spec,'xunit:res.xml' 

Выполнение вышеуказанного с -p 9229:9229 или без этого - вот что я вижу:

Debugger listening on ws://0.0.0.0:9229/66cce714-31f4-45be-aed2-c50411d18319
For help, see: https://nodejs.org/en/docs/inspector

Когда я go на ссылку ws://0.0.0.0:9229/66cce714-31f4-45be-aed2-c50411d18319 в браузере Chrome / Firefox, тогда ничего не происходит. Кроме того, chrome://inspect/#devices это пусто

Мое ожидание:

Я хотел бы видеть веб-страницу в браузере, чтобы знать, что происходит за кулисами. Кроме того, я хотел бы видеть, что куки и другие вызовы API делаются.

Подскажите, пожалуйста, как справиться с этой ситуацией.

Ответы [ 2 ]

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

Кажется, проверка узла не работает с сетью host по некоторым причинам. Попробуйте удалить параметр --net=host и добавить параметр -p 127.0.0.1:9229:9229. Затем содержащийся процесс узла должен появиться в DevTools (на chrome://inspect) в разделе «Удаленная цель #LOCALHOST».

Кроме того, вам необходимо удалить параметр -e NODE_OPTIONS="--inspect-brk=0.0.0.0:9229" и добавить флаг --inspect-brk=0.0.0.0:9229 после testcafe/testcafe чтобы избежать ошибки «Запуск инспектора с 0.0.0.0:9229: адрес уже используется».

1 голос
/ 24 февраля 2020

Когда вы видите сообщение Debugger listening on ws://0.0.0.0:9229/66cce714-31f4-45be-aed2-c50411d18319 (или подобное), перейдите по URL-адресу http://localhost:9229/json в браузере и найдите devtoolsFrontendURL:

enter image description here

Скопируйте и вставьте его в браузер, чтобы начать сеанс отладки:

enter image description here

...