TestNG面试题2025年3月17日 | 阅读 8 分钟 ![]() 以下是一些最常问的TestNG面试题及答案。 1) 什么是 TestNG?TestNG 是“Testing Next Generation”的缩写。它是一个用于 Java 编程语言的自动化测试框架,由 Credric Beust 开发,其灵感来源于 JUnit 框架。TestNG 包含了 JUnit 框架的所有功能,并增加了一些额外的功能,使其更加强大。 2) TestNG 的优点是什么?TestNG 的优点如下:
3) 如何在 TestNG 中运行测试脚本?您可以通过右键单击 TestNG 类,然后选择“Run As”并选择“TestNG test”来运行 TestNG 中的测试脚本。 4) TestNG 中使用的注解有哪些?TestNG 中使用的注解如下:
5) TestNG 中所有注解的执行顺序是什么?TestNG 中所有注解的执行顺序如下:
6) 如何在 TestNG 中设置优先级?如果我们不为测试方法设置优先级,则测试方法将按字母顺序选择并执行。如果我们希望测试方法按照我们想要的顺序执行,那么我们需要在 @Test 注解中提供优先级。 让我们通过一个例子来理解。 7) 定义 TestNG 中的分组?分组是 TestNG 中的一个属性,它允许您执行多个测试用例。例如,如果我们有 100 个 IT 部门的测试用例和 10 个 HR 部门的测试用例,并且您想在单个套件中一起运行 IT 部门的所有测试用例,这只能通过分组来实现。 让我们通过一个例子来理解。 testng.xml 8) TestNG 中的依赖是什么?当我们需要按特定顺序运行测试用例时,我们会使用 TestNG 中的依赖概念。 TestNG 中使用的两种依赖属性:
9) TestNG 中的 timeOut 是什么?在运行测试用例时,可能会出现某些测试用例花费的时间比预期长得多。在这种情况下,我们可以使用 timeOut 将该测试用例标记为失败。 TestNG 中的 timeOut 允许您配置等待测试完全执行的时间。它可以在两个级别进行配置:
timeOut 属性可以按如下方式指定: 上面的 @Test 注解表明,测试方法将有 700 毫秒的时间来完成其执行,否则将被标记为失败的测试用例。 10) TestNG 中的 invocationCount 是什么?TestNG 中的 invocationCount 是我们希望执行同一测试的次数。 输出 ![]() 11) testng.xml 文件有什么重要性?testng.xml 文件之所以重要,原因如下:
12) 如何通过 testng.xml 文件将参数传递给测试用例?我们也可以在运行时将值传递给测试方法,这可以通过 testng.xml 文件发送参数值来实现。我们可以使用 @Parameter 注解。 让我们通过一个例子来理解 testng.xml 文件 运行 testng.xml 文件时,输出如下: ![]() ![]() 13) 如何禁用测试用例的运行?我们可以使用 enabled 属性来禁用测试用例的运行。我们可以将 false 值赋给 enabled 属性,这样就可以禁用测试用例的运行。 14) soft assertion 和 hard assertion 有什么区别?Soft Assertion(软断言): 在 Soft Assertion 的情况下,如果 TestNG 在 @Test 期间遇到错误,它会在断言失败时抛出异常,并继续执行 assert 语句之后的下一个语句。 Hard Assertion(硬断言): 在 Hard Assertion 的情况下,如果 TestNG 在 @Test 期间遇到错误,它会在断言失败时立即抛出 AssertException,并在 assert 语句之后停止执行。 让我们通过一个例子来理解。 输出 ![]() 15) TestNG 中 @Listener 注解的用途是什么?TestNG 提供了不同种类的监听器,它们可以在事件触发时执行不同的操作。TestNG 中最常用的监听器是 ITestListener 接口。ITestListener 接口包含 onTestSuccess、onTestfailure、onTestSkipped 等方法。 以下是可以实现的情景:
让我们通过一个例子来理解。 Listener.java 输出 ![]() 16) @Factory 注解的用途是什么?当我们需要通过单个测试类运行多个测试用例时,@Factory 注解非常有用。它主要用于动态执行测试用例。 让我们通过一个例子来理解。 testcase1.java testcase2.java Factory.java 17) @Factory 和 @DataProvider 注解有什么区别?@DataProvider: 它是 TestNG 使用的注解,用于根据 DataProvider 提供的数据多次执行测试方法。 @Factory: 它是 TestNG 使用的注解,用于使用相应类的不同实例来执行同一测试类中的测试方法。
|
我们请求您订阅我们的新闻通讯以获取最新更新。