- 博客(142)
- 收藏
- 关注
原创 【AI 赋能测试】(1) AI 赋能测试流程
大的需求文档篇幅长,先理解 AI 提取的需求主要功能,再详细阅读需求文档,效率更高。提示词是为了让 AI 详细地清楚我们的需求,没有固定框架,以下框架仅供参考。
2026-04-24 17:52:44
242
原创 【接口自动化】(5) Allure 测试报告
pytest 自动化测试框架生成的测试结果数据,无法被 Allure 工具直接读取识别,因此需要适配器将测试结果转换成 Allure 能读懂的原始数据文件 xxxxx-result.json。
2026-04-22 15:40:01
298
原创 【接口自动化】(3) YAML 和 JSON Schema
JSON Schema 是用来校验和约束自定义 JSON 的规范。可以用不同编程语言提供的验证器,将定义的 JSON Schema 对 JSON 进行校验。JSON Schema 和 JSON 也可以用在线转换器互相转换,但需要自行校验一遍。
2026-04-08 21:46:56
237
原创 【接口自动化】(2) pytest 测试框架
print("---执⾏登陆操作-----")print("---访问列表⻚")print("---访问详情⻚")也可以传多个定义的 fixture 前置函数。print("执行 first_entry")print("执行 second_entry")print("执行 test_11")把 fixture 函数的 return 改为 yield:yield 前的为前置操作,yield 后的为后置操作。
2026-04-02 21:51:37
425
原创 【接口自动化】(1) 接口自动化测试和 requests 模块
创建虚拟环境,在虚拟环境内安装的所有库不影响之前安装的 python 解释器环境、也不影响其它虚拟环境。发送 HTTP 请求。
2026-02-08 22:17:26
768
原创 【Python】(5) 字典
除了列表、字典(可修改),其他常见的类型都能作为键的类型。in、not in,判断字典中是否存在某个键。pop(键),根据键删除键值对。
2026-02-03 22:43:40
265
原创 【工具】Python解释器和PyCharm的安装与使用
windows系统下载链接,现在主流用 python3,小版本号随便选:Python Releases for Windows | Python.orghttps://www.python.org/downloads/windows/环境变量加上,选自定义换个安装路径:安装成功:下载链接: https://pan.baidu.com/s/1c1d5nd7G7xTvacTd3-SBXQ提取码: 4xb2运行.exe,安装路径换到D盘,加上下图选项,后面右键文件夹就可以选pycharm打开项目:
2026-02-03 00:42:12
171
原创 【工具】Git 和小乌龟安装与使用
Git 是命令行的方式使用,小乌龟是 Git 的可视化工具,点点点就能执行命令行操作。因此,,小乌龟安装的时候需要配置 Git 的 .exe 文件路径。
2026-01-28 23:48:50
1594
原创 【算法】leetcode100 堆、栈
方法一:暴力解法,遍历每个元素,依次以该元素为中心,向左右两边遍历,找小于该元素的左右边界。方法一:直接插入排序的方法进行排序,但是每次插入是O(k)的复杂度,k是现有节点数。时间复杂度O(n),空间复杂度O(1)。方法二:两个堆排序,大根堆存放小于等于中位数的值,小根堆存放大于中位数的值。时间复杂度:每次插入O(logk),k是现有结点数。空间复杂度O(k)。时间复杂度:O(n),空间复杂度:O(n)。top操作:获取 stack栈顶。getMin操作:获取min栈顶。方法二:栈,左、右边界的下标数组。
2025-12-20 22:15:08
1103
原创 【算法】leetcode 100 二叉树
构建根节点,构建左、右子树,返回整棵树。(2)中序遍历二叉搜索树,比较上一个节点 pre 和当前节点 cur,pre < cur,满足要求,pre >= cur,不满足要求。(1)求左、右子树的最大路径和(要大于0,否则加上反而变小了),与当前子树根节点相加,求得当前子树的最大路径和(至少包含一个节点,所以不管根节点是不是负数,都要包含)。(2)时间复杂度:构造 inorder 每个节点下标的哈希表 O(n),查找每个子树中根节点在 inorder 中的下标 O(1),构建树的每个节点 O(n)。
2025-12-09 22:21:18
1109
原创 【项目】拼团交易平台系统
电商平台市场上的同类低价商品的竞争,导致我平台商品的交易比增速减缓。为了激活用户的购买欲,我们需要适当降低商品价格。又为了对商品进行宣传,我们需要拼团的功能,用以客拉客的形式,节省部分类似直播带货的营销推广费用,将部分商品价值返还给用户,以刺激用户购买+达到宣传效果。
2025-11-28 14:57:23
1042
1
原创 【算法】day21 leetcode 二叉树
cur 节点入栈,cur 转到左节点,左节点为空,弹出栈顶访问,cur 转到右节点。如果右节点为空,且栈也空了,就表明遍历完成。空间复杂度:递归栈深度,最差 O(n),所有节点都是左子节点。1. 原问题和子问题的关系:左子树、右子树翻转,交换左子树、右子树根节点,原问题翻转完成。时间复杂度:遍历每棵子树,翻转该树,O(N);时间复杂度:O(N),遍历了每个节点。空间复杂度:树高,最差O(N)。,广度优先搜索:一层一层遍历入队,每遍历完一层就计数一层深度。,递归:先递归左节点,打印根节点,再递归右节点。
2025-11-26 00:12:21
277
原创 【算法】day 20 leetcode 贪心
类似层序遍历,left 标记当前第 x 跳的左边界,right 标记当前第 x 跳的右边界,遍历 left 到 right 区间的值,计算 num[i]+i = 下一跳到达的位置,最大位置标记为 maxIndex,即下一跳的右边界。遍历数组,找到每种字母的右边界,用 hash 表存储,每种字母的最后一个字母的位置会覆盖前面的位置,从而获得每种字母的右边界。再遍历数组,获取已经遍历过的字母中,右边界最大位置,如果最大位置就是当前遍历字母的右边界,则此字母是分割点。时间复杂度:O(n),只遍历了一遍数组。
2025-11-25 00:06:26
413
原创 【算法】day 19 leetcode 100 矩阵+贪心
如示例1,把 1 旋转到 3 位置,把 3 旋转到 9 位置...,但是这样会把后面的数给覆盖掉(另想办法)。搞清四个方向:每一轮循环,都要执行 正序遍历列(更新右边界) >> 正序遍历行(更新下边界) >> 倒序遍历列(更新左边界) >> 倒序遍历行(更新上边界)。:先把 1 存储下来,再倒着旋转:7 到 1 位置,9 到 7 位置,3 到 9 位置,最后额外变量中的 1 放到 3 位置。搞清四个边界:上、下、左、右,为了便于遍历,把右、下边界设置为最后一个 index 的下一个位置。
2025-11-23 21:10:10
1038
原创 【算法】day17 多维动态规划
状态表示:从起点到位置 [i,j] 有 dp[i][j] 种走法。状态转换方程:初始化:我们假设 [1,1] 是起点,[0, j]、[i,0] 是虚拟点,用于初始化,根据边界位置推断,只需初始化 dp[0][1]=1。从 i=1、j=1 开始填表,这样可以防止越界。时间复杂度:O(m*n);空间复杂度:O(m*n)。空间优化:O(n)。去掉行的维度。
2025-11-09 23:54:16
738
原创 【微服务】(4) 负载均衡
当远程调用的服务有多个实例时,instances.get(0) 每次获取的都是服务列表中的第一个实例,可能会导致每次都是对同一个实例发起请求,让该实例压力过大,而其它的实例却没有得到利用。在服务流量增大时,为了分担压力,会增加机器进行扩容。,应用于高并发、高可用的系统中。
2025-11-06 14:02:52
1129
原创 【微服务】(3) 服务注册与发现
订单服务调用商品服务的接口时,商品服务接口的,使用 spring 提供的 RestTemplate 进行 http 通信。这存在一个问题,每次 url 变更,都需要,频繁部署,十分麻烦。
2025-11-06 08:58:39
927
原创 【项目】小型支付商城 MVC/DDD
蓝色 -:用户发起的行为动作。黄色 -,事件完成态。粉色 -,外部接口。红色 -,串联决策命令到领域事件。绿色 -,读取数据的动作,没有写库的操作。棕色 -,启动决策命令的发起。
2025-11-05 15:39:26
1006
原创 【工具】支付宝沙箱的使用
我们想实现一个创建订单后支付的功能,需要用到支付 API。因为对接真实的支付需要企业资质,所以我们使用支付宝沙箱专门用来做测试。
2025-10-29 14:30:55
436
原创 【工具】微信公众号测试平台的使用
微信公众号平台有个人和企业之分,个人公众号只能使用基础功能,企业能使用全量并且每年缴纳300元认证费。为了我们学习微信公众号的使用,我们使用测试平台,它支持全量功能,但有微信公众号关注人数限制。
2025-10-28 19:10:42
612
原创 【算法】day13 链表
题目:23. 合并 K 个升序链表 - 力扣(LeetCode)分析:(假设所有链表长度为 n,有 k 个链表)法一,暴力解法:回想两个有序游标合并,合并一次时间复杂度 O(2n)=O(n)。那么第一个链表与后续的 k-1 个链表合并,需要遍历第一个链表 (k-1)n 次节点。那么 k 个链表合并,需要遍历 (k-1)n + (k-2)n + …… + 2n + n = n*k(k-1)/2 = O(n*k^2),相当于 O(n^3) 时间复杂度很高。法二,优先队列(堆):每次把 k 个链表的头结点取出来比
2025-10-27 23:04:58
724
原创 【工具】内网穿透服务搭建
可以说是一类用于帮助开发、测试、运维人员协作的自动化流程工具,而内网穿透则可以。目的:搭建了内网穿透服务后,就可以。我搭建内网穿透的目的呢,主要是服务器配置太低了,把我的项目都放到服务器运行资源就不够,干脆把项目在本地运行,通过内网穿透让别人访问。实现原理:在公网服务器部署 frps(高性能反向代理)(服务端),内网服务器部署 frpc(客户端)。这样就能,用户直接通过访问公网服务端,再转发请求给内网客户端,客户端再把请求转发给本地服务,最终实现。
2025-10-27 19:33:56
1015
原创 【算法】day12 哈希表
哈希表:遍历数组,查询哈希表里有没有当前数 x 的互补数 target-x,若没有则插入哈希表 (x,index)( 如果有两个相同的数,index 被覆盖了也没事,因为题目说不能用两个相同的元素;时间 O(n),空间 O(n)。但是从每个枚举数x开始查找,多了许多不必要的情况,比如 1,2,3,我们从 1 开始查找后,就没必要再从 2 或者3 开始查找了,因为它们的连续序列一定比从 1 开始的短。暴力:固定一个数O(n),然后查找 target-x 的数 O(n)(可用哈希表优化为O(1))。
2025-10-26 17:33:56
740
原创 【算法】day10 分治
朴素的快排是将数组分两类:大于等于 key 和 小于 key。时间复杂度:N*树高,理想情况(基准点最最后在中间) O(nlogn);最差情况(基本有序,基准点最后在边上)O(n^2)。时间复杂度:更接近 O(nlogn)
2025-10-25 15:55:00
933
原创 【工具】Docker 的基础使用
docker是啥:下载镜像、创建并运行容器,实现快速部署。镜像是啥:把依赖、配置、系统函数库一起打包。相当于qq安装好后的文件,直接把文件打包,因为包含有系统函数库,所以镜像是可以跨平台的。容器是啥:为每个镜像进程的环境用容器隔离起来。我们把自己的应用程序打包成镜像,就需要用 dockerfile 脚本。部署一个程序的过程:准备一个 Linux 环境、安装 jre、redis、mq 等并配置环境变量、复制应用程序的 jar 包,编写脚本运行 jar 包。这每个环节都分为一层打包成单独的文件,便于复用。
2025-10-23 11:32:19
1138
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅