python - 使用 Django 1.11 从 Docker Selenium 运行 LiveServerTestCase

标签 python django selenium docker django-1.11

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 valuelocalhost

所以现在我的 liveserver 可以在我的本地主机之外访问,通过使用 IP..

关于python - 使用 Django 1.11 从 Docker Selenium 运行 LiveServerTestCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44240139/

相关文章:

python - 从多行包含空值的数据帧创建平面数据帧

python - 如何从gensim中的文档中删除停用词?

python - 如何使用点列表的 (x,y) 坐标绘制 networkx 图?

python - 重写 save 方法以在 Django 中创建第二个自动递增字段

R - 使用 PhantomJS 等待页面在 RSelenium 中加载

java - cucumber 无法解析为类型

Python 有序字典到常规字典

python - 在 python 中为文件名 (amazon S3) 添加动态内容配置

python - "Import Error: No module named urls"与 Django 1.8 和 Rest Framework 3.7

node.js - 了解 npm 的 "skippingAction Module is inside a symlinked module"