Selenium 中的 TestNG 和 JUnit 框架是啥
Posted
技术标签:
【中文标题】Selenium 中的 TestNG 和 JUnit 框架是啥【英文标题】:What are TestNG and JUnit frameworks in SeleniumSelenium 中的 TestNG 和 JUnit 框架是什么 【发布时间】:2013-10-19 23:01:33 【问题描述】:我已经开始通过 YouTube 视频和在线教程学习 selenium..
我现在掌握了在 Java 中创建类、接口、对象、继承、数组、循环的知识。
就 Selenium 而言,我可以通过使用 Firebug/Firepath 工具识别每个元素,使用 Java 语言直接在 Selenium 中实现自动化。
但我经常听说 TestNG 和 JUnit 框架...
-
这些是什么?
它们与硒有什么关系?
以我的知识量很难把它们捡起来吗
目前拥有?
【问题讨论】:
【参考方案1】:JUnit 是 Java 使用的基本测试框架。它与 selenium 相关,因为如果你正在做任何测试并且你想用 Java 编写测试,你会使用 JUnit 来编写测试,并挂钩到 Selenium。第三个问题的答案很难回答。 JUnit 是基于 Java 的,所以如果你了解 Java,你会没事的。假设你对编程有基本的了解,你应该没问题。
TestNG 类似于 JUnit,但它不是 Java 的“事实上的”测试框架。
以下是一些可能有帮助的链接:
http://testng.org/doc/index.html
http://junit.org/
【讨论】:
Ok... 说,我想打开浏览器 > 转到 Gmail.com > 输入 uname 和密码 > 单击登录然后注销如果我不使用任何框架,我的代码看起来会有所不同(因为我目前)/如果我使用 Junit / 如果我使用 testNG 是的,与 Selenium 相比,您的代码看起来会有所不同。这还取决于您如何使用 Selenium。上次我检查(这是不久前),如果您使用的是 Web 驱动程序,则必须使用 JUnit。【参考方案2】:它们是帮助您组织测试的工具。您可以在测试之前/之后定义要运行的内容,可以对测试进行分组,并且更容易报告它们。
通常与 Selenium 一起提及,因为 Selenium 是一种常用的测试工具。两者配合得很好,但它们是完全分开的。 (Selenium 将您连接到浏览器,TestNG/JUnit 组织测试)
是的。你应该可以把它们捡起来。它们被设计成相当容易学习。
【讨论】:
哦,我想我明白你的意思了......所以对于相同的功能,如果我使用 junit/TestNG/ 我不使用任何框架,我将编写相同的代码工作.. 但是当我运行一个测试套件时,它们中的每一个都会以不同的方式处理事情......我在这里吗? 如果您有一个测试函数,该函数的工作方式完全相同。但是,TestNG/JUnit 可以帮助的功能之前/之后会发生什么。如果你有 20 个测试,其中 3 个失败,它会在第一个失败时继续测试所有测试,并告诉你哪些测试失败。基本上,如果你想组织你的测试,你可以使用一个框架。 但是,它不会改变 selenium 的工作方式。【参考方案3】:JUnit 随大多数 IDE 一起提供,例如 Eclipse 和 NetBeans。有许多使用 JUnit 开发的测试框架。
TestNG 是一个开源框架。它支持参数化、数据驱动测试、并行执行。 JUnit 对这些不太灵活。
我更喜欢 TestNG 而不是 JUnit。我已经使用 TestNG for Selenium 开发了开源测试框架。你可能想看看它。
https://github.com/selenium-webdriver-software-testing/kspl-selenium-helper
【讨论】:
【参考方案4】:您可以利用您拥有的大量硒和 Java 知识来创建自动化脚本。但是现在,如果您的经理要求您运行所有测试脚本并向他发布通过失败的报告。非常原始的方法是在 excel 中添加测试脚本的名称,通过在 eclipse IDE 或等效程序中一一运行来获取其结果,然后在 excel 中更新结果。
为避免这种情况,您可以使用 testNG 或 junit。 TestNG 和 junit 是测试框架。自动化的一部分是开发自动化脚本,另一部分是运行它。 Junit & TestNG 帮助运行自动化脚本。其中包括准备测试数据、管理它、运行测试、发布/存储执行报告、清除/删除测试数据。
您可以轻松获取 TestNG 或 junit 知识,以实现快乐的路径场景。需要付出额外的努力来处理复杂的情况。
您还会遇到 Jenkins 或 CI(持续集成)等术语。保持热情。其美妙的自动化框架世界。
【讨论】:
以上是关于Selenium 中的 TestNG 和 JUnit 框架是啥的主要内容,如果未能解决你的问题,请参考以下文章
如何从 @AfterMethod 中的 TestNG/Selenium 获取测试结果状态?
使用 selenium TestNG 和 selenium 进行并行测试
selenium第一课(selenium+java+testNG+maven)
NoClassDefFoundError: org/openqa/selenium/virtualauthenticator/HasVirtualAuthenticator 在使用 TestNG 和