Python django webtest和selenium之间的差异
我一直在读关于django测试的文章。推荐使用django webtest进行功能测试。我发现了一篇不错的文章,它教我们如何使用python在selenium中进行功能测试。但人们也推荐Ian Bicking的WebTest扩展用于django中的表单测试。在django表单的上下文中,使用webtest进行测试和使用selenium进行测试有何不同 因此,从功能测试的角度来看: django webtest和selenium是如何并行的?Python django webtest和selenium之间的差异,python,django,selenium,django-forms,django-testing,Python,Django,Selenium,Django Forms,Django Testing,我一直在读关于django测试的文章。推荐使用django webtest进行功能测试。我发现了一篇不错的文章,它教我们如何使用python在selenium中进行功能测试。但人们也推荐Ian Bicking的WebTest扩展用于django中的表单测试。在django表单的上下文中,使用webtest进行测试和使用selenium进行测试有何不同 因此,从功能测试的角度来看: django webtest和selenium是如何并行的? 我们需要同时拥有它们还是任何一个都可以?了解Selen
我们需要同时拥有它们还是任何一个都可以?了解Selenium的重要一点是,它主要构建为一个与服务器无关的测试框架。不管使用什么框架或服务器端实现来创建前端,只要它的行为符合预期。此外,虽然您可以(如果可能的话,您可能应该)用Selenium手动编写测试,但许多测试都是由某人的宏记录下来的,然后这些宏会自动转换为代码 另一方面,django webtest是专门为django网站而构建的。它实际上是WebTest的Django特定扩展,它不仅是Django,而且是WSGI(因此也只有Python)。正因为如此,它可以与应用程序进行交互,并对服务器上的工作方式有更高级别的了解。这可以使运行测试更快,也可以使编写更细粒度、更详细的测试更容易。此外,与Selenium不同,您的测试不能自动编写为录制的宏
否则,这两个工具通常具有相同的用途,用于测试相同类型的事物。也就是说,我建议选择一个,而不是两个都使用。关键的区别在于selenium运行的是一个实际的浏览器,而WebTest则连接到WSGI。 这导致以下差异:
- 您不能使用WebTest测试JS代码,因为没有任何东西可以运行它李>
- WebTest更快,因为它与WSGI挂钩,这也意味着内存占用更小
- WebTest不需要在端口上实际运行服务器,因此并行化稍微容易一些
- WebTest不会检查实际浏览器出现的不同问题,如特定浏览器版本错误(咳嗽..internet explorer..咳嗽..)