写一个基于request库的接口测试框架,要求区分不同的接口请求类型。同时能统计测试的结果
时间: 2024-04-07 07:28:39 浏览: 10
好的,以下是一个基于request库的接口测试框架,支持区分不同的接口请求类型,并且能够统计测试结果:
```python
import requests
class ApiTest:
def __init__(self):
self.pass_num = 0
self.fail_num = 0
def get(self, url, params=None, headers=None):
response = requests.get(url, params=params, headers=headers)
return self._check_result(response)
def post(self, url, data=None, json=None, headers=None):
response = requests.post(url, data=data, json=json, headers=headers)
return self._check_result(response)
def put(self, url, data=None, headers=None):
response = requests.put(url, data=data, headers=headers)
return self._check_result(response)
def delete(self, url, headers=None):
response = requests.delete(url, headers=headers)
return self._check_result(response)
def _check_result(self, response):
if response.status_code == 200:
self.pass_num += 1
return True
else:
self.fail_num += 1
return False
def report(self):
print("测试结果:通过 {} 个,失败 {} 个。".format(self.pass_num, self.fail_num))
```
使用示例:
```python
api_test = ApiTest()
# 测试 GET 请求
result = api_test.get("https://www.baidu.com")
print(result) # True
# 测试 POST 请求
result = api_test.post("https://httpbin.org/post", json={"key": "value"})
print(result) # True
# 测试 PUT 请求
result = api_test.put("https://httpbin.org/put", data={"key": "value"})
print(result) # True
# 测试 DELETE 请求
result = api_test.delete("https://httpbin.org/delete")
print(result) # True
# 输出测试结果
api_test.report()
```
输出结果:
```
测试结果:通过 4 个,失败 0 个。
```