测试自动化:Java还是Python?

大家好! OTUS在三月一次启动了两个测试自动化课程:“ Python QA工程师”“ Java QA工程师”。经常有人问我们要选择哪些课程,我们决定通过翻译SafeBear的一篇文章来回答这个问题。




最受欢迎的问题之一是:
我应该选哪门课程:Python的测试自动化或Java的测试自动化?为什么我们要用两种语言开设课程?

首先要说的最重要的一点是:自动使用哪种语言都没关系。

您要测试的应用程序可以用Java,Python,C#,Assembly,Scala或任何其他可用的编程语言编写。 Python中的自动化测试框架将使手动测试自动化,并且不会比Java框架差。当涉及到GUI自动化时,在哪个框架上进行测试就没有什么区别。

哪种课程适合您取决于您​​的情况。当然,如果您想成为自动化专家,那么您最有可能希望同时参加这两个课程,因为框架仍然相差很大。正如您将在下面看到的那样,每个人都可以完成其任务,有时,选择框架取决于个人喜好。

我试图找出这两个框架的利弊,希望这将有助于您的决策过程。如果在那之后决定只会变得更加困难,那么请原谅我。

Python是完美的


优点


使您的世界自动化,而不仅仅是您的测试。在不了解Python的情况下很难走上测试者的道路。如果您需要了解一种语言以能够使一切自动化,那么这绝对是Python。您可以自动化环境的部署,使用它扫描端口或进行安全测试,因为CI是必不可少的。 Python将成为您的朋友,您将一次又一次寻求帮助。

简短而简单。与加载的Java语法相比,它非常易于使用和阅读。众所周知,Python每行Java中有10行。

因为你已经做好了一切许多其他人出于与您相同的原因使用Python,由此可以得出结论,有人已经编写了所需的代码,您可以将其导入。

培训和支持。在Internet上,您可以找到大量培训和有用的材料。总的来说,人们得出的结论是,Python资料比任何其他语言都更易于理解。

缺点


用IDE感到痛苦Python的创建非常简单,通用,并提供了直接从解释器编写脚本的功能,因此它与IDE以及Java都不兼容。它是如此简单和通用,以至于当您开始创建对象并在方法之间传递对象时,IDE无法理解您正在做什么。如果您确实想使用IDE创建框架,那么这是一个不愉快的功能,可以发挥作用。

办公室支持有时,最好有本地支持。如果您的团队中没有人知道Python,那么将没有人能够获得紧急帮助来解决新出现的问题。

Java是您所需要的!


优点


出色的IDE在诸如IntelliJ IDE的环境中用 Java编写是一种荣幸IDE可以为您完成大部分工作,甚至可以承受复杂语法的痛苦。代码完成功能将为您完成大量工作,直到您似乎只在键盘上输入了几个字符。

PageFactoryJava中的PageFactory简化了Selenium自动化的代码,并允许您编写易于理解的测试。

家庭支持大多数测试人员与Java开发人员一起工作。如果您遇到困难,在几张桌子之后,您将永远是帮助您的人。这对学习曲线很有帮助,并为您带来同事知识和经验的好处。成为专业人士后,没有时间环顾四周。

缺点


亚伯拉罕与普通英语Python相比,阅读Java代码并不容易。Java的学习曲线也非常陡峭,文档并不总是有用的。但是,可以在网上找到许多问题的帮助(例如,在Stack Overflow上)。空指针使您

痛苦不堪当Java向您显示错误消息并显示堆栈跟踪信息时,并非总是很容易理解问题所在,有时这些信息是无用的。IntelliJ会在可能的地方提供帮助,但难以理解的错误消息可能会使调试完全失败。

仅限测试自动化您将永远不会在其他测试领域中使用Java。不在CI,性能测试,安全性,可用性或其他任何方面。您只是陷于自动化测试应用程序图形界面的过程,仅此而已。

就这样。我们希望现在您可以轻松地决定选择哪门课程,但是为了巩固您的选择,我们邀请您免费参加课程课程:

Python质量检查工程师
Java质量检查工程师

All Articles