首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-webtest和selenium的差异

django-webtest和selenium的差异
EN

Stack Overflow用户
提问于 2012-09-16 17:05:49
回答 2查看 2.8K关注 0票数 13

我一直在读关于django测试的文章。推荐的一件事是使用django-webtest进行功能测试。我找到了一篇不错的文章这里,它教我如何使用python在selenium中进行功能测试。但是人们也推荐的扩展djagno网络测试用于django中的测试表单。在django表单的上下文中,使用webtest进行测试和使用selenium进行测试有何不同?

因此,从功能测试的角度来看:

-webtest和selenium如何并行不悖?

,我们需要两者都要,还是任何人都需要?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-17 14:48:38

了解Selenium最重要的一点是,它主要是作为一个与服务器无关的测试框架构建的。不管使用什么框架或服务器端实现来创建前端,只要它按照预期运行。此外,尽管您可以(如果可能的话也应该)用Selenium手动编写测试,但许多测试都是记录了某个人的宏,这些宏会经过这些动作,然后自动转换为代码。

另一方面,django-webtest是专门在Django网站上构建的。它实际上是WebTest的一个特定于Django的扩展,它不是Django专用的,而是WSGI专用的(因此只有Python)。正因为如此,它可以与应用程序进行交互,并对服务器上的工作方式有更高的认识。这可以使运行测试更快,也可以使编写更细、更详细的测试变得更容易。而且,与Selenium不同的是,您的测试不能自动编写为记录的宏。

否则,这两个工具通常具有相同的用途,并打算测试相同种类的事物。也就是说,我建议选择一个而不是两者兼用。

票数 12
EN

Stack Overflow用户

发布于 2012-09-23 12:18:18

关键的区别在于selenium运行的是一个实际的浏览器,而WebTest则与WSGI挂钩。这导致以下差异:

  • 您不能用WebTest测试JS代码,因为没有任何东西可以运行它。
  • WebTest的速度要快得多,因为它与WSGI挂钩,这也意味着内存占用更小。
  • WebTest不需要在端口上实际运行服务器,因此比较容易实现
  • WebTest不检查实际浏览器出现的不同问题,比如特定的浏览器版本错误(咳嗽)。互联网浏览器..。咳嗽.)

的底线是:更喜欢使用WebTest,除非您必须对无法用WebTest进行测试的事情使用Selenium。

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12448878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档