Python+Requests+Unittest接口自动化测试实例分析
在进行接口测试时,我们可以使用Python的unittest和requests库来实现自动化。unittest是Python自带的测试框架,可以方便地编写和运行测试用例。requests库是一个Python库,用于发送HTTP请求。本文将介绍如何使用Python+Requests+Unittest实现接口自动化测试,并提供两个示例。
实现步骤
步骤一:安装requests库和unittest库
在Python中,我们可以使用pip命令安装requests库和unittest库:
pip install requests
pip install unittest
步骤二:编写测试用例
以下是一个示例,演示如何使用Python+Requests+Unittest实现接口自动化测试:
import unittest
import requests
class TestAPI(unittest.TestCase):
def setUp(self):
self.url = 'https://jsonplaceholder.typicode.com/posts/1'
def test_get(self):
response = requests.get(self.url)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json()['userId'], 1)
def test_post(self):
data = {'title': 'foo', 'body': 'bar', 'userId': 1}
response = requests.post('https://jsonplaceholder.typicode.com/posts', data=data)
self.assertEqual(response.status_code, 201)
self.assertEqual(response.json()['title'], 'foo')
if __name__ == '__main__':
unittest.main()
在上面的示例中,我们使用unittest框架编写了两个测试用例。setUp方法在每个测试用例执行前都会被调用,用于初始化测试环境。test_get方法测试了GET请求的响应状态码和响应内容。test_post方法测试了POST请求的响应状态码和响应内容。我们使用assertEqual方法断言响应状态码和响应内容是否符合预期。
步骤三:运行测试用例
我们可以使用以下命令运行测试用例:
python test_api.py
在运行测试用例时,unittest会自动执行setUp方法和所有以test开头的方法。我们可以在控制台中查看测试结果。
示例一:测试GitHub API
以下是一个示例,演示如何使用Python+Requests+Unittest测试GitHub API:
import unittest
import requests
class TestGitHubAPI(unittest.TestCase):
def setUp(self):
self.url = 'https://api.github.com/users/octocat'
def test_get(self):
response = requests.get(self.url)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json()['login'], 'octocat')
if __name__ == '__main__':
unittest.main()
在上面的示例中,我们使用unittest框架编写了一个测试用例。setUp方法在每个测试用例执行前都会被调用,用于初始化测试环境。test_get方法测试了GET请求的响应状态码和响应内容。我们使用assertEqual方法断言响应状态码和响应内容是否符合预期。
示例二:测试天气API
以下是一个示例,演示如何使用Python+Requests+Unittest测试天气API:
import unittest
import requests
class TestWeatherAPI(unittest.TestCase):
def setUp(self):
self.url = 'https://api.openweathermap.org/data/2.5/weather?q=London&appid=API_KEY'
def test_get(self):
response = requests.get(self.url)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json()['name'], 'London')
if __name__ == '__main__':
unittest.main()
在上面的示例中,我们使用unittest框架编写了一个测试用例。setUp方法在每个测试用例执行前都会被调用,用于初始化测试环境。test_get方法测试了GET请求的响应状态码和响应内容。我们使用assertEqual方法断言响应状态码和响应内容是否符合预期。
总结
本文介绍了如何使用Python+Requests+Unittest实现接口自动化测试,并提供了两个示例。我们可以使用unittest框架编写测试用例,并使用requests库发送HTTP请求。使用Python+Requests+Unittest可以帮助我们快速编写和运行接口自动化测试。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python + Requests + Unittest接口自动化测试实例分析 - Python技术站