测试小白:靠Jmeter录制摆脱搬运工角色

发表于:2021-10-21 09:19

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:绿豆芽呀    来源:51Testing软件测试网原创

  我们都是搬运工?
  很多接口自动化测试人员都知道,实际上我们进行接口自动化时,大部分人都是依赖于开发维护的接口设计文档,或者是直接使用抓包工具获取需要的接口数据。
  然后再去按照ULR、headers、body进行各种组装请求,将接口的基础配置从文档或者抓包工具复制搬运到到对应的接口自动化工具(例如Postman、Jmeter、Robotframework等)上面进行二次组合,最后再通过工具自身发起接口请求。
  实际上Jmeter自身提供了“录制”的功能,测试人员可以直接通过“录制”自己的一系列操作,然后对录制起来的请求进行二次优化设计,可以大大减少前期的基础编辑的时间。

  前期物料准备
  接口自动化流程和功能测试流程一样,在开始测试之前都需要进行一些物料准备,例如功能测试需要确定测试环境(测试1、测试2或者直接预生产测试)、测试设备(Android系统、ios系统等),对应的今天要实践的接口自动化,需要准备以下物料:
  1.Jmeter工具安装
  2.代码环境
  3.测试系统的账号/密码等信息

  摆脱搬运的神器
  Jmeter的录制功能原理和抓包工具一样,都是通过HTTP代理服务器进行,所以在进行录制之前需要设置代理HTTP(S) Test Script Recorder,主要设置的内容如下:
  1.代理的ip和port,一般ip使用默认的,端口可定义8888(注意浏览器代理端口需要跟Jmeter的保持一致,如下第一图);
  2.设置录制下来的请求保存的路径,选择保存到“测试计划TestPlan-线程组Thread Group”下(如下第一图);
  3.(重点)设置过滤,过滤掉不必要的请求,过滤可选择两种模式:一种是只录制某规则的请求,一直是不录制某规则的请求。
  (如下第二图)。

  启动录制:

  项目实战
  录制数据

  去除多余数据
  去除不必要的接口请求,仅保留本次自动化的目的的接口:登录+获取XX详情页数据。

  优化脚本
  1.优化HTTP Header Manager
  Jmeter脚本录制成功后,每个HTTP请求下都会自动带一个默认的HTTP信息头管理器,但是很多数据实际接口需要的信息头是通用的且只需要两个字段就可以,所以优化前后对比如下:

  优化完后,将该管理器移动到线程组同一级别,这样该测试计划下的所有请求可共用一个信息头管理器HTTP Header Manager。

  2.处理接口依赖
  由于录制时,打开XX详情页需要依赖于登录信息,所以需要在回放脚本前需要手动处理接口上下依赖的登录信息。
  本文案例的依赖有两个,子系统的登录依赖于主系统登录成功返回的token,而打开XX详情页接口依赖于子系统登录成功返回的token,所以需要分别通过jemter自带的后置处理器提取登录成功的信息。

  2.1主系统和子系统登录依赖:
  i.使用后置处理器Regular Expression Extractor通过正则表达式提取Token;
  ii.在下一个接口中直接引用提取的Token变量。

  2.2引用HTTP Cookie Manager统一管理子系统下的接口请求:
  子系统登录成功后,接下来子系统内的所有请求均使用同一个登录信息,所以可引用HTTP Cookie Manager统一管理。
  接口之间的依赖处理详细如下图:

......
查看更多精彩内容,请点击下载:
  版权声明:本文出自《51测试天地》第六十三期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号