接口测试测试基础课

接口测试-jmeter串联xml数据格式请求

2019-07-03  本文已影响14人  freedom_smile

要求:

  1. 测试支付及支付检测两个接口
  2. 支付及检测的接口请求为xml格式
  3. 支付请求数据要多组不一样的数据
  4. 每个接口请求有些参数要求全局唯一
  5. 模拟正常场景,支付一次,检测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 version="1.0" encoding="utf-8" standalone="yes"?>
<p_request>
  <zf_head>
    <t_no>${t_no}</t_no>
    <c_no>${c_no}</c_no>
    <l_no>${l_no}</_no>
    <t_req_no>${t_req_no}</t_req_no>
    <o_no>${o_no}</o_no>
    <version>1.0</version>
    <p_channel>11111111</p_channel>
    <p_id>${p_id}</p_id>
  </zf_head>
  <acctNo>${acctNo}</acctNo>
  <tranAmt>${__Random(1,999999,tranAmt)}</tranAmt>
  <iNo>${iNo}</iNo>
</p_request>

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


image.png

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


image.png image.png image.png

xml请求格式如下:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<p_request>
  <zf_head>
    <t_no>${t_no}</t_no>
    <c_no>${c_no}</c_no>
    <l_no>${l_no}</_no>
    <t_req_no >${t_req_no }</t_req_no>
    <o_no>${o_no}</o_no>
    <version>1.0</version>
    <p_channel>2222222</p_channel>
    <p_id>${p_id}</p_id>
  </zf_head>
  <iNo>${iNo}</iNo>
  <oriTranDate></oriTranDate>
</payment_request>

运行看结果

image.png

达到测试目的,完毕。

上一篇下一篇

猜你喜欢

热点阅读