一点儿心得记录。
涉及的技术:java基础、Jmeter的基础使用(主要涉及几个后置处理器)。
一、问题描述:
现有一个需求:我想将注册接口和创角创角动态关联起来,实现注册后的用户自动去创角,不需要我再手动输参。
两个接口在PostMan上的展示:
1、批量注册接口,该接口的入参“number”可批量指定需要注册的用户数,并通过响应结果userData返回注册成功的用户信息集合,其中userId为我需要的用户标识):
2、批量创角接口,该接口通过userId接收用户id集合,实现批量的创角操作:
备注:目的浅而已见,我要将addUserBatch接口返回的用户Id提取出来,拼接成addRoleBatch接口需要的userId入参格式,并实现参数化调用。
实现步骤:
1、打开jmeter,创建默认的线程组,将两个接口按顺序填入:
2、使用JMeter的“Json提取器”提取响应参数userId。
Json提取器的的使用方式:
调试过程可配合使用“调试后置处理程序”。
执行结果可以看出,userId_ALL参数已经离我们想要的参数只少了对中括号。
3、为提取出来的结果加上中括号。
添加“BeanShell 后置处理程序”,并使用java基础语法为提取的结果加上中括号,并将结果设置为变量userIds。( 建议为java脚本加上 try catch ,这样代码出现异常时,才会将异常内容输出在jmeter的控制台)
打开控制台后可看见日志输出,已达到我想要的入参效果。
4、将动态变量作为创角的入参,调用接口。
5、跑起来,查看结果(跑通,但是出现中文字符乱码),处理乱码可以通过添加一个“BeanShell 后置处理程序”,加一句代码:prev.setDataEncoding("utf-8");
6、乱码解决,完美结局:
总结:jmeter接口关联大致流程就这样,具体问题,具体情况,具体分析、解决。
版权归原作者 Escorts 所有, 如有侵权,请联系我们删除。