看大老如何用Postman+Jmeter实现接口实例

一、接口基础
为什么要单独测试接口?
1. 程序是分开开发的,前端还没有开发,后端已经开发完了,可以提前进入测试
2. 接口直接返回的数据------越底层发现bug,修复成本是越低的
3. 接口测试能模拟功能测试不能测到的异常情况,例如修改订单金额

get请求和post请求
两者的区别:

get请求向服务端获取数据的 ,post请求向服务端发送数据

get传参写在url或cookie中 ,post将数据放在body中

get请求没有请求体,只有请求头,post有请求头和请求体

get有长度限制(x)现在没有限制了

post请求更安全(x)抓包都能抓到,都不安全

http状态码
2xx 请求成功 常见的200
3xx 重定向
4xx 客户端发送的请求语法错误 
5xx 服务端问题

cookie和session
cookie 存在用户本地的一个键值对 key-value

seesion 存在服务端的一个键值对

cookie和seesion 同一个值比对,比对相等允许操作

二、postman接口实例
1.get类型 

 可以直接在浏览器中进行测试,?后写参数,&拼参数

2.post类型

请求选择post,添加参数即可

3.入参是jason类型

选择Body-raw-JSON(application/json),直接将jason串复制进来

4.请求头加cookie

在Headers中添加cookie的key和value

 5.请求头加refer

6.上传文件

body-form-data-File-选择文件即可

三、jmeter基础

1.添加http请求

sep1测试计划-添加-Threads-线程组

sep2 线程组-添加-Sample-http请求 

sep3 添加域名、端口号、协议、请求方法、路径、编码格式、参数 

 参数为文件 Files Upload --添加--文件名称:文件的绝对路径,或直接把文件放在jmeter的bin路径下,直接添加文件名,参数名称:参数名

sep4添加断言(相当于LR中的检查点) 请求-添加-断言-响应断言---断言内容请求response中的值 

sep5 添加监听查看请求结果  线程组、请求-添加-监听器-察看结果树 

sep6 根据需要添加配置原件(例如cookie或http信息头)

2.参数化、关联

 参数化-----服务器或程序校验输入值的唯一性需要参数化,例如新加用户,手机后不能重复添加

方法一:添加-配置元件-CSV Data Set Config

 参数化文件首行不用写参数名,引用参数时 -----${参数名}

方法二:使用函数助手

选项---函数助手 常用的time取到秒级可以用做唯一性的参数的取值,random生成一个取值范围,任意取其中的一个值

 

方法三:配置原件-----用户定义的变量,一 一写出来

关联----服务器返回动态码,为了通过服务器的验证,使用关联,例如,添加金币,需要服务器返回动态的记录用户登录状态的sign串

方法一:正则表达式

添加-后置处理器-正则表达式提取器

  正则表达式,需要看从哪个请求返回,就去那个请求的返回集中找,找到后复制该动态值以及左右边界,动态值替换为正则表达式即可

 方法二 jason path(需要安装插件)$.login_info.sign  代表返回jason串中,取真个jason下面的login_info节点下面的sign的值

 3.jmeter操作数据库

sep1测试计划加载java连接mysql的jar包

sep2 添加JDBC Connection Configuration   线程组-添加-配置元件-JDBC Connection Configuration

Variable Name 可以任意添写

database url:jdbc:mysql://ip:端口号/库名?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true    注:characterEncoding=UTF-8保证新增修改数据库中文不乱码,allowMultiQueries=true 允许同一个请求同时写增删改查操作

JDBC driver Class:com.mysql.jdbc.Driver  固定写法

username:数据路用户名 Password 数据库密码

sep3 添加 jdbc request   线程组-添加-Sample-JDBC Request

Variable Name 一定要和JDBC Connection Configuration中Variable Name已知,否则报错

Query Type 选Callables Statement 可以同时写增删改查

4.jmeter解决乱码
在jmeter.properties 这个文件里面

找到sampleresult.default.encoding=xx

后面xx改成utf-8,然后取消注释

解决jmeterbody里面中文显示不出来
找到 JSyntaxTextArea
然后把注释取消就行了,以js开头的

解决请求参数中午乱码 请求页面

content encoding 填写utf-8

解决数据库操作中文乱码

database url后添加characterEncoding=UTF-8

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Baklib知识库搭建平台产品操作手册

产品概述 Baklib是一款专业的知识库搭建平台,它帮助客户搭建内部知识库和对外帮助中心。在今天的信息时代,知识已经成为组织的核心竞争力,而Baklib正是为了帮助组织构建完整的知识体系,提高组织的核心竞争力而生。 Baklib具有以…

程序进制换算

进制数介绍 一、进制介绍 二进制 :0或1,满2进1,以0B或者0b开头,如 0b1101 八进制:0-7,满8进1,,以0开头,如0234 十进制:0-9,满10进1,…

阿里云服务器建站教程(5分钟网站上线)

使用阿里云服务器快速搭建网站教程,先为云服务器安装宝塔面板,然后在宝塔面板上新建站点,阿里云服务器网以搭建WordPress网站博客为例,来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流程: …

CLion安装(详细步骤+截图)

目录 一、CLion-2021.1.3.exe 下载 二、运行环境mingw-w64压缩包下载 三、 安装插件 ---- ide-eval-resetter-2.1.13压缩包下载 一、CLion-2021.1.3.exe 下载 Other Versions - CLion (jetbrains.com) 1、下载 2、更改路径 (不要放在含有中文的路径下&a…

Qt+WebRTC学习笔记(七)ubuntu22.04下搭建coturn(STUN/TURN)

前言 因工作原因,很长时间没更新相关文档了,笔者之前测试时,一直使用示例自带的公网中转服务器。考虑到后期项目需要,笔者在线搭建一个coturn服务器测试,供有需要的小伙伴使用 一、安装coturn 若需要最新版本的cotu…

如何通过appuploader把ipa文件上传到App Store教程步骤

​ iOS APP上架App Store其中一个步骤就是要把ipa文件上传到App Store!​ 下面进行步骤介绍!​ 利用Appuploader这个软件,可以在Windows、Linux或Mac系统中申请ios和上传IPA到App Store Connect。​ 非常的方便,没有Mac也可以…

tiechui_lesson08_内存的分配和链表

主要是将链表结构的使用,在内核开发中使用起来比较方便的一种数据结构【LIST_ENTRY】。 一、内存的分配 主要是学习一些基本操作。现在推荐使用的动态分配函数【ExAllocatePoolWithTag】 PVOID tempbuffer ExAllocatePoolWithTag(NonPagedPool, 0x1000, xxaa); …

APP外包项目的线上维护方案

APP的使用已经非常普及,不论是2C还是2B的APP都已经渗透到了我们生活的方方面面,对于APP的开发公司来说APP项目的线上维护是一个非常重要的问题。如果APP项目比较重要而且用户规模比较大,那更需要专业的技术团队来维护。今天和大家分享这方面的…

计算机网络-SNMP协议与pysnmp

1.概念 2.典型架构 3.snmp的信息交互 4.MIB 4.1常见MIB节点 5.SNMP管理模型 MIB位于被管理进程 6.SNMP的三个版本 6.1 SNMPv1 6.2 SNMPv2C 6.3 SNMPv3 6.3.1 SNMP3的基本操作 6.3.2 SNMP交互GET 6.3.3 SNMP交互-GETBULK 6.3.4 SNMP交互-SET 6.3.5 SNMP交互-trap 6.3.6 SNMP交…

【技术干货】PCB焊盘设计之问题详解

SMT的组装质量与PCB焊盘设计有直接的关系,焊盘的大小比例十分重要。如果PCB焊盘设计正确,贴装时少量的歪斜可以再次回流焊纠正(称为自定位或自校正效应),相反,如果PCB焊盘设计不正确,即使贴装位置十分准确,…

【 图像水印 2019 CVPR】 StegaStamp 论文翻译

【 图像水印 2019 CVPR】 StegaStamp 论文翻译 论文题目:StegaStamp: Invisible Hyperlinks in Physical Photographs 中文题目:物理照片中不可见的超链接 论文链接:https://arxiv.org/abs/1904.05343 论文代码:https://github.co…

Linux内核架构和工作原理

**前言:**作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。Linux进程1.采用层次结构,每个进程都依赖于一个父进程。内…

django基础知识详解

1. 安装与介绍 课程特点: 学习难度大,大部分内容需要理解并记忆文件较多易混淆学习阶段注重框架使用,工作阶段注重实现业务逻辑综合应用强,小练习少 1.1 Django框架的介绍 2005年发布,采用Python语言编写的开源web框架早期的时…

分享105个NET源码ASP源码,总有一款适合您

分享105个NET源码,总有一款适合您 源码下载链接:https://pan.baidu.com/s/1zFMIHX6juXdR2CaHMEr5mQ?pwdf5hz 提取码:f5hz 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后…

每天一个提高效率的Matlab编程小技巧(1)-dbstop if error

相信在matlab调试程序的时候都遇到过这种情况:运行程序时命令行报错,而且出错的位置在我们自己定义的函数里,比如下面这个例子: 主函数main.m: a[1 2 3]; b[4 5]; csum_squares(a,b); 子函数sum_squares.m function csum_squa…

实验一 Python基础编程

实验一 Python基础编程 只为给原因学习编程的同学提供一个思路,让编程更简单!!! 本博主擅长整理粉丝的私信!只要你有需求就可以告诉博主!博主可以帮你解决并发表! 一、实验学时 2学时 二、实…

infuluxdb时序数据库介绍

时序数据库(influxdb) InfluxDB是一个开源的、高性能的时序型数据库,在时序型数据库DB-Engines Ranking上排名第一。 下载地址:https://dl.influxdata.com/influxdb/releases/influxdb2-2.3.0-windows-amd64.zip 启动: CMD到解压…

IDEA编译JDK1.8源码及运行测试

———————————————— 版权声明:本文为CSDN博主「神韵499」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_41055045/article/details/112002440 ————…

缓存穿透、缓存雪崩和缓存击穿

1 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存中没有,每次查询都要去数据库中查询,导致频繁地访问数据库,从而影响系统的性能。攻击者可以利用这一点,对系统进行拒绝服务攻击。 1.1 缓存穿透举例 攻击者…

Qt Plugin插件开发

一、Qt 插件机制 .1 Qt 插件简介 插件是一种遵循一定规范的应用程序接口编写出来的程序,定位于开发实现应用软件平台不具备的功能的程序。插件与宿主程序之间通过接口联系,就像硬件插卡一样,可以被随时删除,插入和修改&#xff…