簡體   English   中英

在 flask 路由模板單元測試中測試 html 元素

[英]Testing the html elements in flask routing templates unittest

我有一個帶有雲數據庫的 flask 應用程序的登錄頁面,我想在登錄后測試結果,具體來說,我想在登錄后測試 HTML 元素。我見過人們測試返回狀態代碼或使用assertIn來檢查是否數據存在。

有沒有辦法讓我定位一個特定的 HTML 標簽,比如<h1 id="userTitle"> </h1>在 POST 用戶名后渲染的模板,密碼到路由 function login()

    def test_users_login(self):
        result = self.app.post('/login', data=dict(username='Nicole', password='abc123'), follow_redirects=True)

        # I want to check the HTML tag's text value data after logging in
        self.assertEqual(result.data.getTag("h1", b"Nicole") #What I imagined using <h1>
        self.assertEqual(result.data.getId("user", b"Nicole") #What I imagined using id


        #This returns true which is okay, because 'Nicole' exists in the whole page
        self.assertIn(b'Nicole', result.data) 

在我渲染的 jinja2 模板中,我有這個是登錄后的。

 <h1 id="userTitle">{{ session['username'] }},Welcome!</h1>

我猜 assertIn 效果很好,但我只想知道如何在不運行瀏覽器測試的情況下測試 HTML 標記。

雖然我沒有從這里得到正確的答案,但我只是通過檢查頁面內容設法用assertIn進行了單元測試。
感謝大家

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM