软件测试学习笔记-使用jmeter进行接口测试

使用jmeter之前首先需要安装jdk,配置其环境变量,然后再安装jmeter

软件测试学习笔记-使用jmeter进行接口测试

        • 1. 断言
          • 1. 响应断言
          • 2. JSON断言
        • 2. 参数化
          • 1. 用户定义的变量
          • 2. CSV参数化
        • 3. 接口关联
        • 4. 连接数据库

1. 断言

对某个接口其中一些信息进行判断是否符合预期结果中的值。
请添加图片描述

1. 响应断言

首先需要添加线程组、HTTP请求、查看结果树,然后在HTTP请求选择断言,选择响应断言。
在这里插入图片描述

  1. HTTP请求里的信息为:
    协议:https、服务器名称或IP:www.baidu.com、端口号:443、HTTP请求选择get、路径为空、内容编码:UTF-8
    这不是一个接口,只是一个静态页面。
  2. 响应断言中添加断言,输入内容为:百度一下
  3. 运行,选择查看结果树种结果为:通过
    在这里插入图片描述
2. JSON断言

对某个接口返回的json数据进行判断其中是否存在某个值,如访问如下接口
接口地址为:https://music-api.tonzhon.com/search/m/%E6%88%91%E7%9A%84%E6%A2%A6
分析该接口,得出信息为:

请求协议:https
服务器名称或ip:music-api.tonzhon.com
端口号:443
请求方式:Get
请求路径:/search/m/%E6%88%91%E7%9A%84%E6%A2%A6

在jmeter中HTTP请求填入信息如下:
在这里插入图片描述
其查看结果树中响应数据为:
在这里插入图片描述
判断其返回数据结果列表中第一个元素是否有:“我的梦”,json匹配代码为:$.data.songs[0].name
在这里插入图片描述
断言通过,也的的确确有我的梦字段,需要注意的是json判断中需要选中:Additionally assert value

2. 参数化
1. 用户定义的变量

步骤:

  1. 添加线程组
  2. 添加用户定义的变量,格式:变量名-变量值
  3. 添加HTTP请求,引用定义的变量名。格式:${变量名}
  4. 查看结果树

如下:
用户定义的变量
在这里插入图片描述
HTTP请求:
在这里插入图片描述
查看结果树:
在这里插入图片描述

2. CSV参数化

支持的文件格式有csv,txt
在这里插入图片描述
文件名:就是需要读取的数据文件,支持csv、txt
变量名称:可以随便取,多个变量之间用英文逗号隔开
忽略首行:默认值为False,就是不忽略首行,如果数据文件第一行不是数据,而是数据名,此值需要设置为True
分隔符:csv文件默认为==,(英文逗号)==,如果是txt文件,取决于txt文件中各个数据之间间隔符号
在这里插入图片描述
使用的是txt文件
在这里插入图片描述
HTTP请求,只是举例而已
查看结果树的运行结果:
在这里插入图片描述
可以看到请求参数的值为从txt文件中读取的数据值
请添加图片描述

3. 接口关联

关联:当请求之间有依赖关系,比如一个请求的入参是另一个请求的返回数据,这个时候就需要用到关联进行处理。
jmeter中常用的关联方法有json提取器、正则表达式提取器
如使用接口:http://www.weather.com.cn/data/sk/101010100.html,获取这条接口的城市名,然后以该城市名百度进行搜索一下。
在这里插入图片描述
使用json提取器,在这条接口下添加后置处理器–>json提取器
在这里插入图片描述
第二个请求中参数数据如下:
在这里插入图片描述
运行结果为:
请添加图片描述
虽然第2请求出现了302请求重定向问题,但是不可否认的是,第2个请求参数数据值来源于第1个请求响应结果。

4. 连接数据库

首先需要在测试计划下添加mysql连接jar包,
在这里插入图片描述
然后添加jdbc connection configuration组件,配置对应mysql路径、驱动类、数据库用户名、数据库密码。
在这里插入图片描述
然后添加jdbc request组件,输入对应的sql语句即可
在这里插入图片描述
运行结果,查看结果树中的数据为:
在这里插入图片描述
如果想把查询语句的条件引用变量,可以使用如下,首先把Query Type选择Prepared Seelct Statement,然后在下边输入Parameter values输入值,Parameter types输入类型即可,我用的是变量的形式,如下:
在这里插入图片描述
结果为:
在这里插入图片描述

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

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

相关文章

FastAdmin西陆房产系统(xiluHouse)全开源

应用介绍 一款基于FastAdminThinkPHPUniapp开发的西陆房产管理系统,支持小程序、H5、APP;包含房客、房东(高级授权)、经纪人(高级授权)三种身份。核心功能有:新盘销售、房屋租赁、地图找房、房源代理(高级授权)、在线签约(高级授权)、电子合同…

Vue学习笔记之组件基础

1、组件的定义 一般将 Vue 组件定义在一个单独的 .vue 文件中,称做单文件组件;当然也可以将组件直接定义在js文件中,如下js代码,定义一个组件BlogPost,通过props定义对外暴露属性title,父组件传递title&am…

在线JSON转SQL工具

在线JSON转SQL - BTool在线工具软件,为开发者提供方便。在线JSON转SQL工具可以将JSON文件中的数据或者JSON对象转换为SQL插入语句,方便用户将数据导入到数据库中。用户可以通过简单的界面上传JSON文件,或者文本框输入,点击JSON转S…

嵌入式中经典面试题分析

1.关键字static的作用是什么?为什么static变量只初始化一次? 1)修饰局部变量:使得变量变成静态变量,存储在静态区,存储在静态区的数据周期和程序相同, 在main函数开始前初始化,在退…

牛客网-------------------------长方体

解题思路: 设棱长为x,y,z;假设已知面积为a,b,c 那么,xya;yzb;xzc; 一式除二式得x/za/b x(a/b)*z 联立xzc 代入得(a/b)z^2c z^2c*b/a z根号下&…

sql相关子查询

1.什么是相关子查询 相关子查询是一个嵌套在外部查询中的查询,它使用了外部查询的某些值。每当外部查询处理一行数据时,相关子查询就会针对那行数据执行一次,因此它的结果可以依赖于外部查询中正在处理的行。 2.为什么要使用相关子…

【axios报错异常】: Uncaught ReferenceError: axios is not defined

问题描述: 当前代码在vivo手机和小米手机运行是正常的,点击分享按钮调出相关弹框,发送接口进行分享,但是现在oppo手机出现了问题: 点击分享按钮没有反应. 问题解析: 安卓同事经过查询后,发现打印了错误: 但是不清楚这个问题是安卓端造成的还是前端造成的,大家都不清楚. 问题…

C++后端开发之Sylar学习二:配置VSCode远程连接Ubuntu开发

C后端开发之Sylar学习二:配置VSCode远程连接Ubuntu开发 没错,我不能像大佬那样直接在Ubuntu上面用Vim手搓代码,只能在本地配置一下VSCode远程连接Ubuntu进行开发咯! 本篇主要是讲解了VSCode如何配置ssh连接Ubuntu,还有…

Jenkins升级后,构建任务配置界面重复错位

最近我把公司的Jenkins服务升级到了最新版本,升级完成后,点了一下构建任务,发现能够构建成功,就以为顺利完成升级了,下班走了,结果第二天,进入构建任务配置界面发现,界面一团乱麻&am…

云计算关键技术

目录 一、云计算关键技术概述 1.1 概述 二、关键技术内容 2.1 虚拟化技术 2.2 分布式数据存储技术 2.3 资源管理技术 2.4 云计算平台管理技术 2.5 多租户隔离技术 2.5.1 多租户技术下SaaS 特征 2.5.2 多租户技术面临的技术难题 2.5.2.1 数据隔离 2.5.2.2 客户化配置…

苹果公司宣布,为Apple Vision Pro打造了超过600款新应用

深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/ 。 2月…

Tomcat组件架构与数据流

一、背景与简介 Tomcat我们都知道是一个开源的、实现了大部分Java EE、Servlet、JSP规范的Servlet容器, 允许我们将实现了Serlvet接口的Web程序war包进行部署运行。 但是你有对Tomcat做过细致的学习么? 我相信大部分同学和我一样,之前也是只会进行简单使用&#x…