最近的项目用到了接口自动化。我先自学了一下,也不知道对不对。把过程发出来正好还能帮我找找问题

1.新建测试计划,在用户自定义变量处输入需要的变量,这样就可以在全局引用,肥肠的方便,在接口中可以用${**}来引用。这里把ip地址、端口号、token设置为了全局变量。

jemeter自动化流程 jmeter 接口自动化_自动化

2.右键测试计划,添加线程组,以区分不同模块下的接口。

jemeter自动化流程 jmeter 接口自动化_jemeter自动化流程_02

3.右键线程组--添加--取样器--HTTP请求,添加一个http请求。这个http请求是一个get请求,功能位查询所有对象的信息,无需传参具体内容如图

jemeter自动化流程 jmeter 接口自动化_jmeter_03

 4.因为后续接口需要查询接口返回的人员id,所以可以添加一个JSON提取器来提取指定人员的id,这里就以提取第一个人的id为例。

右键HTTP请求--添加--后置处理器--JSON提取器,添加一个JSON提取器

*关于JSON提取器,在提取之前可以先去“查看结果树”处调试一下JSON表达式有没有问题,这个放到后面*

jemeter自动化流程 jmeter 接口自动化_json_04

5.添加HTTP信息头管理器,用以存放token等信息。

右键HTTP请求--添加--配置元件--HTTP信息头管理器

jemeter自动化流程 jmeter 接口自动化_json_05

 6.添加响应断言,校验返回字段是否完整。

右键HTTP请求--添加--断言--响应断言

jemeter自动化流程 jmeter 接口自动化_jmeter_06

添加JSON断言,验证返回字段和内容是否正确

jemeter自动化流程 jmeter 接口自动化_自动化_07

7.因为不同线程组之间提取的参数不能共用,所以添加一个Beanshell后置处理器,将提取的人员id处理为全局变量。后续引用格式也要同步更改为  ${__property(pid_zxl)}

右键HTTP请求--添加--后置处理器--Beanshell后置处理器

jemeter自动化流程 jmeter 接口自动化_自动化_08

8.新建一个线程组存放另一个模块“集中教育”,集中教育模块负责管理人员的集中教育数据,可以查询指定人员集中教育数据,添加集中教育,添加指定人员为集中教育对象。

查询集中教育列表:新建一个HTTP请求,添加HTTP信息头管理器,,,这里要注意,用上了上一个接口提取的矫正人员id

jemeter自动化流程 jmeter 接口自动化_jmeter_09

 添加集中教育列表:添加集中教育是一个post请求,要注意修改请求类型

jemeter自动化流程 jmeter 接口自动化_jmeter_10

添加集中教育这里要添加一个JSON提取器,提取返回信息中的集中教育id,用以绑定集中教育和集中教育对象

添加集中教育对象:用以把集中教育和集中教育对象绑定

jemeter自动化流程 jmeter 接口自动化_jemeter自动化流程_11

 9.添加一个“查看结果树”和“断言结果”来查看和验证运行结果

添加--监听器--查看结果树    添加--监听器--断言结果

10.点击上方绿色运行图标,查看运行结果,可以看到运行成功了

jemeter自动化流程 jmeter 接口自动化_json_12

PS

1.JSON表达式调试:写JSON表达式的时候,可以先运行一下接口,生成返回信息后将显示方式调整为“JSON Path Tester”就可以调试了。在输入框内输入表达式,点击“Test”就可以调试表达式是否正确了 

jemeter自动化流程 jmeter 接口自动化_json_13