自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(184)
  • 收藏
  • 关注

原创 JDK 11 环境正确,端口未被占用,但是运行 Tomcat 11 仍然闪退

Tomcat 11闪退问题通常与JDK版本不兼容有关。经分析,Tomcat 11要求JDK 17及以上版本,而用户使用的JDK 11无法满足要求。解决方案包括: 升级到JDK 17+(推荐方案) 降级使用Tomcat 10.1.x(若必须使用JDK 11) 此外,针对启动日志乱码问题,可通过修改Tomcat的logging.properties文件注释掉UTF-8编码设置解决。用户最终选择降级至Tomcat 9.0版本成功运行。

2025-11-01 21:55:26 785

原创 针对单元测试、集成测试、系统测试和验收测试(用户测试)各自的目标和测试内容不同,设计对应的各类测试用例

摘要:本文以用户登录模块为例,详细阐述了软件测试四个层级的测试用例设计方法。单元测试聚焦函数内部逻辑(如密码验证);集成测试验证模块间协作(如数据库交互);系统测试检查完整功能(如跨浏览器兼容性);验收测试从用户视角评估可用性(如响应时间)。通过具体测试用例展示不同层级的测试重点,体现从代码实现到用户体验的完整测试策略。该案例为软件测试实践提供了清晰的参考框架。

2025-09-25 23:44:50 1645 1

原创 我的创作纪念日

一晃眼,在优快云创作已经整整5年了。回首这段时光,从最初的忐忑试水到如今的习惯使然,代码与文字共同编织了我技术成长道路上最独特的记忆。

2025-09-25 20:45:19 748

原创 解决Allure报告CORS策略报错

摘要:Allure报告本地打开时因CORS政策导致加载失败。解决方法是在生成报告时添加--single-file参数(需Allure CLI≥2.20),将报告打包成单一HTML文件。具体步骤:1)运行测试并收集结果;2)使用--single-file生成报告;3)直接双击打开HTML文件即可正常浏览。该模式适合本地使用,但数据量大时加载较慢,在线展示仍需普通模式部署到Web服务器。

2025-09-14 19:45:05 397

原创 从pycharm中拉取gitee中的仓库代码

本文介绍了如何在PyCharm 2023.3.5版本中从Gitee拉取仓库代码的详细步骤:首先通过Git->Clone打开版本控制窗口,输入仓库URL并选择本地存储位置;然后完成账号认证并信任项目;最后选择打开方式等待项目加载完成即可。整个过程包含6个关键步骤,并配有操作界面截图说明,帮助用户顺利完成代码拉取工作。

2025-09-14 19:32:11 544

原创 用Android studio运行海外极光推送engagelab安卓的SDK打apk安装包

本文介绍了EngageLab海外极光推送SDK的集成流程。首先需下载SDK并导入Android Studio,在解决Gradle同步、JDK版本兼容、网络依赖下载等问题后,完成项目构建并生成APK。重点包括:1) 配置国内镜像源解决依赖下载问题;2) 调整Gradle和AGP版本确保兼容性;3) 安装对应Android SDK版本。最后通过测试机获取注册ID进行推送验证,确认推送功能正常运作。文中提供了详细的错误排查方法和配置修改指引,帮助开发者顺利完成集成。

2025-09-06 22:24:15 1270

原创 使用Spring Boot DevTools快速重启功能

Spring Boot DevTools 可实现代码热重启,减少开发时手动重启的耗时。配置步骤:1)添加依赖;2)IDEA 开启自动编译;3)应用配置中启用热重启。修改代码后保存即可触发秒级重启,静态资源更改无需重启,仅需刷新浏览器。注意:修改配置文件或pom.xml仍需手动重启。该工具通过类加载器机制实现快速重启,显著提升开发效率。

2025-09-06 19:19:53 498 2

原创 静态页面部署到github pages后修改代码提示There was an error committing your changes: File could not be edited

摘要 GitHub Pages 部署静态网站时,网页端修改文件可能遇到 "File could not be edited" 错误,原因是 发布状态下的文件锁定。快速解决:临时关闭 Pages 的发布(切换 Source 为 None),修改后恢复即可。适用于 开发调试(本地 vite dev)、发布上线(推 gh-pages 分支)和 紧急热修(暂停 Pages 再编辑)场景,实现零成本、高可用的跨平台应用分发页。

2025-08-12 21:04:54 670

原创 实现一个二维码让 iOS 和 Android 用户自动跳转到对应下载链接

摘要: 本文介绍了一种纯前端解决方案,通过一个二维码实现iOS和Android用户自动跳转对应应用下载链接。核心思路是利用中间跳转页检测设备类型,Android跳转蒲公英/CDN,iOS尝试拉起TestFlight(失败显示手动按钮)。方案包含设备判断、URL Scheme处理、动画交互等实现细节,采用Tailwind CSS优化界面,支持GitHub Pages部署。该方案将安装转化率提升30%,并解决了iOS Safari跳转限制、微信内禁外链等常见问题。完整代码已开源,可快速复用调整。

2025-08-12 20:54:39 1815

原创 WARNING: Illegal reflective access by org.apache.ibatis.reflection.Reflector

摘要:切换开发环境后出现程序报错,主要涉及MyBatis框架的反射访问警告和数据库连接异常。错误日志显示数据库连接验证失败,最终定位到问题根源是mybatis-config.xml配置文件中指定的环境ID不存在。修改为正确的环境ID后,程序成功运行。该问题表明环境配置变更时需要仔细检查相关配置文件的一致性。

2025-08-06 20:49:27 260

原创 错误: 找不到或无法加载主类 原因: java.lang.ClassNotFoundException

Java文件因位于模块源根目录外导致无法编译运行,报"找不到主类"错误。解决方法:1)将文件移至标准源根目录(如src/main/java);2)右键目录标记为Sources Root;3)检查模块配置确保源根设置正确。解决时需注意保持package声明与目录结构一致,建议遵循Maven/Gradle标准目录结构。实际操作中通过标记源根目录并重新编译后问题解决。

2025-08-02 18:49:01 941

原创 UnavailableInvalidChannel: HTTP 404 NOT FOUND for channel simple <https://pypi.tuna.tsinghua.edu.cn/

摘要:在PyCharm中安装PyMySQL包失败,初步排查是镜像源问题。添加中科大镜像源后仍报错,日志显示清华源URL无法访问(HTTP 404)。通过移除无效的清华源频道conda config --remove channels https://pypi.tuna.tsinghua.edu.cn/simple解决问题。注意conda和pip镜像源地址不同,建议使用有效镜像源或官方源。最终成功安装PyMySQL包。

2025-07-26 17:14:28 556

原创 使用Python脚本动态获取最新生成的测试报告并通过QQ邮箱发送带测试报告附件的邮件

想在Jenkins自动构建项目执行测试后自动将测试报告发送给邮箱,参照[菜鸟教程](https://www.runoob.com/python/python-email.html)编写对应的代码,因为我的测试报告是按时间戳生成的,因此加入了将附件路径改为动态获取最新生成的HTML文件的代码

2025-04-14 00:24:34 561

原创 Selenium WebDriver打开浏览器闪退可能是驱动版本与浏览器版本不匹配导致的

This version of Microsoft Edge WebDriver only supports Microsoft Edge version 133 当时的驱动是133的。Current browser version is 135.0.3179.73 目前的浏览器是135的。运行不久前编写的web自动测试项目的代码时,出现了打开浏览器闪退的问题。在测试报告在中查看报错详情发现是驱动版本与浏览器版本不匹配导致的。再次执行代码,成功输出测试报告。解压zip替换原来的驱动。中重新下载对应的驱动。

2025-04-14 00:23:09 560

原创 Spring MVC 中<mvc:resources> 的两种配置中,`classpath:/static/`和`/static/`有什么不同

Spring MVC 中,<mvc:resources> 的两种配置中,`classpath:/static/`和`/static/`有什么不同

2025-04-01 00:14:38 536

原创 通过动态获取项目的上下文路径来确保请求的 URL 兼容两种启动方式(IDEA 启动和 Tomcat 部署)下都能正确解析

通过检查并确保 contextPath 的正确性和末尾的斜杠,能够确保无论是在本地开发环境还是在生产环境中都能正确发起请求。

2025-04-01 00:09:21 1217

原创 针对 Maven 管理的SSM项目编写Ant 的 `build.xml` 模板,支持依赖管理、编译、打包 WAR 文件及部署到 Tomcat。

针对 Maven 管理的SSM项目编写Ant 的 `build.xml` 模板,支持依赖管理、编译、打包 WAR 文件及部署到 Tomcat。

2025-04-01 00:08:01 779

原创 华为机试牛客刷题之HJ58 输入n个整数,输出其中最小的k个

第二行输入 n 个整数 a1 ,a2 ,…,an (1≦ai ≦10^4 ) 代表给定的数字。第一行输入两个整数 n,k(1≦n≦1000;对于输入的 n 个整数,升序输出其中最小的 k 个。在一行中升序输出最小的 k 个整数。升序排序后取前k个是对的。

2025-03-24 21:58:15 305

原创 华为机试牛客刷题之HJ59 找出字符串中第一个只出现一次的字符

对于给定的字符串,找出第一个只出现一次的字符。如果不存在,则输出 −1。

2025-03-24 21:07:35 638

原创 华为机试牛客刷题之HJ5 进制转换

在本题中,十六进制数的格式为:0x 开头,后跟若干个十六进制数字( 0-9 和 A-F )。其中,A-F 依次代表 10−15。思路是用switch语句处理每个字符的值,从0到F,每个对应的数值乘以16的指数次方,累加到sum中。保证 s 转化得到的十进制数 x 的范围为 1≦x≦2^31 −1。在一行上输入一个十六进制数 s ,代表待转换的十六进制数。在一行上输出一个整数,代表 s 对应的十进制数。对于给定的十六进制数,输出其对应的十进制表示。处理大小写字母、避免精度丢失和整数溢出。

2025-03-15 20:26:55 642

原创 华为机试牛客刷题之HJ14 字符串排序

思路是读取输入的多行字符串,首行为数字表示后续字符串数量,剩余行存入数组。从字符串的第一个字符开始逐个比较,直到找到第一个不同的位置,通过比较这个位置字符对应的(A<⋯<Z<a<⋯<z )得出字符串的大小,称为字典序比较。此后 n 行,每行输入一个长度 1≦length(s)≦100 ,由大小写字母混合构成的字符串 s ,代表一个单词。对于给定的由大小写字母混合构成的 n 个单词,输出按字典序从小到大排序后的结果。输出 n 行,每行输出一个字符串,代表排序后的结果。第一行输出字典序最小的单词。

2025-03-10 22:24:18 352

原创 华为机试牛客刷题之HJ40 统计字符

字符串由 ASCII 码在 32 到 126 范围内的字符组成。思路是使用正则表达式来替换不需要的字符,然后通过 length() 来计算各类字符的数量。对于给定的由可见字符和空格组成的字符串,统计其中英文字母、空格、数字和其它字符的个数。在一行上输入一个长度为 1≦length(s)≦1000 的字符串。第一行输出一个整数,代表字符串中英文字母的个数。第四行输出一个整数,代表字符串中其它字符的个数。第二行输出一个整数,代表字符串中空格的个数。第三行输出一个整数,代表字符串中数字的个数。

2025-03-10 22:12:12 349

原创 华为机试牛客刷题之HJ60 查找组成一个偶数最接近的两个素数

思路是先通过 for 循环检查 n 是否能被 2 到 sqrt(n) 范围内的数整除。寻找小于 k 的所有素数。然后使用双指针法寻找和为 k 的素数对,并且选择差值最小的那一对素数。我们可以证明,a,b 一定存在,从小到大输出满足条件的素数对。输入一个整数 n(4≦n≦10^3 )。第一行输出一个整数 a,代表满足条件的素数对中的较小者。第二行输出一个整数 b,代表满足条件的素数对中的较大者。

2025-03-10 22:05:58 385

原创 华为机试牛客刷题之HJ10 字符个数统计

对于给定的字符串,统计其中的 ASCII 在 0 到 127 范围内的不同字符的个数。思路是通过遍历字符串的每个字符,并将其添加到HashSet中,集合会自动处理重复字符。

2025-03-10 21:13:03 254

原创 华为机试牛客刷题之HJ87 密码强度等级

是检查整个字符串是否只包含一个数字,这可能不符合实际需求,应该检查是否有至少一个数字,并且数字的数量是否多于一个。比如,正确的做法应该是统计数字的数量,而不仅仅是是否存在。”`,这表示整个字符串只有一个字符,并且是特殊字符,这可能不符合实际需求,应该是检查至少存在一个特殊字符,并且数量多于一个时加分更多。以下是优化后的代码。10 分:密码里的字母全都是小(大)写字母。(ASCI码:0x21-0x2F)(ASCI码:0x3A~0x40)(ASCI码:0x5B-0x60)(ASCI码:0x7B-0x7E)

2025-03-02 17:53:19 975

原创 华为机试牛客刷题之HJ100 等差数列

思路是直接用等差数列求和公式,如果不记得可以推导出来,实在没印象的话可以用循环把每一项加起来。对于首项为 2,公差为 3 的等差数列,求前 n 项的和。输入一个整数n (1 ≦n≦ 103)输出一个整数,代表前n 项的和。

2025-03-02 01:08:57 261

原创 华为机试牛客刷题之HJ85 最长回文子串

对于每个中心,分别判断奇数长度回文(中心为单个字符)和偶数长度回文(中心为两个字符之间)。不过我一开始只考虑了偶数长度的回文,漏掉了奇数的。在一行上输入一个长度为 1 ≤ len(s)< 350、仅由小写字母构成的字符串 s。子串为从原字符串中,连续的选择一段字符(可以全选、可以不选)得到的新字符串。一个字符串被称作回文串,当且仅当这个字符串从左往右读和从右往左读是相同的。对于给定的由小写字母构成的字符串 s,求出其最长回文子串的长度。输出一个整数,表示字符串s的最长回文子串的长度。

2025-02-28 22:42:21 593

原创 华为机试牛客刷题之HJ86 求最大连续bit数

思路是先使用除以 2 的方式将十进制数转换为二进制数;再将二进制字符串转换为StringBuffer,然后逐个字符处理;用单个变量记录前一个状态。对于给定的十进制整数n,求解其二进制表示中,最长连续1 段的长度。输出一个整数,表示n 的二进制表示中,最长连续1 段的长度。输入一个十进制整数„(1 ≦n≦5x 105)

2025-02-27 00:46:51 230

原创 代码随想录之1143.最长公共子序列

在做完[华为机试牛客刷题之HJ75 公共子串计算](https://blog.youkuaiyun.com/seabirdssss/article/details/145889505)后发现了1143.最长公共子序列,看了代码随想录的视频解释后还是不能理解`dp[i][j] = Math.max(dp[i-1][j], dp[i][j-1]);`这段代码,于是把代码喂给deepseek后根据深度思考内容得到了理解,在这里分享一下:

2025-02-26 22:07:54 1057

原创 华为机试牛客刷题之HJ75 公共子串计算

如果字符串 α 的一个子串 a’与字符串b的一个子串b 完全相等,那么子串 α’,b’是字符串a,b的一个公共子串。第一行输入一个长度为 1 <= len(s)<= 150、仅由小写字母组成的字符串 s。第二行输入一个长度为 1 <= len(t)<= 150、仅由小写字母组成的字符串 t。子串为从原字符串中,连续的选择一段字符(可以全选、可以不选)得到的新字符串。对于给定的两个字符串s和t,你需要找出它们的最长公共子串的长度。输出一个整数,代表s和t的最长公共子串的长度。个字符和字符串2的第。

2025-02-26 21:55:57 1242

原创 华为机试牛客刷题之HJ76 尼科彻斯定理

观察实例可得出由连续奇数组成的数列中的数字个数是正整数 n,且第一个数是n+(n-1)^2;因此根据用户输入的整数 a,生成一个特定格式的数学表达式即可。尼科彻斯定理,又称为斐波那契数列定理,指的是对于任意正整数 n,存在一个由连续奇数组成的数列,使得该数列的和等于 n 的立方。在一行上输出一个字符串,用于描述这个数列中的元素从小到大相加的形式。现在,给定一个正整数”,请输出这个数列中的元素从小到大相加的形式。我们可以证明答案是唯一的。输入一个整数 n(1 ≤ n ≤ 100)代表需要输出的数列的和。

2025-02-25 22:40:34 492

原创 华为机试牛客刷题之HJ11 数字颠倒

对于给定的非负整数 n ,将其以字符串的形式颠倒后输出。这意味着,如果 n 的末尾含 0 ,那么返回的字符串开头也需要含 0。一样:和通过双指针(left 和 right)交换字符,完成字符串反转。在一行上输入一个非负整数 n(0≦n<2^30) 代表给定的整数。在一行上输出一个字符串,代表颠倒后的数字。

2025-02-25 21:46:17 321

原创 华为机试牛客刷题之HJ1 字符串最后一个单词的长度

描述对于给定的若干个单词组成的句子,每个单词均由大小写字母混合构成,单词间使用单个空格分隔。输出最后一个单词的长度。在一行上输入若干个字符串,每个字符串代表一个单词,组成给定的句子。除此之外,保证每个单词非空,由大小写字母混合构成,且总字符长度不超过。在一行上输出一个整数,代表最后一个单词的长度。示例1输入输出13说明在这个样例中,最后一个单词是"HelloNowcoder" ,长度为 13。示例2输入A B C D输出1**思路一:**使用正则表达式分割。

2025-02-25 21:23:53 444

原创 华为机试牛客刷题之HJ12 字符串反转

思路是用hasNextLine()来判断是否有下一行输入,接着读取每一行字符串。接下来,将字符串转换为字符数组charArray,然后使用双指针的方法,从两端开始交换字符,直到中间相遇。最后,将字符数组转换回字符串并输出。在一行上输入一个长度 1≦length(s)≦1000 ,仅由小写字母构成的字符串 s。对于给定的仅由小写字母构成的字符串 s,将其颠倒后输出。在一行上输出一个字符串,代表颠倒后的字符串。

2025-02-25 20:24:35 240

原创 浏览器开发者工具(F12)查看请求的响应体内容显示”无法加载响应数据: No resource with given identifier found“

在 SSM(Spring + Spring MVC + MyBatis)框架中,点击登录请求后返回 JSON 格式的数据,出现只有登录失败的请求才有响应值,比如:{success: false, message: "没有此用户", code: 400}而成功的请求只显示”无法加载响应数据: No resource with given identifier found“,直接跳转到index.html了的问题

2025-02-18 23:27:06 1640

原创 重构测试项目为spring+springMVC+Mybatis框架

成功后,由于项目结构有些乱,一部分代码好像也重复,于是打算重新重构以下该项目,这次先使用spring+springMVC+Mybatis框架。同时也修改了文件名(tabs–>templates),如果你也修改了记得将对应的代码也进行修改。由于老师给的是项目打包后的war包,代码都是.class文件,我们需要使用工具。将.class文件转换为.java文件,转换后将.java文件放入对应的包下。按ssm框架重新设计了目录结构,删除了一些重复代码。等下次有空再重构成springboot项目,加纳~

2025-02-17 23:42:38 880

原创 力扣_2389. 和有限的最长子序列

力扣_2389. 和有限的最长子序列给你一个长度为 `n` 的整数数组 `nums` ,和一个长度为 `m` 的整数数组 `queries` 。返回一个长度为 `m` 的数组 `answer` ,其中 `answer[i]` 是 `nums` 中 元素之和小于等于 `queries[i]` 的 **子序列** 的 **最大** 长度 。

2024-12-02 22:31:54 249

原创 力扣_876. 链表的中间结点

力扣_876. 链表的中间结点给你单链表的头结点 `head` ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。

2024-11-28 00:05:17 524

原创 力扣_125. 验证回文串

力扣_125. 验证回文串。解释:在移除非字母数字字符之后,短语正着读和反着读都一样。解释:“amanaplanacanalpanama” 是回文串。s 是一个空字符串 “”。输入:s = " "

2024-11-26 23:50:32 231

原创 力扣_删除排序链表中的重复元素 II

力扣_82. 删除排序链表中的重复元素 II。输入:head = [1,1,1,2,3]输出:[2,3]

2024-11-25 23:19:33 203

医药管理信息系统项目代码包

将学习自动化测试时的医药管理信息系统项目用idea运行(https://blog.youkuaiyun.com/seabirdssss/article/details/135329183#comments_36940628)这篇文章涉及到的代码包

2025-04-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除