Since Django 1.11 ,选项 --liveserver
已从 manage.py test
命令中删除。
我使用此选项允许使用以下命令从机器的 ip 地址而不是 localhost
访问 liveserver:
./manage.py test --liveserver=0.0.0.0:8000
不幸的是,这个选项没有了,我正在寻找一个新的解决方案来允许我的 Docker Selenium 图像在测试期间访问我的 LiveServerTestCase。
最佳答案
我通过覆盖 StaticLiveServerTestCase
并更改 host
属性找到了解决方案。
例子:
import socket
from django.contrib.staticfiles.testing import StaticLiveServerTestCase
class SeleniumTestCase(StaticLiveServerTestCase):
@classmethod
def setUpClass(cls):
cls.host = socket.gethostbyname(socket.gethostname())
super(SeleniumTestCase, cls).setUpClass()
通过这个解决方案,我的机器的 IP 被赋予了 setUpClass LiverServerTestCase
因为 default value是 localhost
。
所以现在我的 liveserver 可以在我的本地主机之外访问,通过使用 IP..
关于python - 使用 Django 1.11 从 Docker Selenium 运行 LiveServerTestCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44240139/