首页 > 编程语言 > 详细

接口自动化2.0 python+unittest+ddt

时间:2019-12-06 18:00:09      阅读:90      评论:0      收藏:0      [点我收藏+]

本次在原有的基础上,封装了http请求,加入了ddt做数据驱动

tools新增http_requests方法

技术分享图片

 

代码如下:

import requests
import json


class HttpRequests:

def http_requests(self,method, url, data=None, expect=None, title=None, headers=None):
if method.upper() == ‘POST‘:
res = requests.post(url=url, json=data, headers=headers)
try:
return res.json()
except Exception as e:
return json.loads(res.text)
elif method.upper() == ‘GET‘:
res = requests.get(url=url, headers=headers)
try:
return res.json()
except Exception as e:
return json.loads(res.text)


if __name__ == ‘__main__‘:
from gongdan.tools.get_data import Do_Excel
from gongdan.tools import login

headers = {"Content-Type": "application/json",
‘Accept‘: "application/json, text/plain, */*",
"passport": login.login()
}
test_data = Do_Excel(r‘../test_data/test_data.xlsx‘, ‘form‘).get_data()

print(test_data[1][‘url‘])
print(test_data[1][‘data‘])
print(test_data[1])
res = HttpRequests().http_requests(method=test_data[1][‘method‘], url=test_data[1][‘url‘],
data=json.loads(test_data[1][‘data‘]),
headers=headers)
# res1 = requests.post(url=test_data[2][‘url‘],
# json=json.loads(test_data[2][‘data‘]),
# headers=headers)
print(res)

写用例引入了ddt来处理数据,代码如下:
import unittest
import json
from gongdan.tools.get_data import Do_Excel
from gongdan.tools import login
from gongdan.tools.http_requests import HttpRequests
from ddt import ddt, data

test_data = Do_Excel(r‘../test_data/test_data.xlsx‘, ‘form‘).get_data()


@ddt
class TestForm(unittest.TestCase):
def setUp(self):
self.headers = {"Content-Type": "application/json",
‘Accept‘: "application/json, text/plain, */*",
"passport": login.login()
}

@data(*test_data)
def test_form_api(self,item):
res = HttpRequests().http_requests(method=item[‘method‘], url=item[‘url‘],
data=json.loads(item[‘data‘]),
headers=self.headers)
self.assertEqual(item[‘expect‘], res[‘success‘])

 测试数据:

技术分享图片

 

 

测试结果:

技术分享图片

 

 

 

接口自动化2.0 python+unittest+ddt

原文:https://www.cnblogs.com/thcly/p/11996752.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!