【接口自动化】解决接口测试中读取yaml文件,时间格式转换成date、datetime类型问题

使用pytest做接口自动化测试时,会将接口参数写入到yaml文件中,通过读取yaml文件来实现参数化的方式,但是类似2023-06-20、2023-06-20 00:00:00这种类型的值会自动转成date或者datetime类型之后发送,导致接口报错(如字段类型不正确),因为还是需要保持为字符串类型进行传参。

避免转换成时间格式有以下几种方法:
1、在yaml文件写参数时,添加双引号或单引号

  enTime: '2023-06-21 09:00:00'
  #    或
  enTime: '"2023-06-21 09:00:00"'

2、yaml热加载填入时间参数,区分年月日一个个get(热加载方法单独返回年月日字符串)

   startDate: ${get_year()}-${get_month()}-${get_day()}

3、yaml文件是通过动态写入的
先保存时间参数

now = datetime.datetime.now().strftime('%Y-%m-%d 09:00:00')
# return前先进行序列化为json
return json.dumps(now) 

生成yaml参数字典时,直接写time

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值