常用网络接口自动化测试框架应用

 一、RESTful(resource representational state transfer)类型接口测试

(一)GUI界面测试工具:jmeter

1、添加线程组

2、添加http请求

3、为线程组添加察看结果树

4、写入接口参数并运行

5、在查看结果树窗口查看结果

6、多组数据可增加CSVDataSetConfig(添加.csv格式的文件,并在参数值里以${x}格式写入)

此时变量值填写${变量名},上图x,y表示每次从文件里读取两个参数,分别命名为x,y

(二)JAVA语言脚本测试(HttpClient)

1、GET请求接口测试


1 public void TestGet throws URISyntaxException, ClientProtocolException, IOException{2   //1、创建一个客户端对象3   CloseableHttpClient client=HttpClients.createDefault();4   //2、使用URIBuilder()来生成一个get类型的USI5   URI uri=new URIBuilder().setScheme("http")6                 .setPort(8080)7                 .setHost("localhost")8                 .setPath("/test1334/Calc")9                 .setParameter("a", "2")10                 .setParameter("b", "3").build();11   //3、新建一个httpget类型请求对象,并将uri传入请求12  HttpGet get=new HttpGet(uri);13   //4、新建响应对象,用于接收客户端执行get结果14  CloseableHttpResponse response=client.execute(get);15   //5.从响应对象中提取实际结果,与预期结果进行比对16   if(response.getStatusLine().getStatusCode()==200){17  System.out.println(EntityUtils.toString(response.getEntity()));18 }19 }

2、POST请求接口测试

样例(测一个输入两个参数求和的接口):


1 public void TestPOST () throws ClientProtocolException, IOException{2   //1.新建一个客户端对象3   CloseableHttpClient client=HttpClients.createDefault();4   //2.新建post类型请求对象,并传入uri5   HttpPost post = new HttpPost("http://172.31.6.155:8080/test1334/Calc");6   //3.使用NameValuePair对参数进行打包7   List<NameValuePair> list=new ArrayList<NameValuePair>();8   list.add(new BasicNameValuePair("a","1"));9   list.add(new BasicNameValuePair("b","2"));10   //4.对打包好的参数,使用UrlEncodedFormEntity工具类生成实体类型数据11   //Consts.UTF_8设置服务器字符集类型12   UrlEncodedFormEntity entity=new UrlEncodedFormEntity(list,Consts.UTF_8);13   //5.将含有请求参数的实体对象放入到post请求对象里14   post.setEntity(entity);15   //6.新建一个响应对象接收客户端执行post请求的结果16   CloseableHttpResponse response=client.execute(post);17   //7.从响应对象中提取实际结果,与预期结果进行比对18   if(response.getStatusLine().getStatusCode()==200){19     System.out.println(EntityUtils.toString(response.getEntity()));20 }21 }

3、自动化框架


1 @RunWith(Feeder.class)2 public class getParameter {3 @Test4 @Source("data/datas.csv") //数据源5 public void test_get(int x,int y,int expect) throws ClientProtocolException, URISyntaxException, IOException{//expect为预期结果,用于与实际结果进行比对6 TestRESTfultest=new TestRESTful();//TestRESTful为前边创建TestGet所属类7 int returns=test.TestGet(x, y);//此处的为修改后的TestGet,添加了参数和返回值;8 assertEquals(returns,expect); //将结果与预期进行比较9 }10 }

二、WebService接口测试

(一)GUI界面测试工具:SoapUI

1、新建项目

2、输入WSDL地址或文件

3、修改“?”内的数据

4、开始测试

(二)JAVA语言脚本测试(HttpClient)

1、GET请求接口测试


1 public int testGet(int x, int y) throws RemoteException {2 String target = "http://172.31.6.94:8080/axis2/services/calc?wsdl";//传入地址3 //创建一个CalcStub对象4     CalcStub stub = new CalcStub(target);5 CalcStub.Add add = new CalcStub.Add();6 //传入参数7 add.setX(x);8 add.setY(y);9 AddResponse response = stub.add(add);//结果10 int result = response.get_return();11 return result;12 }

2、POST请求接口测试


1 public static void testPOST(int a,int b) throws ClientProtocolException, IOException{2 //创建客户端对象3 CloseableHttpClient cli=HttpClients.createDefault();4 HttpPost po=new HttpPost("http://172.31.6.61:8080/axis2/services/MyService?wsdl");5 //将soap协议内容添加进来,即soapXML字符串6 String soapXML="<soapenv:Envelopexmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ws=\"http://ws.day3.com\">"7 +"<soapenv:Header/>"8 +"<soapenv:Body>"9 +"<ws:add>"10 +"<ws:a>"+a+"</ws:a>"11 +"<ws:b>"+b+"</ws:b>"12 +"</ws:add>"13 +"</soapenv:Body>"14 +"</soapenv:Envelope>";15 //将String转换成实体类型16 StringEntity entity=new StringEntity(soapXML,Charset.forName("UTF-8"));17 po.setEntity(entity);18 CloseableHttpResponse re=cli.execute(po);19 System.out.println((re.getEntity()).toString());20 }

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群:,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

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

相关文章

python数据可视化(7)——绘制箱形图

课程学习来源&#xff1a;b站up&#xff1a;【蚂蚁学python】 【课程链接&#xff1a;【【数据可视化】Python数据图表可视化入门到实战】】 【课程资料链接&#xff1a;【链接】】 Python绘制箱形图分析北京天气数据 箱形图 箱形图&#xff08;Box-plot&#xff09;又称为盒…

一站式短视频矩阵开发,高效托管!

短视频矩阵系统源码SaaS解决方案提供全面的开发服务&#xff0c;包括可视化视频编辑、矩阵式内容分发托管以及集成的多功能开发支持。 短视频矩阵&#xff1a;引爆您的数字营销革命 短视频矩阵系统是一套多功能集成解决方案&#xff0c;专为提升在短视频平台上的内容创作、管理…

【C++】多态-最全解析(多态是什么?如何使用多态?多态的底层原理是什么?)

目录 一、前言 二、多态是什么&#xff1f; 三、多态的定义及实现 &#x1f525; 多态的构成条件&#x1f525; &#x1f525; 虚函数的重写&#x1f525; &#x1f525;虚函数重写的两个例外 &#x1f525; &#x1f34d; 协变返回类型 &#x1f95d; 析构函数的重写…

使用APEXSQL LOG解析sql server事务日志,进行审计与数据恢复

一 下载 https://download.csdn.net/download/sunke861/11449739 二 使用 解压安装包后&#xff0c;点击&#xff1a;ApexSQLLog.exe 2.1 连接数据库 连接要审计的数据库&#xff1a; 假如报错&#xff1a; 则点击ok关闭该窗口&#xff0c;然后点击左上方的New按钮&#xf…

Codeforces Round 958 (Div. 2)(A~C)题

A. Split the Multiset 思路: 最优的策略是每次操作分出 k−1&#x1d458;−1 个 1&#xff0c;然后考虑最后是否会剩下一个单独的 1。 代码: #include<bits/stdc.h> using namespace std; #define N 1000005 typedef long long ll; typedef unsigned long long ull;…

【找不到视图问题解决】@RestController 与 @Controller注解的使用区别

一、问题描述 苍穹外卖在菜品分页查询功能实现的过程中&#xff0c;出现了找不到视图的情况 2024-07-12 21:54:20.860 ERROR 22488 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with p…

Transformer注意力机制

Transformer注意力机制 &#x1f42c; 目录: 一、Transformer简介二、理解注意力机制自注意力机制多头注意力机制 一、Transformer简介 Transformer是一种用于自然语言处理(NLP)和其他序列到序列(Seq2Seq)任务的深度学习模型框架&#xff0c;它在2017年由Vaswani等人首次提出…

手机m4a怎么转换成mp3,手机端即可完成格式转换

M4A&#xff08;MPEG-4 Audio&#xff09;是一种无损压缩的音频格式&#xff0c;通常用于苹果设备和 iTunes 上&#xff0c;因为它能提供较高的音质同时占用较小的存储空间。 然而&#xff0c;MP3 作为最普及的音频格式之一&#xff0c;兼容性更强&#xff0c;几乎所有的播放设…

【单元测试】SpringBoot

【单元测试】SpringBoot 1. 为什么单元测试很重要&#xff1f;‼️ 从前&#xff0c;有一个名叫小明的程序员&#xff0c;他非常聪明&#xff0c;但有一个致命的缺点&#xff1a;懒惰。小明的代码写得又快又好&#xff0c;但他总觉得单元测试是一件麻烦事&#xff0c;觉得代码…

ENSP中NAT的相关实验(两个私网,一个公网)

题目 实验需求 1.按照图示配置IP地址&#xff0c;公网地址100.1.1.1/24 2.私网A通过NAPT&#xff0c;使R1接入到互联网&#xff0c;私网B通过EASY IP&#xff0c;使R3接入到互联网 3.私网A配置NAT SERVER把Telnet的Telnet服务发布到公网&#xff0c;使PC2可以访问 三、实验…

el-table和 el-image图片预览使用插槽后层叠样式错乱问题

问题&#xff1a; 解决办法&#xff1a;在el-image组件中添加preview-teleported 属性 最终效果

MongoDB自学笔记(一)

一、MongoDB简介 MongoDB是一款基于C开发的文档型数据库。与传统的关系型数据库有所不同&#xff0c;MongoDB面向的是文档&#xff0c;所谓的文档是一种名为BSON &#xff08;Binary JSON&#xff1a;二进制JSON格式&#xff09;是非关系数据库当中功能最丰富&#xff0c;最像…

AV1 编码标准帧间预测技术概述

AV1 编码标准帧间预测 AV1&#xff08;AOMedia Video1&#xff09;是一种开源的视频编码格式&#xff0c;它在帧间预测技术上做出了显著的改进和扩展&#xff0c;以提供比现有标准更高的压缩效率和更好的视频质量。以下是AV1帧间预测技术的几个关键点&#xff1a; 参考帧扩展&a…

You are running Vue in development mode.和undefined is not iterable白屏问题

遇到的报错信息如下&#xff0c; 你正在开发模式下运行 Vue。 确保在部署生产环境时打开生产模式 但是我是关闭了的Vue.config.productionTip false 最后发现是服务器问题

Ubuntu安装 Nginx

前置条件&#xff1a; 把apt包更新到最新&#xff08;如果更新过就跳过这步&#xff09; 先检查 sudo apt update 后更新 sudo apt upgrade &#xff08;期间要选择确认&#xff0c;输入 y 即可&#xff09; 如果不行可以&#xff1a;sudo apt upgrade --fix-missing 先卸…

IIS的安装及Web服务器深度配置:打造高效稳定的网络门户

在构建现代网络环境的过程中&#xff0c;IIS&#xff08;Internet Information Services&#xff09;作为微软提供的强大Web服务器软件&#xff0c;扮演着至关重要的角色。无论是企业级的网站部署&#xff0c;还是个人开发者的小型项目测试&#xff0c;IIS都能提供稳定、高效的…

无人机使能的边缘计算优化问题

Joint Deployment and Task Scheduling Optimization for Large-Scale Mobile Users in Multi-UAV-Enabled Mobile Edge Computing论文阅读笔记 BackgroundContributionsSystem Model and Problem FormulationLocal Execution ModelMEC Execution ModelUAV Hover Model Propose…

kubernetes概念及基本介绍(一)

部署方式的演进过程 传统部署 直接将应用程序部署在物理机器上&#xff0c;很难合理分配计算机资源&#xff0c;而且程序之间会产生影响 虚拟化部署 可以在一台物理机上运行多个虚拟机&#xff0c;没个虚拟机都是独立的一个环境&#xff0c;程序环境不会产生影响&#xff0c;…

【Linux】权限管理与相关指令

文章目录 1.权限、文件权限、用户文件权限的理解以及对应八进制数值表示、设置目录为粘滞位文件类型 2.权限相关的常用指令susudochmodchownchgrpumaskwhoamifile 1.权限、文件权限、用户 通过一定条件&#xff0c;拦住一部分人&#xff0c;给另一部分权利来访问资源&#xff0…

Windows 2012安装之实现远程连接

新建虚拟机 点击稍后安装操作系统 点击Microsoft Windows(W) 选择Windows Server 2012 设置虚拟机名称、安装位置 选择你的电脑核数 点击编辑虚拟机设置 点击CD/DVD(SATA) 使用ISO映像文件(M) 配置完之后点击确定 然后开启虚拟机 下一步&#xff1a; 点击现在安装&#xff1a…