基于testNG的监听器-IMethodInterceptor,动态加载@Test的注释

通常testNG最常使用的方法就是@Test,@Test有一些常用的注释。比如我们需要控制不同的方法的执行顺序或者依赖关系,通常会使用priority,或者要控制一个类里某些@Test暂时不运行,会使用enabled。这些注释一般都写在代码里,如果我们需要动态修改@Test方法的优先级或者依赖关系等属性,需要用到监听器IMethodInterceptor。

1、创建监听器

2、创建表存储需要动态修改的属性

3、在@Test测试类里增加@Listeners({ExtentTestNGMethodInterceptor.class})

首先,先创建一个类ExtentTestNGMethodInterceptor 实现 IMethodInterceptor接口

public class ExtentTestNGMethodInterceptor implements IMethodInterceptor {
    List<IMethodInstance> returnMethod = new ArrayList<IMethodInstance>();

    @Override
    public List<IMethodInstance> intercept(List<IMethodInstance> methods, ITestContext context) {
        // IMethodInstance 这个接口所返回的是所有测试方法或实例(所有方法都在里面)
        // 将IMethodInstance对象的list 创建为迭代器
        Iterator<IMethodInstance> tie = methods.iterator();
        // 遍历
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值