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

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

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

1、添加线程组

clip_image002

2、添加http请求

clip_image004

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

clip_image006

4、写入接口参数并运行

clip_image008

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

clip_image010

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

clip_image012

clip_image014

此时变量值填写${变量名},上图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     }

3、自动化框架(同RESTful的自动化测试;略)

Python接口自动化测试零基础入门到精通(2023最新版)

http://www.lryc.cn/news/264316.html

相关文章:

  • 【重点】【贪心】55.跳跃游戏
  • 灰度化、二值化、边缘检测、轮廓检测
  • 基于JAVA的高校大学生创业管理系统 开源项目
  • 神经网络学习小记录76——Tensorflow2设置随机种子Seed来保证训练结果唯一
  • ai学习笔记-入门
  • workflow系列教程(5-1)HTTP Server
  • php-使用wangeditor实现富文本(完成图片上传)-npm
  • mysql查看数据库中所有的表的建表语句
  • 【Axure RP9】实现登入效验及实现左侧菜单栏跳转各页面
  • 76. 最小覆盖子串。优化官方题解!
  • 在国产GPU寒武纪MLU上快速上手Pytorch使用指南
  • 重生奇迹MU觉醒战士攻略
  • 美颜技术详解:深入了解视频美颜SDK的工作机制
  • 3D模型格式转换工具如何实现高性能数据转换?请看CAE系统开发实例!
  • 多级缓存:亿级流量的缓存方案
  • C语言——高精度乘法
  • 为什么C语言没有被C++所取代呢?
  • 基于Spring的枚举类+策略模式设计(以实现多种第三方支付功能为例)
  • 基于Linphone android sdk开发Android软话机
  • [论文分享]TimeDRL:多元时间序列的解纠缠表示学习
  • 分享一个好看的vs主题
  • 什么是云呼叫中心?
  • 还在用nvm?来试试更快的node版本管理工具——fnm
  • 【Hadoop精讲】HDFS详解
  • 企业需要哪些数字化管理系统?
  • 【vue】开发常见问题及解决方案
  • 飞天使-k8s知识点3-卸载yum 安装的k8s
  • ZooKeeper 集群搭建
  • Meson:现代的构建系统
  • 【大模型AIGC系列课程 5-2】视觉-语言大模型原理