python使用ddt数据驱动完成接口测试参数化

导入unittest框架和ddt包,定义一个数组,使用装饰器装饰函数

import unittest
import ddt

list_num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

@ddt.ddt()
class Print(unittest.TestCase):
    @ddt.data(*list_num)
    def test_print(self, number):
        print("打印的数字是:{}".format(number))


if __name__ == '__main__':
    unittest.main()

get请求参数化示例:

import requests
import unittest
import ddt

list_name = [{"dep_name": "小狐狸"}, {"dep_name": "嫦娥"}, {"dep_name": "百花仙子"}]

@ddt.ddt()
class Select(unittest.TestCase):
    @ddt.data(*list_name)
    def test_select(self, para):
        # 定义地址
        url = "http://127.0.0.1:8000/api/departments/"
        res_get = requests.get(url, para)
        print("查询返回的响应报文为:", res_get.text)


if __name__ == '__main__':
    unittest.main()

post请求参数化示例:

import unittest
import requests
import ddt

list_departments = [{
                        "dep_id": "jiabaoyu",
                        "dep_name": "贾宝玉",
                        "master_name": "荣国府",
                        "slogan": "他是意象化的小说人物,是作家的心灵的映像。"
                    },
                    {
                        "dep_id": "lindaiyu",
                        "dep_name": "林黛玉",
                        "master_name": "荣国府",
                        "slogan": "一朝春尽红颜老,花落人亡两不知。"
                    },
                    {
                        "dep_id": "xuebaochai",
                        "dep_name": "薛宝钗",
                        "master_name": "蘅芜苑",
                        "slogan": "聚叶泼成千点墨,攒花染出几痕霜。"
                    }]

@ddt.ddt()
class Departments(unittest.TestCase):
    @ddt.data(*list_departments)
    def test_insert(self, departments):
        # 定义地址
        url = "http://127.0.0.1:8000/api/departments/"
        # 定义消息体数据
        json_dep =\
            {
                "data": [departments]
            }
        res_post = requests.post(url, json=json_dep)
        print("新增信息返回的响应报文为:", res_post.text)


if __name__ == '__main__':
    unittest.main()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值