关键词

python+requests+unittest API接口测试实例(详解)

以下是关于Python+requests+unittest API接口测试实例的详细攻略:

Python+requests+unittest API接口测试实例

Python是一种流行的编程语言,可以于编写API接口测试。requests库是一个流行的HTTP库,用于向Web服务器发送HTTP请求和接收响应。unittest是Python标准中的一个测试框架,用于编写和运行单元测试。以下是Python+requests+unittest API接口测试实例的详细攻略:

编写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接口测试用例

以下是运行API接口测试用例的示例:

python test_api.py

在上面的示例中,我们使用Python运行了test_api.py文件,该文件包含了我们编写的API接口测试用例。运行结果将显示测试用例的执行情况。

使用HTMLTestRunner生成测试报告

以下是使用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

展开阅读全文