1

关于 Rails 框架,我发现了一些我非常喜欢的东西,能够使用 css 选择器非常轻松地测试模板的输出,例如测试页面中有多少“li”元素,如果存在具有特定 ID 的元素, 抄送。

与这些工具相比,AssertContains 感觉非常有限,请查看: http ://guides.rubyonrails.org/testing.html#testing-views

如何用 django 实现类似的功能?是否有实现 CSS 选择器的 python 库?

4

2 回答 2

3

django-with-asserts提供了一个 TestCase mixin,它允许您测试 HTML,例如:

with self.assertHTML(resp, 'input[name="email"]') as (elem,):
    self.assertEqual(elem.value, 'bob@example.com')
于 2014-03-11T21:45:20.223 回答
1

您可以使用 Selenium 使用 CSS 选择器、xpath 等查找元素。驱动程序是特定于浏览器的,例如 Firefox 驱动程序、Chrome 驱动程序等,但它是您在 Django 中获得的最接近的驱动程序。

有关 LiveServerTestCase 的更多信息,请参阅:https : //docs.djangoproject.com/en/1.4/topics/testing/#django.test.LiveServerTestCase。

和:http ://selenium-python.readthedocs.org/en/latest/locating-elements.html用于 Selenium 中可用的选择器。

于 2013-01-02T14:09:05.030 回答