我一直在读关于django的测试。推荐的一件事是使用django-webtest进行功能测试。我找到了一篇不错的文章here,它讲授如何使用python在selenium中进行功能测试。但人们也建议使用Ian Bicking的WebTest扩展djagno-webtest来测试django中的表单。在django形式的背景下,如何使用webtest进行测试并使用硒进行测试?
所以从功能测试的角度来看:
django-webtest和selenium是如何并排的?
我们是否需要同时拥有这两种产品?
答案 0 :(得分:22)
关键区别在于selenium运行实际的浏览器,而WebTest挂钩到WSGI。 这导致以下差异:
底线: 首先使用WebTest,除非您必须将Selenium用于无法使用WebTest测试的内容。
答案 1 :(得分:9)
了解Selenium的重要一点是,它主要是与服务器无关的测试框架构建的。只要行为符合预期,使用什么框架或服务器端实现来创建前端并不重要。此外,虽然可以(并且在可能的情况下,你可能应该)在Selenium中手动编写测试,但许多测试都记录了某些人通过动作然后变成代码的宏自动。
另一方面,django-webtest专门用于Django网站。它实际上是一个特定于Django的WebTest扩展,它不仅仅是Django,而是仅限WSGI(因此只支持Python)。因此,它可以与应用程序进行交互,更高层次地了解服务器上的工作方式。这可以使运行测试更快,并且还可以轻松编写更精细,更详细的测试。此外,与Selenium不同,您的测试不能自动写为录制的宏。
否则,这两个工具通常具有相同的目的,旨在测试相同类型的东西。也就是说,我建议选择一个而不是两个。