【发布时间】:2014-08-20 09:31:59
【问题描述】:
目前,我们正在使用 selenium webdriver 和合适的单元测试框架最终确定 Java 中的哪种语言,Python 应该用于自动化。我在使用 Java 时使用了 Junit、TestNG 和 webdriver,并且之前设计的框架没有大惊小怪。我是 python 新手,虽然我遇到了 pyhton 的单元测试框架,如 unittest、pyunit、nose 等,但我怀疑它们是否会像 testNG 或 Java 一样成功。与 selenium webdriver 一起使用时,我想逐点分析如下:
1)我已经读到,由于 Python 是一种解释性语言,因此它的执行速度较慢,所以假设我必须运行 1000 个测试用例,在 Java 中运行大约需要 6 个小时,那么 python 会花费更长的时间吗?测试用例像 8 小时?
2) Python 单元测试框架能否像 testNG 这样的 Java 单元测试框架在术语或分组测试、并行执行、跳过测试方面一样灵活。等等
3) 我想到的还有一点是,带有 selenium webdriver 的 Python 并没有像带有 webdriver 的 Java 那样庞大或有学识的社区,比如说如果我遇到问题,我更有可能找到一个与 python 相比,Java 的答案?
4) 与第 3 点有点相关,依赖工具、插件甚至 webderiver 的 python 绑定作为持续维护良好的绑定是否安全?
5) 我在使用 python 的单元测试框架时看到的一个主要缺点是缺少样板代码或库来提供很好的说明性 HTML 报告,最好是带有饼图、条形图和时间线的历史报告,就像我们在使用 Java 之类的 Allure 时所拥有的那样, TestNG 的默认报告,reportNG 或 Junit 报告在 ANT 的帮助下如下所示
魅力报告:
Junit 历史报告:
另外我想强调一个事实,如果有一种方法可以让一个人在 java 中编写框架,并根据 webdriver 中的应用程序制作库或实用程序,这些应用程序可以很容易地被调用或与 python 代码集成或模块?这实际上会为我们解决问题,因为客户端将能够使用我们用 Java 编写的代码并使用相同的代码或从他们的 python 模块中调用它?
【问题讨论】:
-
鉴于您在 Python 的正面栏中似乎没有任何内容,您为什么不直接使用 Java?
-
好吧,如果我有我的方式,我会使用 Java Hands down 顺便说一句,你介意在上下文中分享任何积极的东西,或者 python 有充分的理由使用 python 吗?正如客户似乎在建议 python
-
@jonrsharpe meta.stackoverflow.com/questions/268622/…
-
@gnat 有趣的一点,谢谢。
标签: java python unit-testing selenium junit