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

自动化框架 - 核心模块使用指南 - API

  1. 模块介绍

APIModule 是一个用于发送 HTTP 请求和管理 API 调用的模块。它支持从配置初始化、参数注入、上下文管理、请求重试等功能。以下是如何使用 APIModule 的详细指南。
  1. 初始化模块

初始化 APIModule,可以通过传递配置字典来初始化模块,配置字典中包含基础 URL、超时时间、重试次数等信息
api_module:class_path: "src.modules.api.api.APIModule"base_url: "http://10.245.218.237:8808/"timeout: 30retry_attempts: 3retry_delay: 1
参数说明:
class_path: 模块对应的类路径。只能为: src.modules.api.api.APIModule base_url: 模块的基础URL。例如,http://10.245.209.149:81/。 timeout: 请求超时时间(秒),可选。例如,30。 retry_attempts: 重试次数,可选。例如,3。 retry_delay: 重试间隔时间(秒),可选。例如,1.
  1. 核心方法

Action 配置为 ”send_request”,用于发送请求和接收响应。
参数说明。
!!!注意:以下参数必须通过ParamsSetID 传入,即参数必须写在测试数据表中。
  • API: str
    • 描述: endpoint,请求的终点 URL。可以是相对路径或完整 URL。
    • 必填
    • 示例: "/posts" 或 "https://jsonplaceholder.typicode.com/posts"
  • method: str = 'GET'
    • 描述: HTTP 请求方法,如 GET, POST, PUT, DELETE 等。
    • 默认值: 'GET'
    • 示例: "POST"
  • body: Optional[Dict[str, Any]] = None
    • 描述: 请求体,通常用于 POST, PUT 方法。
    • 默认值: None
    • 示例: {"title": "foo", "body": "bar", "userId": 1}
  • header: Optional[Dict[str, str]] = None
    • 描述: 请求头,可以覆盖默认的请求头。
    • 默认值: None
    • 示例: {"Authorization": "Bearer your_token"}
  • saveAsVariable:str,用于存储返回值
    • 返回 requests 库的 Response 对象,包含请求的响应信息
    • 必填
    • 示例:responseResult
  1. Excel中的使用

在测试用例表中:
Module:使用的模块名称,这里是 oah_api, 在yml中已配置。
Action:模块中的具体操作, send_request是API模块的核心方法。
Tag:可选的标签,用于分类或标识。
Description:描述当前操作,例如 validate 200 表示校验状态码为 2
ParamsSetID: 参数将从测试数据表获取
 
Description Module Action Tag Params ParamsSetID
basicConfig edit oah_api send_request     oah_request
在测试数据表中, 参数与send_request 要求的参数一一对应,请看核心方法的参数描述
ParamsSetID ParamID Name Value DataGroup
oah_request P1 API /au/api/ops/oah/tenant/info/basicConfig/edit 1
oah_request P2 method POST 1
oah_request P3 body @body.string:value 1
oah_request P4 header {
"Content-Type": "application/json",
"oah-app-id": "12323",
"oah-sign": "@sign.string:value",
"oah-sign-type": "ASK",
"oah-timestamp": "1761113092294"
}
1
oah_request P5 saveAsVariable response 1
这5个参数也可以写到一个表格中, Name需要定义为params
ParamsSetID ParamID Name Value DataGroup TestCaseID
租户参数 P1 params {
"API": "au/api/ops/tenant/info/create",
"header": {
"Content-Type": "application/json",
"Authorization": "@Atoken.string:value"
},
"body": {
"country": "CN",
"timeZone": "Asia/Shanghai",
"domain": "swjAPIT%random_string:4%",
"tenantName": "framework_admin_auto_tenant%random_string:4%",
"expiredTime": "2029-07-30 23:59:59",
"adminAccount": "framework_admin_auto_%date%_b_%random_string:4%",
"adminPassword": "Qa_119576",
"confirmPassword": "Qa_119576"
},
"method": "POST",
"saveAsVariable": "response"
}
1 TC_administrator_tenant_create
如果该用例只有一组测试数据,那么params可以选择写在测试数据表,或在测试用例表
TestCaseID LFCaseID ScenarioDescription Step Description Module Action Tag Params
TC_administrator_tenant_create   新建租户 1 新增租户 admin_api send_request regression,prepare {
"API": "au/api/ops/tenant/info/create",
"header": {
"Content-Type": "application/json",
"Authorization": "@Atoken.string:value"
},
"body": {
"country": "CN",
"timeZone": "Asia/Shanghai",
"domain": "swjAPIT%random_string:4%",
"tenantName": "framework_admin_auto_tenant%random_string:4%",
"expiredTime": "2029-07-30 23:59:59",
"adminAccount": "framework_admin_auto_%date%_b_%random_string:4%",
"adminPassword": "Qa_119576",
"confirmPassword": "Qa_119576"
},
"method": "POST",
"saveAsVariable": "response"
}
      2 校验返回码200 value_validation validate_data   {
"field_name": "status_code",
"actual_value": "@response.json:data.code",
"operator": "equal",
"expect_value": "200"
}
      3 校验返回消息操作成功 value_validation validate_data   {
"field_name": "msg",
"actual_value": "@response.json:data.msg",
"operator": "equal",
"expect_value": "操作成功"
}
 
http://www.jsqmd.com/news/453112/

相关文章:

  • 北京记录者商行深耕老物件回收 让城市记忆与闲置价值双向焕新 - 品牌排行榜单
  • 2026年评价高的垃圾桶工厂推荐:室外垃圾桶/环卫垃圾桶/室内垃圾桶精选厂家 - 行业平台推荐
  • 3D打印服务怎么挑?全国5家主流服务商深度对比与排行 - 深度智识库
  • 2026年质量好的景区垃圾桶厂家推荐:环卫垃圾桶精选公司 - 行业平台推荐
  • 必修2.1 种群及动态
  • 说说有名的财税合规企业排名,华光讯在重庆等地区表现咋样 - 工业品牌热点
  • 2026年五大主流CRM系统深度测评:为不同规模与行业企业提供精准选型参考 - 毛毛鱼的夏天
  • 2026年AI优化公司费用多少,蓝戈链企性价比高值得选 - mypinpai
  • 2026 年 3 月深圳 GEO 优化企业 TOP5:技术实力领跑,大湾区营销增长实战指南 - 速递信息
  • 自动化框架 - 核心功能使用指南 - 动态值生成
  • 自动化框架 - 核心功能使用指南 - Excel测试用例编写
  • 三维五轴激光切割机哪个品牌好用,江苏地区有推荐的吗? - 工业推荐榜
  • 2026年评价高的户外垃圾桶厂家推荐:环卫垃圾桶/景区垃圾桶/不锈钢垃圾桶直销厂家推荐 - 行业平台推荐
  • GEO 成数字化标配:2026 主流服务商解决方案与案例效果全览 - 速递信息
  • 选购汽车内饰膜要注意什么,黑龙江专业加工厂哪家好 - 工业设备
  • 2026年质量好的户外垃圾桶厂家推荐:环卫垃圾桶/卡通垃圾桶/不锈钢垃圾桶可靠供应商推荐 - 行业平台推荐
  • 用LiveQing实现大疆无人机RTMP推流直播,浏览器播放超低延迟不花屏
  • 【剪映安装教程】剪映9.9绿化版安装教程可用VIP功能(附安装包)
  • 2026 年度 GEO 优化服务商 TOP5:哪家更适合企业长期合作? - 速递信息
  • 分析2026年出口退税申报软件,哪个口碑好 - 工业品网
  • 不必追光,你即是光
  • 2026广东家装节指南:深圳第53届家装节4月启幕,一站式省心省钱方案 - 深度智识库
  • 2026电线电缆行业TOP10推荐:电力电缆与控制电缆优质制造商全景盘点 - 深度智识库
  • 讲讲莆田高压发电机出租渠道,价格费用怎么算? - 工业品牌热点
  • 【工具推荐】Office Tool Plus官网下载完整指南(2026最新) - sdfsafafa
  • 成都技术学校费用多少,就业指导中心能提供啥服务 - myqiye
  • 聊聊2026年北京好用的下水管道损坏维修服务中心,推荐靠谱之选 - mypinpai
  • 2026广东家装节/家博会最新推荐 门窗家具全屋定制采购看这篇就够了 - 深度智识库
  • vxe-table 如何实现分组列头折叠列功能
  • unsloth库的训练