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
postman+jmeter接口实例的更多相关文章
- Jenkins+Ant+Jmeter接口自动化集成测试实例
Jenkins+Ant+Jmeter接口自动化集成测试实例 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C:\jenkins目录下,目录位置随 ...
- 接口测试——postman & jmeter
新名词: 自动化测试:写代码帮你测试 接口:是一个抽象的概念,一种交互关系. 抓包:拦截请求. 接口测试:就是功能测试,比后者还简单. 需要有测试文档,包括项目.模块.URL.请求方式.参数.参数说明 ...
- jmeter BeanShell实例-----两个变量之间的断言对比
jmeter BeanShell实例-----两个变量之间的断言对比 在jmeter的中,断言没法对两个变量的进行对比后判断,只能使用Bean Shell断言来进行,总是有人来问怎么写呢.这里写一个简 ...
- jmeter BeanShell实例-----两个变量之间的断言对比(转)
jmeter BeanShell实例-----两个变量之间的断言对比 在jmeter的中,断言没法对两个变量的进行对比后判断,只能使用Bean Shell断言来进行,总是有人来问怎么写呢.这里写一个简 ...
- 基于postman测试接口(整套接口测试)
基于postman测试接口(整套接口测试) 可以解决的问题 几百个接口人工测试接口过于繁杂 大多测试无法使用请求结果当参数 可以使用随机参数 支持swagger信息导入 随账号持久化保存数据 对集合一 ...
- JMeter接口自动化发包与示例
JMeter接口自动化发包与示例 近期需要完成对于接口的测试,于是了解并简单做了个测试示例,看了看这款江湖上声名远播的强大的软件-Jmeter靠不靠谱. 官网:https://jmeter.apach ...
- 规则引擎集成接口(八)Java接口实例
接口实例 右键点击“对象库” —“添加接口实例”,如下图: 弹出如下窗体: 输入接口的参数信息: 点击接口“求和”,选择选项卡“求和操作”,点击添加图标 ,如下: 弹出如下窗体,勾选方法“coun ...
- MyBatis 源码分析——生成Statement接口实例
JDBC的知识对于JAVA开发人员来讲在简单不过的知识了.PreparedStatement的作用更是胸有成竹.我们最常见用到有俩个方法:executeQuery方法和executeUpdate方法. ...
- Jmeter接口测试实例图文示例
以getObjectByCode接口为例,用jmeter2.13来进行接口测试. 测试前准备: 测试工具及版本:jmeter 2.13 r1665067(须包含__MD5函数) 示例接口:8.1根据单 ...
随机推荐
- MySql忘记密码了咋办
对内 忘记密码终端修改操作: #停止mysql服务 sudo /opt/lampp/lampp stopmysql #参数启动mysqld sudo /opt/lampp/sbin/mysqld -- ...
- IP分组
IP 分组为了更准确地讨论 I n t e r n e t协议处理,我们必须定义一些名词.图 显示了在不同的I n t e r n e t层之间传递数据时用来描述数据的名词.我们把传输协议交给 I P ...
- Linux文件系统之install(复制文件和设置文件属性)
install命令 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户.install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点.但是,install允许你控制目标 ...
- C#百度api 根据经纬度获取地址
public string GetAddress(string lat, string lng) { try { string res = ""; string url = @&q ...
- 001_项目开源之_STM32激光雕刻机
我是标题:STM32激光雕刻机(开源免费) (一)首先感谢将离九歌 https://github.com/MaxwellXyao 提供的C8T6/GRBL的源码 (二)本设计开源(免费),请忽倒 ...
- MySQL5.7.6 general tablespace
摘要: 从5.7.6开始,增加了一种新的 tablespace模式(成为general tablespace),实际上它和共享表空间比较类似:创建一个单独的ibd,ibd中包含多个表,兼容不同的格式. ...
- npm传参技巧
博主今天遇到一个问题,使用vue-cli-serve,想要用shelljs来执行vue-cli-serve,动态给它传“--port xxxx"但是发现”--port“怎么传都穿不进去,后面 ...
- 2019.7.9 校内测试 T2 极值问题
这一次是交流测试?边交流边测试(滑稽 极值问题 乍一看这是一道数学题,因为1e9的数据让我暴力的心退却. 数学又不好,不会化简式子嘞,咋办? 不怕,咱会打表找规律.(考场上真的是打表找出了规律,打表打 ...
- 7.27T2
不可做题 sol:首先有个很显然的性质就是答案一定是在叶子上最优,然后画画图发现就是从最底层看,如果一条链就看做一个点,向上的第一颗非链的节点,它的儿子数-1就会对答案贡献,所有这样的累加起来就是答案 ...
- fluent中统计颗粒信息【转载】
转载自:http://mp.weixin.qq.com/s?__biz=MjM5MDkyMjA1Nw==&mid=502657725&idx=1&sn=120703a69e56 ...