【发布时间】:2013-02-22 13:53:08
【问题描述】:
我想编写一个通用的 django 测试,通过简单地请求任意编辑 URL 来测试视图,在响应上下文中获取表单中的所有数据,然后将其 POST 到相同的 URL 而不进行更改。
django 是否提供了一种简单的方法来从响应对象中获取所有这些表单数据,即任何响应对象的方式?一个问题是不知道表单在 response.context 中的位置。
编辑:澄清:- 如果响应 html 只有一个表单,则检索该表单中的所有数据,如果用户只需点击提交按钮,将发送这些数据,并将其发布到相同的 URL。
睡过之后,使用 BeautifulSoup 解析响应内容,查找表单并提取数据,这将是一个简单的解决方案,并且比查看 response.context 更接近用户实际看到的内容(例如,模板不必呈现表单,因此用户可能实际上看不到它)。唯一的缺点是它会有点慢,我要运行数百个这样的测试。
有更好的想法吗?
【问题讨论】:
-
我根本没有关注你的问题。视图中设置的任何变量都将在响应上下文中可用:docs.djangoproject.com/en/1.4/topics/testing/#testing-responses
-
当你说“获取所有 POST-able”数据时......你在说什么?
-
在我的编辑中澄清:- 假设 HTML 中有一个表单,如果用户简单地提交它而不进行更改,则该表单将提交的所有数据。
标签: django forms testing response