Flask 登錄和登出

2021-08-10 17:35 更新

我們應(yīng)用的大部分功能只允許具有管理員資格的用戶(hù)訪問(wèn)。所以我們需要 一種方法來(lái)幫助我們的測(cè)試客戶(hù)端登陸和登出。為此,我們向登陸和登出 頁(yè)面發(fā)送一些請(qǐng)求,這些請(qǐng)求都攜帶了表單數(shù)據(jù)(用戶(hù)名和密碼),因?yàn)?登陸和登出頁(yè)面都會(huì)重定向,我們將客戶(hù)端設(shè)置為 follow_redirects 。

將如下兩個(gè)方法加入到您的 FlaskrTestCase 類(lèi):

def login(self, username, password):
    return self.app.post('/login', data=dict(
        username=username,
        password=password
    ), follow_redirects=True)

def logout(self):
    return self.app.get('/logout', follow_redirects=True)

現(xiàn)在我們可以輕松的測(cè)試登陸和登出是正常工作還是因認(rèn)證失敗而出錯(cuò), 添加新的測(cè)試函數(shù)到類(lèi)中:

def test_login_logout(self):
    rv = self.login('admin', 'default')
    assert 'You were logged in' in rv.data
    rv = self.logout()
    assert 'You were logged out' in rv.data
    rv = self.login('adminx', 'default')
    assert 'Invalid username' in rv.data
    rv = self.login('admin', 'defaultx')
    assert 'Invalid password' in rv.data
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)