Für Tests Ausführen ich laufen in der Regel über einen separaten Behälter mit:Lauf django Tests mit Selen in Docker
docker-compose run --rm web /bin/bash
Wo Bahn ein Behälter mit django ist. Von einer Shell aus führe ich py.test von Zeit zu Zeit aus.
Um Selen aus einem Container mit Django erreichen zu können und dem Browser aus Selencontainer den Django-Liveserver zu ermöglichen, habe ich mich für den net-Parameter entschieden, der es erlaubt, Container net zu teilen. So fügte ich es zum yml hinzu:
selenium:
image: selenium/standalone-firefox
net: "container:web"
Leider funktioniert das nicht. Ich sehe keinen 4444-Port in meinem Django-Container.
Es funktioniert nur, wenn ich anstelle von net:"container:web"
einen automatisch generierten Container-Namen, wie net:"container:project_web_run_1"
angeben.
Auch habe ich versucht, statt docker-compose run --rm ....
Verwendung docker-compose up --no-deps
command
Parameter py.test functional_tests
ändert, aber das hat nicht funktioniert entweder.
Ist dies das Recht, Selen mit Behältern zu verwenden?
Sie könnten auch die Liveserver-URL in der Umgebung festlegen, sodass Sie sie nicht jedes Mal in der Befehlszeile übergeben müssen, indem Sie 'DJANGO_LIVE_TEST_SERVER_ADDRESS' festlegen. –