码迷,mamicode.com
首页 > 其他好文 > 详细

jmeter入门操作手册

时间:2019-04-23 10:59:21      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:消息   匹配   软件测试   没有   lin   发送   管理   设置   脚本语言   

 

基础操作手册:Windows

Mr丶菜鸟

1、下载jmeter  jmeter是一款基于java的开源工具,可以测试接口和性能,需要jdk环境,下载jmeter地址:https://jmeter.apache.org/download_jmeter.cgi

 技术图片

下载安装之后进行解压,启动文件在jmeter文件包中bin目录下,jmeter.bat是启动文件

2、开始调用http请求

测试地址:http://httpbin.org/

新建一个线程组

 技术图片

右键线程组,添加一个HTTP请求,用于发送请求,并把请求地址放进去,路径为请求地址的路径 ,不明白的可以把测试地址打开看下!

技术图片

 

右键HTTP请求,添加一个查看结果树,查看请求后的结果 ,并点击文件,保存本次测试

 技术图片

 

添加后点击上面开始执行测试,向右绿色三角,得出测试结果,Text处多了一个请求,并且为绿色代表成功,点击它,查看取样器结果,Response code(响应码)为200,还可以看请求数据和响应数据

 技术图片

Postget请求有点区别,重新复制了一份,把请求名字后面加上请求类型,post请求成功后,大家可以对比看下 ,当然了,不是现在看 ,加了参数之后再看,其他方法请求类似

 技术图片

设置断言,其他自己大家扩充,响应断言中模式匹配规则介绍下:

包括:响应内容包括需要匹配的内容代表响应成功,支持正则

匹配:响应内容要完全匹配需要匹配的内容即代表响应成功,大小写不敏感,支持正则

相等:响应内容要完全等于需要匹配的内容才代表成功,大小写敏感,需要匹配的内容是字符串正则

字符串:返回结果包含制定结果的字串,不支持正则

否:不进行匹配

技术图片

咱们测试输入的断言是包含这个字符串https://httpbin.org/get ,结果肯定是成功的,如果你在后面加个1 ,那就是失败了,因为请求的返回结果不包含,大家可以自己试下

参数化,HTTP请求  参数处增加参数值,进行请求

 技术图片

分别为getpost请求添加上参数化,进行请求 ,在对比2个请求中的参数区别

Get第二种请求,参数包含在路径中,字符要小写,如果多个参数,以&区分

技术图片

Post第二种请求 json格式

 技术图片

在消息体数据里写json格式,一定要把参数删除掉,不然不能写 ,get第二种方法也是一样,不删会报错

Postjson格式请求时,要增加一个HTTP信息头管理器,指定格式,以防报错,不增加也有可能不报错

 技术图片

用户变量&函数变量

Jmeter支持:自定义变量、函数生成变量、BeanShell变量、数据文件变量

 技术图片

HTTP请求引用参数,和postman不一样,参数格式为${参数名}

 技术图片

用户参数:是对应当前请求的线程组下的全部请求,需要注意

设置多个参数 ,并且把每次迭代更新一次勾上 。参数值变成2组,也需要再线程组的地方,把线程数改成2,说明我要跑2次,然后再查看一下结果树,会调用2get请求,2组参数

 技术图片

查看结果数:

 技术图片

Jmeter自带一个函数生成器,Tools-函数助手对话框 。大家百度了解下,我现在选择的是随机生成一个数字 ,1-100范围 ,生成了一个函数

 技术图片

把这个随机生成数字的函数放在密码参数的位置,进行请求,在结果树就会发现不同的参数

技术图片

BeanShell变量 ,是一种java语言的脚本语言,包含一些语法和脚本命令 ,有兴趣的可以多了解一下 ,主要是写java脚本处理请求

常用的就是vars.put 添加变量   log.info 添加日志

 技术图片

请求中参数名和beanshell里一样,参数名和值用逗号分隔,都是小写

 技术图片

添加结果数,进行访问 ,日志在菜单栏   选项里查看

创建一个新的HTTP请求,采用csv变量来请求

 技术图片

Csv文件:

参数之间逗号隔离

 技术图片

CSV数据文件变量&参数化,推荐只用编译软件,nodepad或其他,文件编码格式为utf-8

 技术图片

然后添加结果树,进行请求

 

正则匹配,获取上一个接口的返回值作为下一个接口的请求值

因为用户参数是整个线程组都可以优先使用的,所以大家可以把用户参数里的参数名改掉,或者删掉用户参数

正则后期匹配需要,所以另外一个参数改名为num,更好辨认

 技术图片

正则表达式提取器,引用名称用于下一个接口调用的参数名

正则表达式自己网上可以看看,()代表提取的内容,.代表匹配任何字符串,+一次或者多次 ,?找到第一个匹配项就停止

模板的话代表正则取到的有几个参数 ,写1就把第一个参数复制给名称

匹配数据,0代表随机 ,1代表全部

缺省值,如果参数没有取到值,就默认给一个值让他取

 技术图片

新建一个HTTP请求,参数用正则匹配的参数,再创建结果树,进行调用

 技术图片

用例数据分离。当请求数据太多的时候,页面不是太好管理,所以拿csv进行管理

重新创建一个线程组 ,我已经创建完了,一个线程组,取名为数据驱动,在添加一个循环控制器,写几条用例就循环几次 ,我4条用例

 技术图片

循环次数如果勾选,就会成为无限循环

 技术图片

创建csv数据文件设置,因为文件有标头,所以首行忽略,选择True

 技术图片

创建一个if控制器,用来分离用例,如果接口太多,会有不同请求,或者不同名,需要分类

 技术图片

下面是条件,本次测试的条件为:接口类型参数 ,为GET

技术图片

创建请求 ,结果树 ,响应看情况创建 。请求中的名称和路径地址,用的都是csv中的参数化

 

 

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/cainiaoxiansheng/,谢谢!!******* 

*******有任何疑问,欢迎加入初级软件测试交流群:675678830。*******

jmeter入门操作手册

标签:消息   匹配   软件测试   没有   lin   发送   管理   设置   脚本语言   

原文地址:https://www.cnblogs.com/cainiaoxiansheng/p/10755046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!