delete语句怎么返回参数_【pytest】(十一)fixture参数化-巧用params和ids的真接口自动化实战...

本文通过一个接口自动化实战案例,演示了如何使用pytest的fixture进行参数化,特别是params和ids的使用。文章详细介绍了fixture的代码结构,如何在测试前插入和测试后删除测试数据,并展示了case部分的请求接口和断言操作,最后展示了如何运行特定的测试case。
摘要由CSDN通过智能技术生成

ef5d3a19c5fabbebc1ff6b38d67f1a2f.png

在上一篇文章中聊到了fixture的一些用法,利用params和ids这2个参数来实现对于测试数据初始的一些需求。

把苹果咬哭:【pytest】(十)fixture参数化-巧用params和ids优雅的创建测试数据​zhuanlan.zhihu.com
ecf0e35b9c9bc394812f0a528248dbb0.png

但是文中的示例代码并不是真正的接口测试,只是用了一些print描述了下我的设想,以及一定的验证,缺乏实际应用。

刚好最近抽空在写一些接口自动化,正好拿一个接口实践下。

这个接口是一个列表接口,根据status的传参,可以返回对应状态的数据,其中:待处理-10,处理中-20,已完成-30

代码部分的话 就分2部分贴出来吧。

一、fixture

先看代码

import pytest
from faker import Faker
from util.mysql_operating import DB

fake = Faker()


def init_data(fixture_value):
    if fixture_value == 10:
        return "untreated"
    elif fixture_value == 20:
        return "processing"
    elif fixture_value == 30:
        return "done"


@pytest.fixture(params=[10, 20, 30], ids=init_data)
def init_data_query_by_status(request):
    status = request.param
    print("fixture 参数", status)
    uid = fake.pyint(min_value=10086, max_value=99999, step=1)
    order_sn = "CK" + fake.pystr(min_chars=19, max_chars=19)

    real_sql = """INSERT INTO `tcwms`.`sm_outbound_order`(`id`, `out_id`, `order_sn`, `admin_id`, `admin_name`, `total_price`,
     `remark`, `status`, `type`, `use_type`, `mchid`, `wh_id`, `add_time`, `update_time`, `out_time`, `to_id`, `to_name`
     , `verify_status`, `verify_time`, `verify_ad_id`, `verify_ad_name`, `posting_status`, `posting_time`, 
     `posting_ad_id`, `posting_ad_name`, `is_valid`, `finance_verify_status`, `finance_verify_time`, `finance_verify_remarks`,
      `finance_verify_ad_id`, `finance_verify_ad_name`, `pay_status`) 
      VALUES ({}, 1752, '{}', 572, ''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值