网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
使用 Robot Framework 进行接口自动化测试的项目结构
本项目的技术栈包含:
- Robot Framework
- RequestsLibrary
- HttpLibrary.HTTP
以下是项目结构的示意图:
项目细节概述
我们采用了测试的层级化设计,即数据和逻辑的分离。这表现在:
- 项目目录结构的明确分层
- 将接口用例、数据和业务逻辑独立处理
- 测试用例 中可动态传递多个参数,并可自定义执行序列
目录结构详解
- 公共配置:这里储存共享配置文件、常用方法和函数
- 基础模块:包罗各类封装好的请求方法和工具函数
- 功能组件:存放定制化的请求功能组件
- 主干用例&项目用例:放置针对接口的测试用例
安装 Robot Framework
安装 Robot Framework 可直接通过 pip 安装,如下所示:
pip install robotframework
安装依赖库
项目需要安装几个关键的库,以支持接口自动化测试,具体命令为:
pip install robotframework-requests
pip install robotframework-jsonlibrary
pip install robotframework-databaselibrary
这里,robotframework-requests
负责执行 HTTP 请求,robotframework-jsonlibrary
用于处理 JSON 数据,而 robotframework-databaselibrary
用于实现数据库交互。
封装请求方法
以下是请求方法的示例封装:
*** Settings ***
Library RequestsLibrary
Library Collections
Library HttpLibrary.HTTP
Resource ../commons/config_index.txt
*** Keywords ***
Create Post Request
[Arguments] ${base_url} ${endpoint} ${parameters} ${content_type} ${headers}
[Documentation] 封装 POST 请求操作
${data} Create Dictionary
FOR ${key} IN @{parameters.keys()}
set to dictionary ${data} ${key} ${parameters['${key}']}
END
create session api_session ${base_url}
${response}= post request api_session ${endpoint} ${content_type}=${data} headers=${headers}
log to console ${response.json()}
[Return] ${response.json()}
创立新的测试案例
测试用例的创建过程如下:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
4613a03fab5e56a57acb)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!