jmeter
基于java,开源压力测试工具,体积小,功能全,跨平台。运行前必须安装dk,免安装。
一、安装jdk,配置java运行环境
1.添加JAVA_HOME : D:Javajdk1.8.0_25
2.添加CLASSPATH :%JAVA_HOME%lib ools.jar;%JAVA_HOME%libdt.jar
3.Path添加: %JAVA_HOME%in;
4.CMD中输入java –version 查看安装jdk的版本
二、Http接口脚本
接口练习文档地址:http://doc.nnzhp.cn
1、线程组
添加线程组:测试计划->添加->Threads->线程组
线程数*循环次数=执行次数
Ramp-Up Period(in seconds) 多长时间内建立全部的线程,假设ramp-up period 设置成T 秒, 全部线程数设置成N个, JMeter 将每隔T/N秒建立一个线程。一个线程的话,设置成0就可以
调度器,确定执行时间,可以设置定时执行
2、http请求
添加http请求:线程组->添加->sampler->Http请求,编辑域名,(不带http://,如api.nnzhp.cn),路径,方法,参数
添加查看结果树:线程组->添加->监听器->察看结果树
点击执行按钮,查看结果树的执行结果
添加cookies:线程组->添加->配置元件->HTTP cookie管理器:名称、值、域都要写上
添加Http信息头:线程组->添加->配置元件->HTTP信息头管理器,添加参数,参数值
文件上传
默认文件位置在jmeter的bin目录,否则写绝对路径,Files Upload
3、参数化-用户自定义变量
比如,区分不同的测试环境
线程组->添加->配置元件->用户自定义变量,姓名、值,在其他接口通过${名称}来调用
4、参数化-从脚本获取参数值
jp@gc - JSON Path Extractor
添加路径:对应的接口->添加->后置处理器-> jp@gc - JSON Path Extractor
目的:如果需要取接口返回报文中的参数值,参数值是json格式,可以通过这个来获取,如下面通过登录接口获取sign,在“学生金币充值”接口使用参数${sign}
备注:如果响应报文中有多个返回值时,根据数组来取值,如$stu_info[0].name
5、参数化-函数生成器
添加路径:工具栏->选项->函数助手对话框
_time函数,输入不同的格式,点击生成,然后在其他地方调用,比如:输入 yyyy-MM-dd HH:mm:ss 注意大小写,生成后,调用情况如下
_Random ,同上面生成过程,不过注意多线程和多循环次数不同点。多线程执行一次每次随机值一样,多循环次数能随机到不同值
6、参数化-从文件中读取 CSV
添加路径:线程组->添加->配置元件->CSV Data Set Config,通过多线程,实现循环读取本地txt文件的内容
本地txt中有10个手机号
Recycle on EOF 文件读完后是否继续读取
Stop thread on EOF 文件读完后是否停止线程
7、断言
添加->断言->响应断言
如果响应报文与断言不一致,那么会报错,测试不通过
8、关联
正则表达式提取器:将获取的返回值保存起来,供其他使用
添加路径:对应的接口->添加->后置处理器-> 正则表达式提取器(利用正则提取响应报文中的参数值)