jmeter xml 请求_接口测试之Jmeter串联xml数据格式请求

原标题:接口测试之Jmeter串联xml数据格式请求

要求

1.测试支付及支付检测两个接口

2.支付及检测的接口请求为xml格式

3.支付请求数据要多组不一样的数据

4.每个接口请求有些参数要求全局唯一

5.模拟正常场景,支付一次,检测5次,检测数据为支付的订单

分析如下

用 [配置原件 ->CSV Data Set Config]进行多组数据的准备

用 [sampler ->SOAP/XML-RPC Request] 请求为xml格式

用 [前置处理器 ->BeanShell PreProcessor] 进行唯一值的生成

用 [后置处理器 ->正则表达式提取器] 提前支付的返回数据作为支付检测的请求数据

用 [逻辑控制器->循环控制器]模拟支付一次检测5次的场景

用 [监听器-查看结果树]查看请求返回数据

步骤如下

单击测试计划右键->新建线程组

单击线程组右键->参数化数据

参数化配置数据如下

添加前置处理制作请求的唯一数

代码如下:

import java.sql.Date;

import java.text.SimpleDateFormat;

Long timeStamp = System.currentTimeMillis; //获取当前时间戳

SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmmss"); //定义时间格式

String timeNow = sdf.format(new Date(timeStamp)); // 时间戳转换成定义好的时间格式

//(数据类型)(最小值+Math.random*(最大值-最小值+1))

//从1到9999的int型随机数

String t_no = "tn" +timeNow + (int)(1+Math.random*(99999-1+1));

String l_no = "ln" +timeNow + (int)(1+Math.random*(99999-1+1));

String t_req_no = "trn" +timeNow + (int)(1+Math.random*(99999-1+1));

String o_no = "otn" +timeNow + (int)(1+Math.random*(9999-1+1));

String iNo ="in" + timeNow + (int)(1+Math.random*(9999-1+1));

//vars.get("name"); 从jmeter中获得变量值

//数据存到jmeter变量中

vars.put("t_no ",t_no );

vars.put("l_no ",l_no );

vars.put("t_req_no ",t_req_no );

vars.put("o_no ",o_no );

vars.put("iNo ",iNo );

log.info("------------日志开始----------------");

log.info("iNo is:"+ iNo);

log.info("------------日志结束----------------");

添加支付请求

参数化的数据用${参数名}的格式进行编写

xml数据如下:

${t_no}

${c_no}

${l_no}

${t_req_no}

${o_no}

1.0

${p_id}

${acctNo}

${iNo}

ps:不需要规则的随机数可用jmeter自带的工具自动生成

添加支付请求后,运行查看日志

添加正则表达式提取器,取支付返回数据给检测接口调用

添加循环控制器设置为5

右键循环控制器添加检测的请求

xml请求格式如下:

${t_no}

${c_no}

${l_no}

${t_req_no }

${o_no}

1.0

${p_id}

${iNo}

添加查看结果树查看接口请求返回参数

运行看结果

达到测试目的,完毕。

责任编辑:

你可能感兴趣的:(jmeter,xml,请求)