python 接口自动化数据结构(如列表、字典、元组)

本文详细介绍了在Python接口自动化测试中,列表、字典和元组如何组织和处理测试数据、请求参数及解析响应。通过实例展示它们在批量测试、构建请求体、存储固定信息和处理JSON数据中的作用。
摘要由CSDN通过智能技术生成

在Python接口自动化测试中,数据结构扮演着至关重要的角色,用于组织和处理测试数据、请求参数和响应结果。

列表(List)

列表是Python中的一种可变序列数据类型,它允许存储一系列有序的、可重复的元素,这些元素可以是任何数据类型,包括字符串、数字、布尔值甚至是其他的列表或字典等复杂类型。

users_list = ['user1', 'user2', 'user3']``request_urls = ['http://api.example.com/user/1', 'http://api.example.com/user/2', 'http://api.example.com/user/3']

在接口自动化测试中,列表常常用于存储多条测试数据,方便循环遍历进行批量测试。

字典(Dictionary)

字典是Python中的一种可变容器模型,且可存储任意类型对象。它是无序的键值对集合,键(key)必须是唯一的,且不可变类型,而值(value)可以是任意类型。

request_params = {`    `'username': 'testuser',`    `'password': 'securepass',`    `'email': 'test@example.com'``}``response_data = {`    `'id': 1,`    `'name': 'John Doe',`    `'status': 'active'``}

在接口自动化测试中,字典主要用于构建请求参数,以及解析响应的JSON数据,通过键来提取和验证所需信息。

元组(Tuple)

元组是Python中另一种有序的序列类型,与列表类似,但是它是不可变的,一旦创建就不能修改。元组可以包含各种类型的元素,并且可以嵌套使用。

fixed_values = ('admin', 'superuser')``coordinates = (40.7128, -74.0060)  # 假设这是一个地理位置坐标

在接口自动化测试中,元组可能用于存储固定不变的配置项,例如静态的认证凭据,或者是需要以不可变形式存储的数据点。由于元组不可变的特性,它也经常用于保证数据安全性,防止意外修改。

在Python接口自动化测试中,数据结构如列表、字典和元组常用于构建请求参数、存储测试数据、解析响应结果等场景。

使用列表存储多个测试用例

假设我们有多个用户的ID,需要通过接口获取每个用户的信息:

# 定义用户ID列表``user_ids = [1001, 1002, 1003]``# 对每个用户ID发起请求``for user_id in user_ids:`    `response = requests.get(f"https://api.example.com/users/{user_id}")`    `# 进行响应处理和断言验证`    `assert response.status_code == 200`    `# 解析响应体(这里假设返回的是JSON格式数据)`    `user_info = response.json()`    `# 验证用户信息`    `assert 'name' in user_info and 'email' in user_info

使用字典构造请求参数

在发送一个包含多个键值对的POST请求时,我们可以使用字典来封装请求体:

import json``import requests``# 定义要提交的数据``new_user_data = {`    `'username': 'testuser',`    `'email': 'testuser@example.com',`    `'password': 'SecurePassword123!'``}``headers = {'Content-Type': 'application/json'}``# 发起POST请求``response = requests.post("https://api.example.com/users", ``                         headers=headers,`                         `data=json.dumps(new_user_data))``# 断言检查``assert response.status_code == 201  # 检查是否成功创建新用户

使用元组存储固定不变的数据

在某些情况下,比如需要预设一组固定的认证信息,可以用元组表示不可变的数据:

# 配置认证信息``auth_credentials = ('admin', 'secret_password')``# 在请求时添加认证头``response = requests.get("https://api.example.com/private-data", auth=requests.auth.HTTPBasicAuth(*auth_credentials))``# 进行后续的断言验证

解析JSON响应并存储到字典

从API获得的JSON响应通常会被转换成Python字典以便于处理:

# 假设响应体如下:``response_json = '{"id": 1, "name": "John Doe", "roles": ["admin", "user"] }'``# 将JSON转换为字典``data_dict = json.loads(response_json)``# 访问和验证数据``assert data_dict['name'] == 'John Doe'``assert 'admin' in data_dict['roles']

以上示例展示了在Python接口自动化测试中,列表、字典和元组是如何被灵活运用的。

点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

👉Python实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片

图片

👉Python书籍和视频合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

图片

👉Python副业创收路线👈

图片

这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

本文转自网络,如有侵权,请联系删除。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值