java接口自动化测试

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

测试框架:TestNG,HttpCLient

Mock技术:集成,前后端分离

数据持久层框架:mybitis

持续集成工具(Jenkins)

接口协议相关基础知识(Http协议)

TestNg:

     

1.适合复杂的集成测试

2.BeforeMethod,AfterMethod,在测试方法前后运行的方法

3.BeforeClass,afterMethod,在类运行前后执行的

4.BeforeSuite,afterSuite测试套件,在class前后执行

5.套件测试(suite):通过配置类

6.忽略测试(TgnoreTest):不想执行测试@Test(enabled=false)

7.方法组测试:先在@Test(group='server')定义小组执行的名称

在@BeforeGroups,@afterGroups中加上测试用例定义组名称:@AfterGroups("server"),那么就会按照组的形式执行测试用例

8.异常测试:期望某个结果为异常时@Test()

9.依赖测试:@Test(dependsOnMethods={"需要依赖测试的方法名"}),依赖的测试方法必须成功

HttpClien基本

使用方法:

1.创建HttpClient对象

2.创建请求方法的实例,HttpGet对象或者HttpPost对象。

3.使用SetParams设置请求参数,也可以用HttpPost对象的setEntity方法来设置请求参数

4.调用HttpClient对象的execute发送请求,该方法返回一个HttpResponse。

5.调用HttpResponse的getAllHeaders(),getHeaders等方法获取服务器的响应头

6.释放连接,不管执行方法是否成功,都必须释放连接。

项目结构

springBoot+maven+mysql+mybtis+testNg

mysql表结构设计:一个表根据设计一个接口

1.根据接口来设计表

2.预期结果

配置文件:

1.pom.xml文件中引包:spring相关的包,swagger,swagger-ui,lombok,fastjson,mysql,mybatis,

2.application.yml:server(端口号),logging,spring(mysql),mybatis(包的位置,mapper的路径)

3.logback

4.mybatis-config.xml:(报名,mappers)

5.mysql.xml:写sql语句的

6.databaseConfig:数据库配置文件

7.Testng.xml:

8.TestConfig:获取用户基础信息

9.Application.properties:访问接口的url

10.ConfigFile:直接拼接URL

ResourceBundle 获取配置文件

11.DatabaseUtil:获取数据库信息,获取执行sql对象:

SqlSession 

分层:用例层,配置层,model层,控制层,工具层

启动类 Application

0.cases(用例层):

1.model:跟数据库的表相对应

2.configSwaggerConfig(swaggerUiconfig)

3.controller(入口

@Autowired:访问数据库对象,

@RequestMapping:访问路径

@HttpServletResponse:返回cookies,@RequestBody:请求参数

@HttpServletRequest:验证cookies

4.mapper

5.cases

@Test

1.发请求,获取结果

2.验证结果:在数据库里面把结果查出来验证

Assert.assertEquals

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实验3 7段数码管译码器动态显示

实验目的: 1、构建基于verilog语言的8位7段断数码管的驱动实验; 2、掌握数码管的数显原理。 3、完成如下功能:8位数码管循环显示0123456789。 实验内容及步骤: 一、实验原理 1、数码管结构 当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的…

那些早期的iax和SIP软电话软件界面,看看你见过几个?

目录 一些iax/sip软电话UI图片SIP软电话的界面怎么设计SIP软电话的功能有哪些 早期voip发展中,很多公司开发了自己的SIP软电话,有些已经不存在了,有些还在使用中,比如X-Lite,Zoiper等等,我们一起看看这些早…

Linux文本处理三剑客:awk、grep和sed

Linux文本处理三剑客:awk、grep和sed的完美结合 在Linux世界里,文本处理是一项至关重要的任务。无论是日常的系统管理还是复杂的软件开发,都需要对文本数据进行提取、过滤和转换。Linux为我们提供了三款强大的文本处理工具:awk、…

Environment Modules工具

Environment Modules工具 简介 Module是一个环境变量管理工具,可以很好的实现开发环境的切换。 具体可以查看官网文档 安装 安装(安装完成之后需要exit重新登录一下才会生效) yum install -y environment-modules命令介绍 module avai…

lvgl图形化设计工具GUI Guider结合使用

前言 上篇博客整合了lvgl到项目中,采用的是自己编写源码的方式,实现了个简单的界面。实际过程中一般情况开发界面都借助设计工具,这里使用的是gui guider来进行示例记录 项目结构(生成代码路径依然放到项目路径下) C…

分别用高斯消元法和列主元消去法求解,(自制)表格比较两种算法的结果与精度,分析实验出现的问题,并总结解决办法。

以下是一个使用高斯消元法和列主元消去法求解线性方程组的示例: 假设我们要解决以下线性方程组: 4x 2y z 8 -2x y - 3z -11 3x - 2y 4z 10 首先,我们可以将该线性方程组表示为增广矩阵的形式: [4 2 1 | 8] [-2 1 -3 | …

实验2 组合逻辑电路与时序逻辑电路设计

实验目的: 1.构建基于verilog语言的组合逻辑电路和时序逻辑电路; 2.掌握verilog语言的电路设计技巧。 3.完成如下功能:加法器、译码器、多路选择器、计数器、移位寄存器等。 实验内容及步骤: 一、实验原理 原理图文件《数字系统设计_sch.pdf》,找到如下两个部分: 图…

一文扫盲(5):实验室管理系统的界面设计

本次带来第5期:实验室管理系统的设计,从系统定义、功能模块、界面构成和设计着力点四个方面讲解,大千UI工场愿意持续和大家分享,欢迎关注、点赞、转发。 一、什么是实验室管理系统 实验室管理系统是一种用于管理和监控实验室运作…

nodejs版本过高导致vue-cli无法启动的解决方案

目录 前言异常现象解决方案总结 前言 之前使用软件管家升级了Nodejs,今天在运行Vue项目的时候老是报错,查了很多资料,最后确定是Nodejs版本过高导致的。 异常现象 E:\project\ry\RuoYi-Cloud\ruoyi-ui>npm run dev> ruoyi3.6.4 dev …

13-LINUX--消息队列

一.消息队列 1.消息队列:消息队列为一个进程向另一个进程发送一个数据块提供了条件,每个数据块会包含一个类型。 2.相关函数 1>.msgget(key_t key,int msgflg) : 创建消息队列 2>. msgsnd:把消息添加到消息队列 3>.msgrcv &#xf…

CSS布局 Flex 和 Grid

在 CSS 中,理解 flex 和 Grid 布局非常重要,今天把这两个重要知识点回顾一下。 Flexbox 弹性盒子布局 弹性布局支持 flex、inline-flex,支持块和内联。 容器 轴的概念,在 Flexbox,有主轴和侧轴的概念,轴…

实验 3--表的基本操作与数据查询

文章目录 实验 3--表的基本操作与数据查询4.3.1 实验目的4.3.2 实验准备实验内容1.在 SSMS 中向数据库 YGKQ 中的表插入数据。2.使用 T-SQL 语句向 YGKQ 中的表插入数据。3.在 SSMS 中删除数据库 YGKQ 中的表数据。4.使用 T-SQL 语句删除数据库 YGKQ中的表数据。5.在 SSMS 中修…

OPAM模型(细粒度图像分类)

OPAM模型(细粒度图像分类) 摘要Abstract1. OPAM1.1 文献摘要1.2 细粒度图像分类1.3 研究背景1.4 OPAM模型创新点1.5 OPAM模型1.5.1 补丁过滤1.5.2 显着性提取1.5.3 细粒度区域级注意模型对象-空间约束方法(Object spatial constraint&#xf…

WSL安装-问题解决

WslRegisterDistribution failed with error: 0x8004032d WslRegisterDistribution failed with error: 0x80080005 Error: 0x80080005 ??????? 解决: 1、 winr输入:optionalfeatures.exe 2、打开这两项

BERT tokenizer 增加全角标点符号

bert 的词表,哪怕是 bert-base-chinese,对中文全角标点的支持不是很好 from transformers import BertTokenizerFasttokenizer BertTokenizerFast.from_pretrained(models/bert-base-chinese) tokenizer.tokenize("小明说:“你是厕所大…

javaWeb项目-网吧网咖管理系统功能介绍

项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端:Vue、ElementUI 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog 1、JAVA简介 JavaSc…

Vitis HLS 学习笔记--优化指令-BIND_OP_STORAGE

目录 1. BIND_OP_STORAGE 概述 1.1 BIND_OP 1.2 BIND_STORAGE 2. 语法解析 2.1 BIND_OP 2.2 BIND_OP 用法示例 2.3 BIND_STORAGE 2.4 BIND_STORAGE 示例 3. 实例演示 4. 总结 1. BIND_OP_STORAGE 概述 BIND_OP_STORAGE 其实是两个优化指令的合称:BIND_OP…

easyx库的学习(文字绘制)

前言 昨天刚刚写完了基本图形的制作,今天直接可以来看看,在easyx中使用文字 直接看代码吧 文字绘制 void drawTest() {printf("hello,EasyX");//指的是在控制台打印//设置字体大小,样式settextstyle(30, 0, "微软雅黑&quo…

模块三——二分:704.二分查找

文章目录 前言二分查找算法简介特点学习中的侧重点算法原理模板 题目描述算法原理解法一:暴力解法解法二:二分查找算法算法流程细节问题循环结束的条件为什么是正确的?时间复杂度 代码实现 前言 本系列博客是逐渐深入的过程,建议…

BCLinux8U6系统部署oceanbase分布式数据库社区版之一、准备 OBD 中控机

本文记录了在BCLinux8U6操作系统的虚拟服务器准备oceanbase开源数据库的 OBD 中控机的过程。 一、中控机环境 1、虚拟服务器硬件配置 2、操作系统版本信息 [rootlocalhost ~]# cat /etc/os-release NAME"BigCloud Enterprise Linux" VERSION"8.6 (Core)&qu…