范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

接口测试(Python)之DDT

  一、安装ddt模块 1 pip install ddt
  ddt有四种模式:引入装饰器@ddt;导入数据@data;拆分数据@unpack;导入外部数据@file_data
  二、参数化实现的方式
  1、读取元组数据 #一定要和单元测试框架一起用 import unittest,os from ddt import ddt,data,unpack,file_data  """NO.1单组元素""" @ddt class Testwork(unittest.TestCase):      @data(1,2,3)     def test_01(self,value):      #value用来接收data的数据         print(value) if __name__ == "__main__":     unittest.main() 结果: =>1   2   3  """NO.2多组未分解元素""" @ddt class Testwork(unittest.TestCase):      @data((1,2,3),(4,5,6))     def test_01(self,value):         print(value)  if __name__ == "__main__":     unittest.main() 结果: =>(1, 2, 3)   (4, 5, 6)  """NO.3多组分解元素""" @ddt class Testwork(unittest.TestCase):      @data((1,2,3),(4,5,6))     @unpack          #拆分数据     def test_01(self,value1,value2,value3):    #每组数据有3个值,所以设置3个形参         print(value)  if __name__ == "__main__":     unittest.main() 结果: =>1 2 3   4 5 6
  2、读取列表数据 import unittest,os from ddt import ddt,data,unpack,file_data  """NO.1多组元素未分解""" @ddt class Testwork(unittest.TestCase):      @data([{"name":"lili","age":12},{"sex":"male","job":"teacher"}])     def test_01(self,a):         print(a)  if __name__ == "__main__":     unittest.main() 结果: =>[{"name": "lili", "age": 12}, {"sex": "male", "job": "teacher"}] ※上面结果可以看出:无法运用到requests数据请求中,所以不是很实用※   """NO.2多组元素分解""" @ddt class Testwork(unittest.TestCase):      @data([{"name":"lili","age":12},{"sex":"male","job":"teacher"}])     @unpack     def test_01(self,a,b):         print(a,b)  if __name__ == "__main__":     unittest.main() 结果: =>{"name": "lili", "age": 12} {"sex": "male", "job": "teacher"} ※拆分后的运行结果,不带有[ ],拆分是将列表中的2个字典拆分,所以有2个数据※
  3、读取字典数据 import unittest,os from ddt import ddt,data,unpack,file_data  """※字典的读取比较特殊,因为在拆分的时候,形参和实参的key值要一致,否则就报错※"""  """NO.1单组数据未分解""" @ddt class Testwork(unittest.TestCase):      @data({"name":"lili","age":"16"},{"sex":"female","job":"nurser"})     def test_01(self,a):         print(a)  if __name__ == "__main__":     unittest.main() 结果: =>{"name": "lili", "age": "16"}   {"sex": "female", "job": "nurser"} ※以上运行的结果数据,就可以用来作为requests的请求参数~!※   """NO.2多数据拆分,重点来了""" @ddt class Testwork(unittest.TestCase):      @data({"name":"lili","age":"16"},{"name":"female","age":"nurser"})     @unpack     def test_01(self,name,age):         print(name,age)  if __name__ == "__main__":     unittest.main() 结果: =>lili 16   female nurser ※重点来了:首先结果展示的数据是字典里的value,没有打印key的值;其次@data里的数据key值和def方法里的形参名称一定要一致,否则,打印的时候,就会报莫名的参数错误。※
  4、读取json文件数据 # data_json.json文件 {     "test_case1": {         "key": "value1",         "status_code": 200     },     "test_case2": {         "key": "value2",         "status_code": 200     },     "test_case3": {         "key": "value3",         "status_code": 200     } }   # python读取json文件 @ddt class InterfaceTest(unittest.TestCase):      def setUp(self):         self.url = "http://httpbin.org/get"      def tearDown(self):         print(self.result)      @file_data("data_json.json")  #如不在同一级目录下需另做处理     def test_get_request(self, key, status_code):         r = requests.get(self.url, params={"key": key})         self.result = r.json()         self.assertEqual(r.status_code, status_code)  if __name__ == "__main__":     unittest.main()

L2级展开最后较量!城市领航辅助终于来了,哪家实力足够强?说起人机交互,似乎我们总能联想到科幻电影里的飞天车与太空船,就好比电影回到未来里马丁开着DMC12穿越到30年后(2015年),看见悬浮滑板飞行汽车自动驾驶等高新科技。回到现实世界520礼物推荐奇遇DreamProVR,用实力展现全能王者风范因为疫情常态化的大背景,去游乐场和影院的次数和时间越来越少,相对应的,家人看手机和平板等电子产品的时间越来越多,导致身体状态越来越差,娱乐的生活也是日益乏味。为了解决这个问题,加之免费在线的数据库建模工具,云版PownerDesignerTeamDesigner团队协作,一款免费在线的数据库表设计工具。类似PownerDesigner的功能,可用于设计mysql,oracle的表结构。支持私有化部署地址http10苹果公司的市值跌到全球第二,市值第一原来是一家石油公司截止5月11日美股收盘,苹果公司下跌5。18,蒸发近1300亿美元(折合人民币约8700亿元),市值为2。37万亿美元(折合人民币约16万亿元)。当日,在沙特利雅得证券交易所上市的中国联通正式升级发布银龄专享服务计划来源中国青年报客户端中国青年报客户端北京5月17日电(中青报中青网记者宁迪)5月17日,是一年一度的世界电信和信息社会日,国际电信联盟将本年度世界电信和信息社会日主题确定为面向老年微软计划将薪酬预算增加近一倍微软周一表示,它将其工资预算增加近一倍并将股票范围扩大至少25。因为它希望在与其他科技公司竞争人才的同时,奖励其应对通胀上升的劳动力。在彭博社获得的一份声明中,总部位于华盛顿雷德蒙抖音电商推出商家复产护航计划,九项举措助力商家复工复产5月15日,抖音电商启动商家复产护航计划,投入25亿流量补贴超2亿元消费券补贴,面向受疫情影响的商家,在政策扶持平台活动物流扶持客服专线四个方面推出九项帮扶举措,保障消费者权益和体蔚来没有退路,荣耀是它的胜利之路吗?如果不是那场蓄谋已久的阴谋,相信华为的手机业务板块,依旧会交出一份十分强势的成绩单。战略层面,华为本品牌主打高端,直面对抗苹果三星NOVA继续以明星代言人和线下扩张的路线,对抗OP荣耀X205G手机66W快充8GB128GB,作为老人机还是很不错随着手机科技的快速发展,手机更新换代时间也越来越快,有些曾经辉煌一时的5G手机,很多如今却被沦为老人机了。以前买的老人机往往标配的运行内存和机身内存都比较低,大部分的千元机运行内存国内手机出货量暴跌,荣耀首次登顶,华为的曙光已现昨天,中国信通院公布了今年第一季度国内手机市场的出货量数据,总体出货量为6934。6万部,同比下降29。2,暴跌近三成。在这样的行情下,却出现了一颗璀璨又耀眼的明星,那就是荣耀手机motoedgeS30冠军版体验报告全面出色的性价比王者谈起摩托罗拉,伴随着Hellomoto的开机铃声,成为了一代人的深刻记忆。如今,在竞争日益白热化的国产智能手机市场中,消费者在享受移动通信飞速发展便利的同时,对手机从设计硬件体验诸
黑莓5G新机首曝!依旧采用实体键盘设计,还有7050mAh超大电池,黑莓似乎当下已经在手机市场上销声匿迹了,就在很多人都以为黑莓要暂停手机业务时,近日一组黑莓新机的渲染图,吸引了很多网友关注。据悉,这款新机命名为黑莓Arezzo5G。从曝光的渲染图杰美特手机壳第一股开启智造新跨越深圳市杰美特股份有限公司(下称杰美特)数字化工厂位于深圳龙华。在这里,模具制造实现了从来料生产搬运存储到送货的全流程自动化。车间里基本不见工人身影,取而代之的是挥舞的机械臂与高度智苹果下一代芯片将采用Chiplet设计?来源本文由半导体行业观察编译自tomshardware。苹果似乎对其新的M1Max芯片进行了严格的保密。但最新的dieshot新照片显示,它实际上可能有一个互连总线,支持多芯片模块跌至5499元,华为P50Pro无奈降价,4G手机还值得购买吗?关于华为手机,网络上的争议一直比较大,遭到限制后它很多东西都无法使用,产品的配置和价格并不吻合,加上新机不能支持5G网络,今年发布的P50系列也是姗姗来迟,销量完全不能和去年的Ma2000元内国产手机有哪些好的推荐?如果价格在2000以内的话,新手机的话基本上能买到的都是属于千元机的范畴了,而选择中端手机会有更好的体验,至于vivo和华为两个品牌哪个好的话,主要还是看你对于手机的要求是什么样的国产高端旗舰上架秒光,2亿像素181TB,只要6998元如何把自家的手机价格做到高端级别。对于很多厂商来说堆料是一个不错的选择。但是真正做到超高端市场的很少有吹硬件的,更多的是主打体验,特色以及品牌魅力。从去年开始国内很多安卓厂商也都开一路飙价的WiFi6芯片近段时间,WiFi6芯片价格上涨,让本就热闹的WiFi6赛道新添了不少看点。在今年3月份,博通通知客户,旗下通信芯片交期拉长至50周,到目前博通的交期拉长到52周。中国台湾经济日报华为matex2,折叠屏麒麟90005nm,办公的好助手华为的折叠屏手机已经更新三代了,但是技术还停留在第一代,没有很大的技术突破,最近有爆料称华为的手机可能会带来新的技术突破,带给大家新的高科技,这款折叠屏手机被称为华为matev,定什么抠图软件比较好用?如果复杂一点,需要专业一点的抠图建议photoshop!AdobePhotoshop,简称PS,是由AdobeSystems开发和发行的图像处理软件。Photoshop主要处理以像你在开车的时候有遇到过被吓一跳的经历吗?是怎样的呢?被自己手机吓一跳。中午把微信提示音设置成汽车喇叭声,又自动和车载篮牙连接,正开车时突然叭叭两声。一直到现在还用的。这个事情经常会遇到!开车的时候,遇到的突发情况还是比较多的。比如你扫地拖地杀菌湿垃圾顽固污渍一机搞定实话说,现在年轻人没有多少喜欢做家务的了,许多小两口一年也不开几次火,饭可以出去吃吃食堂吃外卖。扫地拖地这种日常家务工作那就没有办法假手他人了(请得起家政的除外)。所以扫地拖地的懒