首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)

《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)

作者头像
北京-宏哥
发布于 2022-04-27 10:33:23
发布于 2022-04-27 10:33:23
57000
代码可运行
举报
运行总次数:0
代码可运行

1.简介

在实际测试过程中,我们经常会遇到这样的情况,开发由于某些原因导致一些模块进度延后,而你的自动化测试脚本已经提前完成,这样就会有部分模块测试,有部分模块不能进行测试。这就需要我们暂时不让一些test case执行。今天宏哥主要讲解的就是在工作中遇到这种情况如何处理,不影响你的测试进度。

2.方案

①代码注销不执行测试用例区域。

②去除不执行测试用例前面@Test注释,这样testNG运行就不会运行到这部分的代码。

③testNG提供了一个enabled的参数,可以设置布尔型,true表示执行该方法,false表示不执行该测试用例。

第一种和第二种方法很简单,这里宏哥就做赘述,这里主要讲解和分享第三种方法。

3.项目实战

 为了节约时间,宏哥就不做新的测试场景,直接利用上一篇中测试百度搜索功能的代码,只要稍稍地改动一个地方就可以了。

3.1代码设计
3.2参考代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package library;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

/**
 * @author 北京-宏哥
 * 
 * @公众号:北京宏哥
 * 
 * 《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)
 *
 * 2022年3月07日
 */

public class TestDepend {
    
WebDriver driver;
    
    @BeforeClass
    public void setup(){
        
        System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
        driver = new ChromeDriver();
        driver.manage().window().maximize();
        
    }
    
    @Test
    public void openBaidu() throws InterruptedException{
        
        driver.get("https://www.baidu.com");
        Thread.sleep(2000);
        System.out.println(driver.getTitle());
        //assertTrue(driver.getTitle() == "百度一下,你就知道");
    }
    
    @Test(dependsOnMethods={"openBaidu"})
    public void testSearch() throws InterruptedException{
        driver.findElement(By.id("kw")).sendKeys("Selenium");
        driver.findElement(By.id("su")).click();
        Thread.sleep(1000);
    }
    
    @Test(dependsOnMethods={"testSearch"},enabled=false)
    public void testSearch2() throws InterruptedException{
        driver.findElement(By.id("kw")).clear();
        driver.findElement(By.id("kw")).sendKeys("Selenium+Java");
        driver.findElement(By.id("su")).click();
        Thread.sleep(1000);
    }
    
    @AfterClass
    public void tearDown() throws InterruptedException{
        Thread.sleep(3000);
        driver.quit();
    }
  
}
3.3运行代码

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

上面有三个测试用例,运行后可以看到报告显示执行了两个测试用例。

2.运行代码后电脑端的浏览器的动作,如下小视频所示:

https://gorilla.cdnja.co/v/ar/arjRd.mp4?token=AMao-T4OdDUxHLnjXK6inQ&expires=1651056167

4.小结

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

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
TCA - SwiftUI 的救星?(一)
打算用几篇文章介绍一下 TCA (The Composable Architecture[1]),这是一种看起来非常契合 SwiftUI 的架构方式。
Swift社区
2021/12/20
3.8K0
TCA - SwiftUI 的救星?(一)
聊一聊可组装框架( TCA )
本文将聊聊一个与创建复杂的 SwiftUI 应用很契合的框架 —— The Composable Architecture( 可组装框架,简称 TCA )。包括它的特点和优势、最新的进展、使用中的注意事项以及学习路径等问题。
东坡肘子
2022/12/16
2.1K0
【React】360- 完全理解 redux(从零实现一个 redux)
记得开始接触 react 技术栈的时候,最难理解的地方就是 redux。全是新名词:reducer、store、dispatch、middleware 等等,我就理解 state 一个名词。
pingan8787
2019/09/25
8500
【React】360- 完全理解 redux(从零实现一个 redux)
React-hooks面试考察知识点汇总
React 没有提供将可复用性行为“附加”到组件的途径(例如,把组件连接到 store)。有一些解决此类问题的方案,比如 render props 和 高阶组件。但是这类方案需要重新组织你的组件结构,这可能会很麻烦,使你的代码难以理解。
beifeng1996
2022/10/06
1.6K0
从前端视角看 SwiftUI
我对 iOS 开发、手机开发、SwiftUI 开发经验有限,若有理解错误的部分欢迎指正。
Swift社区
2022/02/09
3.7K0
避免 SwiftUI 视图的重复计算
随着近年来有关 SwiftUI 的文章与书籍越来越多,开发者应该都已经清楚地掌握了 —— “视图是状态的函数” 这一 SwiftUI 的基本概念。每个视图都有与其对应的状态,当状态变化时,SwiftUI 都将重新计算与其对应视图的 body 值。
东坡肘子
2022/08/03
10.3K0
避免 SwiftUI 视图的重复计算
「 flutter 必知必会 」最强数据管理方案 flutter_redux 使用解析
一、前言 上篇文章我们讨论了 InheritedWidget 的使用,但是当 widget 数量很多时,使用起来会越来越麻烦,所以本文再给大家分享下,flutter_redux 的使用方法 flutter_redux是基于InheritedWidget封装的用于Widget树的数据传递与共享的的一套框架,它能高效的完成数据共享,进而达到ui及时更新等目的,使用起来略显复杂,一般不是很多的数据更新不建议使用,直接用InheritedWidget就能解决,当Widget绑定的很多的时候,使用起来就会很爽了。
圆号本昊
2021/09/24
8500
「 flutter 必知必会 」最强数据管理方案 flutter_redux 使用解析
架构之路 (六) —— VIPER架构模式(二)
源码 1. Swift 首先看下工程组织结构 下面就是源码了 1. SceneDelegate.swift import SwiftUI class SceneDelegate: UIRespond
conanma
2021/09/04
1.4K0
深入理解Redux数据更新机制:数据流管理的核心原理
在现代的前端开发中,数据管理是一个至关重要的问题。随着应用程序的复杂性不断增加,我们需要一种有效的方式来管理数据的流动和更新。Redux作为一个流行的状态管理库,提供了一种简洁而强大的数据更新机制,成为了许多开发者的首选。
用户6297767
2023/11/21
9340
深度解读 Observation —— SwiftUI 性能提升的新途径
在 WWDC 2023 中,苹果介绍了 Swift 标准库中的新成员:Observation 框架。它的出现有望缓解开发者长期面临的 SwiftUI 视图无效更新问题。本文将采取问答的方式,全面而详尽地探讨 Observation 框架,内容涉及其产生原因、使用方法、工作原理以及注意事项等。
东坡肘子
2023/07/08
1.2K0
深度解读 Observation —— SwiftUI 性能提升的新途径
了解 SwiftUI 的 onChange
从 iOS 14 开始,SwiftUI 为视图提供了 onChange 修饰器,通过使用 onChange,我们可以在视图中对特定的值进行观察,并在其更改时触发操作。本文将对 onChange 的特点、用法、注意事项以及替代方案做以介绍。
东坡肘子
2022/07/28
3.3K0
用Async/Await重建SwiftU的Redux-like状态容器
经过两年多的时间,SwiftUI发展到当前的3.0版本,无论SwiftUI的功能还是Swift语言本身在这段时间里都有了巨大的提升。是时候使用Async/Await来重构我的的状态容器代码了。
东坡肘子
2022/07/28
2.1K0
用Async/Await重建SwiftU的Redux-like状态容器
在SwiftUI中使用UIKit视图
已迈入第三个年头的SwiftUI相较诞生初始已经提供了更多的原生功能,但仍有大量的事情是无法直接通过原生SwiftUI代码来完成的。在相当长的时间中开发者仍需在SwiftUI中依赖UIKit(AppKit)代码。好在,SwiftUI为开发者提供了便捷的方式将UIKit(AppKit)视图(或控制器)包装成SwiftUI视图。
东坡肘子
2022/07/28
9.4K0
在SwiftUI中使用UIKit视图
探讨 SwiftUI 中的几个关键属性包装器
在这篇文章中,我们将探讨几个在 SwiftUI 开发中经常使用且至关重要的属性包装器。本文旨在提供对这些属性包装器的主要功能和使用注意事项的概述,而非详尽的使用指南。
东坡肘子
2023/12/21
1.5K0
探讨 SwiftUI 中的几个关键属性包装器
SwiftUI 状态管理系统指南
SwiftUI与苹果之前的UI框架的区别不仅仅在于如何定义视图和其他UI组件,还在于如何在整个使用它的应用程序中管理视图层级的状态。
Swift社区
2022/07/05
5.9K0
【Hooks】:[组]How to useReducer in React
The concept of a Reducer became popular in JavaScript with the rise of Redux as state management solution for React. But no worries, you don't need to learn Redux to understand Reducers. Basically reducers are there to manage state in an application. For instance, if a user writes something in an HTML input field, the application has to manage this UI state (e.g. controlled components).
WEBJ2EE
2021/02/26
3630
【Hooks】:[组]How to useReducer in React
146. 精读《React Hooks 数据流》
React Hooks 渐渐被国内前端团队所接受,但基于 Hooks 的数据流方案却还未固定,我们有 “100 种” 类似的选择,却各有利弊,让人难以取舍。
黄子毅
2022/03/14
8540
Swift 掌握 Observation 框架
Apple 推出了由 Swift 语言的宏功能支持的新观察框架。新的观察框架与 Swift 并发功能结合使用,允许我们替代 Apple 公司看起来已经过时的 Combine 框架。下面将介绍如何使用观察框架来处理应用程序中的数据流。
Swift社区
2023/12/21
5320
@StateObject 研究
在我之前的文章@State研究中我们探讨过@State,通过它,我们可以方便的将值类型数据作为View的Source of truth。在SwiftUI 1.0时代,如果想将引用类型作为source of truth,通常的方法是使用@EnvironmentObject或者 @ObservedObject。
东坡肘子
2022/07/28
1.4K0
【Redux】:Redux 指北
Redux 是JavaScript 应用的状态管理容器,提供集中式、可预测的状态管理。
WEBJ2EE
2021/06/15
1.8K0
推荐阅读
相关推荐
TCA - SwiftUI 的救星?(一)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档