释解:
1、用例代码用来创建post的http请求
2、host文件代码用来维护session的生成,生成的过程中引用了两个单位的文件,一个是var,用来维护变量的定义和URL基础信息,一个是db,用来维护数据库的链接,可理解为python的枚举
3、python定义的函数体代码用来解析json的文件信息,方便创建用例时直接引用
ps:
秉承高内聚,低耦合,越底层基础的公共方法,越要独立,方便后续改动,亦节省维护成本。
=================================用例代码====================================== *** Settings ***#声明需要用到的测试库,声明资源文件,俗称全局配置表 Library RequestsLibrary Library Selenium2Library
# %{ENV_Test}本地环境变量,后面为引入的文件路径 Resource %{ENV_Test}/keyword/api/host.robot
Resource %{ENV_Test}/keyword/api/requestbody.py
Suite Setup Run Keywords Create Test Session
*** Variables ***#Variables,定义测试套件的全局变量,俗称全部变量表 ${Mid} 202208120000001
*** Keywords ***#定义测试套件的用户关键字
*** Test Cases ***#定义测试套件的测试用例 Test succes case [Documentation] 创建成功的用例,data引用的是requestbody定义的get_data函数 {data} = get_data 20 {mid} BankCode=MIDB ${response}= post on session Test_SEESION ${Order_Url} headers=${headers} json=${data} expected_status=200 ${resp_json} set variable ${response.json()} log ${resp_json} ===========================host文件代码========================================= # host属于资源库文件表,此表不可用来写Test cases,否则会报错 *** Settings *** Library RequestsLibrary # 链接域名等变量信息单独写在var.robot文件里,可以理解为python的Enum枚举,节省后续维护成本 Resource %{ENV_Test}/config/var.robot *** Variables *** # 数据库的链接配置单独写在db.cfg文件里 ${DbConfigFile}= %{ENV_Test}/config/db.cfg *** Keywords *** Create Test Session [Documentation] 创建测试环境的session connect to database dbName=Test dbConfigFile=${DbConfigFile} {MId_KEY} = select * from 表 where user_id={MId} {MId_KEY} set variable {MId_KEY} set global variable {MId_KEY} ${headers}= create dictionary Authorization=Bearer ${MId_KEY} ... MId=${MId} ... Content-Type=application/json create session Tset_SEESION ${MID_HOST} headers=${headers} ============python定义函数==================================================== def get_data(amount,mid,**kwargs): path = path + 'create.json' with open(path) as f: data = json.load(f) data["amount"] = amount data["mId"] = mid for key in kwargs.keys(): data["metaData"][key] = kwargs[key] res = json.dumps(data) return json.loads(res)
所有人的温柔,都是柔软生的茧。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?