2014-05-11 2 views
6

firefox를 백엔드로 사용하여 watir webdriver에서 일부 작업을 수행해야하는 레일 응용 프로그램 (컨테이너 A라고 부름)을 실행하는 도커 컨테이너가 있습니다. Firefox는 도미노 컨테이너에있는 다른 셀러늄에 액세스 할 수 있습니다.

나는 파이어 폭스가 다른 컨테이너 (컨테이너 B)에 설치하고 난 컨테이너에서 같은 것을 통과 할 수 있도록하려면 : 그래서

Selenium::WebDriver::Firefox::Binary.path= $DOCKER_RUN_CONTAINER_A 

를, 각 시간 Watir과 파이어 폭스는 CONTAINER_A의 새로운 인스턴스가 출시 시작 새로운 파이어 폭스.

컨테이너를 포트를 사용하여 통신하기가 쉽지만 실행 파일은 어떨까요? 그런데 파이어 폭스를 별도의 컨테이너에 격리시키는 것이 좋은 디자인 아이디어입니까?

+1

이것은 흥미로운 질문입니다. 슬픈 대답이 없습니다. 당신이 직접 대답 할 수있는 지점에 도착 했습니까? –

+1

@AbeHeward, 나는 elgalu/docker-selenium 이미지를 사용하여이 문제를 해결하고 fig (이제 docker-compose라고 함)를 사용하여 이미지를 연결합니다. – TopperH

답변

1

네, 쉽게 할 수 있습니다. docker 서버 (포트 5555 또는 기타)의 전경에있는 Selenium Grid (기본적으로 그리드 노드 하이브리드 콤보) 인스턴스를 실행하면됩니다. 그런 다음 Ruby와 Selenium 바인딩 (WatiR이 아님)을 사용하여 원격 상자에서 Firefox 브라우저를 구동 할 수 있습니다.

관련 문제