从QTP11入门到现代自动化测试:核心思想迁移与实践指南
1. 从“录制回放”到“自动化测试框架”重新认识QTP如果你刚接触自动化测试或者正在寻找一款能帮你把那些重复、繁琐的Web或桌面应用操作自动化的工具那么“QTP”这个名字你大概率听说过。它曾经是自动化测试领域的代名词无数测试工程师的入门工具。但今天当我们谈论“QTP11安装及入门”时我们谈论的绝不仅仅是一个十几年前的老古董软件的安装步骤。我们真正要探讨的是在今天这个技术环境下如何理解一个经典工具的核心思想以及这些思想如何迁移到现代测试实践中。QTP全称QuickTest Professional后来被整合进HP的UFTUnified Functional Testing套件。QTP11大约是在2010年左右发布的版本它的核心能力是“关键字驱动”和“对象识别”。简单来说它允许你通过录制你在软件界面上的操作比如点击按钮、输入文本自动生成测试脚本然后可以回放这些脚本实现自动化测试。这听起来是不是和现在很多“无代码”或“低代码”的RPA机器人流程自动化工具很像没错QTP可以说是这类工具的鼻祖之一。那么为什么我们今天还要聊它原因有三第一思想传承。QTP所代表的“基于对象识别的GUI自动化”思想是UI自动化测试的基石。无论你后来用的是Selenium、Cypress、Playwright还是Appium底层逻辑——定位界面元素并与之交互——是相通的。从QTP入门你能最直观地理解“对象库”、“描述性编程”这些核心概念。第二历史遗留系统。很多金融、电信、传统制造业的核心业务系统其自动化测试脚本可能就是用QTP/UFT开发的维护和迭代这些资产理解其原理是必须的。第三学习曲线。对于测试新手直接上手Selenium编程语言可能有一定门槛而QTP的录制回放功能提供了一个非常平滑的入门路径让你快速看到自动化带来的成就感再逐步深入脚本编程。所以这篇内容不仅仅是带你完成QTP11的安装。我会以一个过来人的身份带你走过完整的安装、配置、录制第一个脚本、理解其对象模型并最终探讨如何将这些技能平移到现代测试技术栈中。你会发现安装过程中的一个选项、录制时的一个小技巧背后都关联着自动化测试的重要理念。2. QTP11安装实战细节决定成败安装一个软件看似简单但对于QTP这类依赖特定运行环境的企业级工具安装步骤中的每一个选择都可能影响后续使用的顺畅度。网上很多教程只给步骤却不解释为什么导致新手照着做却踩坑无数。这里我将结合当年踩过的坑为你拆解每一步背后的逻辑。2.1 安装前的环境侦察与准备在双击安装程序之前请务必花10分钟做好以下检查。这能避免80%的安装后问题。操作系统兼容性是首要关卡。QTP11是一个Windows原生应用它的黄金搭档是Windows 7和Windows XP。如果你使用的是Windows 10或Windows 11必须以“兼容模式”运行安装程序并建议以管理员身份运行。具体操作右键点击安装程序通常是setup.exe - 属性 - 兼容性 - 勾选“以兼容模式运行这个程序” - 选择“Windows 7”。同时勾选“以管理员身份运行此程序”。这是因为QTP11的某些底层驱动和注册表操作需要较高权限且其界面库与新版Windows存在细微兼容性问题兼容模式能很好地模拟旧版系统环境。关闭所有安全软件特别是那些带有主动防御功能的。这不是在开玩笑。QTP在安装和运行时会向系统目录写入文件、注册COM组件、安装浏览器插件如对IE的插件。任何一步被安全软件拦截都可能导致安装不完整或运行时对象识别失败。最稳妥的做法是暂时退出360、电脑管家、火绒等待安装配置完成后再开启。准备好必要的运行时库。QTP11基于.NET Framework和Visual C运行时库。虽然安装包通常会包含这些但有时版本冲突会导致问题。我建议你手动确保系统已安装.NET Framework 3.5 SP1和Visual C 2005/2008 Redistributable。你可以通过Windows的“启用或关闭Windows功能”来开启.NET 3.5并从微软官网下载最新的VC运行库合集进行安装。关于浏览器锁定Internet Explorer。QTP11对Web自动化的支持核心是IE浏览器通常是IE8或IE9。它对Chrome、Firefox的原始支持非常有限且需要额外插件且极不稳定。因此请确保你的系统有一个IE浏览器Win10/11可能隐藏了需要在“Windows功能”中启用“Internet Explorer 11”。在安装和后续使用期间将IE设为默认浏览器是减少麻烦的最佳实践。2.2 步步为营的安装过程详解假设你已经从合法渠道获得了QTP11的安装镜像通常是一个ISO文件或包含setup.exe的文件夹。我们开始核心安装。启动安装程序以管理员身份运行setup.exe。如果系统弹出用户账户控制UAC提示务必选择“是”。选择安装类型安装程序通常会提供“典型”、“完全”、“自定义”几种安装。对于新手我强烈推荐选择“完全安装”。原因在于“典型安装”可能不会安装所有必需的插件例如可能不安装Java插件或.NET插件而“自定义安装”需要你对组件有足够了解。完全安装一次性搞定所有基础组件虽然占用磁盘空间稍大约2-3GB但能避免后续因缺少插件而无法识别特定控件的尴尬。关键插件选择在安装过程中会有一个插件选择界面。这里是第一个决策点。QTP通过插件来识别不同技术开发的控件。默认可能只选了“Web”和“ActiveX”。请根据你未来要测试的应用程序类型勾选相应的插件Web必选用于测试IE浏览器中的网页应用。ActiveX必选很多传统桌面应用和Web应用中的复杂控件如图表、报表查看器都是ActiveX控件。Visual Basic如果你要测试用VB6或VB.NET开发的桌面应用必选。.NET如果要测试WinForms或WPF开发的.NET桌面应用必选。Java如果要测试Java Swing/AWT桌面应用或Java Applet必选。Oracle、SAP、PeopleSoft等如果你所在公司使用这些大型ERP/CRM系统并且需要进行前端自动化则需选择对应插件。我的建议是即使你目前不确定也把Web,ActiveX,.NET,Java这几个常见的都选上。多装插件除了多占一点空间没有坏处但少装了以后要测试对应应用时就得重新运行安装程序来添加更麻烦。许可证配置安装完成后首次启动QTP会要求你配置许可证。这里通常有三种模式试用版有期限如30天、浮动许可证连接许可证服务器、固定许可证输入序列号。如果你是个人学习选择试用版即可。这里要注意关闭QTP时建议使用菜单中的“退出”而不是直接点击窗口关闭按钮有时这会影响许可证服务的正常释放。安装后首次启动与设置首次启动后不要急着录制。先进行几项关键设置工具 - 选项在“常规”选项卡中设置默认的测试结果存储路径。在“运行”选项卡中建议取消勾选“在运行会话结束时显示结果”这可以让你在脚本运行后快速开始下一轮而不是每次都弹出结果窗口。文件 - 设置这里关联测试脚本Action的调用和参数传递入门阶段可以先保持默认。检查插件加载确保你安装的插件如Web、.NET在启动时已被加载。你可以在QTP的标题栏或关于对话框中看到已加载的插件列表。注意安装过程中如果遇到任何错误提示不要轻易点“忽略”。记下错误代码或信息这通常是缺少系统组件或权限问题的直接反映。最常见的错误是“无法注册类型库”或“DLL注册失败”这通常可以通过以管理员身份运行安装程序或手动注册相关DLL来解决。3. 录制第一个脚本从“魔法”到“理解”安装成功界面打开接下来就是见证“魔法”的时刻——录制。但我的目标是让你在第一次录制中就超越“点点点”看到背后的逻辑。3.1 录制流程与最佳实践新建测试点击“新建”按钮选择“Test”类型。QTP的测试文件后缀是.mtb。选择录制模式点击红色的圆形录制按钮会弹出录制设置对话框。这里有三个关键模式应用程序底部录制所有在指定窗口如IE浏览器内的操作。这是最常用、最稳定的模式。窗口录制对某个特定窗口的操作。桌面录制整个屏幕上的操作不稳定且容易误录不推荐。选择“应用程序底部”然后点击右侧的“”号打开你要测试的应用程序比如IE浏览器并输入一个测试网址例如一个登录页面。开始操作与录制此时QTP开始录制你的所有操作。你像正常用户一样操作在用户名输入框点击、输入“testuser”在密码框输入“123456”点击登录按钮。停止录制与生成脚本操作完成后点击QTP工具栏上的“停止”按钮。神奇的事情发生了你的所有操作被转换成了一行行的VBScript代码显示在关键字视图和专家视图中。看起来很简单对吗但这里有几个新手极易忽略却至关重要的细节录制速度要慢而稳在对象上点击后稍微停留0.5秒再移开鼠标。特别是在输入文本前确保光标在输入框内闪烁后再开始输入。这给了QTP足够的时间去捕获和识别当前焦点的对象能极大减少对象识别错误。避免不必要的操作不要录制你移动鼠标划过屏幕的轨迹只录制有效的点击、输入、选择操作。多余的鼠标移动会被录制成Mouse Move步骤使脚本冗长且脆弱。关注“对象库”录制完成后不要只看脚本。立即打开“对象库”Resources - Object Repository。你会看到里面列出了你刚才操作过的所有对象浏览器Browser、页面Page、用户名输入框WebEdit、密码输入框WebEdit、登录按钮WebButton。每个对象都有一组属性如name,id,html tag,type等来唯一标识它。这才是录制的核心产出物脚本只是基于这些对象执行操作的命令集合。3.2 理解录制的产物对象库与脚本录制结束后你得到了两样东西对象库和VBScript脚本。理解它们的关系是脱离“录制回放工具”认知迈向“自动化测试框架”思维的关键。对象库是一个仓库里面存放着你的应用程序中所有需要被操作的GUI元素的“身份证信息”。比如那个用户名输入框在对象库里可能被记录为名称UserName类型WebEdit识别属性html id“username”,name“user”,html tagINPUTQTP在回放时并不是“回忆”鼠标点击的坐标而是拿着这个“身份证”属性集合去当前页面上寻找匹配的元素然后对其执行操作如Set输入文本。生成的VBScript脚本在专家视图中查看则是操作这些对象的指令。它可能看起来像这样Browser(百度一下你就知道).Page(百度一下你就知道).WebEdit(wd).Set QTP Browser(百度一下你就知道).Page(百度一下你就知道).WebButton(百度一下).Click这段代码是典型的“点语法”描述了一个从Browser到Page再到WebEdit的层次结构最后调用Set方法输入文本。“百度一下你就知道”、“wd”、“百度一下”这些字符串就是对象库中对应对象的“名称”。一个重要的心智转变自动化测试不是模拟人的手和眼坐标而是模拟人的意图对某个具有特定属性的元素进行某种操作。对象库就是用来描述这些意图的载体。当页面元素属性发生变化时比如id从“username”变成了“userName”你只需要在对象库里更新这个属性的值所有使用该对象的脚本就都能正确运行了。这就是“维护对象库而非脚本”的核心优势。4. 超越录制脚本增强与调试技巧只会录制和回放脚本极其脆弱。页面加载慢一点、弹出一个意外对话框、下拉框选项顺序变了都可能导致回放失败。因此我们必须对录制的脚本进行“增强”使其更智能、更健壮。4.1 添加同步点与等待这是解决“对象未找到”错误的最常用手段。录制时页面可能瞬间加载完成。但回放时受网络或服务器影响页面加载可能变慢。如果脚本在页面元素还没出现时就尝试去操作就会报错。添加Wait语句在关键操作前插入一个固定的等待时间。例如在点击登录按钮后等待3秒让下一个页面加载。Browser(Example).Page(Example).WebButton(Login).Click Wait 3 等待3秒但固定等待效率低下且无法适应多变的网络环境。使用Sync方法更优QTP为许多对象提供了.Sync方法它会等待该对象准备好如页面加载完成、控件变为可用状态后再继续执行。Browser(Example).Page(Example).WebButton(Login).Click Browser(NextPage).Page(NextPage).Sync 等待名为“NextPage”的页面完全加载最佳实践是结合使用在关键页面跳转后使用.Sync在等待某些动态内容如AJAX加载的数据时使用Exist属性配合循环进行智能等待。智能等待某个元素出现最多等10秒 Dim i For i 1 To 10 If Browser(B).Page(P).WebElement(LoadingMessage).Exist Then Exit For End If Wait 1 Next4.2 参数化测试数据录制的脚本里用户名和密码是硬编码的“testuser”, “123456”。要测试多组数据怎么办复制粘贴脚本吗太低级了。我们需要参数化。QTP提供了强大的“数据表”功能Data Table它本质上是一个内嵌的Excel表格。在关键字视图中找到输入用户名的那一行。在“值”单元格中不要直接写“testuser”而是点击单元格旁的小图标选择“参数化”。选择“数据表”作为参数类型并指定一个列名如“UserName”。在Data Table默认在QTP界面底部的Globalsheet中你会在第一列看到UserName在下面行输入不同的测试用户名如admin,user1,locked_user。对密码进行同样的参数化操作列名为“Password”。设置脚本的运行迭代次数为“所有行”。这样当你运行脚本时QTP会自动从Data Table中逐行读取数据用第一组数据(admin, 对应密码)运行一次脚本再用第二组数据运行一次以此类推。这就实现了用一个脚本测试多组数据。4.3 添加检查点Checkpoint自动化测试不能只执行操作还要验证结果。检查点就是用来验证的。QTP支持多种检查点标准检查点验证对象属性、文本检查点、图像检查点、表格检查点等。添加一个文本检查点假设登录成功后页面会显示“欢迎[用户名]”。在录制或编辑状态下在关键字视图中在你想要添加检查点的步骤之后右键选择“插入检查点”。在页面上点击显示欢迎信息的文本。在检查点属性对话框中你可以设置要检查的具体文本内容。你可以再次使用参数化让期望的文本动态化如“欢迎” DataTable(“UserName”, dtGlobalSheet)。添加检查点后脚本在回放时就会自动进行验证。如果实际文本与预期不符测试结果会标记为“失败”并给出详细差异。4.4 调试脚本让问题无处遁形脚本运行失败是常态。掌握调试技巧能快速定位问题根源。使用断点在专家视图的代码行左侧灰色区域点击可以设置断点一个红点。运行脚本时执行到这一行会暂停。此时你可以将鼠标悬停在变量上查看其当前值也可以使用“调试查看器”来检查和修改变量、对象属性。单步执行在调试模式下使用F10单步跳过或F11单步进入来一行一行地执行代码观察执行流程和状态变化。打印日志使用Print语句或Reporter.ReportEvent方法在测试结果中输出信息。这是最古老但最有效的调试手段之一。Print “当前用户名是” DataTable(“UserName”, dtGlobalSheet) Reporter.ReportEvent micInfo, “信息”, “开始执行登录操作”查看运行时对象属性当脚本因对象找不到而失败时在调试暂停时可以立即在“对象探测器”Tools - Object Spy中查看当前应用程序中实际对象的属性与对象库中存储的属性进行对比找出差异比如id变了或者多了一个class属性。5. 从QTP到现代测试体系思想迁移与技能升级掌握了QTP11的基本使用你已经理解了自动化测试的核心范式。但技术世界在飞速发展QTP本身已逐渐淡出主流视野被更开源、更灵活、更强大的工具链所取代。如何将你在QTP上学到的东西无缝迁移到现代测试技术栈中这才是学习的最终价值。5.1 核心概念的映射对象库 - 页面对象模型QTP的对象库在现代测试框架如Selenium中演变成了“页面对象模型”Page Object Model, POM。POM将每个页面的元素定位器和操作封装成一个独立的类这比QTP的全局对象库更清晰、更易于维护符合面向对象的设计原则。你在QTP里管理WebEdit(“UserName”)的经验可以直接用于编写Selenium的FindBy(id“username”) WebElement usernameInput;。关键字视图 - 行为驱动开发QTP的关键字视图将操作翻译成可读的英语短语其思想与“行为驱动开发”BDD工具如Cucumber、SpecFlow非常相似。它们都是用接近自然语言的语法Given-When-Then来描述测试场景。你设计QTP测试流程的思路完全可以用来编写Cucumber的Feature文件。VBScript - 主流编程语言QTP使用的VBScript是一种脚本语言。现代测试框架通常支持Java、Python、JavaScript、C#等更主流的语言。从VBScript过渡到Python或JavaScript你需要学习新的语法但编程逻辑变量、循环、条件判断、函数是相通的。而且使用这些语言你能获得更强大的生态库支持。检查点 - 断言库QTP的内置检查点对应的是现代测试框架中的“断言”Assert。例如在Selenium with TestNGJava中你会使用Assert.assertEquals(actualText, expectedText);。概念完全一致只是语法不同。数据表 - 外部数据源QTP的Data Table是一个内置数据源。现代测试中我们更常使用外部文件来管理测试数据如Excel文件用Apache POI或openpyxl读取、CSV文件、JSON文件、甚至直接连接数据库。这实现了数据与脚本的彻底分离。5.2 工具链的演进与选择理解了思想映射工具选择就清晰了Web自动化Selenium WebDriver是绝对的主流和标准。它支持所有主流浏览器和编程语言。Cypress和Playwright是后起之秀提供了更强大的自动等待、网络拦截、录制等开箱即用的功能开发者体验极佳。从QTP过渡我建议先学习Selenium因为它最基础、最通用理解了它再学其他更快。API自动化这是QTP时代相对薄弱的部分。现在Postman用于探索和手动测试、RestAssuredJava、Requests库Python、SupertestJavaScript等工具是API自动化的标配。测试重心从UI层大幅向API层转移效率更高、更稳定。移动自动化Appium是跨平台iOS/Android移动应用自动化的标准它的设计理念与Selenium WebDriver一脉相承学习曲线平滑。测试框架与报告现代测试不再是一个孤立的脚本。你需要一个测试框架来组织用例、管理生命周期、生成报告。例如TestNGJava、pytestPython、JestJavaScript。它们提供了类似QTP的测试迭代、数据驱动通过DataProvider或pytest.mark.parametrize、丰富的断言和美观的HTML报告。5.3 给QTP学习者的进阶路线图如果你已经通过QTP入门并想成为一名具有市场竞争力的现代测试工程师我建议的路线是巩固基础把你用QTP做的练习用Python或Java重写一遍。选择一个简单的Web应用如一个登录页面用Selenium实现相同的操作打开浏览器、输入、点击和检查点断言文本。这个过程会强迫你理解元素定位代替对象库、显式等待代替Sync和Wait。学习版本控制立即开始使用Git。把你写的脚本用Git管理起来。这是现代软件研发的基石QTP时代对这点强调不足。构建测试框架不要只写单个脚本。学习使用pytest或TestNG将你的脚本组织成测试类和方法。使用DataProvider实现数据驱动。配置生成Allure或ExtentReports等漂亮的测试报告。融入CI/CD了解如何将你的自动化测试集成到Jenkins、GitLab CI或GitHub Actions中实现代码提交后自动触发测试。这是实现“持续测试”的关键。拓展测试类型学习使用Postman或Requests库进行API测试。理解如何测试JSON/XML响应、状态码、性能等。回过头看QTP11的安装与入门就像学习驾驶时用的那台老式手动挡教练车。它可能没有自动挡那么方便没有那么多电子辅助设备但它让你深刻地理解了离合器、油门和挡位的配合理解了汽车运行的基本原理。当你掌握了这些再去开任何现代汽车Selenium, Playwright, Cypress都会觉得得心应手因为你理解的是“驾驶”本身而不是某款车的特定按钮。所以不要因为QTP“老”而轻视它。把它当作一个绝佳的原理性教学工具。通过它你扎实地理解了对象识别、同步、参数化、检查点这些自动化测试的通用语言。带着这些理解再踏入纷繁复杂的现代测试工具世界你将拥有更清晰的学习路径和更深刻的洞察力知道每一个新工具、新框架本质上是在解决什么老问题或者提供了什么更优的解决方案。这才是从“安装”到“入门”再到“精通”的完整路径。

相关新闻

Electron桌面应用开发入门:从零构建跨平台应用

Electron桌面应用开发入门:从零构建跨平台应用

1. 项目概述:为什么是Electron?如果你是一个前端开发者,或者对Web技术栈(HTML、CSS、JavaScript)比较熟悉,同时又想把手里的网页变成一个能安装在用户电脑上的独立应用,那么Electron几乎是你绕不…

2026/8/8 7:12:58 阅读更多 →
Spring Boot 4.0与JDK 26适配实战指南

Spring Boot 4.0与JDK 26适配实战指南

1. 项目概述:Spring Boot 4.0与JDK 26的适配背景 Spring Boot 4.0作为Java生态中最重要的企业级框架升级,其与JDK 26的适配绝非简单的版本号变更。这次升级背后是Java模块化系统的深度整合、虚拟线程(Loom项目)的正式落地&#xf…

2026/8/8 7:11:58 阅读更多 →
MapStruct 概念、基本用法与使用场景详解

MapStruct 概念、基本用法与使用场景详解

1. MapStruct 是什么?MapStruct 是一个专门帮你在 Java 对象之间“自动搬家”数据的工具。想象一下,你有一个“用户”对象(比如从数据库查出来的),里面有很多字段(id、名字、邮箱、创建时间等)&…

2026/8/8 7:11:58 阅读更多 →

最新新闻

Barlow字体家族选择指南:3个步骤帮你优化空间利用与阅读体验

Barlow字体家族选择指南:3个步骤帮你优化空间利用与阅读体验

Barlow字体家族选择指南:3个步骤帮你优化空间利用与阅读体验 【免费下载链接】barlow Barlow: a straight-sided sans-serif superfamily 项目地址: https://gitcode.com/gh_mirrors/ba/barlow Barlow是一款现代无衬线字体家族,以其圆润的边缘、低…

2026/8/8 15:55:20 阅读更多 →
Windows 7系统下Camtasia Studio 9完整安装与优化指南

Windows 7系统下Camtasia Studio 9完整安装与优化指南

1. 项目概述:为什么在Windows 7上安装Camtasia Studio 9仍有价值? 你可能觉得奇怪,现在都什么年代了,怎么还有人折腾在Windows 7上装一个老版本的Camtasia Studio 9?作为一个从Camtasia 3.0时代就开始用它录屏、剪辑的…

2026/8/8 15:55:20 阅读更多 →
Unity游戏集成Qwen3-ASR-0.6B实现本地语音控制方案

Unity游戏集成Qwen3-ASR-0.6B实现本地语音控制方案

1. 项目概述:当Unity游戏遇见Qwen3-ASR-0.6B 最近在做一个独立游戏项目,想给玩家增加点不一样的交互体验,比如用语音直接控制角色移动、释放技能。市面上现成的Unity语音插件要么识别率感人,要么对中文支持不好,要么就…

2026/8/8 15:55:20 阅读更多 →
Unity集成科大讯飞语音识别SDK:从零实现免费智能语音交互

Unity集成科大讯飞语音识别SDK:从零实现免费智能语音交互

1. 项目概述:为什么要在Unity里折腾语音识别? 如果你正在用Unity开发游戏、教育应用、VR/AR体验,或者任何需要用户交互的软件,还在用传统的鼠标点击、键盘输入或者手柄操作,那可能就有点“落伍”了。不是这些方式不好&…

2026/8/8 15:55:20 阅读更多 →
泰文Unicode编码与排版规则实战指南:解决乱码、排序与显示难题

泰文Unicode编码与排版规则实战指南:解决乱码、排序与显示难题

1. 项目概述:为什么需要一份“活”的泰文Unicode指南 如果你处理过泰文文本,无论是开发一个支持泰语的网站、App,还是处理一份来自泰国的数据报表,大概率都踩过一些“坑”:明明在编辑器里显示正常的泰文,复…

2026/8/8 15:55:20 阅读更多 →
【Python实时盯盘与预警 #06】一天 500 次额度不够用?批量接口一次拉 20 只,省 95% 额度

【Python实时盯盘与预警 #06】一天 500 次额度不够用?批量接口一次拉 20 只,省 95% 额度

你要是从本系列第一篇跟着写到现在,手里应该攒了几个盘中监控脚本——自选股轮询、涨跌幅告警、涨停池、炸板预警、盘口分析。然后问题来了: 一天 500 次免费额度,到底够不够? 假设 20 只自选,盘中每 5 分钟刷一次&a…

2026/8/8 15:54:19 阅读更多 →

日新闻

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

当下AI应用飞速普及,无数企业下场搭建智能体系统,可落地阶段难题接踵而至:上下文无限堆积频繁爆栈、AI工具调用准确率低下、Token成本居高不下、企业数据权限混乱暗藏安全隐患……很多团队卡在架构搭建环节,空有前沿技术概念&…

2026/8/8 0:00:07 阅读更多 →
PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码 【免费下载链接】php-qrcode A PHP QR Code generator and reader with a user-friendly API. 项目地址: https://gitcode.com/gh_mirrors/ph/php-qrcode 在当今数字时代,二维码已…

2026/8/8 0:00:08 阅读更多 →
UniApp微信小程序隐私保护组件开发:从原理到实战

UniApp微信小程序隐私保护组件开发:从原理到实战

1. 项目缘起:为什么我们需要一个隐私保护通用组件?最近在维护一个基于uniapp开发的微信小程序矩阵时,我遇到了一个非常棘手的问题。随着平台对用户隐私保护的要求越来越严格,几乎每一个新版本发布,或者在某些特定机型&…

2026/8/8 0:00:08 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/8 8:58:26 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/7 23:24:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/7 17:02:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/7 23:54:54 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/7 17:02:36 阅读更多 →