Python 使用LiveServerTestCase对Flask应用程序进行单元测试

Python 使用LiveServerTestCase对Flask应用程序进行单元测试,python,selenium,flask,Python,Selenium,Flask,我使用的是Python 3.4。我正在尝试使用Selenium编写测试。我正在使用它作为模板。以下是我的课程设置方式: class APITestCase(LiveServerTestCase): def create_app(self): app = create_app('testing') return app def setUp(self): self.display = Display(visible=0, size=

我使用的是Python 3.4。我正在尝试使用Selenium编写测试。我正在使用它作为模板。以下是我的课程设置方式:

class APITestCase(LiveServerTestCase):
    def create_app(self):
        app = create_app('testing')
        return app 

    def setUp(self):
        self.display = Display(visible=0, size=(1024, 768))
        self.display.start()
        self.driver = webdriver.Firefox()

    def tearDown(self):
        self.driver.close()
        self.display.stop()
作为我唯一的测试:

    def test_register(self):
        register_link = self.get_server_url() + url_for('register')
        self.driver.get(register_link)
我有一个404。即使使用请求库,我仍然得到404

我确信/register是为
register
view函数定义的,因为我在调用
self.driver.get(register\u link)
之前正在打印路线,方法如下:


此外,如果我在
create\u app
函数中使用
self.client=app.test\u client()
初始化测试客户端,我可以使用
self.client.get
self.client.post
正常访问路由,但这违背了Selenium的目的。

测试运行时
register\u link
的值是多少?
http://localhost:5001/register
哪个是正确的。如果您使用web浏览器访问它,就我所知,当使用命令
python manage.py test
测试应用程序时,它只会在测试期间实例化应用程序,而不是404。
setUp
tearDown
方法为每个测试调用
create\u app
方法。因此,我无法使用web浏览器访问。在进行这些测试时,每次只需要几秒钟。