博客
关于我
python 接口自动化数据结构(如列表、字典、元组)
阅读量:798 次
发布时间:2023-03-07

本文共 2085 字,大约阅读时间需要 6 分钟。

在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中的一种可变容器模型,可存储任意类型对象。它是无序的键值对集合,键必须是唯一且不可变的类型,值可以是任意类型。

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)  # 假设这是一个地理位置坐标

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

实际应用示例

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

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

user_ids = [1001, 1002, 1003]for user_id in user_ids:    response = requests.get(f"https://api.example.com/users/{user_id}")    # 进行响应处理和断言验证    assert response.status_code == 200    user_info = response.json()    assert 'name' in user_info and 'email' in user_info

使用字典构造请求参数

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

import requestsnew_user_data = {    'username': 'testuser',    'email': 'testuser@example.com',    'password': 'SecurePassword123!'}headers = {'Content-Type': 'application/json'}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"] }'data_dict = json.loads(response_json)assert data_dict['name'] == 'John Doe'assert 'admin' in data_dict['roles']

总结

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

转载地址:http://uvofk.baihongyu.com/

你可能感兴趣的文章
python语言有哪些优点和缺点_Python有哪些优缺点,你了解吗?
查看>>
Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
查看>>
Python 从数据库中存储和检索密码的最安全方法
查看>>
Python语言及其应用 - 知识点遍历
查看>>
Python 优化提速的 8 个小技巧
查看>>
Python 余弦相似度与皮尔逊相关系数 计算
查看>>
python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
查看>>
python 使用filetype校验文件
查看>>
Python 使用flush函数将缓冲区数据立即写磁盘
查看>>
python 使用in判断不准确,in不好使
查看>>
Python 使用pandas 进行查询和统计详解
查看>>
Redis 配置文件redis.conf详细解释
查看>>
python网络爬虫(2)——scrapy框架的基础使用
查看>>
python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
查看>>
Python 使用哈希函数用于加密
查看>>
Python 依赖管理的革新——Poetry 深度解析
查看>>
python 保留精度及增加去除数字的千位分隔符(金额化数字)
查看>>
python 倒计时 9,8,7,。。。。。。0
查看>>
Python 入门开发学习笔记之数据的增删改查
查看>>
Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
查看>>