2014-05-11 42 views
6

Tôi có một thùng chứa docker đang chạy ứng dụng đường ray (hãy gọi nó là vùng chứa A) cần thực hiện một số thao tác với trình quản lý web watir bằng cách sử dụng firefox làm phụ trợ.Firefox trong thùng chứa docker có thể truy cập từ selen trong một số khác

Tôi có firefox cài đặt trong thùng chứa khác (chứa B) và tôi muốn để có thể vượt qua trong vùng chứa A cái gì đó như:

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

Vì vậy, mỗi lần watir ra mắt firefox một trường hợp mới của CONTAINER_A ra mắt firefox mới.

Tôi biết thật dễ dàng để làm cho các thùng chứa giao tiếp bằng cách sử dụng cổng, nhưng làm thế nào để thực thi? Và, bằng cách này, nó trông giống như một ý tưởng thiết kế tốt cô lập firefox trong một container riêng biệt?

+1

Đây là một câu hỏi thú vị. Buồn không có câu trả lời. Bạn đã bao giờ đến một điểm mà bạn có thể tự mình trả lời? –

+1

@AbeHeward, tôi đã giải quyết được vấn đề bằng cách sử dụng hình ảnh elgalu/docker-selenium và liên kết hình ảnh bằng cách sử dụng hình fig (bây giờ được gọi là docker-compose). – TopperH

Trả lời

1

Có, điều này rất dễ thực hiện. Chỉ cần chạy một thể hiện của Selenium Grid (là một combo kiểu nút lưới theo mặc định), trong nền trước trên máy chủ docker (trên cổng 5555 hoặc bất cứ thứ gì). Sau đó, bạn có thể sử dụng Ruby với các liên kết Selenium (không phải WatiR) để lái trình duyệt firefox trên hộp điều khiển từ xa.

Các vấn đề liên quan