- 博客(39)
- 收藏
- 关注
原创 Flask+Nginx+Gunicorn+Vue自动化平台开发指南
基于Flask + Nginx + Gunicorn + Supervisor + Vue + Celery + MySQL技术栈开发一个自动化平台,这是一套非常经典、成熟且强大的组合,在工业界有广泛应用。它兼顾了开发的敏捷性、部署的稳定性和任务处理的高效性的技术栈。
2025-06-24 16:52:59
1116
原创 DeepInjectSQL - 基于 AI 生成对抗网络(GAN)的下一代 SQL 注入自动化漏洞猎手
SQLMap本身是一个成熟的自动化SQL注入工具,可以与GAN结合起来,让GAN生成的Payload替代传统的手工或规则生成的测试用例,从而提高检测的覆盖率和效率。GAN通常用于生成类似真实数据分布的数据,例如图片、文本等。在SQL注入的场景下,使用GAN生成Payload的核心在于如何让生成器生成有效的攻击代码,再整合SQLMap进行测试,根据测试结果优化模型,最后形成闭环工具链,看起来是可行,但是其中也是存在一些挑战。
2025-05-09 11:37:24
1138
原创 借助AI与LangChain:一键从Excel生成智能化跨平台自动化测试代码!
通过这些扩展,工具不仅能支持Android和iOS平台,还能生成复杂的用户操作,并能够生成详细的测试报告和实现数据驱动测试。这让自动化测试工具更灵活、更强大,同时满足了更多实际测试场景的需求。
2024-10-09 15:07:04
1473
原创 轻松重置 MySQL 8.0 Root 密码的简便方法!
如果你忘记了root密码,建议使用跳过权限表的方式重置密码。确保 MySQL 服务已经正确启动,且你在使用正确的用户名和密码进行登录。
2024-09-24 13:06:15
9181
2
原创 全面解析性能测试全生命周期:从需求到优化,助你轻松突破系统瓶颈!
性能测试在整个测试周期中可以分为以及。每个阶段都有各自的目标和任务。以下是各个阶段需要重点关注和执行的任务。性能测试的需求对齐是非常重要的,因为它能够确保系统在上线后满足用户和业务方的期望。
2024-09-09 16:55:17
1238
原创 打造高效接口自动化测试:精准对比与可视化展示,轻松发现数据差异!
在进行接口自动化测试时,一个不可或缺的步骤是验证接口返回的数据是否符合我们的预期。要准确完成这一任务,一种高效的方法是编写专门的函数或方法,其核心职责在于仔细比较接口实际的响应数据与预先定义的期望结果之间的一致性。这不仅涉及到数据的内容,还包括数据结构和状态码等方面的校验。此外,仅仅完成比对任务本身并不够,为了提升测试结果的可理解性和后续分析的便捷性,将这些比对结果转化为一份结构化并且可视化的表格是非常必要的。
2024-09-04 18:12:56
1234
原创 全面掌握Python&Java分层自动化测试:从单元测试到安全检测的完整指南
分层自动化是一种结构化的测试方法,通过把测试任务分解成不同层次,帮助团队更有效地管理和执行测试工作。每个层级都有其特定的目标和工具,形成一个完整的自动化测试体系,确保软件质量的全面保障。
2024-09-03 18:46:40
2093
原创 全能型 AI 的崛起:趋势引领还是昙花一现?
在讨论全能型 AI 和专业型 AI 之前,有必要对这两种 AI 类型进行简单定义和背景介绍。1. 全能型 AI 的定义和背景全能型 AI(Generalist AI)是指那些能够在多个领域中表现出色的人工智能系统。这类 AI 系统的设计目的是在不同任务之间切换,能够执行包括数据分析、自然语言处理、图像识别、战略制定等多种任务。全能型 AI 追求的是通用性和多样性,旨在最大化其适用范围和使用价值。
2024-08-29 13:50:23
1293
原创 技术风暴中的应急航线:如何构建软件服务的稳定防线
通过建立完善的预防机制、进行定期的应急演练、构建强大的团队文化,以及从每一次危机中学习并改进,我们可以在技术风暴中站稳脚跟,为用户提供可靠的服务体验。在未来的道路上,面对不断变化的技术环境,我们必须持续学习和创新,确保在每一次挑战中,都能够化险为夷,稳步前行。通过这些模拟演练,团队能够在高压力的环境下,检验系统的承受能力和应急预案的实用性,从而提高整个系统的鲁棒性和团队的危机应对能力。通过智能化的监控工具,团队可以实时收集系统的各种性能数据,并利用机器学习等先进算法来分析数据,预测潜在的故障点。
2024-08-28 16:50:05
1191
原创 从挫折到成长:在编程学习中点亮希望之光
编程是一场充满挑战的旅程,每一位程序员在这条路上都会遇到挫折和挑战。但只要我们以正确的心态去面对这些挑战,将挫折转化为学习的动力,我们终将在这条路上不断成长。在这条充满未知的道路上,让我们一起分享经验,互相鼓励,为彼此的编程之路点亮希望之光。通过不断学习和实践,我们终将克服所有困难,走向成功的彼岸。
2024-08-28 11:32:36
1109
原创 构建“双螺旋”进化路径,实现工作与学习的良性循环
双螺旋”进化路径的概念借鉴了DNA双螺旋结构的特性,旨在将工作与学习这两个看似相互冲突的需求结合起来,使其相互促进、相互依赖,形成一种良性循环。具体而言,这种路径倡导在工作中发现学习机会,在学习中提升工作能力,通过工作与学习的交替前进,不断提升个人的技术水平和职业素养。在“双螺旋”进化路径中,定期的反思与总结是不可或缺的一部分。程序员需要在学习和工作中不断反思自己的进步和不足,及时调整学习和工作的策略。
2024-08-28 10:11:53
1177
原创 国产游戏行业的技术突破与未来展望:挑战与机遇并存
国产游戏行业正在从“模仿者”向“创新者”转型,技术的进步为这一转型提供了坚实的基础。尽管在自主引擎研发、原创IP打造以及全球化推广等方面仍有不少挑战,但未来的机遇更加广阔。随着AI、云游戏、区块链等前沿技术的不断融合,国产游戏有望在全球市场上占据更加重要的位置。要在激烈的国际竞争中脱颖而出,国产游戏不仅需要在技术上持续创新,还需在文化表达、市场推广和用户体验上全面发力。唯有如此,国产游戏才能在全球游戏市场中占据一席之地。未来,在IT技术的持续推动下,国产游戏有望迎来更多的技术创新与产业升级,迈向新的高度。
2024-08-27 16:26:12
1813
原创 Python 项目中跨目录导入的5种实战技巧与优劣对比:从简洁到灵活的最佳实践
方法优点缺点适用场景相对导入简洁且适合包内模块引用仅限包内使用,单独执行模块时易出错包内模块引用修改 sys.path灵活,不依赖环境配置增加代码复杂性,路径易出错开发调试、快速测试设置 PYTHONPATH简洁、适合团队开发环境依赖,跨平台一致性差CI/CD、团队环境配置使用包管理工具结构清晰,便于维护和分发初期配置繁琐,适合正式项目长期维护、发布的项目使用 importlib 动态导入运行时灵活加载,适合复杂场景代码复杂,维护成本高插件式架构、动态模块加载。
2024-08-27 14:29:23
1798
原创 提高生产力:基于python lambda表达式必要掌握
在Python中,lambda表达式是一种匿名函数(即没有名字的函数),可以让你用简洁的语法创建简单的函数。lambda表达式的典型用法是与内置函数如map()filter()和reduce()等结合使用。下面是10个你需要掌握的lambda表达式的实例,这些表达式可以帮助你在日常编程任务中提高生产力。
2024-08-25 16:35:07
915
原创 灵活应对高并发:JMeter 中的 BeanShell 与 JSR223 预处理器多线程安全递增操作指南
在JMeter进行性能测试时,使用BeanShell预处理器来增加测试的灵活性和动态性是一种常见的做法。本文介绍其中的一个场景:如何在多线程环境下安全地对一个全局变量进行递减操作,并将每个线程对应的值记录下来,用于后续的请求。
2024-08-16 17:36:47
821
原创 Python Playwright追踪功能封装:打造高效、自动化的测试装饰器
Playwright是一个由Microsoft开发的强大且灵活的浏览器自动化库,它支持Chromium(Chrome)、Firefox和WebKit(Safari)等主流浏览器。Playwright允许您使用Python(以及其他编程语言)编写脚本,以模拟用户与网页的交互,实现自动化测试、数据抓取、UI验证等多种功能。
2024-06-21 18:44:46
2215
原创 掌握Python Selenium:网页元素自动化定位实战指南
Selenium是一个用于自动化web应用程序测试的工具,它直接运行在浏览器中,就像真实用户在操作一样。这个框架支持多种浏览器(包括Chrome、Firefox、Safari等),并且可以在多种操作系统(Windows、Linux、macOS等)上运行。Selenium的主要目标是使自动化测试变得简单,以支持开发人员和测试人员快速编写测试用例。总之,Selenium是一个功能强大且易于使用的自动化测试框架,它支持跨浏览器和跨平台的测试,并提供了丰富的API和工具来帮助用户编写和执行自动化测试脚本。
2024-06-04 15:19:47
953
2
原创 消费中的幂等处理
指的是一种处理方式,使得对资源的多次请求或操作与单次请求或操作具有相同的效果。换句话说,执行多次操作与只执行一次操作的结果是一样的。幂等处理在分布式系统、网络请求、数据库操作等场景中非常重要,它有助于确保系统的健壮性和数据的一致性。幂等处理主要用于处理消息重复消费的问题。由于网络问题、消费者处理失败、消费者宕机等原因,消息队列中的消息可能会被重新投递给消费者,导致消费者重复消费同一条消息。为了避免这种情况导致的数据不一致或其他问题,消费者需要对消息进行幂等处理。
2024-06-03 17:41:52
1133
原创 Python 类继承原则
在Python中,类的类型取决于它们是如何定义的。在Python 2中,存在所谓的“经典类”和“新式类”的区分。但在Python 3中,所有的类都是新式类,经典类已经被移除。但为了理解这两者之间的区别,我们可以从Python 2的角度来讨论。在Python 2中,如果你直接定义一个类而不继承自任何其他类,那么这个类就是一个经典类。经典类使用深度优先搜索(DFS)来解决方法解析顺序(MRO, Method Resolution Order)。在Python 2中,如果一个类继承自object。
2024-04-26 17:52:21
893
2
原创 HTML页面构成
HTML(HyperText Markup Language)是一种用于创建和组织网页内容的标记语言。它由一系列的元素(Elements)组成,每个元素都可以包含文本内容、图片、链接以及其他媒体类型。HTML 的主要作用是描述网页的结构和语义,并通过浏览器解释和呈现这些内容。HTML 中的元素通常由开始标签(Opening Tag)、结束标签(Closing Tag)、元素内容(Element Content)和属性(Attributes)组成。
2024-04-24 17:57:06
1124
原创 Python-算法性能评估
基于我们前面的一个理论:在采用大 O 标记复杂度的时候,可以忽略系数,即 O(Cf(n)) = O(f(n))。如上一个函数,假设代码一行运行时间是一个unit,那么总的运行时间:T(n) = (2n + 1) * unit,T(n) = O(f(n)) , O表示 T(n) 与 f(n) 成正比,O 表示渐近时间复杂度,表示代码执行时间随数据规模增长的变化趋势。第一个循环时间复杂度O(999),第二个循环时间复杂度O(n),第三个循环时间复杂度O(n^2),所以这个函数的时间复杂度是O(n^2)
2023-07-27 13:00:02
426
1
原创 自动化框架pytest结合数据驱动
YAML(全称为"YAML Ain't Markup Language")是一种人类可读的数据序列化格式,它具有简洁、易读、易写的特点。YAML适用于配置文件、数据传输和表示复杂数据结构等场景。简洁易读:YAML使用缩进和空白行来组织数据,以使结构清晰可读键值对:使用冒号(:)来表示键值对关系#示例1age: 18相当于字典{'name':'jardon','age':18}数组:使用短横线(-)来表示一组相同类型的值。#示例2language:- python- java- go。
2023-06-29 18:24:01
590
1
原创 Python 数据类dataclass
dataclass 是dataclasses模块提供的一个装饰器,当一个普通的类被dataclass装饰时,这个普通的类将被赋予一些神奇的魔法,这对于我们处理数据是十分有帮助的。dataclass所装饰的类仍然属于面向对象范畴,它并没有发明新的轮子,而是对旧轮子进行了改造升级,让开发人员在处理数据时更便捷。dataclass优势可读性强操作灵活轻量应用场景创建对象完美融合平台开发 ORM 框架。
2023-06-13 23:01:31
633
原创 pytest测试框架
1. 支持Python标准库中unittest库的用例风格,同时也支持更为灵活的测试方法定义。2. 使用了丰富的插件机制,可以轻松扩展pytest的功能,如自定义测试收集规则、测试用例执行过程中灵活代理、运行过程中的动态配置等。3. 引入了Fixture机制,再次扩展了pytest框架的功能,Fixture可以理解为测试前提条件、测试数据、测试对象等,在运行测试之前进行准备和清理工作,支持Fixture的各个生命周期钩子函数,实现了依赖注入机制。
2023-06-09 17:26:42
387
原创 Python内置类装饰器
class关键字# 语法class 类名(父类名):"""类的帮助信息"""属性方法# 类的声明"""人类"""# 定义属性(类属性)message = "这是类属性"# 通过类访问类属性类的方法实例方法构造方法类方法静态方法构造方法作用:实例化对象def __init__(self, 参数列表)类名(参数列表)# 定义属性(类属性)message = "这是类属性"# 构造方法# 实例变量print("这是构造方法")# 实例化对象。
2023-06-02 17:18:18
144
原创 服务器资源采集
Linux的CPU使用率信息可以通过 /proc/stat 文件计算得到。/proc/stat 包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计的,单位为jiffiescpu一行指的是总的CPU信息,cpu0......cpu23几行指的是CPU各个核的CPU信息。从这里也可以看出这台服务器共有24个核。
2023-06-01 11:56:32
500
原创 git代码管理
模型类型不同:svn是集中式模型。:svn是集中式模型。:svn是集中式模型。:SVN按照原始文件存储,体积较大。SVN是按文件所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。:Git按照元数据方式存储,体积很小,GIT把内容按元数据方式存储,如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。
2023-05-30 12:11:45
417
1
原创 服务性能瓶颈定位过程
常见性能瓶颈、现象及解决方法常见性能瓶颈、现象及解决方法1、CPU瓶颈:现象:整机CPU或者单机能起到的最大个数的处理层进程CPU占用接近或者达到上限,整体CPU接近100%或者单机只能起60个处理层(快速工程化)、单机只能起10个处理层(GPU服务)的进程CPU占用都接近100%常见场景:通常是CPU计算密集型服务解决办法:此类通常已达到服务本身的性能上限,反馈开发即可,建议量级处理层单进程CPU75%~85%;想深入了解,可用perf。
2023-05-25 12:22:50
486
1
原创 Python装饰器
Python中的闭包(Closure)是指在函数内部定义的函数,并且该内部函数可以访问外部函数的作用域中定义的变量和参数,即使在外部函数返回后,内部函数也可以继续访问和更新这些变量和参数。闭包函数的作用是为Python中没有函数式编程能力的缺陷提供了一种变通的方式。在上面的示例中,我们定义了一个outer函数,该函数返回了一个内部函数inner。
2023-05-19 17:27:37
124
1
原创 Python中的深拷贝和浅拷贝
在Python中,拷贝是用于创建变量或对象副本的一种方式。深拷贝和浅拷贝是Python中两种不同的拷贝方式。它们之间的差异在于拷贝后的变量或对象副本与原始变量或对象的关系以及它们所占用的内存空间。
2023-05-19 17:06:10
1289
1
原创 selenium工作原理
JSON Wire protocol是在http协议基础上,对http请求及响应的body部分的数据的进一步规范。body部分主要传送具体的数据,在WebDriver中这些数据都是以JSON的形式存在并进行传送的,这就是JSON Wire protocol。所以在Client和Server之间,只要是基于JSON Wire Protocol来传递数据,就与具体的脚本语言无关了,这样同一个浏览器的驱动就即可以处理Java语言的脚本,也可以处理Python语言的脚本了。
2023-05-19 13:29:38
351
1
原创 软件测试中建模语言UML
统一建模语言(Unified Modeling Language,UML)是一种为系统的产品进行说明、可视化和文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。
2023-05-17 12:36:04
237
1
原创 常用的测试平台
Testlink:流行的测试用例管理平台,体验不是很好。其它:tapd,云效,禅道,gitlab,在线协作文档。gitlab:可本地部署的git代码管理平台,行业标准。gitlab runner:gitlab持续交付方案。自建DevOps平台:企业定制平台,tapd,云效等。redmine:推荐方案,开源,活跃,定制性很强。subversion:SVN管理,已经过时了。Jenkins:持续集成与持续交付的主流平台。无协作模式:excel,思维导图。jira:推荐方案,定制性很强。
2023-05-12 22:20:53
306
1
原创 软件测试流程体系
系统测试:测试已经集合到一起的产品是否符合需求文档的要求。概要设计:系统架构,模块划分,模块与模块之间的接口。集成测试:测试各个模块组合在一起是否可以正常使用。单元测试:测试代码中最小模块是否符合详细设计。验收测试:测试产品是否符合用户的需求。详细设计:模块内部实现的逻辑和方法。编码:用代码实现设计的内容。
2023-05-12 13:14:01
232
1
原创 【软件开发流程】
软件开发流程中常用的模型主要有瀑布模型、迭代模型、增量模型、螺旋模型、敏捷模型、DevOps模型等,下面我将分别介绍这几种模型以及各自的优点和缺点。
2023-05-10 17:22:13
197
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅