python接口自动化9-ddt数据驱动
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python接口自动化9-ddt数据驱动,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2239字,纯文字阅读大概需要4分钟。
内容图文
前言
ddt:数据驱动,说的简单一点,就是多组测试数据,比如点点点的时候登录输入正常、异常的数据进行登录。
实际项目中,自动化测试用得很少,但也有人用excel来维护测试数据
一、ddt
1、安装:pip install ddt (我这里已经安装过了)
C:\Users\Administrator>pip install ddt Requirement already satisfied: ddt in d:\path_python\lib\site-packages (1.2.1)
2、先看下我们以前正常登录禅道的传参。登录需要账号与密码,现在只有一组数据,那么ddt就可以做到多组数据执行。(这里让你自己来)
# 登录 s = requests.session() login_url = ‘http://127.0.0.1/zentao/user-login.html‘ pr = { ‘account‘: ‘admin‘, ‘password‘: ‘123456‘, } login_r = s.post(login_url, params=pr) # 传 params 参数 # 断言是否登录成功 r1 = s.get(‘http://127.0.0.1/zentao/doc-browse-1-byModule-0-id_desc-doc.html‘) if‘产品主库‘in r1.content.decode(‘utf-8‘): print(‘登录成功‘) else:print(‘登录失败‘)
3、需导入ddt、unittest。
①首先得有多组的数据来源(我写的是自己定义的一组json数据,也可以读取文件,喜欢就好!!!)
②测试类,需要加上装饰器:@ddt.ddt
③测试函数,也需要加上装饰器且传所有数据过来,*分别传全部数据:@ddt.data(*test_data)
④注意:用到ddt的多组数据传的是 data ,而不是 test_data,更不是 *test_data
import requests, ddt, unittest # ddt数据驱动所需准备的数据 test_data = [ {‘account‘: ‘admin‘, ‘pwd‘: ‘123465‘, ‘exp‘: ‘admin‘}, {‘account‘: ‘gsxl‘, ‘pwd‘: ‘123321‘, ‘exp‘: ‘gsxl‘}, {‘account‘: ‘xxxx‘, ‘pwd‘: ‘654321‘, ‘exp‘: ‘xxxx‘}, ] # 类需要ddt装饰器 @ddt.ddt class Test_xl(unittest.TestCase): def setUp(self): self.s = requests.session() self.s.verify = False def tearDown(self): self.s.close() @ddt.data(*test_data) # 某个用例需要用到ddt的测试数据 def test_001(self, data): print(‘ddt测试数据是:%s‘ % data) if __name__ == ‘__main__‘: unittest.main() # 告诉解释器我是用unittest运行的!!!
4、怎样对应取到想要的值呢?这好比返回的是dict、list,那一样是可以取到的,不然就先学学基础数据结构的新删查改了。如下简单提取:
import requests, ddt, unittest # ddt数据驱动所需准备的数据 test_data = [ {‘account‘: ‘admin‘, ‘pwd‘: ‘123465‘, ‘exp‘: ‘admin‘}, {‘account‘: ‘gsxl‘, ‘pwd‘: ‘123321‘, ‘exp‘: ‘gsxl‘},] # 类需要ddt装饰器 @ddt.ddt class Test_xl(unittest.TestCase): def setUp(self): self.s = requests.session() self.s.verify = False def tearDown(self): self.s.close() @ddt.data(*test_data) # 某个用例需要用到ddt的测试数据 def test_001(self, data): # print(‘ddt测试数据是:%s‘ % data) user = data[‘account‘] pwd = data[‘pwd‘] exp = data[‘exp‘] print(‘这是账号:‘, user) print(‘这是密码:‘, pwd) print(‘这是期望结果:‘, exp) if __name__ == ‘__main__‘: unittest.main() # 告诉解释器我是用unittest运行的!!!
如果想用excel维护测试用例、测试数据的同学那肯定要懂得使用 xlrd 这个模块了。
进行适配的二次封装,达到你想设计的自动化模式。欢迎来QQ交流群:482713805
原文:https://www.cnblogs.com/gsxl/p/11964182.html
内容总结
以上是互联网集市为您收集整理的python接口自动化9-ddt数据驱动全部内容,希望文章能够帮你解决python接口自动化9-ddt数据驱动所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。