【问题标题】:How do I get all django response form data in a test如何在测试中获取所有 django 响应表单数据
【发布时间】: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


【解决方案1】:

您可以使用django-webtest,但在内部它与您使用 BeautifulSoup 的解决方案相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 1970-01-01
    相关资源
    最近更新 更多