当前位置: 首页 > news >正文

自动化测试之Junit

    • Junit引入
    • 注解
    • 参数化
      • 单参数
      • 多参数
      • 方法传参
    • 测试用例执行顺序
    • 断言
    • 测试套件

Junit引入

Junit来编写和组织自动化测试用例,使用Selenium来实际模拟用户与Web应用程序的交互。也就是使用JUnit的测试功能来管理和运行Selenium测试。常见的做法是,使用JUnit作为测试框架来编写和管理测试用例,然后使用Selenium WebDriver来执行与Web应用程序的交互。

Junit是针对java的单元测试框架
我们学习的内容如下:
注解
@Test
@Disabled
@BeforeAll,@AfterAll,@BeforeEach,@AfterEach

参数化
单参数
多参数
CSV获取参数
方法获取参数

测试套件
通过class运行测试用例;通过包运行测试用例

1:添加Junit依赖
在这里插入图片描述

注解

注解Test:表示当前方法是一个测试用例
在这里插入图片描述
下方控制台:成功是绿色的;
在这里插入图片描述
失败就会报一堆红的;
在这里插入图片描述
在方法的运行图标上标红;意味则这个测试用例不能通过
在这里插入图片描述

注解:@Disabled
在这里插入图片描述
注解:@BeforeAll,@AfterAll
这个比较特殊,需要前面加static。因为他是针对类的;所以需要static。。你想想是不是静态的static才能做到比其它方法先执行;类加载的时候执行。在跑所有的测试用例之前会执行这个;;所有的测试用例执行完就会跑afterALI语句
在这里插入图片描述
想一想什么方法要放在这里面呢
创建驱动,打开网页;初始化在前;而关闭在后。比如idbc连接数据库。
关闭浏览器在后

注解:@BeforeEach,@AfterEach
在这里插入图片描述
一个测试用例执行前都会执行beforeeach;每一次测试用例执行后都会执行一次aftereach

参数化

参数依赖于另一个注解;这又是另一个依赖

在这里插入图片描述

单参数

注解@Parameterized作用在方法上面,用来表示这个方法支持传入多个参数;
注解@ValueSource用于指定传入参数的类型;例如:strings={}就表示传入的是一个string类型的数组。@ValueSource注解当中只支持一种数据类型。
在这里插入图片描述
这样子;这个测试用例会跑3次;每一次取一个数字

多参数

传不同类型数据:默认是逗号分割;我们可以用以下方法;定义分隔符

    @ParameterizedTest@CsvSource(value = {"张三-20","李四-21","王五-22"},delimiter = '-')public void printStringAndAge(String name,int age){System.out.println("name:"+name+";age="+age);}

如果参数当中包含逗号:“,”,就需要使用单引号转义字符串。例如:" ‘张,三’, 20 "
这样子才能正确的输出张,三

通过文件读取参数:@CsvFileSource(resources=“/文件名称”)。这里读取的内容(resources=“/文件名称”)也可以你自己指定一个
files = “C:\Users\廖雨wang\source\test01.csv”
resources目录下创建这个文件
在这里插入图片描述
在这里插入图片描述

方法传参

在这里插入图片描述
在这里插入图片描述
或者这样子写:
在这里插入图片描述

这两个注解和test是冲突的;相当于执行两次:第一次是如下这样子;参数没传过来,当然报错。。。第二次相当于把@test解注释掉再执行一次。。一次通过;一次不通过。

测试用例执行顺序

如果你没加任何的执行顺序指定;所有的测试用例一起执行;它们的顺序是固定的;就是看人家junit对这些是怎么实现的;不管你怎么调整都是固定的一样执行顺序
在这里插入图片描述
指定顺序:
1:先在类上添加@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
2:在要指定顺序的方法上加@order(1);@order(2);@order(3);按照你的123顺序进行执行

在类上加@TestMethodOrder(MethodOrderer.Random.class);就表示随机的运行机制

断言

因为我们没有一个预期结果进行效验;就算进行效验都是需要if判断;是不是很麻烦
在这里插入图片描述
断言相等:如果相等;测试用例就通过
在这里插入图片描述

断言不相等:如果不相等;测试用例就通过
在这里插入图片描述

断言为空:如果为空;测试用例就通过
在这里插入图片描述

断言不为空:如果不为空;测试用例就通过

String str="123";
Assertions.assertNotNull(str)

测试套件

通过class测试用例运行;
在这里插入图片描述
或者通过包名控制;这个注解要求传的是string数组;这样子就会按照先执行Test01这个包的测试用例;再执行Test08这个包的测试用例
在这里插入图片描述

相关文章:

自动化测试之Junit

Junit引入注解参数化单参数多参数方法传参 测试用例执行顺序断言测试套件 Junit引入 Junit来编写和组织自动化测试用例,使用Selenium来实际模拟用户与Web应用程序的交互。也就是使用JUnit的测试功能来管理和运行Selenium测试。常见的做法是,使用JUnit作…...

Spring Boot 整合MyBatis-Plus

😀前言 本篇博文是关于Spring Boot 整合MyBatis-Plus的,希望你能够喜欢😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的…...

CC++ 常用技巧

C 中的C C 是面向过程的是把整个大程序分为一个个的子函数;C 是面向对象的是把整个程序划分为一个个的类。C 是完全兼容C 的,C 是C 的子集,C 是C 的超集。C 又对C 做了很多补充和提升,因此使用C 会比使用纯C 更方便。混用C和C&am…...

【AndroidStudio】屏蔽小米打印

使用小米手机调试时,会一直有notifyQueue load error的打印 在过滤器重添加过滤条件即可 -message:notifyQueue...

Tomcat的安装与介绍

首先我们先了解一下什么是服务器?什么是服务器软件? 什么是服务器?安装了服务器软件的计算机。 什么是服务器软件? 服务器软件是一种运行在服务器操作系统上,用于接收和处理客户端请求,并提供相应服务和资…...

说点大实话丨知名技术博主 Kirito 测评云原生网关

作者:徐靖峰 关注了阿里云云原生公众号,经常能看到 MSE-Higress 相关的推文,恰逢这次阿里云产品举办了一个 MSE-Higress 云原生网关的测评活动,借此机会体验了一把云原生网关的功能。 购买流程体验 购买网关时,页面明…...

时序预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络时间序列预测

时序预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络时间序列预测 目录 时序预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 时序预测 | MATLAB实现SO-CNN-BiL…...

简述docker的网络模式

Docker 提供了多种网络模式,用于控制容器之间以及容器与主机之间的网络通信。以下是 Docker 的一些常见网络模式 briage模式: docker容器启动时默认就是该模式,在该模式下,docker容器会连接到一个名为docker0的虚拟以太网桥上,通…...

MySql-8.0.34 CentOS 安装命令记录

1、执行以下命令获取 glibc 版本,根据版本下载相应的MySQL安装包。 ldd --version 2、下载MySQL。 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz 3、解压 tar -xzvf mysql-8.0.34-linux-glibc2.17-x86_64.t…...

开发电子木鱼功德+1需要多少钱

冥想木鱼小程序是一种结合了冥想和科技的应用形式,为用户提供了随时随地进行冥想的便捷方式。开发一款高质量的冥想木鱼小程序需要综合考虑技术实现、冥想专业性和用户体验等多个方面。本文将详细介绍冥想木鱼小程序的开发过程,并探讨其中的专业性与思考…...

批处理中扩展解释%~的相关知识和用法,并给出示例和实际运行结果展示

批处理中扩展解释%~的相关知识和用法,并给出示例和实际运行结果展示 在批处理脚本中,%~是一个特殊的前缀,用于对参数和变量进行字符串处理。这个前缀后面可以跟着不同的字符,用于执行不同的操作。下面是一些常见的用法&#xff1a…...

LA@向量组间的表示关系

文章目录 2个向量组间的表示关系向量组的相互表出向量组用另一个向量组表示👺线性表示的系数矩阵矩阵乘法与线性表出列向量组线性表示行向量组线性表示 向量组等价👺向量组等价的性质推论 等价矩阵与向量组等价的关系行等价矩阵的行向量组等价列等价矩阵…...

Mybatis与Spring集成

目录 一.Spring整合Mybatis 1.什么是Spring整合Mybatis 新建一个ssm ​编辑 导入pom依赖 导入generatorConfig.xml 导入Spring-context.xml文件 导入Spring-mybatis.xml文件 自动生成Bookmapper.xml和Bookmapper文件 编写接口类:Bookbiz 编写接口实现类 …...

AMBA总线协议(0)——目录与传送门

一、AMBA总线协议 Arm高级微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)是一种开放式标准片上互联规范,用于连接和管理片上系统(System on Chip,Soc)中的功能块。 AMBA是一种广泛用于…...

R语言快速生成三线表(1)

R语言的优势在于批量处理&#xff0c;常使用到循环和函数&#xff0c;三线表是科研文章中必备的内容。利用函数实现自动判断数据类型和计算。使用R包&#xff08;table1&#xff09;。 # 创建连续性变量 continuous_var1 <- c(1.2, 2.5, 3.7, 4.8, 5.9) continuous_var2 &l…...

【动手学深度学习】--20.目标检测和边界框

文章目录 目标检测和边界框1.目标检测2.边界框 目标检测和边界框 学习视频&#xff1a;物体检测和数据集【动手学深度学习v2】 官方笔记&#xff1a;目标检测和边界框 在图像分类任务中&#xff0c;我们假设图像中只有一个主要物体对象&#xff0c;我们只关注如何识别其类别…...

实验八 网卡驱动移植

【实验目的】 掌握 Linux 内核配置的基本方法&#xff0c;完成对网卡驱动、NFS 等相关功能的配置 【实验环境】 ubuntu 14.04 发行版FS4412 实验平台交叉编译工具&#xff1a;arm-none-linux-gnueabi- 【注意事项】 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行&…...

Linux的Man Page知识记录

Man&#xff08;short for manual&#xff09; Page是Unix和Linux操作系统中的一个重要文档&#xff0c;提供命令、函数、系统调用等的详细介绍和使用说明。它是以纯文本的形式出现&#xff0c;通常在终端&#xff08;terminal&#xff09;中使用man命令访问。Man Page按照章节…...

RTSP/Onvif视频服务器EasyNVR安防视频云服务调用接口录像会被自动删除的问题解决方案

EasyNVR安防视频云服务是基于RTSP/Onvif协议接入的视频平台&#xff0c;可支持将接入的视频流进行全平台、全终端的分发&#xff0c;分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等。平台丰富灵活的视频能力&#xff0c;可应用在智慧校园、智慧工厂、智慧水利等…...

几个nlp的小项目(文本分类)

几个nlp的小项目(文本分类) 导入加载数据类、评测类查看数据集精确展示数据测评方法设置参数tokenizer,token化的解释对数据集进行预处理加载预训练模型进行训练设置训练模型的参数一个根据任务名获取,测评方法的函数创建预训练模型开始训练本项目的工作完成了什么任务?导…...

形转化理论:基本概念、深刻机制与研究框架的系统性阐述

摘要形转化理论&#xff08;Form-Transformation Theory, FTT&#xff09;是一种基于信息本体论的全新物理范式&#xff0c;旨在将宇宙的基本实在重新界定为永恒、离散的信息处理网络动力学。本文系统阐述该理论的核心概念体系、两大支柱性数学框架及从微观网络到宏观物理的涌现…...

Taotoken官方价折扣活动对于高频用户的实际成本影响分析

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken官方价折扣活动对于高频用户的实际成本影响分析 1. 理解Taotoken的计费模式 Taotoken平台采用按Token消耗量计费的模式。…...

对lsof、tcpdump、strace命令的简单记录

1. lsof (List Open Files) —— “谁占用了资源&#xff1f;” 核心哲学&#xff1a;Linux 中一切皆文件&#xff08;包括磁盘文件、网络 Socket、设备&#xff09;。 常用操作&#xff1a;lsof -i :15000&#xff1a;查看指定端口的进程占用及连接状态&#xff08;LISTEN/EST…...

5个常见照片管理难题,ExifToolGUI一站式解决

5个常见照片管理难题&#xff0c;ExifToolGUI一站式解决 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 你有没有遇到过这样的情况&#xff1f;旅行归来&#xff0c;几百张照片的拍摄时间全乱了&#xff0c…...

Windows 10/11 下 Node.js 安装踩坑实录:为鸿蒙HarmonyOS开发扫清环境障碍

Windows 10/11 下 Node.js 安装踩坑实录&#xff1a;为鸿蒙HarmonyOS开发扫清环境障碍 当你在Windows系统上准备搭建鸿蒙HarmonyOS开发环境时&#xff0c;Node.js的安装往往是第一个拦路虎。不同于官方文档中"下一步到底"的理想化流程&#xff0c;真实场景中你会遇到…...

2026年十大RPA自动化工具盘点:从国际巨头到国产新秀

一、RPA技术的前世今生说起RPA&#xff08;机器人流程自动化&#xff09;&#xff0c;很多人以为这是近几年才冒出来的新概念。其实不然&#xff0c;自动化的基因早在百年前就埋下了种子。1913年&#xff0c;福特汽车搞出了世界上第一条流水线&#xff0c;那是工业自动化的起点…...

某恶意软件样本逆向分析报告

1.概述样本来源&#xff1a;微步在线恶意软件名称&#xff1a;刘文博-关于北京体彩中心的问题反馈.exesha256&#xff1a;c28d23d8658abc1f5683c6b50239d5593eb7a274a3abec56124d7fb43fec1b642.行为分析该程序图标设为word文档图标&#xff0c;实际为exe文件&#xff0c;诱骗受…...

Keep架构深度解析:企业级AIOps告警管理平台的设计与实践

Keep架构深度解析&#xff1a;企业级AIOps告警管理平台的设计与实践 【免费下载链接】keep The open-source AIOps and alert management platform 项目地址: https://gitcode.com/GitHub_Trending/kee/keep Keep作为开源AIOps告警管理平台&#xff0c;采用现代化的微服…...

A Survey for Image Quality Assessment: From Handcrafted Features to Deep Learning

1. 图像质量评估的起源与核心挑战 当你用手机拍完一张照片&#xff0c;系统自动弹出"画质优化建议"时&#xff0c;背后就是图像质量评估&#xff08;IQA&#xff09;技术在发挥作用。这项技术最早可以追溯到上世纪70年代电视信号传输质量检测&#xff0c;当时工程师们…...

APK Installer技术解析与实践指南:Windows平台安卓应用部署的革命性方案

APK Installer技术解析与实践指南&#xff1a;Windows平台安卓应用部署的革命性方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在Windows系统上运行安卓应用一直是…...