自动化测试08
Junit
为什么学了Selenium还需学习Junit
Selenium自动化测试框架;Junit单元测试框架。
拿着一个技术写自动化测试用例(Selenium3)
拿着一个技术管理已经编写好的测试用例(Junit5)
Junit相关的技术
Junit是针对Java的一个单元测试框架
注解:
@Test:
表示当前的这个方法是一个测试用例
@Disabled
当前方法被忽略
@BeforeAll,@AfterAll,@BeforeEach,@AfterEach
你把什么样的程序放到BeforeAll里面,把什么样的程序放到AfterAll里面?
初始化放在前面,关闭数据库放在后边。
如果做UI自动化,通常情况下,创建驱动,打开网页,放到BeforeAll,关闭浏览器放到AfterAll里边。
@Testpublic void Test01() {System.out.println("这是JunitTest里面的Test01");}@Testpublic void Test02() {System.out.println("这是JunitTest里面的Test02");}@Disabledpublic void Test03() {WebDriver webDriver = new ChromeDriver();webDriver.get("https://www.baidu.com");webDriver.findElement(By.cssSelector("#s-top-left > a:nth-child(6)"));}@BeforeAllpublic static void SetUp() {System.out.println("这是我们BeforeAll里面的语句");}@AfterAllpublic static void TearDown() {System.out.println("这是我们AfterAll的语句");}@BeforeEachpublic void BeforeEachTest() {System.out.println("这是BeforeEach里面的语句");}@AfterEachpublic void AfterEachTest() {System.out.println("这是AfterEach里面的语句");}
如果有5个测试用例,BeforeEach跑几次,BeforeAll跑几次?
5 1
如果有5个测试用例,AfterEach跑几次,AfterAll跑几次?
5 1
BeforeAll在所有的测试用例运行之前跑响应的方法
BeforeEach在每一个测试用例执行之前跑对应的方法
AfterAll在所有的测试用例运行之后跑响应的方法
AfterEach在每一个测试用例执行之后跑对应的方法
参数化:
单参数
@ParameterizedTest@ValueSource(ints = {1,2,3})void Test04(int num) {System.out.println(num);}@ParameterizedTest@ValueSource(strings = {"1","2","3"})void Test05(String number) {System.out.println(number);}CSV获取参数
@ParameterizedTest@CsvFileSource(resources = "test01.csv")void Test06(String name) {System.out.println(name);}方法获取参数
多参数
@Test和@ParameterizedTest不能同时使用public static Stream<Arguments> Generator() {return Stream.of(Arguments.arguments(1,"张三"),Arguments.arguments(2,"李四"),Arguments.arguments(3,"王五"));} @ParameterizedTest@MethodSource("Generator")void Test07(int num,String name) {System.out.println(num + ":" + name);}
不想按默认的顺序的执行+:
1)@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@order(1) @order(2) ……
2)随机生成
@TestMethodOrder(MethodOrderer.Random.class)
测试套件:
通过class运行测试用例
通过包运行测试用例
断言
断言相等
@ParameterizedTest@ValueSource(ints = {1})void Test02(int num) {System.out.println(num);Assertions.assertEquals(1,num);}
断言不相等
Assertions.assertNotEquals(2,num);
断言为空
断言不为空

构建测试套件
1、
@Suite
//通过class测试用例运行
@SelectClasses({JunitTest.class,JunitTest03.class})
public class RunSuite {
}
2、通过建立测试包
@Suite
//通过class测试用例运行
@SelectPackages(value = {"Package01","Package02"})
public class RunSuite {
}
相关文章:
自动化测试08
Junit 为什么学了Selenium还需学习Junit Selenium自动化测试框架;Junit单元测试框架。 拿着一个技术写自动化测试用例(Selenium3) 拿着一个技术管理已经编写好的测试用例(Junit5) Junit相关的技术 Junit是针对Java的一…...
d3dx9_43.dll丢失有什么办法可以解决,解决d3dx9_43.dll丢失
通常d3dx9_43.dll丢失都是在运行游戏时汤出的d3dx9_43.dll找不到的错误窗口,因为d3dx9_43.dll文件更多是在使用游戏时会被调用的dll文件,d3dx9_43.dll是属于DirectX9的一个组件,DirectX9是游戏系统中的一个重要程序,所以当d3dx9_4…...
【C++】: auto关键字(C++11)+基于范围的for循环(C++11)+指针空值nullptr(C++11)
auto关键字(C11) 随着程序越来越复杂,程序中用到的类型也越来越复杂,经常体现在: 类型难于拼写含义不明确导致容易出错 #include <string> #include <map> int main() {std::map<std::string, std::…...
华为OD机试 - 玩牌高手 - 动态规划(Java 2023 B卷 100分)
目录 一、题目描述二、输入描述三、输出描述四、解题思路具体规则如下:具体步骤如下: 五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 一、题目描述 给定一个长度为n的整型数组࿰…...
【java】【重构二】分模块开发版本锁定以及耦合(打包)实战
目录 一、创建dependencyManagement标签 二、 将需要版本控制的依赖版本进行标签设置 三、将需要版本控制的依赖从各子模块迁移到此处 四、将父模块的依赖版本控制 五、删除子模块的全部版本 1、bocai-web-management模块 2、bocai-utils模块 六、打包 1、确定代码都…...
Excel提高工作效率常用功能
定位快捷键使用 CtrlG或者F5 根据不同类别插入空行 例:以下表,以部门为单位,每个部门后插入空白行 部门姓名出勤基本工资岗位津贴公体加班绩效基数工龄应发合计财务部姓名73115002101710财务部姓名11116006003401502363财务部姓名5271000…...
物联网_00_物理网介绍
1.物联网为什么会出现? 一句话-----追求更高品质的生活, 随着科技大爆炸, 人类当然会越来越追求衣来伸手饭来张口的懒惰高品质生活, 最早的物联网设备可以追溯到19世纪末的"在线可乐售卖机"和"特洛伊咖啡壶"(懒惰的技术人员为了能够实时看到物品的情况而设…...
华为智选SF5,AITO问界的车怎么样
#华为智选 #赛力斯SF5 #aito问界m5 #aito问界m7 #华为汽车 华为的车,后杠焊两点,拉车的时候,拖车钩断了,后杠拉出来了,这质量可以吗?是否应该全部召回?M5,M7是不是也这样?…...
大数据测试用例分析
基于大数据分析,对业务系统产生的日志进行智能分析,能够识别日志中的接口、参数、业务流,并依据分析的结果生成测试用例。 问题与背景 业务复杂 业务系统的复杂性,对测试人员的业务能力提出严格要求,加重测试成本。 …...
Java中的泛型:高效编程的利器
泛型—— 一种可以接收数据类型的数据类型。泛型是Java中的一种参数化类型机制,通过类型参数,可以在类、接口和方法中实现通用的代码。 泛型的引入 泛型(Generics)是 Java 编程语言中引入的一个重要特性,它可以让程序…...
Mysql的關鍵字或者保留字
1.group 不能用group作爲字段名 ### SQL: insert INTO biz_customer_group ( id,customer,group ) VALUES (?,?,?) ON DUPLICATE key update customer VALUES(customer), group VALUES(group) ### Cause: java.sql.SQLSyntaxErrorException: You have an error in your S…...
24、Flink 的table api与sql之Catalogs(java api操作分区与函数、表)-4
Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…...
React基础: 项目创建 JSX 基础语法 React基础的组件使用 useState状态 基础样式控制
01 React 文章目录 01 React一、React是什么1、React的优势 二、React开发环境搭建1、创建项目2、运行项目3、项目的目录结构 三、JSX基础1、什么是 JSX代码示例: 2、JSX使用场景2.1代码示例: 3、JSX中实现列表渲染4、JSX - 实现基本的条件渲染5、JSX - …...
力扣每日一题49:字母异位词分组
题目描述: 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate&quo…...
TechSmith Camtasia Studio 23.3.2.49471 Crack
全新的Camtasia 2023.2 Camtasia Studio是专业的屏幕录像和视频编辑的软件套装。软件提供了强大的屏幕录像(Camtasia Recorder)、视频的剪辑和编辑(Camtasia Studio)、视频菜单制作(Camtasia MenuMaker)、视…...
进程【Linux系统编程】
一、先谈硬件——冯诺依曼体系结构 存储器:内存(硬盘是外存) 输入设备:鼠标、键盘、摄像头、话筒、磁盘、网卡…… 输出设备:显示器、播放器硬件、磁盘、网卡…… 输入输出设备是外部设备,简称外设。 中央…...
【Edabit 算法 ★☆☆☆☆☆】【分钟转秒数】Convert Minutes into Seconds
【Edabit 算法 ★☆☆☆☆☆】【分钟转秒数】Convert Minutes into Seconds math numbers Instructions Write a function that takes an integer minutes and converts it to seconds. Examples convert(5) // 300 convert(3) // 180 convert(2) // 120Notes Don’t forge…...
Django实现音乐网站 ⒇
使用Python Django框架做一个音乐网站, 本篇音乐播放器-添加播放音乐功能实现。 目录 创建播放器数据表 设置表结构 执行创建表 命令 执行 数据表结构 添加单个歌曲 创建路由 加入播放器视图 模板处理 基类方法 子页面调用 优化弹窗 加入layui文件 基…...
C++类对象所占内存空间大小分析
前言 类占内存空间是只类实例化后占用内存空间的大小,类本身是不会占内存空间的。用 sizeof 计算类的大小时,实际上是计算该类实例化后对象的大小。空类占用1字节原因:C要求每个实例在内存中都有一个唯一地址,为了达到这个目的&am…...
绿肥红瘦专栏数据的爬取
前言 要想爬专栏,先得爬用户。要想爬用户,三个header参数挡住了去路:x-zst-81,x-zse-93,x-zse-96,经过搜索x-zse-96,定位到设置该字段的位置: 这个t2是固定的值,t0来自于…...
UCIe物理层实战:从链路初始化到坏Lane替换,手把手教你排查芯片互连问题
UCIe物理层深度实战:链路初始化与坏Lane替换的工程化解决方案 当你在实验室里盯着示波器上杂乱的信号波形,或是产线测试报告中突然跳出的链路训练失败提示时,UCIe物理层的问题排查往往令人头疼。不同于传统封装互连技术,Chiplet架…...
Diodes美台原厂原装一级代理分销经销商
品牌 元件类别 型号 描述 包装 数量 DIODES 运算放大器 AP4310AMTR-G1 SOP8 4000 DIODES 电压基准芯片 AZ431AN-ATRE1 SOT233000...
PID控制器的‘黑话’与‘暗坑’:从水槽比喻到PMSM FOC实战,这些细节决定成败
PID控制器的‘黑话’与‘暗坑’:从水槽比喻到PMSM FOC实战,这些细节决定成败 在电机控制领域,PID控制器就像一位经验丰富的老船长,看似简单的舵轮背后藏着无数需要磨合的细节。当我们将这个经典算法应用于PMSM无感FOC系统时&#…...
为什么你的Windows效率工具还在说英文?PowerToys-CN汉化项目深度解析
为什么你的Windows效率工具还在说英文?PowerToys-CN汉化项目深度解析 【免费下载链接】PowerToys-CN PowerToys Simplified Chinese Translation 微软增强工具箱 自制汉化 项目地址: https://gitcode.com/gh_mirrors/po/PowerToys-CN 你是否曾经面对功能强大…...
如何高效配置TranslucentTB开机自启动:3种实用方法解决Windows任务栏透明化启动难题
如何高效配置TranslucentTB开机自启动:3种实用方法解决Windows任务栏透明化启动难题 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentT…...
FPGA数据流处理小技巧:深度解读Shift Register IP核的‘额外周期’坑与可变延时实战
FPGA数据流处理实战:揭秘Shift Register IP核的延时陷阱与动态配置技巧 在图像处理流水线中,我们常常需要对像素数据进行精确的时序对齐。上周调试一个实时边缘检测系统时,发现经过移位寄存器处理后的Sobel算子计算结果总是比预期晚一个周期出…...
别再只盯着Loss曲线了!用TensorBoard给你的PyTorch模型做个‘全身CT’(附实战代码)
解锁TensorBoard高阶用法:PyTorch模型深度诊断实战指南 当你盯着训练曲线苦思冥想为什么模型表现不佳时,是否想过TensorBoard能做的远不止于此?就像医生不会仅凭体温判断病情,优秀的开发者也需要学会用专业工具对模型进行全面&quo…...
PAT天梯赛L3-026‘传送门’:从‘交换后缀’到Splay实战,一份写给算法竞赛新手的思维导图
PAT天梯赛L3-026‘传送门’:从‘交换后缀’到Splay实战,一份写给算法竞赛新手的思维导图 第一次看到"传送门"这个题目时,很多同学可能会联想到游戏中的空间跳跃装置。但在算法竞赛中,这道题实际上考察的是对动态序列的高…...
GPT-image-2 硬核赋能!云微 AI 视频带货系统,源码部署 + 二次开发
一、GPT-image-2 引爆 AI 视频赛道,源码自主成核心竞争力2026 年 4 月,OpenAI 发布的GPT-image-2模型凭借自回归推理架构、2K 超清画质、中文精准渲染、人物高度一致性四大颠覆性能力,彻底解决传统 AI 视频画面崩坏、文字错乱、剧情割裂等痛点…...
ncmdumpGUI:网易云音乐NCM文件解密转换的图形界面解决方案
ncmdumpGUI:网易云音乐NCM文件解密转换的图形界面解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲…...

