轻松搞定HTTP接口测试,JMeter让你事半功倍!

jmeter-http接口测试脚本

jmeter进行http接口测试的主要步骤(1.添加线程组 2.添加http请求 3.在http请求中写入接口的URL,路径,请求方式,参数 4.添加查看结果树 5.调用接口,查看返回值)

针对接口添加header在如下途径添加:

jmeter做http接口测试添加cookie:

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

3.jmeter-webservice脚本进行webservice测试的一般步骤

1、在soapui中新建已经soap项目,导入wsdl地址,获取到请求报文、SOAPAction和请求url(在soapui的raw中能找到)
2、打开jmeter新建一个线程组
3、新建一个SOAP/XML-RPC Request4、把url、soapaction和请求报文写到soaprequest中5、调用接口、查看返回值)

4.jmeter-参数化

参数化的作用:调用接口入参时。有时要求参数经常变化,如果每次去修改就会变得很繁琐,这时候就需要把经常变化的值改变为提前编辑好的文档或函数中,便于调用时使用不同的值。

Jmeter参数化的方式有三种:1)用户定义的变量(这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的)。在线程组中添加一个用户定义的变量,然后写key和value就可以了,key就是这个参数的名称,也就是你在脚本里面取的值,value就是具体值了。在取参数化的值的时候,使用${name}这样去取值,name就是你取的变量名称。

在脚本中获取参数化的值

2)函数生成器(函数生成器可以参照一定的规则生成数据,这样的比如说生成一些随机数)。函数助手的话,可以按照规则生成一些参数,比如说随机数取当前时间,最常用的就是这两种。

随机数__Random,可以在你指定的一个范围内取随机值取当前时间__time,如果在有一些需要传时间的情况下可以使用,日期格式是:yyyy-MM-dd HH:mm:ss 年-月-日-小时:分钟:秒取唯一id,__UUID,这个就是每次会生成一个随机的uuid,都是唯一的。利用函数助手可以按照规则生成一些参数。

3)从文件中读取(文件读取就是事先写好一些数据,然后从文件中读取,这样的话,比如说登录接口,账号和密码都是我们事先注册好的)

从文件中读取的有3个步骤:1、读取文件2、取文件内容里面的参数,给它一个名字3、使用值(从文件读取的话,需要在线程组里面添加一个CSV Data Set Config,它就是做前面两步的操作的)。

5.jmeter断言断言的作用是用来查看返回结果是否正确,如果正确就代表这个请求的返回值是正确的,如果没有的话就代表这个请求的结果和我们预期的不一致,这样我们就可以通断言来检查返回结果,测试是否通过。

6.jmeter关联关联作用是由于后面操作需要用到前面服务器返回的结果,所以将该值保存传递过来以便使用。

Jmeter中的关联一般通过正则表达式提取器来完成(如果有特殊的jar包也可)

关联的值在其他请求引用时,直接使用${name}即可,name就是你关联的时候设置的变量名。

7.jmeter操作数据库mysql操作数据库的步骤:1. 导入jdbc的jar包,因为jmeter本身不能直接连接mysql,所以需要导入第三方的jar包,来连接mysql。2、创建数据库连接配置,mysql的url、端口号、账号、密码3、写sql,执行sql 4、查看结果

Jmeter导入jdbcjar包

配置mysql连接

(1)添加一个JDBC Connection Configuration(2)配置mysql连接池的名称,后面发sql请求的时候指定连接哪里(3)数据库的url:jdbc:mysql://192.168.1.116:3307/bugfree?allowMultiQueries=true(4)数据库驱动:这里就是指定连接什么类型的数据库,mysql、oracle、SqlServer等等(5)账号密码Jmeter执行sql

查看sql结果

8.Linux下运行jmeter压测我们在做测试的时候,有时候要运行很久,公司用的测试服务器一般都是linux,就可以运行在linux下面,linux下面不能像windows一样有图形化界面,那怎么运行脚本呢,就先在windows上把脚本做好,然后在linux下运行即可,linux下运行jmeter是在jmeter的bin目录下的jmeter.sh这个shell脚本。

sh jmeter.sh -n –t a.jmx -l res.jtl-n代表以没有图形化界面启动,-t代表后面是测试脚本,a.jmx也就是我们做好的jmeter脚本,-l代表测试结果 res.jtl就是测试结果文件,查看结果的话,在查看结果树视图中导入这个res.jtl就可以查看到测试结果了9.jmeter添加负载机我们在压测的时候,可能并发比较大, 一台机子已经启动不了那么多并发了,这个时候我们就要使用多台机子一起来发压力,就要添加压力机,添加压力机怎么添加呢,首先要在做压力机的机子上启动jmeter的代理,然后做为控制机的机子上添加上压力机的ip即可。

Jmeter的bin目录下有一个jmeter-server,启动它即可,windows机子作为压力机的话,运行jmeter-sever.bat,linux作为压力机的话,运行jmeter-server。

然后在作为控制机的jmeter配置文件里添加压力机ip即可,jmeter的配置文件在bin目录下jmeter.properties,添加压力机的时候,在配置文件里面找到remote_hosts添加ip,然后重启jmeter就可以看到远程压力机了

jmeter 添加压力机:1、先在其他的负载机(另外的电脑)上启动jmeter-server(jmeter-server.bat windows) (jmeter-server.sh mac、linux)主控机和负载机

2、修改主控机jmeter的配置文件,找到remot_hosts,然后把负载机的ip加入到里面就好了remot_hosts=127.0.0.1,192.168.1.2:1099,192.168.1.3:1099默认jmeter-server的端口号是1099,如果说负载机上的端口号改了,那么你在这里也得改

3、启动时候要选择远程全部运行ps:如果有参数化文件,那么在负载机同样的位置上也得有一个参数化文件。


END今天的分享就到此结束了,点赞关注不迷路!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/212271.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springcloud超市管理系统源码

技术说明: jdk1.8,mysql5.7,idea,vscode springcloud springboot mybatis vue elementui mysql 功能介绍: 后台管理: 统计分析:查看用户,商品,销售数量;…

JavaScript编程基础 – 布尔值(Booleans)

JavaScript编程基础 – 布尔值(Booleans) Javascript Programming Essentials – Booleans 一个JavaScript布尔值包含两个值中的一个,即 true 或者 false。 本文简要介绍JavaScript布尔值的具体应用,以及可能作为对象的布尔值等。 1. 布尔值(Booleans)…

python pytorch教程-带你从入门到实战(代码全部可运行)

python pytorch教程-带你从入门到实战(代码全部可运行) 其实这个教程以前博主写过一次,不过,这回再写一次,打算内容写的多一点,由浅入深,然后加入一些实践案例。 下面是我们的内容目录&#x…

Redis深入理解-内核请求处理流程、数据传输协议

Redis 内核级请求处理流程 Redis Server 其实就是 Linux 服务器中的一个进程 主要还是下图的流程 应用先和 server 端建立 TCP 连接建立连接之后,server 端就会有一个与该客户端通信的 socket,客户端的读写请求发送到服务端的 socket那么通过 IO 多路…

spark的算子

spark的算子 1.spark的单Value算子 Spark中的单Value算子是指对一个RDD中的每个元素进行操作,并返回一个新的RDD。下面详细介绍一些常用的单Value算子及其功能: map:逐条映射,将RDD中的每个元素通过指定的函数转换成另一个值&am…

Laravel 安装(笔记一)

目录 第一步、Laravel 一般使用 composer安装 第二步、使用composer安装项目 第三步、配置环境 第四步、访问域名,安装完成 Laravel 官网 l​​​​​​​Installation - Laravel 中文网 为 Web 工匠创造的 PHP 框架 第一步、Laravel 一般使用 composer安装 如…

java项目之消防物资存储系统(ssm+vue)

项目简介 消防物资存储系统实现了以下功能: 管理员功能: 管理员登陆后,主要模块包括首页,个人中心,用户管理,仓库管理,物资入库管理,物资出库管理,仓库管理,物资详情管…

基于Pytest+Requests+Allure实现接口自动化测试!

一、整体结构 框架组成:pytestrequestsallure 设计模式: 关键字驱动 项目结构: 工具层:api_keyword/ 参数层:params/ 用例层:case/ 数据驱动:data_driver/ 数据层:data/ 逻辑层&…

jetson xavier NX深度学习环境配置

文章目录 jetson xavier NX深度学习环境配置1. SD卡系统烧录1.1 材料1.2 软件配置1.3 格式化SD卡1.4 系统镜像烧录 2. 环境配置2.1 cuda环境配置2.2 安装依赖库2.3 安装python及依赖环境2.4 安装pytorch环境 jetson xavier NX深度学习环境配置 1. SD卡系统烧录 1.1 材料 SD …

python opencv 放射变换和图像缩放-实现图像平移旋转缩放

python opencv 放射变换和图像缩放-实现图像平移旋转缩放 我们实现这次实验主要用到cv2.resize和cv2.warpAffine cv2.warpAffine主要是传入一个图像矩阵,一个M矩阵,输出一个dst结果矩阵,计算公式如下: cv2.resize则主要使用fx&…

CCF CSP认证 历年题目自练Day49

题目一 此题用暴力枚举做过(80分)现如今终于用二维前缀和做到满分。 试题编号: 202309-2 试题名称: 坐标变换(其二) 时间限制: 2.0s 内存限制: 512.0MB 问题描述: 问题…

内建组件和模块

讨论 Vue.js 中几个非常重要的内建组件和模块,例如 KeepAlive 组件、Teleport 组件、Transition 组件等,它们都需要渲染器级别的底层支持。另外,这些内建组件所带来的能力,对开发者而言非常重要且实用,理解它们的工作原…