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

简介: 【6月更文挑战第20天】TestNG是一个Java测试框架,提供两种测试方法依赖机制:强依赖(所有前置方法成功后才运行)和弱依赖(即使前置方法失败,后置方法仍运行)。文中通过代码示例展示了这两种依赖如何实现,并解释了当依赖方法失败时,如何影响后续方法的执行。文章还包含了TestNG Suite的运行结果截图来辅助说明。

1.简介

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

2.依赖机制

TestNG提供了两种依赖机制:

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

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

3.强依赖关系

3.1代码设计

3.2参考代码

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参考代码

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.小结

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


每天学习一点,今后必成大神-

往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问):


Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试

Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南

Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架

Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架

Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程

Fiddler工具从基础->进阶->高级,费时100多天吐血整理出这一份全网超详细的入门到精通教程

Pycharm工具基础使用教程

相关文章
|
Web App开发 数据采集 JavaScript
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
本文介绍了Selenium、Chrome DevTools及Chrome DevTools Protocol (CDP) 的基本功能与应用。Selenium是一款开源自动化测试工具,适用于网页端应用程序测试和数据采集,具备跨平台特性。Chrome DevTools内置浏览器中,提供调试、分析Web应用程序的功能,包括元素、控制台、源代码和网络选项卡等。CDP是一套用于与Chromium内核浏览器通信的API,支持自动化测试和性能分析。文中还展示了Selenium与CDP结合使用的示例,如捕获网络请求数据和打印网页内容,并推荐了相关书籍和资源以供深入学习。
1936 39
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
449 31
Selenium IDE:Web自动化测试的得力助手
|
数据采集 测试技术 Python
自动化淘宝秒杀:使用Selenium WebDriver的实战指南
本文详细介绍了如何利用Selenium WebDriver自动化淘宝秒杀操作,包括环境配置、代码实现及注意事项,旨在帮助读者提升秒杀成功率,同时提醒合理使用以遵守平台规则。
944 132
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
290 0
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
1055 6
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
300 0
|
JavaScript 前端开发 测试技术
精通Selenium:从基础到高级的网页自动化测试策略
【10月更文挑战第6天】随着Web应用变得越来越复杂,手动进行功能和兼容性测试变得既耗时又容易出错。自动化测试因此成为了现代软件开发不可或缺的一部分。Selenium是一个强大的工具集,它支持多种编程语言(包括Python),允许开发者编写脚本来模拟用户与Web页面的交互。本文将带领读者从Selenium的基础知识出发,逐步深入到高级的应用场景,通过丰富的代码示例来展示如何高效地进行网页自动化测试。
2285 5
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
881 4
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【10月更文挑战第2天】在软件开发的海洋中,自动化测试犹如一艘救生艇,让质量保证的过程更加高效与精准。本文将深入探索Selenium这一强大的自动化测试框架,从其架构到实际应用,带领读者领略自动化测试的魅力和力量。通过直观的示例和清晰的步骤,我们将一起学习如何利用Selenium来提升软件测试的效率和覆盖率。

热门文章

最新文章

下一篇
开通oss服务