@AfterTest:在@AfterTest带注释的方法下的测试方法是在所有可用类的测试方法执行后执行的, 这些类保留在套件的testng.xml文件中的标记内。
让我们通过一个例子来理解。
第一种情况:@AfterTest注释的方法末尾存在。
步骤1:打开Eclipse。
【TestNG @AfterTest注解用法示例】步骤2:我们创建两个Java项目。假设我们创建了一个存款项目, 其中包含两个模块:定期存款和定期存款。
Fixed_Deposit.java
package com.srcmini;
import org.testng.annotations.Test;
public class Fixed_deposit { @Test public void fixed_deposit() {System.out.println("Fixed Deposit");
}@Test public void roi() {System.out.println("Rate of Interest");
}}
Recurring_Deposit.java
package com.srcmini;
import org.testng.annotations.AfterTest;
import org.testng.annotations.Test;
public class Recurring_deposit {@Test public void recurring_deposit(){System.out.println("Recurring Deposit");
}@AfterTestpublic void after_test(){ System.out.println("After test execution..");
}}
在上述情况下, 我们在Recurring_Deposit中使用@AfterTest批注, 这意味着仅当执行Recurring_Deposit类的所有测试方法时, 才会执行测试注释方法, 即after_test()。
testng.xml
<
?xml version="1.0" encoding="UTF-8"?>
<
!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<
suite name="test_suite">
<
test name="Recurring Deposit">
<
classes>
<
class name="com.srcmini.Recurring_deposit"/>
<
/classes>
<
/test>
<
!-- Test -->
<
test name="Fixed Deposit">
<
classes>
<
class name="com.srcmini.Fixed_deposit"/>
<
/classes>
<
/test>
<
!-- Test -->
<
/suite>
<
!-- Suite -->
输出
文章图片
第二种情况:当@AfterTest注释方法存在于类文件的开头。
Recurring_deposit.java
package com.srcmini;
mport org.testng.annotations.AfterTest;
import org.testng.annotations.Test;
public class Recurring_deposit { @AfterTestpublic void after_test(){ System.out.println("After test execution..");
}@Test public void recurring_deposit(){System.out.println("Recurring Deposit");
}}
在上面的代码中, 我们将@AfterTest带注释的方法放在开头。
输出
文章图片
我们得到与第一种情况相同的输出, 因此得出结论, 可以将@AfterTest注释方法放置在类文件中的任何位置。 @AfterTest注释方法在执行所有保存在文件夹内的类中的测试方法之后运行。在上述情况下, @AfterTest注释方法在Recurring_deposit类中可用, 因此TestNG将查看testng.xml文件并确定哪个测试文件夹包含Recurring_deposit类。在这种情况下, 在Recurring Deposit文件夹中定义了Recurring_deposit类, 因此, 首先完成Recurring Deposit文件夹中的所有可用类, 然后执行@AfterTest注释方法。
注意:执行完成后, 需要删除cookie, 删除进程或关闭连接, 因此使用@AfterTest注释方法用于此目的。
推荐阅读
- TestNG @BeforeClass注解用法示例
- TestNG @AfterSuite注解用法示例
- Learun.framework快速开发框架-功能特点与手机app
- wrapper(Java Service Wrapper)
- Android开发教程 - 使用Data Binding Android Studio不能正常生成相
- Android 应用兼容性最佳实践 | 中文教学视频
- Egret之微端Android
- app内区域截图利用html2Canvals保存到手机截屏 (html2Canvals2版本1.0.0)
- Android 9 Pie 兼容性常见问题及注意事项