前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《手把手教你》系列基础篇(七十九)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-下篇(详解教程)

《手把手教你》系列基础篇(七十九)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-下篇(详解教程)

作者头像
北京-宏哥
发布2022-04-27 17:53:59
4330
发布2022-04-27 17:53:59
举报

1.简介

今天本来是打算实践应用一下前边的知识点,但是忘记漏了依赖的一个知识点,宏哥个人觉得还是比较重要的,所以今天先说这个,下一篇再讲解和分享实际应用。今天主要讲解一下依赖测试的依赖机制。

2.依赖机制

TestNG提供了两种依赖机制:

1.强依赖关系:所有的被依赖的方法必须被成功运行,才会运行到后续的方法。哪怕只有一个前置方法运行失败了,有依赖关系的后置方法都会被跳过。既有先后顺序关系,也有决定关系。

2.弱依赖关系:不论前置方法是否成功运行,有依赖的后置方法都会得到运行,他们之间仅仅有前后顺序关系,前者的成功与否并不决定后者是否运行。

3.强依赖关系

3.1代码设计
3.2参考代码
代码语言:javascript
复制
package library;

import org.testng.annotations.Test;

/**
 * @author 北京-宏哥
 * 
 * @公众号:北京宏哥
 * 
 * 《手把手教你》系列基础篇(七十七)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试(详解教程)
 *
 * 2022年3月05日
 */

public class TestDepend {
    
    @Test
    public void failMethod(){
        
        System.out.println("这个方法运行失败");
        throw new RuntimeException();

    }
    
    @Test(dependsOnMethods = {"failMethod"})
    public void skipMethod1(){
        System.out.println("这个方法永远不会运行,所以不会有输出");
    }
    
    @Test(dependsOnMethods = {"skipMethod1"})
    public void skipMethod2(){
        System.out.println("这种依赖连带的我也不会被执行");
    }
  
}
3.3运行代码

1.运行代码,右键Run AS->TestNG Suite,控制台输出,如下图所示:

强制依赖情况:前置依赖失败,导致后边这些依赖方法都被跳过了

2.上边这个也许看的不清晰,宏哥给你们看看这个比较清晰,如下图所示:

4.弱依赖关系

4.1代码设计
4.2参考代码
代码语言:javascript
复制
package library;

import org.testng.annotations.Test;

/**
 * @author 北京-宏哥
 * 
 * @公众号:北京宏哥
 * 
 * 《手把手教你》系列基础篇(七十七)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试(详解教程)
 *
 * 2022年3月05日
 */

public class TestDepend {
    
    @Test
    public void failMethod(){
        
        System.out.println("这个方法运行失败");
        throw new RuntimeException();

    }
    
    @Test(dependsOnMethods = {"failMethod"}, alwaysRun=true)
    public void skipMethod1(){
        System.out.println("经管failMethod执行失败了,但是我是弱依赖,所以我会继续执行");
    }
    
    @Test(dependsOnMethods = {"failMethod"})
    public void skipMethod2(){
        System.out.println("我是强依赖,failMethod失败了,我不能执行");
    }
  
}
4.3运行代码

1.运行代码,右键Run AS->TestNG Suite,控制台输出,如下图所示:

2.上边这个也许看的不清晰,宏哥给你们看看这个比较清晰,如下图所示:

5.小结

 好了,今天时间也不是很早了,宏哥就讲解和分享到这里,感谢您耐心的阅读!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.简介
  • 2.依赖机制
  • 3.强依赖关系
    • 3.1代码设计
      • 3.2参考代码
        • 3.3运行代码
        • 4.弱依赖关系
          • 4.1代码设计
            • 4.2参考代码
              • 4.3运行代码
              • 5.小结
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档