day1-jmeter接口测试
一、jmeter简介
略
二、jmeter接口测试
1、添加线程组
路径:测试计划-》添加-》threads-》线程组,添加线程组。
线程组主要用户性能测试,简单说明:线程数10,时间是5秒,循环2次,就是说一秒会执行两个线程*2次循环,一秒并发4次请求。
2、添加http请求
选中线程组-》添加-》sampler-》http请求。
3、get方法
服务器名称或ip:根据实际项目填写域名或者ip,如果需要指定端口则需要填写端口号,如果不需要指定,可以为空。
路径:域名后面的一串,get方法需要把参数组装到路径中
添加查看结果树,接口执行完成后,想要知道接口是否调用成功,需要通过结果树来查看,选中线程组-》添加-》监听器-》查看结果树。
4、post方法
1)入参为key-value形式
2)入参为json形式
5、接口中需要cookie信息
1)调接口获取session值
2)添加cookie方法
一种是http cookie管理器添加,一种是使用http信息头管理器添加,路径:选中http请求-》添加-》配置原件-》~~。
http cookie管理器添加配置信息如下图,名称=登录用户名,值=session,域=服务器域名或ip。
http信息头管理器添配置信息如下:名称=cookie,值为:用户名=session
6、文件上传接口
选中files upload标签,点击【浏览】选择上传的文件,录入参数名,文件类型。
7、http请求默认值
在测试过程中,一个项目的域名、接口都是相同的,每次创建http请求的时候都需要录入相同信息,如果这些信息发生变,就要修改每一个http请求,我们通过添加http请求默认值方式,实现一处配置,处处可用,一处修改,处处生效。
路径:选择线程组-》天机-》配置元件-》http请求默认值
说明,选择线程组和选中http请求添加元件区别,就是元件的作用域不同,选择线程组元件在整个线程组中都有效,选择http请求元件只在该http请求中生效。
在http请求中配置域名等信息。
将http请求对应的域名删除。
8、参数化
jmeter参数化提供了多种方法,这里主要列举三个方法,其他有机会在后续补充。
1)函数助手对话框
http请求提供了一些比较常用的函数,通过选项-》函数助手对话框,选择函数。
配置函数参数(可以不配置),点击生成,会生成一个函数串如:${__Random(1000,9999,)},添加到对应参数中即可。
下图中使用函数助手配置了两个函数,一个是random,一个是time。
通过结果树可以查看到参数是否生效。
2)通过添加csv data set config来参数化
filename填写参数化的文件具体路径,variable names参数名,多个参数要分别命名,delimiter文件中一行信息用哪个符号来分割为不同的参数。
文件内容类似如下
使用的时候,在对应的http请求值中填入对应的${参数名}引用。
3)用户自定义变量
也可以使用用户自定义变量来进行参数化。
名称填写参数名,值填写要参数化的内容,同样用${参数名}来引用。
9、使用其他接口值作为本接口的入参
有的时候需要将其他接口返回的值作为本次接口的入参传到接口中,如果分别调接口然后使用就比较麻烦,每次都要执行多个接口,需要修改接口信息。可以通过添加json path extrctor来实现。
destination variable name填写参数名,后面引用用,jasonpath expression需要取返回结果的那个值,default value。
10、断言
在接口测试的时候,将预期结果放到断言中,如果预期结果与断言一直则结果树是绿色(成功),如果不一致则红色。
添加断言后,要测试的模式填写预期结果中出现的信息,如:成功的话会返回userid,失败则不会返回。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法