Robot Framework接口自动化测试核心关键字说明(create session/post request)

本文详细介绍接口测试中常用关键字,如Createsession和postrequest,解释如何创建会话及发起请求,包括参数设置、别名使用及请求头配置,适用于自动化测试工程师。

简单的接口案例常用的关键字:

Create session、post request/get request

Create session创建会话

鼠标选中关键字create session,使用快捷键ctrl+M可打开关键字的使用说明

重点关注关键字的入参,其中常用入参有:

Alias:别名,给访问的服务器的域名重新命名一个名字,例如:api

url:即将访问的服务器的域名

headers:即将访问的请求的请求头,对应抓包数据里面的如下信息:

Cookies:保持登录连接的鉴权信息

对应抓包

post request/get request发起请求

接口请求的方法有get、post、put等几种,此处主要说post request

其中常用的入参:

Alias:为已经定义好的服务器域名的别名

url:为具体要访问请求的详细地址

data:表示入参的其他数据,例如:一个取消订单的功能,这边入参肯定会有“订单编号”

对应抓包数据里面的:

注意:create session和post request关键字均有入参headers,说明headers入参放置在其中任何一个关键字内均可以,如下图:

第一种写法:Headers写在post request的入参里面:

第二种写法:Headers写在create session的入参里面:

### RobotFramework接口自动化测试的框架目录结构设计 在使用RobotFramework进行接口自动化测试时,合理的目录结构设计能够显著提升项目的可维护性和扩展性。以下是一个常见的最佳实践目录结构设计[^1],结合了实际项目中的经验[^3]: #### 目录结构示例 ```plaintext project_root/ │ ├── testsuites/ # 测试用例目录 │ ├── test_login.robot # 登录相关测试用例 │ ├── test_register.robot # 注册相关测试用例 │ └── ... │ ├── resources/ # 资源文件目录 │ ├── keywords.robot # 自定义关键字文件 │ ├── variables.py # 全局变量文件 │ └── ... │ ├── libraries/ # 自定义库目录 │ ├── custom_library.py # 自定义Python库 │ └── ... │ ├── reports/ # 测试报告输出目录 │ ├── log.html # 测试日志 │ ├── report.html # 测试报告 │ └── output.xml # 输出文件 │ ├── data/ # 数据文件目录 │ ├── test_data.json # 接口测试数据 │ └── ... │ └── run_tests.sh # 测试运行脚本 ``` #### 各目录功能说明 - **testsuites/**:存放所有的测试用例文件,每个文件代表一个具体的测试场景或模块。例如,`test_login.robot` 用于测试登录接口。 - **resources/**:存放资源文件,包括自定义关键字、全局变量等。这些文件可以被多个测试用例复用,从而减少重复代码。 - **libraries/**:存放自定义的Python库文件。如果需要实现复杂的逻辑或封装特定的功能,可以通过创建自定义库来实现[^5]。 - **reports/**:存放测试执行后生成的日志和报告文件。通过分析这些文件,可以快速定位问题。 - **data/**:存放接口测试所需的数据文件,如JSON、CSV等。将数据与代码分离,便于维护和修改。 - **run_tests.sh**:提供一个统一的入口脚本来运行测试,简化操作流程。 #### 最佳实践建议 - **模块化设计**:将测试用例按照功能模块划分到不同的文件中,确保每个文件只关注一个特定的功能点。 - **资源共享**:通过 `*** Settings ***` 部分的 `Resource` 关键字引入公共资源文件,避免重复定义。 - **数据驱动**:利用 `${VARIABLE}` 定义动态参数,并结合外部数据文件实现数据驱动测试[^4]。 - **断言设计**:合理使用断言关键字(如 `Should Be Equal As Strings`)验证接口返回值是否符合预期[^2]。 ```python # 示例:测试登录接口 *** Settings *** Library RequestsLibrary Resource ../resources/keywords.robot *** Variables *** ${BASE_URL} http://example.com/api ${USERNAME} testuser ${PASSWORD} testpassword *** Test Cases *** Test Login Success Create Session api_session ${BASE_URL} ${response}= Post Request api_session /login json={"username": "${USERNAME}", "password": "${PASSWORD}"} Should Be Equal As Strings ${response.status_code} 200 ${json_response}= To Json ${response.content} Should Be Equal As Strings ${json_response.success} true ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Miss糖豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值