Django+Selenium测试挂起-死锁



我在Django项目中工作了一段时间,现在正在开发一个新的应用程序,同时尝试用Selenium进行更多的自动化测试。我正在使用http://www.tdd-django-tutorial.com/作为向导。

我正在尝试测试登录我的应用程序的能力。我的测试可以毫不费力地调出页面并填写文本字段,但当它点击提交按钮时,它会挂起——Firefox一直试图加载新页面,但从未发生过。对我来说,这看起来像是僵局,但我还不够了解,不知道发生了什么

其他细节:我使用的是Django内置的登录视图。我有另一个成功登录到管理网站的测试。当我手动测试时,我可以很好地登录到我的应用程序。该应用程序访问远程MySQL数据库。

这是我的测试:

from django.test import TestCase, LiveServerTestCase
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
class BucloudTest(LiveServerTestCase):
"""Tests shared functionality (login, network and app selection)."""
    fixtures = ['24aug2012_dev_auth.json']
    def setUp(self):
        self.browser = webdriver.Firefox()
        self.browser.implicitly_wait(5)
    def tearDown(self):
        self.browser.quit()
    def test_good_login(self):
    """Tests that a user can log in using valid credentials."""
        self.browser.get(self.live_server_url + "/login/")
        user_css = "[placeholder=Username]"
        user_field = self.browser.find_element_by_css_selector(user_css)
        user_field.send_keys("test_user1")
        pw_css = "[placeholder=Password]"
        pw_field = self.browser.find_element_by_css_selector(pw_css)
        pw_field.send_keys("test")
        button = self.browser.find_element_by_css_selector("[value='Sign in']")
        button.click()
        WebDriverWait(self.browser, 30).until(
            lambda driver: driver.find_element_by_tag_name('body'))
        body = self.browser.find_element_by_tag_name("body")
        self.assertIn("Properties", body.text)
        print "ran tests YAY!!"

我用manage.py test functests --liveserver=localhost:8080-8090运行测试。

非常感谢您的建议!

这可能是因为test_good_login()函数的内容没有缩进

最新更新