httprunner3.x--文件模板参数化

前面讲到xml格式的接口测试,我将报文内容xml保存到文件中,通过读取文件进行报文发送。

但是因报文内容可能会根据业务变化而发生改变,所以需要将文件中部分数据进行参数化,涉及到模板渲染,我使用的是jinja2库。

先上代码如下:

from jinja2 import Environment
from jinja2 import FileSystemLoader


def replace_content(filename, custid):
    """
    读取文件并将参数进行替换模板内容
    :param
    :return:组装好的返回报文内容
    """
    env = Environment(loader=FileSystemLoader("data", 'utf-8'))
    template = env.get_template(filename)
    soap_body = template.render(cust_id=custid)
    print(soap_body)
    return soap_body

将data文件夹下的的filename文件中cust_id变量实例化为custid

形参定义格式为:{{cust_id}}

在这里插入图片描述

httprunner接口代码:

variables:
    #file_path: "data\\batchOrderSync.xml"    #直接读取文件
    #m_encoder: ${get_file_std($file_path)}   #直接读取文件
    custid: 311000004397000                           #将文件模板内容参数实例化
    filepath: batchOrderSync.xml                      #将文件模板内容参数实例化
    m_encoder: ${replace_content($filepath,$custid)}  #将文件模板内容参数实例化
    #retbody: ${str_bytes($xmlinfo)}
request:
    method: POST
    url: /Sync/BatchNotify/User
    headers:
        Content-Type: application/xml
    data: $m_encoder

最终运行时,将cust_id替换成为311000004397000

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值