Đối với thực hiện các bài kiểm tra tôi thường chạy một container riêng biệt với:Chạy thử nghiệm django với selen trong Docker
docker-compose run --rm web /bin/bash
đâu web là một container với django. Từ một trình bao, tôi thực thi py.test theo thời gian.
Để có thể tiếp cận selen từ thùng chứa với django và để cho phép trình duyệt từ vùng chứa selen để truy cập máy chủ cuộc sống của django, tôi đã quyết định sử dụng tham số "net" cho phép vùng chứa chia sẻ lưới. Vì vậy, tôi đã thêm nó vào yml:
selenium:
image: selenium/standalone-firefox
net: "container:web"
Thật không may điều này không hoạt động. Tôi không thấy cổng 4444 trong thùng chứa django của tôi.
Chỉ hoạt động nếu thay vì net:"container:web"
Tôi chỉ định tên của vùng chứa tự động phát, như net:"container:project_web_run_1"
.
Ngoài ra, tôi đã thử thay vì docker-compose run --rm ....
sử dụng docker-compose up --no-deps
thay đổi thông số command
thành py.test functional_tests
nhưng điều đó cũng không hoạt động.
Đây có phải là quyền sử dụng selen có chứa không?
Bạn cũng có thể đặt URL máy chủ trong môi trường, do đó bạn không phải chuyển nó trên dòng lệnh mỗi lần, bằng cách đặt 'DJANGO_LIVE_TEST_SERVER_ADDRESS'. –