TestNG 注释属性17 Mar 2025 | 5 分钟阅读 在 TestNG 中编写测试用例时,您需要在测试方法之前提及 @Test 注释。 在上面的代码中,我们在测试方法(即 testcase1())之前指定了 @Test 注释。 我们还可以在 @Test 注释中显式指定属性。 测试属性是测试特定的,它们被指定在 @Test 注释的右侧。 下面描述了一些常见属性 ![]()
描述它是一个附加到 @Test 注释的字符串,用于描述关于测试的信息。 让我们通过一个例子来理解。 在上面的代码中,我们在每个测试中都添加了 description 属性。 "description" 属性提供有关测试的信息。 dependsOnMethods当第二个测试方法想要依赖于第一个测试方法时,这可以通过使用 "dependOnMethods" 属性来实现。如果第一个测试方法失败,则依赖于第一个测试方法的方法(即第二个测试方法)将不会运行。 让我们通过一个例子来理解。 第一种情况: 当一个参数中传递单个值时。 我们知道 TestNG 按字母顺序执行测试方法,因此在上面的程序中,APIStudentLogin() 将首先执行。但是,我们希望 WebStudentLogin() 方法在执行 APIStudentLogin() 方法之前执行,因此这只能通过 "dependsOnMethods" 属性来实现。在上面的程序中,我们在 APIStudentLogin() 测试方法中指定了 "dependsOnMethods" 属性,其值为 "WebStudentLogin",这意味着 WebStudentLogin() 方法将在 APIStudentLogin() 方法之前执行。 输出 ![]() 在上面的输出中,MobileStudentLogin() 在 WebStudentLogin() 方法之前运行,因为 TestNG 按字母顺序运行测试方法。 第二种情况: 当一个参数中传递多个值时。 在上面的代码中,testcase1() 依赖于两种方法,即 testcase2() 和 testcase3(),这意味着这两种方法将在 testcase1() 之前执行。 输出 ![]() 优先级当未指定 'priority' 属性时,TestNG 将按字母顺序运行测试用例。优先级确定测试用例的执行顺序。优先级可以包含 -5000 到 5000 之间的整数值。设置优先级后,最低优先级的测试用例将首先运行,最高优先级的测试用例将最后执行。假设我们有三个测试用例,它们的优先级值是 -5000、0、15,那么执行顺序将是 0、15、5000。如果未指定优先级,则默认优先级为 0。 让我们通过一个例子来理解。 在上面的代码中,mango() 测试方法的默认优先级为 0,因此它将首先执行。watermelon() 测试方法将在 mango() 方法之后运行,因为 watermelon() 测试方法的优先级为 2。apple() 测试方法的优先级最高,因此它将最后执行。 输出 ![]() enabled'enabled' 属性包含布尔值。 默认情况下,其值为 true。 如果您想跳过某些测试方法,则需要显式指定 'false' 值。 让我们通过一个例子来理解。 在上面的代码中,jira() 测试方法中 enabled 属性的值为 false,因此不会调用此方法。 输出 ![]() groups'groups' 属性用于将属于同一功能的不同的测试用例分组。 让我们通过一个例子来理解。 testng.xml 输出 ![]() timeOut如果其中一个测试用例由于执行时间过长而导致其他测试用例失败。 为了克服这种情况,您需要将测试用例标记为失败,以避免其他测试用例失败。 timeOut 是为测试用例提供的用于完全执行其测试用例的时间段。 让我们通过一个例子来理解。 在上面的代码中,在 testcase1() 方法内部,我们有 Thread.sleep(500),这意味着 testcase1() 方法将在 500 毫秒后执行,但我们提供了 timeOUT 属性,其值为 200,这意味着 testcase1() 将在 200 毫秒后失败。 testng.xml 输出 ![]() 上面的屏幕显示一个测试用例失败,其他测试用例通过。 ![]() 下一页主题TestNG 参数 |
我们请求您订阅我们的新闻通讯以获取最新更新。