写一段基于request库的自动化测试代码,要求进行接口封装。区分不同的请求类型
时间: 2024-04-07 19:29:55 浏览: 8
好的,下面是一个基于request库的自动化测试代码,它通过进行接口封装来区分不同的请求类型:
```python
import requests
class APITest:
def __init__(self, base_url):
self.base_url = base_url
def request(self, method, url, params=None, data=None, headers=None):
url = self.base_url + url
response = requests.request(method=method, url=url, params=params, data=data, headers=headers)
return response
def get(self, url, params=None, headers=None):
return self.request(method='GET', url=url, params=params, headers=headers)
def post(self, url, data=None, headers=None):
return self.request(method='POST', url=url, data=data, headers=headers)
def put(self, url, data=None, headers=None):
return self.request(method='PUT', url=url, data=data, headers=headers)
def delete(self, url, data=None, headers=None):
return self.request(method='DELETE', url=url, data=data, headers=headers)
if __name__ == '__main__':
api_test = APITest('http://www.example.com')
response = api_test.get(url='/api/v1/user', params={'id': 1})
print(response.status_code)
print(response.json())
response = api_test.post(url='/api/v1/user', data={'name': 'John', 'age': 25})
print(response.status_code)
print(response.json())
response = api_test.put(url='/api/v1/user', data={'id': 1, 'name': 'John', 'age': 26})
print(response.status_code)
print(response.json())
response = api_test.delete(url='/api/v1/user', data={'id': 1})
print(response.status_code)
print(response.json())
```
在这个例子中,我们定义了一个APITest类来进行接口封装。我们使用request方法来发送请求,并使用不同的HTTP方法来定义其他类方法(例如get,post,put和delete)。在每个类方法中,我们使用request方法来发送请求,并返回响应。
在主程序中,我们实例化APITest对象并使用不同的类方法来测试API接口。在每个测试用例中,我们打印响应状态码和JSON响应体。你可以根据你的需要更改测试用例。