Jmeter接口测试图文示例

来源:互联网 发布:淘宝x360手柄 编辑:程序博客网 时间:2024/05/22 03:30


发表于:2016-7-04 11:22  作者:linky520   来源:51Testing软件测试网采编

字体:大 中 小 | 上一篇 | 下一篇 | 打印 |我要投稿 | 推荐标签: 性能测试工具 软件测试工具 Jmeter 接口测试

  以getObjectByCode接口为例,用jmeter2.13来进行接口测试
  测试前准备:
  测试工具及版本:jmeter 2.13 r1665067(须包含__MD5函数)
  示例接口:8.1根据单品编码查询上架状态的单品详情
  接口方法:/single/v1/getObjectByCode
  1.准备jmeter免安装包,把...\bin\jmeter.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\testplan,分隔符不填写时以,分隔,填写时以填写的符号进行分隔。
  Filename: getObjectByCode.txt/getObjectByCode.csv
  File encoding:utf-8
  Variable Names(comma-delimited): appId,channel,channelIp,code,terminalType
  Delimiter(use ‘\t’ 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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 要是微信里面做兼职被骗了怎么办 在打离婚管斯死亡赔常金怎么办 编辑部回复我文章没有被录用怎么办 父亲死后教师资格被别人顶替怎么办 刚发的论文影响因子变化了怎么办 奥鹏毕业论文过了提交时间了怎么办 手机电池被拿出来后时间不准怎么办 高中的孩子与同学相处不好怎么办 孩子在幼儿园不敢和老师说话怎么办 注册过万方医学网忘了用户名怎么办 狗咬了没破皮没出血有点疼怎么办 狗咬了没出血肿起来了怎么办 广州已经过了幼儿园报名时间怎么办 大专学费没交学校开始查了怎么办 如果申请留学的本科成绩不够怎么办 硕士读了三年无法毕业怎么办啊 孩子在美国读研读不下去怎么办? 在地割草中过失死亡法律^怎么办 高中毕业申请国外大学没录取怎么办 英国研究生老师没给写推荐信怎么办 申请悉尼大学博士奖学金被拒怎么办 硕士延迟毕业但被博士录取怎么办 考完初级职称还是不会做账怎么办 美国留学生在中国办日本签证怎么办 留学雅思过了gpa低怎么办澳洲 护士电子化注册用户名忘记了怎么办 护士电子化注册证书编码错误怎么办 澳洲预科上半学期成绩不达标怎么办 美国大学绩点不够怎么办学习证明 研一想换导师导师不答应怎么办 日本留学在留下来不想去了怎么办 加拿大工签3年到期了怎么办 鞋子穿久了会有臭味怎么办 考研忘了自己填写的通讯地址怎么办 基础教育教师培训网注册错了怎么办 11个月宝宝便秘大便有血怎么办 两岁宝宝两天没拉粑粑了怎么办 两岁宝宝两天没拉大便怎么办 两岁宝宝便秘两天没拉怎么办 昨天带孩子上早教课一直哭怎么办 网页账号注册无法获取验证码怎么办