当前位置: 首页 > news >正文

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

在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 jsonimport 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接口自动化测试中,列表、字典和元组是如何被灵活运用的。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!


http://www.mrgr.cn/news/8138.html

相关文章:

  • 怎样快速搭建 Linux 虚拟机呢?(vagrant 篇)
  • 星转校园二手交易市场平台
  • SpringBoot项目定义Bean常见方式
  • 移动应用平台,企业移动门户就选WorkPlus
  • VSCode搭建Hzero(SpringCloud架构)后端开发调试环境
  • 网络安全审计技术原理与应用
  • Git 全面教程
  • 低代码开发与项目管理工作流优化
  • react面试题三
  • 深度理解指针(3)
  • 基于Springboot的漫画网站设计与实现
  • mac和windows上安装nvm管理node版本
  • Docker基础概述、Docker安装、Docker镜像加速、Docker镜像指令
  • Java | Leetcode Java题解之第372题超级次方
  • (十六)Flink 状态管理
  • k8s-deployment控制器
  • 【C++ Primer Plus习题】4.8
  • C++笔记---内存管理
  • 【深度学习】使用Conda虚拟环境安装多个版本的CUDA和CUDNN方便切换
  • spring揭秘07-aop01-aop基本要素及代理模式3种实现