Jmeter接口测试图文示例

以getObjectByCode接口为例,用jmeter2.13来进行接口测试。

测试前准备:

测试工具及版本:jmeter 2.13 r1665067(须包含__MD5函数)

示例接口:8.1根据单品编码查询上架状态的单品详情

接口方法:/single/v1/getObjectByCode

1.准备jmeter免安装包,把...injmeter.bat添加到桌面快捷方式。

2.点击电脑桌面jmeter快捷方式,进入jmeter界面。界面默认会有一个测试计划和一个工作台,测试计划下默认会有一个线程组。

3.测试计划命名为商品服务,右击测试计划->添加->Threads(Users)->线程组,新建一个线程组,线程组命名为根据单品编码查询上架状态的单品详情。

4.在线程组下添加HTTP请求,路径为右击“根据单品编码查询上架状态的单品详情”->添加->Sampler->HTTP请求。

5.根据wiki的“根据单品编码查询上架状态的单品详情”接口文档和环境文档在HTTP请求界面填写详细信息。

5.1在Web服务器填写

服务器名称或IP:172.18.0.120              端口号:7989

5.2在HTTP请求填写

Implementation:HttpClient4                方法:POST

路径:/single/v1/getObjectByCode

5.3在请求参数区域,点击“添加”按钮添加请求参数

请求参数列表如下:

名称               值

appId            ${appId}

channel         ${channel}

channelIp      ${channelIp}

code             ${code}

t                   ${time}

terminalType  ${terminalType}

h ${__MD5(appId=${appId}&channel=${channel}&channelIp=${channelIp}&code=${code}&t=${time}&terminalType=${terminalType}&appKey=b320de0549a24ff6995dc0e2c38ff491,h)}

注意:

请求的所有参数,需要根据参数名=参数值的格式,按照字符字典顺序(asscii值大小)排序,若遇到相同首字符,则判断第二个字符,以此类推,待签名字符串需要以“参数名1=参数值1&参数名2=参数值2&..&参数名N=参数值N”的规则进行拼接。

在对请求的参数做签名时,对于请求参数列表中那些可空的参数,如果选择使用它们,那么这些参数的参数值必须不能为空或空值。否则请从参数列表中移除参数值为空的参数键值对。

在对请求的参数做签名时,这些参数必须来源于请求参数列表,并且去除列表中的参数h。

用签名密钥(appKey)对请求参数字符串MD5算法进行签名后,将得到的摘要添加到请求参数字符尾部,签名字符串与请求参数字符串之间用&分隔。

6.在线程组下添加用户参数,路径为右击“根据单品编码查询上架状态的单品详情”->添加->前置处理器->用户参数。

7.把time参数化,在用户参数界面点击添加变量,在“名称”填写time,在“用户_1”内填写${__time(/1000,)}。

这样做的目的是保证请求参数中的t的值与MD5加密的t值保持一致。

8.添加CSV文件,路径为右击“根据单品编码查询上架状态的单品详情”->添加->配置元件->CSV Data Set Config。

9.在CSV Data Set Config界面填写文件名、编码格式、参数名、分隔符,其它的取默认值。

注意:jmx文件和.txt(.csv)文件须放在同一目录。示例中的jmx文件和CSV文件放在D:apache-jmeter-2.13 estplan,分隔符不填写时以,分隔,填写时以填写的符号进行分隔。

Filename: getObjectByCode.txt/getObjectByCode.csv

File encoding:utf-8

Variable Names(comma-delimited): appId,channel,channelIp,code,terminalType

Delimiter(use ‘ ’ for tab):,

10.在getObjectByCode.txt文件中填写有代表性的请求参数的值,包括正常值、异常值、空值。

11.getObjectByCode.txt文件中有12条请求参数值,设置循环次数为12,点击“根据单品编码查询上架状态的单品详情”,设置循环次数为12,其它的取默认值。

12.添加察看结果树,路径为右击“商品服务”->添加->监听器->察看结果树。

13.点击启动按钮(绿色三角形),执行接口测试。

14.如果有多个线程组时,方便更清楚地查看结果,可以选择禁用其它线程组,启用当前线程组。

15.点击察看结果树->设置响应数据显示格式为JSON->点击任意一个HTTP请求->点击响应数据,这样可以查看结果。

点击请求可以查看请求的参数是否正确。

点击清除和清除全部按钮都可以清除结果。

16.去测试数据库(172.18.1.149)查询HWG_PRT_SINGLE表,验证jmeter响应数据是正确:参数的数量、参数的值。

对应SQL命令为:SELECT * FROM HWG_PRT_SINGLE WHERE HWG_PRT_SINGLE.`SINGLE_CODE`='S0002938490'

17.jmeter接口测试过程中,可以在172.18.0.120上查看对应日志。对应的命令为:

cd /home/tomcat/tomcat-product/logs

tail -f catalina.out

Jmeter接口测试图文示例的更多相关文章

  1. http接口测试——Jmeter接口测试实例讲解

    摘要: 最近做的项目需要测试很多接口,上网查一查,发现完整讲述接口测试的资料太少,所以最近自己做完这个项目,把测试的东西整理一下和大家分享一下,希望对看到的人有所帮助     一.测试需求描述 1. ...

  2. JMeter接口测试实战-动态数据验证

    JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...

  3. JMeter 接口测试-if控制器

    JMeter 接口测试-if控制器 ​ 使用场景: 当业务场景是用户登录才能支付操作, 不登录点击支付, 页面会跳转到登录页面. 对于接口也是这样, 一个接口需要执行前, 需要有前提条件, 比如0状态 ...

  4. jmeter接口测试-总结

    前言: 本文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对 ...

  5. jmeter 接口测试简介

    前言: 本文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对 ...

  6. jmeter接口测试教程

    一.Jmeter接口测试步骤: 1.添加线程组

  7. 通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

    通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

  8. jenkins+ANT+jmeter 接口测试环境搭建

    目的 jmeter很早就接触了,最近又在接触项目的时候整了一下.写这篇博客主要有两个目的 1,为了给自己搭建jmeter做一个总结. 2,在部署过程中遇到过一些坑,在这分享出来,也希望能给需要的人一个 ...

  9. JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建

    在JMeter接口测试不断深入的过程中,发现可以和jenkins和ant一起搭配进行自动化的构建.下面是jmeter自动化构建的整理笔记. 准备环境 需要本机上确定安装了jmeter.ant和jenk ...

随机推荐

  1. 小程序UI设计(10)-巧用模板,事半功倍

    工具中为小程序员们准备了符合微信开发规范的模板.之前帖子中介绍的规范都在模板中已经设计好了,可以直接复制粘贴使用.下图中的样式是从模板直接复制过来的.实际使用时只要更换为自己的图片和文字即可.自动生成 ...

  2. 【ZJOI 2016】旅行者

    题意 http://uoj.ac/problem/184 题解 大概是神题. 网格图上跑最短路有一个经典的优化方式:分治分组跑最短路. 对于这道题,设矩形长为 \(n\),宽为 \(m\),则对 \( ...

  3. nodejs研发环境

    https://blog.csdn.net/angl129/article/details/90696251

  4. Linux之screen用法

    Screen被称之为一个全屏窗口管理器,用他可以轻松在一个物理终端上获得多个虚拟终端的效果. Screen功能说明: 简单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,这 ...

  5. centos6实现基于google authenticator 的ssh登录二次验证

    1.手机安装google身份验证器,在浏览器搜索身份验证器安装即可. centos6安装所需要的软件--- google-authenticator 2.查看这个包生成的所有文件和命令 3.输入goo ...

  6. 5 解析器、url路由控制、分页、渲染器和版本

    1 数据解析器 1 什么是解析器 相当于request 中content-type 对方传什么类型的数据,我接受什么样的数据:怎样解析 无论前面传的是什么数据,都可以解开 例如:django不能解析j ...

  7. MySQL下载与安装、解决报错

    MySQL下载与安装 一.下载 1.登录Mysql官网:https://www.mysql.com/ 2.点击下载Mysql社区版本 3.点击下载 4.点击下载Mysql社区服务 5.下载地址: 历史 ...

  8. USACO14MAR The Lazy Cow(Gold)

    题目 题意:平面上有 \(n\) 块草地,第 \(i\) 块草地坐标为 \((x_i,y_i)\) ,上面有 \(g_i\) 个单位的草.Bessie 可以吃到距离起始点不超过 \(k\)(这里是曼哈 ...

  9. hdu 5791 Two 二维dp

    Two Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...

  10. BZOJ 4034 [HAOI2015]树上操作 线段树+树剖或dfs

    题意 直接照搬原题面 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中所 ...