# -*- coding: utf-8 -*-
"""
-------------------------------------------------
File Name: yml_test
Description :
Author : Administrator
date: 2019/6/29 0029
-------------------------------------------------
"""
import ddt, yaml
import unittest, requests

f = open(r'data.yaml', encoding='utf-8')
res = yaml.load(f)
print(type(res))
print(res)

@ddt.ddt
class MyCase(unittest.TestCase):
@ddt.file_data('data.yaml')
@ddt.unpack
def test_run(self, **kwargs):
method = kwargs.get('method')
url = kwargs.get('url')
data = kwargs.get('data', {})
header = kwargs.get('header', {})
is_json = kwargs.get('is_json', 0)
cookie = kwargs.get('cookie', {})
check = kwargs.get('check')
if method == 'post':
if is_json:
r = requests.post(url, json=data, headers=header, cookies=cookie)
else:
r = requests.post(url, data=data, headers=header, cookies=cookie)
else:
r = requests.get(url, params=data, header=header, cookies=cookie)
# self.assertEqual(check.get('error_code'),r.json().get('error_code'))
'''当校验很多的时候,需要用到循环'''
for c in check:
self.assertIn(c, r.text)

@ddt.file_data('baidu.yaml')
@ddt.unpack
def test_run_baidu(self, **kwargs):
method = kwargs.get('method')
url = kwargs.get('url')
check = kwargs.get('check')
if method == "get":
r = requests.get(url)
# self.assertEqual(check.get('error_code'),r.json().get('error_code'))
'''当校验很多的时候,需要用到循环'''
self.assertEqual(check["status_code"],r.status_code)

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

最新文章

  1. windows系统 SVN出现 can't open file‘\XXX\txn-current-lock’ 拒绝访问 问题处理
  2. PHP 格中方法
  3. C++中为什么构造函数不能是虚函数,析构函数是虚函数
  4. 屏幕分辨率与FPS
  5. 关于java实现同步的方法
  6. sgu 109 Magic of David Copperfield II
  7. mapreduce 关于小文件导致任务缓慢的问题
  8. 【Android进阶】关于PagerAdapter的使用方法的总结
  9. C#基础知识 简单说明泛型的优点
  10. [SPOJ 4155]OTOCI
  11. mac 使用指南
  12. script标签
  13. Dart 语言简易教程系列
  14. Cookie:解决HTTP协议无保存状态
  15. ERR_UNSAFE_PORT
  16. php回溯
  17. java android 读写三菱PLC 使用TCP/IP 协议
  18. 开关WI-Fi显示列表
  19. 一道java笔试题
  20. git rm -r --cached 去掉已经托管在git上的文件

热门文章

  1. 【转载】EXCEL VBA Workbook、Worksheet、Range的选择和操作
  2. 数据库日志——binlog、redo log、undo log扫盲
  3. 终端安装python3使用如下指令
  4. 移动端安卓开发学习记录--Android Studio使用adb链接夜神模拟器常用指令
  5. 电脑微信小程序抓包
  6. FAQ 关于allure和pycharm的运行模式
  7. 艰难的 debug 经历,vscode 无法获取远程环境 ssh 报错,windows 11 ssh
  8. 重学SpringBoot. step6 SpringBoot高级技巧
  9. 重学SpringBoot. step2 Spring AOP
  10. 限流器算法实现(JUC原子类使用实践)