2
我正在嘗試爲用戶在訪問某些url之前不需要登錄的項目創建功能測試。我通過創建預先認證的會話來欺騙網站,使其認爲測試用戶已經登錄。在django/selenium中創建預認證會話Web測試
我加載了一個虛擬url的webdriver實例,在dbase中創建一個虛擬用戶,設置了會議在後端,然後添加會話cookie到網絡驅動程序如下: -
from django.utils.importlib import import_module
def load_dummy_url(self):
driver.get(self.live_server_url + '/404-not-found')
def create_session_store():
engine = import_module(settings.SESSION_ENGINE)
store = engine.SessionStore()
store.save()
return store
def pre_create_login():
user = get_user_model().objeects.create_user(email='[email protected]', first_name='user1', password='pass1')
session_store = create_session_store()
session_store[SESSION_KEY] = user.pk
session_store.save()
return session_store.session_key
def add_cookie_to_browser():
driver.add_cookie(dict(name=settings.SESSION_COOKIE_NAME, value= pre_create_login()))
然而,加載需要用戶身份驗證的另一個網址仍然重定向到登錄頁面的請求包含AnonymousUser作爲試驗場不認爲用戶已登錄。
有沒有什麼我在這裏做錯了?
注意:上面的代碼片段沒有遵循好的編碼模式。它只是一個確切代碼的簡單複製品。
Tanx很多。這一定會奏效。 –