沈阳市网站制作公司,做外贸上哪些网站,腾讯云服务器使用教程,提升网站建设品质公司几十年来#xff0c;Java一直是开发应用程序服务器端层的首选编程语言。 尽管JUnit一直在与开发人员一起帮助他们进行自动化的单元测试#xff0c;但是随着时间的推移和测试的发展#xff0c;当自动化测试不断增长时#xff0c;已经开发了许多基于Java的开源框架#xff0… 几十年来Java一直是开发应用程序服务器端层的首选编程语言。 尽管JUnit一直在与开发人员一起帮助他们进行自动化的单元测试但是随着时间的推移和测试的发展当自动化测试不断增长时已经开发了许多基于Java的开源框架并且JUnit在验证和业务逻辑方面。 在这里我将讨论2019年用于使用Selenium WebDriver和Java执行测试自动化的5个顶级Java测试框架。 我还将重点介绍这些顶级Java测试框架的独特之处。 Kent Beck和Erich Gamma开发人员JUnit它是xUnit的一个实例。 其主要目的是使Java开发人员能够编写脚本并执行可重复的测试用例。 它通常用于测试一小段代码。 您还可以通过将JUnit与用于Java测试自动化的Selenium WebDriver集成来执行网站的自动化测试。 每当添加任何新代码时都将要求您重新执行整个测试用例并确保没有破损。 有哪些先决条件 该框架与Selenium WebDriver for Java高度兼容因此JUnit是基于Java的框架因此作为某些先决条件您需要 在您的工作站中安装了最新版本的JDK。 下载最新版本的JUnit并设置环境。 对面向对象的编程语言特别是Java的应用程序开发有很好的了解。 使用JUnit的优缺点 JUnit有几个优点。 在受测试驱动的环境中工作的开发人员发现它非常有益因为他们被迫阅读代码并查找是否存在异常。 尽早检测到错误从而使代码更可靠。 开发更具可读性且无错误的代码可以增强置信度。 使用最新版本的JUnit版本4可以轻松识别异常。 甚至您也可以执行用旧版JUnit编写的测试用例。 您也可以将其与Java 5或更高版本一起使用。 该框架无法执行依赖关系测试。 那就是我们需要TestNG的地方。 JUnit的唯一缺点是 该框架无法执行依赖性测试。 那就是我们需要TestNG的地方。 JUnit是您的最佳Java测试框架吗 JUnit和TestNG都执行相同的工作。 它们的功能几乎相同只是在两个框架中都没有使用JUnit进行依赖测试并且参数化测试的实现过程不同。 另外由于JUnit长期使用因此有更好的社区支持它已被定义为使用Selenium WebDriver for Java的应用程序进行单元测试的标准。 尽管TestNG的用户很少但社区仍然很大并且每天都在增长。 因此我们可以得出结论对于Java测试框架在TestNG或JUnit之间进行选择完全取决于应用程序的性质和要求。 如果您希望开始使用JUnit作为Java测试框架则可以通过以下逐步过程使用JUnitSelenium进行自动化测试以实现浏览器兼容性。 我们都知道行为驱动开发或BDD。 这种测试类型以对业务用户透明的方式描述了验收测试。 JBehave是用于BDD测试的另一个Java测试框架主要与Selenium WebDriver for Java一起使用。 引入JBehave的主要目的是使新手可以轻松理解和熟悉BDD。 这是一种设计理念它使应用程序的测试阶段更多地基于其行为。 有哪些先决条件 使用JBehave的理想方法是与Eclipse集成。 为此除了上面的JDK1.7和Indigo上面的任何Eclipse IDE您还需要几个jar文件例如 Junit-4.1.0.jar Jbehave-core-3.8.jar Commons-lang-2.4.jar Paranamer-2.5.jar Freemarker-2.3.9.jar Org.apacje.commons.io.jar Org.apache.commons.collections.jar Plexus-utils-1.1.jar JBehave的优缺点 像所有其他BDD测试框架一样JBehave在许多方面也具有优势。 通过使从事相似规格的不同项目的不同开发团队之间更好地协调可以达到行为驱动开发的最重要目的。 由于规范的格式相似因此项目经理和利益相关者可以更好地了解开发团队和质量检查团队的输出。 由于JBehave具有详细的推理和思考功能因此产品具有更好的规格。 JBehave使用半正式语言并且还具有领域词汇表该词汇表有助于在团队结构中保持一致的行为。 嗯与其他任何BDD测试工具一样JBehave只有一个缺点。 BDD测试工具的成功主要取决于项目中不同成员利益相关者开发人员测试人员以及组织管理层之间的沟通。 缺乏沟通可能会导致无法回答的问题和疑问最终可能导致错误的应用程序或不满足业务要求的应用程序从而导致所有各方互相指责。 JBehave是适合您的最佳Java测试框架吗 JBehave的工作方式与Serenity相同。 但是如果您打算提高自动验收测试的效率则最好将Serenity与JBehave集成在一起以利用更好的测试体验。 这是因为Serenity的核心概念基于BDD开发并且还使用户能够编写功能强大且丰富的测试报告。 我们将在下一节中对此进行更多讨论。 Serenity是一个用于行为驱动测试的开源库。 该框架可帮助您编写结构合理且维护更完善的验收标准。 它扩展了JUnit和WebDriver的功能。 最初它被称为修昔底德。 更名的原因仅仅是发音困难。 仍然可以在引用时使用旧名称。 安装Serenity的前提条件是什么 由于该框架是基于Java的因此您显然需要Java或任何其他面向对象的编程语言的知识和经验。 除此之外在您的工作站中您将需要 JDK 5或更高版本。 Maven 3.0或以上任何版本。 IDE工具–所有开发人员通常首选Eclipse因为Maven和Eclipse的组合更易于使用。 宁静的利与弊 让我们看一看Serenity带给行为驱动开发世界的优势。 该框架可帮助测试人员创建REST服务的测试用例。 用户不必花费大量时间来维护或构建自己的自动化框架。 它在测试用例的定义和理解及其实现方式之间保持平衡而不是界限。 它可以与许多自动化框架如SeleniumJBehave基于Java的高级开发框架如Spring以及甚至与JIRA之类的持续集成工具集成在一起。 Serenity的唯一缺点就像JBehave。 为了利用其支持行为驱动开发的完整功能需要在项目参与者之间进行持续的沟通。 Serenity是最适合您的Java测试框架吗 该工具主要用于报告验收标准。 但是使用Serenity编写的报告比JBehave或任何其他BDD框架提供的信息丰富得多。 它还可以帮助开发人员编写质量更高的自动化测试案例并为RestAssured和Selenium WebDriver提供支持从而使测试人员可以更快更轻松地编写基于自动化的验收测试标准。 Cedric Beust创建了TestNG这是一个受JUnit启发的基于Java的开源测试框架。 但是它功能更强大。 NG表示TestNG中的下一代。 该框架旨在在集成期间以更好的方式执行。 该框架为开发人员提供了诸如排序分组和参数化之类的功能从而使新的测试用例更加灵活并消除了先前使用的框架的缺点。 安装TestNG的前提条件 要安装TestNG您将需要 系统中已安装最新版本的JDK。 最新版本的Eclipse Java或任何其他面向对象的编程语言的知识和动手经验 TestNG的优缺点 除了克服旧框架的缺点之外TestNG还具有许多优点。 该框架使您可以在多个代码段上运行并行测试。 在执行测试用例期间您可以生成一个HTML报告。 测试用例可以根据优先级进行分组和安排。 仅通过要求框架运行数据库测试或前端测试或任何您想要的东西执行测试就容易得多。 您可以参数化数据并使用批注轻松设置优先级。 唯一的缺点是 这取决于您的要求。 如果您的项目不需要测试用例的优先级则可能不希望使用TestNG。 此外设置TestNG需要一些时间。 TestNG是最适合您的Java测试框架吗 尽管JUnit执行与TestNG相同的功能但是它具有一定的局限性。 当单独进行测试时JUnit是完美的选择。 但是当存在依赖性时您将无法控制首先执行哪个测试。 TestNG允许您以所需顺序运行测试用例从而为您提供帮助。 此外它还有助于参数化测试。 尽管此功能已在JUnit 4.5中提供但TestNG更为有效。 如果您的项目很复杂并且您可能需要一百多个测试用例那么花一些时间并设置TestNG而不是依赖JUnit是理想的选择。 如果您是TestNG的新手那么这里是一份完整的指南用于运行您的第一个TestNG自动化脚本以使用带有Java的Selenium WebDriver来执行自动跨浏览器测试。 Selenide由Selenium提供支持是一种流行的工具用于为Java应用程序编写稳定精确和富于表现力的UI测试用例。 对现代Web技术如Ajax进行测试具有一定的复杂性例如超时。 WebDriver是用于UI测试的流行工具但缺少处理超时的功能。 硒化物以简单的方式处理所有这些问题。 另外它更容易掌握和学习。 您不需要Google的任何要求也可以搜索教程。 您需要做的只是专注于业务逻辑仅需执行几行简单的代码即可完成您的工作。 使用硒化物的前提条件是什么 Selenide的安装非常简单。 如果使用的是Maven则需要在pom.xml文件中添加以下几行。 dependency groupIdcom.codeborne /groupId artifactIdselenide /artifactId version5.1.0 /version scope test /scope /dependency 如果使用的是Ivy则需要在ivy.xml文件中添加 ivy-module dependencies dependency org com.codeborne name selenide rev 5.1.0 / /dependencies /ivy-module 就像这样该框架已为您准备开始测试。 硒化物的优缺点 在服务器端使用Java的应用程序的前端层中测试人员面临的最常见问题是超时。 您编写的测试用例目前可能工作正常但是几天后也许一些Ajax请求将比现在花费更多的时间或者某些Javascript的运行速度会变慢。 另外您的系统可能同时运行另一个进程从而导致测试用例失败。 更不幸的是您可能需要花费数天的时间才能找出这些问题的根源。 硒化物可以帮助您 简洁的测试用例编写过程消除了超时问题。 支持对使用AngularJS开发的应用程序进行测试 减少了传统Selenium工具使用的大多数命令。 到目前为止我们还没有发现使用硒化硒的明显缺点。 如果您发现任何可能影响您工作的限制请告诉我们。 Selenide是最适合您的Java测试框架吗 对于UI测试除了Selenide的父框架Selenium WebDriver之外没有更好的基于Java的框架。 显然WebDriver无法解决由Ajax超时JavaScript运行缓慢或任何需要花费时间加载的动态内容引起的问题。 为了克服问题我们先前在测试案例中使用了“ wait_until”或“ sleep”方法。 使用Selenide我们不再需要考虑那些问题。 仅关注业务逻辑测试用例就可以很好地实现其目的。 如果您打算选择Selenide作为自动化测试的Java测试框架那么这里的指南可以帮助您使用SelenideIntelliJ和Maven运行Selenium自动化测试。 在当前的敏捷时代开发人员还需要参与测试。 知识和测试的重要性是使专业Java开发人员与业余爱好者区分开来的原因。 不必一定是专家但是至少您应该具备编写自动验证代码的测试用例的基本知识。 在本文中我们介绍了5种工具这些工具为应用程序的UI测试单元测试和BDD测试提供了全球开发人员的首选。 根据比较我们可以得出结论如果您真诚地工作并希望成为专家开发人员和测试人员那么上面提到的工具将对您的日常工作有用。 翻译自: https://www.javacodegeeks.com/2019/03/top-5-java-test-frameworks-automation-2019.html