以下是关于Python+requests+unittest API接口测试实例的详细攻略:
Python是一种流行的编程语言,可以于编写API接口测试。requests库是一个流行的HTTP库,用于向Web服务器发送HTTP请求和接收响应。unittest是Python标准中的一个测试框架,用于编写和运行单元测试。以下是Python+requests+unittest API接口测试实例的详细攻略:
以下是编写API接口测试用例的示例:
import unittest
import requests
class TestAPI(unittest.TestCase):
def test_get(self):
url = 'https://jsonplaceholder.typicode.com/posts/1'
response = requests.get(url)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json()['userId'], 1)
def test_post(self):
url = 'https://jsonplaceholder.typicode.com/posts'
data = {'title': 'foo', 'body': 'bar', 'userId': 1}
response = requests.post(url, data=data)
self.assertEqual(response.status_code, 201)
self.assertEqual(response.json()['title'], 'foo')
if __name__ == '__main__':
unittest.main()
在上面的示例中,我们编写了两个API接口测试用例,一个用于测试GET请求,另一个用于测试POST请求。在每个测试用例中,我们使用requests库发送HTTP请求,并使用unittest框架断言响应的状态码和响应内容是否符合预期。
以下是运行API接口测试用例的示例:
python test_api.py
在上面的示例中,我们使用Python运行了test_api.py文件,该文件包含了我们编写的API接口测试用例。运行结果将显示测试用例的执行情况。
以下是使用HTMLTestRunner生成测试报告的示例:
import unittest
import requests
import HTMLTestRunner
class TestAPI(unittest.TestCase):
def test_get(self):
url = 'https://jsonplaceholder.typicode.com/posts/1'
response = requests.get(url)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json()['userId'], 1)
def test_post(self):
url = 'https://jsonplaceholder.typicode.com/posts'
data = {'title': 'foo', 'body': 'bar', 'userId': 1}
response = requests.post(url, data=data)
self.assertEqual(response.status_code, 201)
self.assertEqual(response.json()['title'], 'foo')
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(TestAPI('test_get'))
suite.addTest(TestAPI('test_post'))
with open('test_report.html', 'wb') as f:
runner = HTMLTestRunner.HTMLTestRunner(stream=f, title='API Test Report', description='Test Report')
runner.run(suite)
在上面的示例中,我们使用HTMLTestRunner生成了一个测试报告,该报告包含了我们编写的API接口测试用例的执行情况。
以上是Python+requests+unittest API接口测试实例的详细攻略,希望对您有所帮助。
本文链接:http://task.lmcjl.com/news/13614.html