我正在尝试编写一个使用 Selenium 来测试 Django 视图的功能测试。当用户来到一个页面(“page2”)时,呈现该页面的视图期望找到一个会话变量“uid”(用户 ID)。我已经阅读了六篇关于应该如何完成的文章,但没有一篇对我有用。下面的代码显示了 Django文档说明它应该如何完成,但它对我也不起作用。当我运行测试时,视图永远不会完成执行,并且我收到“发生服务器错误”消息。有人可以告诉我我做错了什么吗?谢谢你。
视图.py:
from django.shortcuts import render_to_response
def page2(request):
uid = request.session['uid']
return render_to_response('session_tests/page2.html', {'uid': uid})
测试.py:
from django.test import LiveServerTestCase
from selenium import webdriver
from django.test.client import Client
class SessionTest(LiveServerTestCase):
def setUp(self):
self.browser = webdriver.Firefox()
self.browser.implicitly_wait(3)
self.client = Client()
self.session = self.client.session
self.session['uid'] = 1
def tearDown(self):
self.browser.implicitly_wait(3)
self.browser.quit()
def test_session(self):
self.browser.get(self.live_server_url + '/session_tests/page2/')
body = self.browser.find_element_by_tag_name('body')
self.assertIn('Page 2', body.text)