IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Jmeter的如何做接口测试的基础篇 -> 正文阅读

[开发测试]Jmeter的如何做接口测试的基础篇

1.Jmeter是什么?

jmeter是Apache(开发公司)用java语言编写的压力测试工具

2.Jmeter能做哪些类型的测试?

1)接口测试

2)性能测试

2)负载测试

3)压力测试

3.以上四种测试类型是怎么定义?

1)接口测试:对外部系统接口和本系统之间的接口这两个接口之间的测试,本系统之间各个内部系统接口之间的测试,没有界面支撑。
2)性能测试:通过测试工具模拟多种正常,峰值,异常负载条件对系统的各项性能指标进行测试。

3)负载测试:逐步增大负载,直到达到系统性能指标的最大负载量。

4)压力测试:达到最大负载量以后,系统快要承受不了的临近奔溃的测试。

4.jmeter环境配置与下载?

由于jemeter是基于java语言编写的所以要安装JDK(而JDK又是JAVA的核心,包括JAVA运行环境,JAVA工具,JAVA的基础库),jdk的安装包如下:

?安装完之后存放位置如下:

?然后由于我是wind10系统,我在设置里面找到环境变量配置:

?开始配置环境变量:在系统变量里面配置JAVA_HOME值为C:\Program Files\Java\jdk1.8.0_121

和Path里面添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;和CLASSPATH值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 务必注意CLASSPATH里面的.不要漏掉了(我已经踩过这个坑了)。这些配置如下图:

?

?检查上述操作正确 在cmd里面 java -version,如有下图证明配置成功:

环境配置好以后,去下载一个jmeter包:

?这个包不需要安装,直接找到bin下面的jmeter.bat(windows)双击就可以使用如下:

?第一次进入整个页面的字体非常小,有两个办法:

第一个是点击选项的放大或者缩小,可以调节但是第二次进入以后就还是小字体(所以不建议)

?第二个办法去修改bin下面的配置文件jmeter.properties,修改以下参数和我一致

jsyntaxtextarea.wrapstyleword=true
jsyntaxtextarea.linewrap=true
jsyntaxtextarea.codefolding=true

jsyntaxtextarea.font.family=微软雅黑
jsyntaxtextarea.font.size=35

记得把#去掉。保存后再次进入jmeter页面就和一样了。

5.Jmeter页面先介绍一下:

6.重点来了:接口测试使用Jmeter步骤如下:?

1)新增一个主线程组:测试计划右击点击添加,选择线程(用户),选择线程组,新增成功如下:

?2).线程组的页面如下:

3).新增一个http请求,右键线程组点击添加,选择取样器选择http请求:

4)http请求页面如下:

?例如我写的脚本就如下:

?5)那我们的HTTP的脚本从哪里来了?这里有两大类方法:

第一个从接口文档来,因为涉及到数据敏感性就不展示。

第二个从抓包来,抓包的话也有好多种,fiddler,f12控制台,jmeter自带的HTTP代理服务器,个人觉得只要适合自己的抓包工具都可以,不限制,能抓到想要的脚本(http请求)即可。下面就讲一下HTPP代理服务器。

先在测试计划-添加-非测试元件-HTTP代理服务

?再HTTP里面设置端口号和选择控制是线程组,再去wind10,设置里面选择手动代理,输入127.0.0.1和端口号如下:

?然后开始启动HTTP代理,启动以后回到想要抓包的页面进行录制。录制完以后如下,要关闭HTTP代理。

?录制好的脚本自己去重命名即可。

6)单个脚本或者多个脚本都录制或者调试通了以后,就可以直接测试了吗,如何确定测试环境的准确性?

测试之前要提到一个词语:环境初始化和数据清除,这个用到哪里了?那么又引入了一组词语:主线程,setup线程,tearDown线程组,这个又是用来干嘛?带着疑问来看往下看:

介绍一下三种线程是干嘛的,独立运行每个线程组(例如在一个组运行结束后勾选下一个)如下图

为了保证每一次测试的之前环境都初始化成功且无脏数据的话,就要把环境初始化的操作用脚本用在setUp线程组,用配置文件:JDBC Connection Configuration 和 JDBC Request来进行操作。

首先要准备驱动jar包如下(jmeter是java语言Java 连接 MySQL 需要驱动包)

?有两种方式配置jar包,第一个:测试计划里面直接导入jar包可以全局使用,但是再重新新增一个测试计划又得再次导入,比较麻烦不建议

?第二种就是直接把jar包放在jmeter的lib下面,这样一劳永逸,哈哈

?

然后再是JDBC Connection Configuration的用法:

1)配置连接池的名字:test(这里随意)

2)Database? url: jdbc:mysql://数据库ip:数据库端口号/库名?+参数(参数:useUnicode=true&characterEncoding=gbk---支持gbk,zeroDateTimeBehavior=convertToNull--允许为0,allowMultiQueries=true--允许多行增删改)

3)JDBC Driver class:com.mysql.jdbc.Driver

4)Username:数据库账号,Password:数据库密码

?

再是JDBC Request的用法如下:

1.名称任意

2.连接池的名字和上面保持一致test

3.若是增删改的话Query Type就是:Update Statement,下面就写sql,sql别忘记了收尾符号;

若是查询的话就Query Type就是:Select Statement,下面就写sql,别忘记了收尾符号;

?7)脚本录制以后要添加响应断言,json断言(判断实际结果和预期结果是否相符),查看结果树,响应时间图(http请求的响应时间图形维度),聚合报告(http请求的平均值,中位数,吞吐量,异常率等)

?

响应断言如下,可以断言比如响应文本,响应代码,响应信息,响应头,请求头,等,然后匹配字符串或者包含数字等都是可以,断言就用独特的提示字段或者标识就可以。?

json断言:断言的键值如下,若实际结果的键值对和json里面若一样,就会断言成功,不一样会失败。

查看结果树如下:

?

聚合报告如下:可以提前准备一个.jtl的文件,跑完报告以后就会自动存入里面,下次可以导入对比

?

?若多个http里面说没有cookie添加一个cookie管理器:

?

?以上这些都配置好的话,是可以用接口文档固定参数或者抓包的固定参数做测试了,至于多个线程之间的关联性,单个线程内部关联,参数化怎么做就移步到下个罗~~

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:55:28  更:2022-03-30 18:58:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:41:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码