Jmeter接口测试之案例实战
Jmeter是apacheg公司基于Java开发的一款开源的压力测试工具,安装Jmeter之前先安装Jdk,具体JDK安装和环境变量配置自行百度。这里不概述。
1.添加线程组
测试计划->添加->Threads->线程组
线程组相当于有多个用户,同时去执行相同的一批次任务。每个线程之间都是隔离的,互不影响的。一个线程的执行过程中,操作的变量,不会影响其他线程的变量值

2.添加HTTP请求
线程组->添加->Sampler->HTTP请求

3.获取所有学生接口
接口文档描述如下:
简要描述:
- 获取学生信息接口
请求URL:
http://api.nnzhp.cn/api/user/stu_info
请求方式:
- GET
请求参数:


添加察看结构树查看程序响应数据,线程组->添加->监听器->察看结果树,如下图:

3.1 Jmeter察看结果树中乱码:
(1)在jmeter的bin目录下找到jmeter.properties这个文件添加:sampleresult.default.encoding=utf-8
(2)重启jmeter
Jmeter body data里面有乱码怎么解决
(1)在jmeter的bin目录下找到jmeter.properties这个文件添加:jsyntaxtextarea.font.family=Hack
(2)重启jmeter
3.2 Jmeter参数化
所有的接口测试的访问域名和端口都一样时,一旦服务器地址变更,修改每个接口的IP或域名很费事的。我们可以将其参数化,方便操作
(1)用户定义的变量
定义变量,填写正确的值,通过名称调用,调用格式为${IP},IP也可以通过HTTP请求默认值设置

(2)选项-函数助手对话框中的函数
- __Random(随机数):random设置取值范围,填写值后,点击生成,调用时直接复制函数字符串即可,随机取值。

- __counter(自增):counter设置起始值无效,设置结束值无效,默认就是从1开始,只能通过线程数控制执行次数,填写值后,点击生成,调用时直接复制函数字符串即可!

- __time(时间):时间戳${_time(,)},时间戳表示从计算机发明那一天到现在过了多少秒,去掉后三位,再用转化器转化到现在的时分秒。

- 使用当时时间${__time(YYYYMMdd-HH:mm:ss,)}

(3)从文件中读取参数:
首先,点击线程组->添加->配置原件->CSV Data Set Config

第二步,准备文件,设置参数化变量名称,文件路径等。读取文件中的数据时,使用数据对应的变量名,格式为${studi},${gold}
3.3 关联
Jmeter中,用jp@gc-JSON PATH Extrator插件,可以获取上个接口的响应数据,用在第二个接口中。
举例:如何从JSON响应结果中获取登录接口的Sign值,Json中的数据整体是一个字典,字典dict嵌套list,list又嵌套字典dict.
按下标法取值,login_info是字典的第二个元素即dict.login_info.sign/dict["login_info"]["sign"]


3.4上传文件

Jmeter接口测试之案例实战的更多相关文章
- Jmeter接口测试之案例实战(十一)
在前面的知识体系中详细的介绍了Jmeter测试工具在接口自动化测试中的基础知识,那么今天更新的文章主要是对昨晚的上课内容做个总结. 首先来看Jmeter测试工具在图片上传中的案例应用.首先结合互联网产 ...
- Jmeter4.0接口测试之案例实战(七)
在前面的知识体系中介绍了Jmeter的基本应用,下来通过具体的案例来看Jmeter在接口测试中的具体案例实战部分. HTTP是基于应用层的协议,底层的网络传输层它不需要去关心,同时它是一个无状态的协议 ...
- Jmeter接口测试之参数传递(十三)
在接口自动化测试中,经常会遇到的一种场景就是参数的场景,比如在用户列表中获取所有的用户列表,然后获取到某一个用户的ID,查看该用户的详细信息.首先在这里理清思路,它的流程是,首先获取到数据,然后在Jm ...
- Jmeter接口测试之参数化(十)
在接口测试中,某些时候一些场景会使用到参数化的场景,参数化简单的说就是同一个请求需要不同的数据,比如在性能测试中需要并发多个用户的场景,这样的目的是为了模拟真实的用户场景,需要模拟不同的账号,这里就需 ...
- Jmeter接口测试之用户自定义变量(九)
在使用Jmeter做接口自动化测试中,经常会使用到公共的数据,那么就需要对这些公共的数据分离出来,不管是基于测试框架的思想,还是使用工具来进行做自动化测试,公共数据的分离首先是需要思考的.这里就以获取 ...
- Jmeter接口测试之用例数据分离
之前我们的用例数据都是配置在 Jmeter Http 请求中,每次需要增加,修改用例都需要打开 jmeter 重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢? ...
- Jmeter4.0接口测试之断言实战(六)
在接口测试用例中得有断言,没有断言的接口用例是无效的,一个接口的断言有三个层面,一个是HTTP状态码的断言,另外一个是业务状态码的断言,最后是某一接口请求后服务端响应数据的断言.在Jmeter中增加断 ...
- jmeter接口测试之登录测试
注册登录_登陆接口文档 1.登录 请求地址: POST xxxxxx/Home/Login 请求参数: args={ LoginName:"mtest", // 登录名,可以为 ...
- Jmeter接口测试之Get请求
[一] 在测试计划下面添加一个线程组---------->在线程组下面分别添加HTTP请求.响应断言.BeanShellPreProcessor.察看结果树.聚合报告等内容. [二] 将使用的协 ...
随机推荐
- WordPress 更新中断故障
WordPress 更新中断故障 WordPress更新中断后显示:Briefly unavailable for scheduled maintenance. Check back in a min ...
- 19 02 21 selenium get_attribute的几种用法
获取元素标签的内容: get_attribute(‘textContent’) 获取元素内的全部HTML: get_attribute('innerHTML') 获取包含选中元素的HTML: get_ ...
- 微信群API接口
安卓微信的api,个人微信开发API协议,微信 ipad sdk,微信ipad协议,微信web版接口api,微信网页版接口,微信电脑版sdk,微信开发sdk,微信开发API,微信协议,微信接口文档sd ...
- JVM探秘:JVM的参数类型
本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. JVM的参数类型,大致可以分为标准参数.X参数.XX参数,而XX参数又可以分为Bool ...
- 029-PHP取随机数
<?php //打印从1到100中间的10个随机的数 ; $index < ; $index++) { print(rand(,) . "<BR>\n"); ...
- 064-PHP函数中局部变量在函数外不可使用
<?php function print_num(){ //定义函数 $x=6; //在函数中定义变量 } print_num(); //调用函数 echo $x; ?>
- Node.js NPM 介绍
章节 Node.js NPM 介绍 Node.js NPM 作用 Node.js NPM 包(Package) Node.js NPM 管理包 Node.js NPM Package.json NPM ...
- 查看mysql表空间
,),'MB') as data_size, concat(,),'MB') as index_size from information_schema.tables group by TABLE_S ...
- mui下拉刷新 上拉加载
a页面是父页面 b页面是子页面 在b页 html+ js+ 下拉和上拉执行的函数就不贴了 .在这个过程中还遇到了个问题就是刷新的图标偏上 需要改变其高度,需要在a页面里面去改变刷新图标的样式 本文 ...
- Swift实现iOS录音与播放音频功能
作用AVPLayer:可以用来播放在线及本地音视频AVAudioSession:音频会话,主要用来管理音频设置与硬件交互使用时需要导入 #import <AVFoundation/AVFound ...