5大Java自动化测试框架( 二 )


安装Serenity的先决条件是什么?
由于该框架是基于Java的,因此您显然需要Java或任何其他面向对象编程语言的知识和经验 。除此之外,在您的工作站中,您将需要:

  • JDK 5或更高版本 。
  • Maven 3.0或以上任何版本 。
  • IDE工具 - Eclipse通常是所有开发人员首选的,因为Maven和Eclipse的组合更易于使用 。
4. TestNG
Cedric Beust创建了TestNG,这是一个基于Java的开源自动化测试框架,受JUnit的启发 。但是,它更强大 。NG意味着TestNG中的下一代 。该框架旨在在集成期间以更好的方式执行 。该框架可帮助开发人员进行排序,分组和参数化等功能,从而使新测试用例更加灵活,并消除了之前使用的框架的缺点 。
(1) 安装TestNG的先决条件
要安装TestNG,您需要:
  • 系统中安装了最新版本的JDK 。
  • 最新版本的Eclipse
  • Java或任何其他面向对象编程语言的知识和实践经验
(2) TestNG的优点和缺点
除了克服旧框架的缺点之外,TestNG还有几个优点:
  • 该框架使您能够在多个代码片段上运行并行测试 。
  • 在测试用例执行期间,您可以生成html报告 。
  • 可以根据优先级对测试用例进行分组和排列 。只需要让框架运行数据库测试或前端测试或任何你想要的东西,执行测试就会简单得多 。
  • 您可以参数化数据并使用注释来轻松设置优先级 。
唯一的缺点是:
  • 这取决于您的要求 。如果您的项目不需要测试用例优先级,则可能不想使用TestNG 。此外,设置TestNG需要一点时间 。
(3) TestNG是您最好的Java测试框架吗?
虽然JUnit执行与TestNG相同的所有功能,但它肯定有其局限性 。当单独完成测试时,JUnit是完美的 。但是当存在依赖性时; 您无法控制先执行哪个测试 。TestNG允许您以任何您想要的顺序运行测试用例,从而帮助您 。此外,它还有助于参数化测试 。虽然JUnit 4.5中已经存在此功能,但TestNG更有效 。如果您的项目很复杂并且可能需要一百多个测试用例,那么花一些时间设置TestNG而不是依赖于JUnit是理想的 。
 
5. Selenide
Selenide由Selenium提供支持,是一种用于为Java应用程序编写稳定、精确和富有表现力的UI测试用例的流行工具 。像Ajax这样的现代Web技术的测试具有某些复杂性,例如超时 。WebDriver是用于UI测试的流行工具,但它缺乏处理超时的功能 。Selenide以简单的方式处理所有这些问题 。此外,它更容易抓住和学习 。您无需任何google要求并搜索教程 。您需要做的就是专注于业务逻辑,只需几行简单的代码,您的工作就会完成 。
(1) 使用selenide的先决条件是什么?
selenide的安装尽可能简单 。如果您使用的是Maven,则需要在pom.xml文件中添加以下行 。
 
5大Java自动化测试框架

文章插图
 
 
(2) selenide的优点和缺点
在应用程序的前端层,在服务器端使用Java,测试人员面临的最常见问题是超时 。您编写的测试用例目前可能正常工作,但几天之后,也许某些Ajax请求将比现在花费更多时间或者某些JavaScript将运行得更慢 。此外,您的系统可能同时运行另一个进程,导致测试用例失败 。更不幸的是,你可能花了几天时间找出这些问题的根源 。Selenide通过以下方式帮助您:
  • 简洁的测试用例编写过程,消除了超时问题 。
  • 支持使用AngularJS开发的应用程序的测试
  • 减少了传统Selenium工具使用的大多数命令 。
到目前为止,我们还没有发现使用Selenide有任何明显的缺点 。
(3) Selenide是您最好的Java测试框架吗?
对于UI测试,除了Selenium WebDriver(Selenide的父框架)之外,没有更好的基于Java的框架 。显然,WebDriver无法解决由Ajax Timeout或运行缓慢的JavaScript或任何需要时间加载的动态内容引起的问题 。为了克服这些问题,我们之前在测试用例中使用了“ wait_until”或“ sleep”方法 。有了Selenide,我们不再需要考虑这些问题了 。只关注业务逻辑,测试用例可以很好地满足其目的 。
在当前的敏捷时代,开发人员也需要参与测试 。了解测试知识的重要性是专业Java开发人员与业余爱好者的区别 。您没有必要成为专家,但至少您应具备编写可自动验证代码的测试用例的基本知识 。在本文中,我们通过了五个工具,这些工具是全球开发人员首选的UI测试,单元测试和应用程序的BDD测试 。根据比较结果,我们可以得出结论,如果您对自己的工作很诚恳,并希望成为专家开发人员和测试人员,那么上面提到的工具就会在您的日常任务中发挥作用 。


推荐阅读