Django Selenium LiveServerTestCase没有在浏览器中加载页面(错误500)

时间:2014-08-13 23:19:31

标签: django selenium

我有一个名为MyApp的测试Django项目,在端口8083上运行WSGI。当我转到http://myapp:8083时,我看到标准的Django“它正在工作”页面。我在Django中使用selenium绑定编写了一个功能测试来启动浏览器并加载上面提到的页面。但是,当我运行测试时,我收到一条错误消息“地址已在使用中”。所以我使用另一个端口运行测试:python manage.py test --liveserver=myapp:8084

这将打开浏览器,但显示“找不到页面”错误而不是默认的Django页面。我究竟做错了什么?有任何想法吗?谢谢!

test.py文件内容:

class CoreSeleniumTestCase(LiveServerTestCase):

    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Chrome()
        cls.driver.maximize_window()
        super(CoreSeleniumTestCase, cls).setUpClass()


    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        super(CoreSeleniumTestCase, cls).tearDownClass()


    def testIndexShouldLoad(self):
        self.driver.get('%s%s' % (self.live_server_url, '/'))

1 个答案:

答案 0 :(得分:1)

我终于找到了问题。在某些时候,Django默认从settings.py文件中删除了MEDIA_ROOT。事实证明,此设置必须在文件中才能使Selenium测试正常工作。一旦我重新引入设置并为其分配了一个目录,Selenium测试就开始按预期工作了。