我的用例: 我有一个使用JavaScript的自定义Django小部件,我想为它编写测试。我想构建包含窗口小部件呈现的输入的HTML,然后提交此窗体并对传入的POST请求进行一些检查。我认为应该可以使用Selenium和可选的LiveServerTestCase。
但是有几个问题:
如何拦截来自Selenium的请求?或者也许有其他方法可以测试这些东西?
答案 0 :(得分:0)
您链接的Django文档中的示例是关键。在方法test_login
中,您将看到它执行GET请求,然后检查表单中是否存在所有内容。
def test_login(self):
self.selenium.get('%s%s' % (self.live_server_url, '/login/'))
username_input = self.selenium.find_element_by_name("username")
username_input.send_keys('myuser')
password_input = self.selenium.find_element_by_name("password")
password_input.send_keys('secret')
self.selenium.find_element_by_xpath('//input[@value="Log in"]').click()
您应该遵循相同的路径,但随后发帖。
get
并检查您要查看的元素的内容。post
,并检查要查看的元素的内容。另外,你提到了javascript。您需要使用StaticLiveServerTestCase
才能获得javascript。