2013-10-11 59 views
4

我已经开始学习通过YouTube视频和在线教程硒..什么是TestNG的和JUnit框架,硒

我现在有知识的创建类,接口,对象,继承,数组,循环在Java中。

就Selenium而言,通过使用Firebug/Firepath工具识别每个元素,我可以使用Java语言直接在Selenium中自动化。

但我不断听到TestNG的和JUnit框架 ...

  1. 这些是什么?
  2. 它们与硒有什么关系?
  3. 难道我的 目前拥有的知识数量很难提取它们吗?

回答

1

JUnit是Java使用的基本测试框架。它与硒相关,因为如果你正在做任何测试并且你想用Java编写测试,你可以使用JUnit来编写测试,然后钩入Selenium。你的第三个问题的答案很难回答。 JUnit是基于Java的,所以如果你知道Java,你会没事的。假设你对编程有基本的了解,你应该没问题。

TestNG与JUnit类似,但它不是Java的“事实上”测试框架。

这里有一些链接,可以帮助:

http://testng.org/doc/index.html

http://junit.org/

+0

好吧...... 说,我要打开浏览器>转到Gmail.com>进入UNAME和密码>点击登录,然后signout 将我的代码看起来不同,如果我不使用任何框架(如我目前)/如果我使用Junit /如果我使用testNG –

+0

是的,与Selenium相比,您的代码看起来不同。这也取决于你如何使用Selenium。上次我检查(这是前一段时间),如果您使用的是网络驱动程序,则必须使用JUnit。 – BlackHatSamurai

5
  1. 他们的工具来帮助您组织的测试。您可以在测试之前/之后定义您想要运行的内容,您可以对测试进行分组,并且可以更轻松地进行报告。

  2. 它通常与Selenium一起提到,因为Selenium是一种常见的测试工具。这两者很好地协作,但它们完全分开。 (Selenium将您连接到您的浏览器,TestNG/JUnit组织测试)

  3. 是的。你应该能够把它们拿起来。它们的设计相当容易学习。

+1

哦,我认为我得到你想要做的点... 因此对于相同的功能,如果我使用junit/TestNG /我不使用任何框架工作,我将编写相同的代码.. 但是当我运行一个测试套件时,其中的每一个都会以不同的方式处理事情...... 我在这里吗? –

+1

如果您有一个测试功能,该功能将完全相同。但是,它发生在TestNG/JUnit可以提供帮助的功能之前/之后会发生什么。如果您有20个测试,其中3个测试失败,它会在第一个测试失败时继续测试所有测试,并会告诉您哪些测试失败。基本上如果你想组织你的测试,你可以使用一个框架。 –

+0

但是,它不会改变硒的工作方式。 –

4

JUnit附带了大部分IDE,如Eclipse和NetBeans。有许多使用JUnit开发的测试框架。

TestNG是一个开源框架。它支持参数化,数据驱动测试,并行执行。 JUnit对这些并不太灵活。

我更喜欢TestNG而不是JUnit。我使用TestNG for Selenium开发了开源测试框架。你可能想看看它。

https://github.com/selenium-webdriver-software-testing/kspl-selenium-helper

1

可以很好地创建一个量的硒和Java知识,你有自动化的脚本。但是现在,如果您的经理要求您运行所有的测试脚本并向他发布通过失败报告。非常原始的做法是,在Excel中添加您的测试脚本的名称,通过在Eclipse IDE或等效软件中逐一运行并在Excel中更新结果来获取其结果。

要避免这种情况,可以使用testNG或junit。 TestNG和junit是测试框架。自动化的一部分是开发自动化脚本,另一部分正在运行它。 Junit & TestNG有助于运行自动脚本。其中包括准备测试数据,管理测试数据,运行测试,发布/存储执行报告,清除/删除测试数据。

您可以轻松获取TestNG或junit知识以获取快乐路径场景。需要付出额外的努力来处理复杂的情况。

您还会遇到像Jenkins或CI(持续集成)这样的术语。保持热情。其精彩的自动化框架世界。