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

自动化测试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);}

方法获取参数

多参数

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);}
@Test和@ParameterizedTest不能同时使用 

不想按默认的顺序的执行+:

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自动化测试框架&#xff1b;Junit单元测试框架。 拿着一个技术写自动化测试用例&#xff08;Selenium3&#xff09; 拿着一个技术管理已经编写好的测试用例&#xff08;Junit5&#xff09; Junit相关的技术 Junit是针对Java的一…...

d3dx9_43.dll丢失有什么办法可以解决,解决d3dx9_43.dll丢失

通常d3dx9_43.dll丢失都是在运行游戏时汤出的d3dx9_43.dll找不到的错误窗口&#xff0c;因为d3dx9_43.dll文件更多是在使用游戏时会被调用的dll文件&#xff0c;d3dx9_43.dll是属于DirectX9的一个组件&#xff0c;DirectX9是游戏系统中的一个重要程序&#xff0c;所以当d3dx9_4…...

【C++】: auto关键字(C++11)+基于范围的for循环(C++11)+指针空值nullptr(C++11)

auto关键字&#xff08;C11&#xff09; 随着程序越来越复杂&#xff0c;程序中用到的类型也越来越复杂&#xff0c;经常体现在&#xff1a; 类型难于拼写含义不明确导致容易出错 #include <string> #include <map> int main() {std::map<std::string, std::…...

华为OD机试 - 玩牌高手 - 动态规划(Java 2023 B卷 100分)

目录 一、题目描述二、输入描述三、输出描述四、解题思路具体规则如下&#xff1a;具体步骤如下&#xff1a; 五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 一、题目描述 给定一个长度为n的整型数组&#xff0…...

【java】【重构二】分模块开发版本锁定以及耦合(打包)实战

目录 一、创建dependencyManagement标签 二、 将需要版本控制的依赖版本进行标签设置 三、将需要版本控制的依赖从各子模块迁移到此处 四、将父模块的依赖版本控制 五、删除子模块的全部版本 1、bocai-web-management模块 2、bocai-utils模块 六、打包 1、确定代码都…...

Excel提高工作效率常用功能

定位快捷键使用 CtrlG或者F5 根据不同类别插入空行 例&#xff1a;以下表&#xff0c;以部门为单位&#xff0c;每个部门后插入空白行 部门姓名出勤基本工资岗位津贴公体加班绩效基数工龄应发合计财务部姓名73115002101710财务部姓名11116006003401502363财务部姓名5271000…...

物联网_00_物理网介绍

1.物联网为什么会出现? 一句话-----追求更高品质的生活, 随着科技大爆炸, 人类当然会越来越追求衣来伸手饭来张口的懒惰高品质生活, 最早的物联网设备可以追溯到19世纪末的"在线可乐售卖机"和"特洛伊咖啡壶"(懒惰的技术人员为了能够实时看到物品的情况而设…...

华为智选SF5,AITO问界的车怎么样

#华为智选 #赛力斯SF5 #aito问界m5 #aito问界m7 #华为汽车 华为的车&#xff0c;后杠焊两点&#xff0c;拉车的时候&#xff0c;拖车钩断了&#xff0c;后杠拉出来了&#xff0c;这质量可以吗&#xff1f;是否应该全部召回&#xff1f;M5&#xff0c;M7是不是也这样&#xff1f…...

大数据测试用例分析

基于大数据分析&#xff0c;对业务系统产生的日志进行智能分析&#xff0c;能够识别日志中的接口、参数、业务流&#xff0c;并依据分析的结果生成测试用例。 问题与背景 业务复杂 业务系统的复杂性&#xff0c;对测试人员的业务能力提出严格要求&#xff0c;加重测试成本。 …...

Java中的泛型:高效编程的利器

泛型—— 一种可以接收数据类型的数据类型。泛型是Java中的一种参数化类型机制&#xff0c;通过类型参数&#xff0c;可以在类、接口和方法中实现通用的代码。 泛型的引入 泛型&#xff08;Generics&#xff09;是 Java 编程语言中引入的一个重要特性&#xff0c;它可以让程序…...

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代码示例&#xff1a; 2、JSX使用场景2.1代码示例&#xff1a; 3、JSX中实现列表渲染4、JSX - 实现基本的条件渲染5、JSX - …...

力扣每日一题49:字母异位词分组

题目描述&#xff1a; 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate&quo…...

TechSmith Camtasia Studio 23.3.2.49471 Crack

全新的Camtasia 2023.2 Camtasia Studio是专业的屏幕录像和视频编辑的软件套装。软件提供了强大的屏幕录像&#xff08;Camtasia Recorder&#xff09;、视频的剪辑和编辑&#xff08;Camtasia Studio&#xff09;、视频菜单制作&#xff08;Camtasia MenuMaker&#xff09;、视…...

进程【Linux系统编程】

一、先谈硬件——冯诺依曼体系结构 存储器&#xff1a;内存&#xff08;硬盘是外存&#xff09; 输入设备&#xff1a;鼠标、键盘、摄像头、话筒、磁盘、网卡…… 输出设备&#xff1a;显示器、播放器硬件、磁盘、网卡…… 输入输出设备是外部设备&#xff0c;简称外设。 中央…...

【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框架做一个音乐网站&#xff0c; 本篇音乐播放器-添加播放音乐功能实现。 目录 创建播放器数据表 设置表结构 执行创建表 命令 执行 数据表结构 添加单个歌曲 创建路由 加入播放器视图 模板处理 基类方法 子页面调用 优化弹窗 加入layui文件 基…...

C++类对象所占内存空间大小分析

前言 类占内存空间是只类实例化后占用内存空间的大小&#xff0c;类本身是不会占内存空间的。用 sizeof 计算类的大小时&#xff0c;实际上是计算该类实例化后对象的大小。空类占用1字节原因&#xff1a;C要求每个实例在内存中都有一个唯一地址&#xff0c;为了达到这个目的&am…...

绿肥红瘦专栏数据的爬取

前言 要想爬专栏&#xff0c;先得爬用户。要想爬用户&#xff0c;三个header参数挡住了去路&#xff1a;x-zst-81&#xff0c;x-zse-93&#xff0c;x-zse-96&#xff0c;经过搜索x-zse-96&#xff0c;定位到设置该字段的位置&#xff1a; 这个t2是固定的值&#xff0c;t0来自于…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...