2017-10-11 1 views
0

데비안을 기반으로 한 도커 이미지가 있으며 우리는 카르마 유닛 테스트를 실행하려고합니다. 우리는 Angular with angular-cli를 사용하고 있기 때문에 기본적으로 ng 테스트를 시작하려고합니다.도커 안에 크롬 헤드가없는 상태에서 ng 테스트 (angular-cli 카르마 테스트)를 실행하십시오.

우리는 phantomJS가 아닌 머리가없는 크롬으로 실행하고 싶습니다. 그렇게하기 위해 우리는 크롬을 설치했고 우리는 이것과 매우 비슷한 파일을 가지고 있습니다 : https://hub.docker.com/r/justinribeiro/chrome-headless/~/dockerfile/.

몇 가지 옵션을 추가하기 위해 카르마 실행기를 구성했지만 문제가 있습니다.

google-chrome --headless --no-sandbox --disable-gpu 

우리는 다음과 같은 오류가 발생했습니다 : 그것은 launche하여 명령을 쉽게 reproductible입니다

libudev: udev_has_devtmpfs: name_to_handle_at on /dev: Operation not permitted 

누군가가 아이디어를 가지고 있습니까? 우리가 조금 붙어 있다는 것을 인정해야합니다. :)

+0

후 귀하의'Dockerfile' –

+0

단지의 FWIW, 나는 유지 https://github.com/joelgriffith/browserless, 도커에서 실행되는 모든 크롬 부분을 담당하는 . 그와 같은 것을 사용하는 것보다 나을 수도 있습니다. –

+0

와우, 고맙습니다. 고마워요! 나는 자유 시간을 얻 자마자 아마도 그것을 시험해 보겠다;) – tanou

답변

1

좋아요, 문제를 발견했는데 실제로 도커와 관련이 없었습니다.

내가 이렇게 내가 올바른 포트에 구글 크롬을 실행 내 사용자 지정 karma.conf에 두 개의 새로운 플래그를 추가했다, 카르마는 http://0.0.0.0:9876/에 자사의 서버를 출시 한 것으로 나타났습니다 :

또한
'--remote-debugging-address=0.0.0.0', 
'--remote-debugging-port=9876' 

, --privileged 속성 (또는 --cap-SYS_ADMIN을 추가했지만 특권은 더 완전 함)으로 컨테이너를 실행해야합니다. 어쩌면 그것은거야 누군가가 도움이

)

+0

broswer에 대한 시험 보고서를 볼 수 없습니까? 여기 내 질문입니다 https://stackoverflow.com/questions/47122422/karma-test-runner-of-angular-in-docker-doesnt-open-in-browser – Karty

관련 문제