自动化测试——DDT用法——结合unittest、requests库

1.读取列表

import ddt
import unittest
#定义一个列表
list01=[1,2,3,4,5,6,7,8,9,10]
#实例化DDT
@ddt.ddt()
#创建类
class Case01(unittest.TestCase):
    #导入列表
    @ddt.data(*list01)
    def test01(self,num):
        print(num)
if __name__ == '__main__':
    unittest.main()

2.读取列表中的字典

# 编写python代码,实现如下需求:
# 1,创建1个列表,存放3个字典,每个字典代表一个学院信息,例如:{"dep_id": "T01", "dep_name": "Test学院", "master_name": "Test-Master","slogan": "HereisSlogan"}
# 2,导入unittest,定义一个类中的一个函数,函数功能是接受一个字典,以该字典的四个元素值为学院信息的四个字段值,新增到学生信息管理系统。
# 3,导入ddt,应用ddt和第二步的函数,将第一步创建的列表中的3个学院信息,新增到学院信息管理系统中。

#导包
import unittest
import ddt
import requests

#定义列表
list01=[{"dep_id":"python1","dep_name":"学院27","master_name":"院长27","slogan":"口号27"},{"dep_id":"python2","dep_name":"学院27","master_name":"院长27","slogan":"口号27"},{"dep_id":"python3","dep_name":"学院27","master_name":"院长27","slogan":"口号27"}]

url01="http://127.0.0.1:8000/api/departments/"
@ddt.ddt()
class Case01(unittest.TestCase):
    @ddt.data(*list01)
    @ddt.unpack
    def test01(self,dep_id,dep_name,master_name,slogan):
        json01=             \
            {
                "data": [
                        {
                            "dep_id":dep_id,
                            "dep_name":dep_name,
                            "master_name":master_name,
                            "slogan":slogan

                        }
                  ]
            }
        res01=requests.post(url01,json=json01)
        print(res01.text)
if __name__ == '__main__':
    unittest.main()

3.读取字典2

# 编写python代码,实现如下需求:
# 1,创建1个列表,存放3个字典,每个字典代表一个学院名的信息,例如:{"dep_name": "软件测试"}
# 2,导入unittest,定义一个类中的一个函数,函数功能是调用查询接口以学院名为条件,查询学院信息
# 3,导入ddt,应用ddt和第二步的函数,将第一步创建的列表中的3个元素的学院名作为条件,循环查询学院信息。
# 4,完成的py文件,提交到CTS
import unittest
import ddt
import requests
#实例化ddt
list01=[{"dep_name": "学院25"},{"dep_name": "学院26"},{"dep_name": "学院27"}]
@ddt.ddt()
class Case02(unittest.TestCase):
    @ddt.data(*list01)
    def test01(self,a):
        #url01是地址,a是请求参数
        url01="http://127.0.0.1:8000/api/departments/"
        res01=requests.get(url=url01,params=a)
        print(res01.text)
if __name__ == '__main__':
    unittest.main()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值