新手必须掌握的Python Requests库接口测试(有实例代码)

2023-08-08 09:04:35 浏览数 (2)

在进行接口测试时,Python requests库是一个非常方便的工具。下面,我会详细描述使用Python requests库进行接口测试的全过程,并提供相应的代码实例。

1. 安装Python requests库

在使用Python requests库进行接口测试之前,需要先安装该库。可以使用以下命令在命令行中安装:

代码语言:javascript复制
pip install requests

2. 发送请求

使用Python requests库发送请求非常简单,只需要调用requests库中的get、post等方法即可。以发送一个GET请求为例:

代码语言:javascript复制
import requests
# 发送GET请求
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')

# 输出响应内容
print(response.content)

以上代码会发送一个GET请求,并输出响应内容。其中,https://jsonplaceholder.typicode.com/posts/1是请求的URL。

3. 添加请求头

在进行接口测试时,通常需要添加请求头。可以使用requests库中的headers参数来添加请求头。以添加一个User-Agent请求头为例:

代码语言:javascript复制
import requests
# 添加User-Agent请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 发送GET请求
response = requests.get('https://jsonplaceholder.typicode.com/posts/1', headers=headers)
# 输出响应内容
print(response.content)

以上代码会添加一个User-Agent请求头,并发送一个GET请求。

4. 添加请求参数

在进行接口测试时,通常需要添加请求参数。可以使用requests库中的params参数来添加请求参数。以添加一个id参数为1的请求参数为例:

代码语言:javascript复制
import requests

# 添加请求参数
params = {'id': 1}

# 发送GET请求
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)

# 输出响应内容
print(response.content)

以上代码会添加一个id为1的请求参数,并发送一个GET请求。

5. 发送POST请求

在进行接口测试时,通常需要发送POST请求。可以使用requests库中的post方法来发送POST请求。以发送一个JSON格式的POST请求为例:

代码语言:javascript复制
import requests
import json
# 请求头
headers = {'Content-Type': 'application/json'}
# 请求参数
data = {'title': 'foo', 'body': 'bar', 'userId': 1}
# 发送POST请求
response = requests.post('https://jsonplaceholder.typicode.com/posts', headers=headers, data=json.dumps(data))
# 输出响应内容
print(response.content)

以上代码会发送一个JSON格式的POST请求,并输出响应内容。

6. 断言响应内容

在进行接口测试时,通常需要对响应内容进行断言。可以使用Python自带的unittest库或第三方的pytest库等进行断言。以使用unittest库进行断言为例:

代码语言:javascript复制
import requests
import unittest

class TestApi(unittest.TestCase):
    def test_get_post(self):
        # 发送GET请求
        response = requests.get('https://jsonplaceholder.typicode.com/posts/1')

        # 断言响应状态码是否为200
        self.assertEqual(response.status_code, 200)
        # 断言响应内容是否包含"title"
        self.assertIn('title', response.json())

if __name__ == '__main__':
    unittest.main()

以上代码会发送一个GET请求,并断言响应状态码和响应内容。

总之,使用Python requests库进行接口测试非常方便和灵活,可以根据实际需要进行添加请求头、请求参数、发送POST请求等操作,并使用unittest库或pytest库等进行断言。

开源优测

0 人点赞