前言
使用 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($key2)}
将参数key2转成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]
抓包查看运行结果