当前位置: 首页 > 科技观察

Jmeter的落地接口测试实施方案

时间:2023-03-12 05:36:08 科技观察

目前,接口测试越来越重要,普遍受到各个公司的重视。通常,接口测试的解决方案包括:代码(java或python),这需要测试人员有基本的编码能力,实现有一定的门槛。jmeter,大部分场景不需要写代码,直接在界面上进行性能测试很方便(增加线程组线程数即可)。自己开发的测试平台,大厂展示KPI的东西,一般公司没必要玩这个。这里我就通过jmeter进行登陆接口测试的解决方案进行讲解。本文首先介绍用例的设计逻辑和jmeter中的一些相关的基本技术点。下一篇文章将重点介绍如何通过git和jmeter-maven-plugin插件进行管理,敬请期待jmeter接口文档!备注:本文默认读者了解接口测试的基本概念,能够对jmeter进行基本操作。以基本设计逻辑应用为基础,创建一个Jmeter脚本,即.jmx文件,一个人创建一个jmx文件(避免很多不熟悉git操作的同学协作时发生冲突)。每个模块再细分,一个simplecontroller就是一个module(一个simplecontroller可以包含多个interface),如下图:一个接口就是一个sampler(一般是http类型的接口),如下图:每个接口需要有一个响应断言来验证接口返回值的正确性(取决于接口文档)。统一设计视图结果树和聚合报表,用于查看接口的执行结果。整体用例组织结构如下:在使用jmeter进行基础接口测试时,常用的知识点归纳如下:用户自定义变量。定义形式为:${变量名}。例如:/url&accessToken=${access_token}。线程组>右键添加>配置元素>用户自定义变量,如下图:${user}可以在以后再次调用的时候使用。我们也可以把变量放在配置文件里,然后读取。具体方法如下:线程组>右键添加>配置元素>CSV数据文件设置,如下图:设置完成后,可以将文件中的变量赋值给用户和密码,然后你可以在脚本中引用它。备注:再循环一次True:假设csv文件一共有10条记录,但是线程循环了15次。执行10次后,循环从头开始。StopthethreadFalse:如果想在所有fetching都为True后继续,如果想在数据用完时结束文件,比如注册不能重用,那么就设置False。默认请求线程组>右键添加>配置元素>HTTP请求默认值。setting的好处是不需要在request中设置ip和port,有利于不同环境统一配置。Informationheadermanagerthreadgrouporspecificrequest(differentscope)>右键单击??添加>配置元素>。以json为例:JSONExtractor请求>右键添加>后处理器>JSONExtractor。例如响应:{"status":200,"message":"","data":{"testCode":"95a9a6dfc3e5e8107523a782fc4cc55x","token":"00522794718a07fac56c7d18f2e8c9xy","re??freshToken":"8e10d3a688a97bdecbb441a9590fa0zz","expires":"00522794718a07fac56c7d18f2e8c9xy","re??freshToken":"8e10d3a688a97bdecbb441a9590fa0zz","expires":604800}图中的变量名代表token。$.data.token是一种固定的写法,意思是获取response中data值中的token内容:00522794718a07fac56c7d18f2e8c9xy,赋值给变量token。