httprunner学习28-yaml文件 参数化读取 csv 文件字符串转 int

时间:2022-07-25
本文章向大家介绍httprunner学习28-yaml文件 参数化读取 csv 文件字符串转 int,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前言

使用 httprunner 框架参数化时,一般参数数据放csv文件,csv 文件默认都是字符串类型,有些接口需传 int 类型的数字。 当读取csv文件的数据后,需进行数据转换,参考前面一篇https://www.cnblogs.com/yoyoketang/p/13711504.html

csv文件参数化数据

key1_key2.csv 文件内容,这里123456读出来默认是字符串类型

key1,key2
test1,123456
test2,123456
test3,123456
test4,123456

我们期望在接口里面传的时候转成int类型,可以在 debugtalk.py 写个辅助函数解决。

# debugtalk.py
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/

def int_to_str(arg):
    return str(arg)

def str_to_int(arg):
    return int(arg)

yaml 参数化案例

使用{P(key1_key2.csv)} 引用参数,{str_to_int(

# xxxx.yml
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/

- config:
    name: 参数化数据类型转换
    parameters:
        - key1-key2: ${P(key1_key2.csv)} # 参数化
    request:
        base_url: http://httpbin.org
- test:
    name: key2 字符串转int
    request:
        url: /post
        method: POST
        headers:
            Content-Type: application/json
        json:
            keyname1: $key1
            keyname2: ${str_to_int($key2)}
    validate:
        - eq: [status_code, 200]

抓包查看运行结果