# FasterWeb **Repository Path**: guanfuchang/FasterWeb ## Basic Information - **Project Name**: FasterWeb - **Description**: FasterRunner 接口自动化平台前端项目 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 5 - **Created**: 2021-08-04 - **Last Updated**: 2025-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FasterWeb > FasterWeb depend on FasterRunner ## 一、fasterrunner 与 httprunner 的关系 - httprunner 是一个以python语言开发的用来运行测试用例的类库[框架]。 - fasterrunner 是httprunner 自动化测试框架的web化,后端FasterRunner使用django开发,前端FasterWeb使用vue开发。 httprunner 自从2017年推出后,经历了1.x,2.x,3.x 三个大版本。 目前github上的fastrunner 都是采用 httprunner 1.x 版本。 **本项目经过二次开发后,后端已采用httprunner 3.1.4** **httprunner 官方文档:** https://github.com/httprunner/FasterRunner https://docs.httprunner.org/ ## 二、fastrunner 使用演示 ### 数据模型 ![Image text](./pageview/00数据模型.png) ### 页面展示 1. 登录:http://\:\/fastrunner/login ![Image text](./pageview/01登录.png) 2. 添加项目:通过具体项目的“查看”按钮激活该项目数据 ![Image text](./pageview/02项目列表.png) 3. 项目概况:项目主要分为API接口、测试用例、参数配置 ![Image text](./pageview/03项目概况.png) 4. 项目会动态导入debugtalk模块,我们可以直接在debugtalk中编写py代码,变量,函数可以在request中动态解析。 ![Image text](./pageview/04驱动代码文件介绍.png) 也可以新增py模块,然后再在debugtalk中导入 ![Image text](./pageview/05自定义模块.png) 下面使用`importlib.reload(mtest)` 可以解决在后续更新mtest模块可以动态载入,否则修改后需要重启服务才能动态载入mtest ![Image text](./pageview/06debugtalk模块中引入自定义模块.png) 5. 配置不同的域名,便于在request时指定域名与该域名下的变量信息。 ![Image text](./pageview/07域名管理1.png) ![Image text](./pageview/08域名管理2.png) 6. 设置全局变量,在整个项目中处处可引用同一个变量值 ![Image text](./pageview/09全局变量.png) 7. 同一个环境,也有可能有多套参数,选用不同的配置,可以指定配置域名与配置变量 需要注意的是,运行时,会优先使用域名管理中设置的域名 ![Image text](./pageview/10配置管理列表.png) ![Image text](./pageview/11配置详情1.png) ![Image text](./pageview/12配置详情2.png) 8. 配置API:在分组下添加API ![Image text](./pageview/13API列表.png) 9. API-Request 中定义参数,参数值建议引用变量值,便于在用例中灵活定义不同的参数 ![Image text](./pageview/14Request.png) 10. API-Variables 定义request接口变量,在接口变量中可以引用驱动函数,域名变量,全局变量,配置变量,驱动变量。 ![Image text](./pageview/15Variables.png) 11. API-Hooks 配置钩子函数 ![Image text](./pageview/16Hooks.png) 12. API-Extract 提取响应,作为变量,便于后续用例步骤可以引用 ![Image text](./pageview/17Extract.png) 13. API-Validate 断言。建议在API中只做简单断言,更详细的业务逻辑断言在用例步骤中设置。 ![Image text](./pageview/18Validate.png) 14. API-运行调试 ![Image text](./pageview/19API测试结果1.png) ![Image text](./pageview/20API测试结果2.png) 15. 配置测试用例,一个测试用例包含多个测试步骤,每个步骤对应一个API。 ![Image text](./pageview/21测试用例-列表.png) ![Image text](./pageview/22测试步骤.png) 编辑测试步骤,这里以“查询订单信息”为例,“查询订单信息”中的参数依赖于前一步骤的响应结果。 ![Image text](./pageview/23编辑测试步骤1.png) ![Image text](./pageview/24编辑测试步骤2.png) 16. 运行测试用例 ![Image text](./pageview/25测试用例-同步执行结果.png) ![Image text](./pageview/26测试用例-同步执行结果2.png) 17. 配置定时任务。 ![Image text](./pageview/27定时任务1.png) 定时执行指定的测试用例。如果用到环境和配置,注意还要编辑,指定运行环境 ![Image text](./pageview/28定时任务2.png) 18. 测试报告 运行定时任务后,可生成测试报告。 ![Image text](./pageview/29历史报告.png) ![Image text](./pageview/30历史报告-详情.png) 19. 管理后台系统 ![Image text](./pageview/Django后台管理系统.png) ## Docker 部署nginx模式 ``` 1. 修改default.conf配置文件 server_name的ip(宿主机IP), 端口默认8080 2. 修改/src/restful/api.js baseUrl地址, 即为fastrunner容器运行的宿主机地址 3. 执行npm install, npm run build # 生成生产环境包 3. docker build -t fastweb:latest . # 构建docker镜像 4. docker run -d --name fastweb -p 8888:8888 --restart always fastweb:latest # 后台运行docker容器 5. open url: http://宿主机ip:8888/fastrunner/login ``` ## 本地开发环境部署 ``` bash 1. 修改FasterWeb/src/restful/api.js的baseUrl配置为FasterRunner启动的ip:port 2. npm install 安装依赖包 3. npm run dev 开发环境启动服务 4. open url: http://localhost:8080/fastrunner/login ```