Python 使用Django测试工作获取live_服务器设备

Python 使用Django测试工作获取live_服务器设备,python,django,selenium-webdriver,pytest,pytest-django,Python,Django,Selenium Webdriver,Pytest,Pytest Django,我想一起使用pytest、pytest-django和pytest-selenium来测试我的django应用程序功能。如果我使用python manage.py runserver手动启动服务器,并手动输入URL,则可以正常工作 pytest-django中的live_服务器fixture应该在后台启动一个服务器进程,我可以使用它,但它不起作用。我得到的不是通过测试,而是“在此服务器上找不到请求的资源” 以下是我的文件的相关部分: pytest.ini [pytest] DJANGO_SETT

我想一起使用
pytest
pytest-django
pytest-selenium
来测试我的django应用程序功能。如果我使用
python manage.py runserver
手动启动服务器,并手动输入URL,则可以正常工作

pytest-django
中的
live_服务器
fixture应该在后台启动一个服务器进程,我可以使用它,但它不起作用。我得到的不是通过测试,而是“在此服务器上找不到请求的资源”

以下是我的文件的相关部分:

pytest.ini

[pytest]
DJANGO_SETTINGS_MODULE = chatsite_api.settings.test
addopts = --liveserver localhost:8080  --cov=. --cov-report=html --driver Firefox
test_pages.py

import pytest

def test_homepage(selenium, live_server):
    selenium.get(live_server.url)
    assert "Django: the Web framework" in selenium.title
和chatsite_api.settings.test.py

from .dev import *  # NOQA

DATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3", "NAME": ":memory:"}}

DEBUG = True

正如我所说的,当我自己启动服务器时,测试运行良好,但是live_服务器设备似乎没有达到预期的效果。我已经验证了
live_server.url
是根据pytest.ini中的
addopts
行设置的,但这是我所能做到的。

如果您是针对默认索引页(带有“安装成功!恭喜!”问候语的页面)进行测试,它仅在使用
DEBUG=True
运行开发服务器时显示。特别是,它不会出现在测试中。如果要使用该视图,需要像其他视图一样,在
url
模块中显式配置它:

# urls.py
from django.urls import path
from django.views.debug import default_urlconf


urlpatterns = [
    path('', default_urlconf, name='index'),
]

您正在测试默认登录页吗?它仅显示用于演示目的,不会在live server启动时显示。你能显示你的
url.py
模块吗?如果你需要默认页面,你可以通过django.views.debug import default\u urlconf中的
将其设置为索引页面;urlpatterns=[path(“”,默认值_urlconf,name='index')]
Duh。非常感谢。想把这个问题写进一个答案,这样我就可以相信你解决了这个问题?