合作机构:阿里云 / 腾讯云 / 亚马逊云 / DreamHost / NameSilo / INWX / GODADDY / 百度统计
深拷贝(deep copy)常用于复制请求参数、配置对象或其他复杂数据结构,以确保每次发送请求时使用的是独立的数据副本,避免不同请求之间的数据互相影响。例如,当你需要多次调用同一个接口,但每次调用的参数略有不同的时候,深拷贝可以帮助你创建参数对象的新实例。
import requests
import copy
# 假设有一个包含接口请求参数的字典
base_params = {
'user_id': 123,
'data': {
'name': 'Alice',
'address': {
'street': '123 Main St'
}
}
}
# 在接口自动化测试中,我们可能需要对某些参数进行修改后发起请求
def send_request(modified_params):
# 使用深拷贝来创建原始参数的一个完整副本
params = copy.deepcopy(base_params)
# 现在可以安全地修改副本而不影响原始参数
params['user_id'] = modified_params['user_id']
params['data']['name'] = modified_params.get('new_name', params['data']['name'])
# 发送HTTP请求
response = requests.post('http://api.example.com/endpoint', jsnotallow=params)
# 处理响应并验证结果...
# 调用函数,传入要修改的参数
test_case_1_params = {'user_id': 456, 'new_name': 'Bob'}
send_request(test_case_1_params)
# 下一个测试案例,使用不同的参数
test_case_2_params = {'user_id': 789, 'new_name': 'Charlie'}
send_request(test_case_2_params)
TOP