本来没打算专门写一期月度汇总,但这个月后台私信和技术群里讨论的内容实在有点杂:有人问Playwright到底能不能替代Selenium,有人在工控群里贴出“自动化许可证管理器(0086:000300)找不到许可证”的报错截图,还有人被跨境电商多平台订单抓取的工作流折腾到凌晨。把这堆消息放在一起看,其实正好串成了一张自动化与工控领域的技术热点图——从自动化测试框架、接口自动化,到工控国产化平台、工控安全标准,再到Ansible运维自动化和RPA工作流,覆盖面比我上个月预想的宽不少。这篇就按我自己的关注顺序,把6月值得留意的资讯和实操经验整理出来,给做自动化测试、工控开发、运维自动化的朋友做一份速查参考。
1. 本月自动化与工控领域的整体动向
1.1 自动化测试依然是讨论热度中心
6月多个技术社区和群里出现频率最高的关键词,依然集中在接口自动化、UI自动化、自动化测试框架这三大块。不过细看大家讨论的具体内容,和前一两个月已经有了明显区别。接口自动化不再只是“发一个请求、断言一个状态码”这么简单,大家开始关心数据驱动怎么设计、不同环境怎么自动切换、断言粒度如何把握、失败日志怎么收敛才能快速定位问题。
UI自动化这边,Selenium的老牌地位还在,但Playwright和Cypress的讨论量明显上升,尤其是Playwright,几乎每个自动化测试话题下面都有人提起。很多人已经在盘算要不要把老项目从Selenium迁到Playwright,但又担心迁移成本和脚本重写的风险。这个月我看到的共识是:新项目可以直接考虑Playwright,老项目则要按模块逐步替换,不要一次性推倒重来。
1.2 工业控制与工控安全进入更多人的视野
与互联网测试开发岗位的关注点不同,工控圈子这个月的讨论更多集中在工控安全、标准规范和软件授权问题上。很多做PLC、SCADA、HMI项目的朋友开始交流怎么对OT资产做盘点,怎么对工控网络做分区隔离,参考哪些国际通行的工业网络安全标准来指导安全加固。能感受到工控安全正在从“安全部门单独关心”变成“现场工程师也要懂”的基础能力。
另一个高频问题是西门子博途、WinCC等工控软件环境下的授权管理器报错,尤其是一条“0086:000300”找不到许可证的提示,几乎每隔一段时间就会有人截图来问。虽然不算新技术问题,但每年都有新入行的人在这里卡住,后续我会单独写排查思路。
1.3 从热词里读出的技术趋势
如果把这个月出现较多的热搜词做一次简单归类,能看到三个明显趋势。
- 自动化测试开始和AI能力结合,Claude UI自动化测试、Codex生成代码、AI语义断言这类词条频繁出现;
- 工控方向更关注国产硬件平台和标准合规,龙芯2K3000与轨道交通AFC系统、工控安全相关标准成为典型话题;
- 自动化运维与RPA的边界在变模糊,Ansible自动化运维项目和跨境电商多平台订单抓取这类RPA工作流被同一批人同时关注。
这些趋势说明自动化正在从单一工具使用,走向平台化、智能化和合规化。别小看这种变化,它直接影响下一步的技术选型方向。
2. 工业控制与国产化平台热点
2.1 龙芯2K3000与轨交AFC系统的国产化实践
轨道交通AFC系统,也就是自动售检票系统,是国产化工控平台一个很有代表性的落地场景。闸机、售票机、自助终端这些设备,核心工作无非是扫码、读写票卡、控制门禁、联网对账,听起来不复杂,但有一个硬性要求:7x24小时稳定运行,响应时间必须控制在很窄的范围内,而且设备生命周期可能长达五到十年。
龙芯2K3000这类面向工控嵌入式场景的SoC,优势在于外围接口齐全,串口、CAN、USB、网口都能直接引出,算力也足够跑AFC终端的业务逻辑。真正决定项目能不能落地的不只是CPU本身,而是三件事:操作系统的BSP是否完善、外设驱动是否齐全、协议栈有没有现成支持。以AFC闸机为例,第一步应该先梳理外设清单,二维码扫码器、NFC读写模块、显示屏、钱箱、门控IO、以太网口各自需要什么接口;第二步到开发板上逐个验证驱动兼容性;第三步做性能摸底,在真实业务负载下看CPU占用、IO响应抖动和长时间运行稳定性。
我在看这类项目时有个习惯:不要只盯芯片主频,要重点问BSP里的内核版本、有没有实时性补丁、GPIO和串口控制库是否开放,以及上游社区是否活跃。国产平台最大的坑往往不是芯片算力,而是外围生态不成熟,外设驱动和工控协议栈反而会耗费大量时间。
2.2 工控安全里的标准规范与许可证管理
企业做工控安全建设时,经常会提到IEC 62443等系列标准。这个体系的核心思路是分区隔离、纵深防御,把工控网络划分成不同的安全区域,在各区域之间做好访问控制和流量监控。落地到具体项目,常用动作包括资产盘点、网络分区、协议白名单、日志审计、补丁管理。需要提醒的是,标准规范是指导性的,落地时必须结合工艺连续性要求,不能因为安全策略而影响正常生产节拍。
这个月被问最多的实操问题,还是“自动化许可证管理器(0086:000300)找不到许可证”。这个报错在博途、WinCC等西门子工控软件里非常典型,我的排查顺序如下。
- 先确认授权类型,是单机授权还是网络浮动授权;
- 单机授权就检查系统时间、授权管理器服务状态、授权文件路径;
- 网络授权先ping授权服务器,再确认授权通信端口是否可达;
- 打开授权管理器看能否识别到授权,识别不到就先重装授权管理器;
- 如果刚更新过系统补丁或安全软件,还要检查授权文件有没有被误清理。
这个报错里,大概率是系统时间不对、授权路径被改动、授权服务没有启动这三个原因。还有一点必须强调:不要图省事去找非正规工具绕过授权检查,工控软件授权一旦出问题会直接影响产线,合规使用才是唯一可靠的路。
2.3 工控项目选型心得
做工控项目选型,多数人第一反应是看CPU主频,但工控场景更该关注的是外围指标。
- 接口数量是否够用,串口、CAN、网口、USB各要预留多少;
- 协议栈是否齐备,Modbus、CANopen、Profinet这些常用协议有没有现成SDK;
- 设备是否支持宽温和无风扇设计,轨交、户外机柜对温度容忍度要求很高;
- 供货周期和设备生命周期是否匹配,很多设备要稳定供应五到十年,中途换方案代价极高。
我这里还有一个实操建议:拿样机把实际业务程序跑上48小时,重点关注内存占用趋势、CPU使用率、IO抖动和长时间运行后的稳定性。这种压力摸底比单纯跑benchmark有价值得多,能提前暴露很多“宣传参数好看但实际扛不住”的问题。
3. 自动化测试与软件工具链动态
3.1 从Selenium到Playwright:浏览器自动化测试怎么选
6月好几个技术群的争论焦点是“要不要从Selenium迁到Playwright”。我自己的看法是,新项目优先考虑Playwright,老项目按模块逐步替换,不要一股脑全量迁移。先看一张简单对比表。
| 工具 | 优势 | 需要注意的地方 |
|---|---|---|
| Selenium | 生态老、支持语言多、老项目兼容性好 | 需要额外管理浏览器驱动,等待逻辑较弱 |
| Playwright | 自动等待、多上下文、Trace Viewer、代码生成 | 社区相对年轻,部分老插件需要适配 |
| Cypress | 上手快、调试体验好、文档友好 | 多标签页和iframe支持需要额外处理 |
Playwright让我最舒服的一点是自动等待机制,再也不用在代码里到处塞sleep。比如下面这个登录用例,页面跳转、按钮可点、元素出现都会自动等待,代码干净很多。
from playwright.sync_api import sync_playwright def test_login(page): page.goto("https://example.com/login") page.fill("#username", "test_user") page.fill("#password", "123456") page.click("button[type='submit']") page.wait_for_selector(".dashboard") assert page.locator(".user-name").inner_text() == "test_user"这段代码里没有一处time.sleep,但基本不会出现元素还没加载完就报错的问题。从Selenium迁移过来时,有个经验值得记住:不要试图一次性重写所有旧脚本,先挑最核心、最常用、最容易出问题的20%用例做试点,验证稳定性之后再逐步扩展。另外要注意,公司内网环境可能需要提前确认浏览器安装和依赖拉取的网络策略。
3.2 接口自动化框架:pytest + requests + 数据驱动
接口自动化的标准套路其实已经非常成熟,这个月大家讨论的更多是工程化细节。一个相对完整的框架通常包含这几层:
- 请求封装:用requests.Session统一管理cookies、超时、重试逻辑;
- 用例管理:用pytest组织用例,配合fixture处理前置和后置;
- 数据驱动:把测试数据放到yaml、json或Excel里,一个用例跑多组数据;
- 断言封装:不只断言HTTP状态码,还要断言业务码和关键字段;
- 报告输出:集成Allure或者pytest-html,方便查看失败详情。
热词里有一个“python接口自动化如何自动切换环境”,这是很多团队都会遇到的诉求。最简单的方式是在conftest.py里读取环境变量,把不同环境的地址维护成字典。
import os import pytest @pytest.fixture(scope="session") def base_url(): env = os.getenv("TEST_ENV", "dev") urls = { "dev": "https://dev-api.example.com", "staging": "https://staging-api.example.com" } return urls[env]这样在本地跑默认用dev环境,在CI里只需要设置TEST_ENV=staging,所有用例就会自动切到预发布环境。断言方面我也想多说一句:断言越具体越好,尽量校验业务字段而不是只检查返回码,同时失败信息里一定要带上响应体,否则出问题还要翻日志,定位效率会低很多。
3.3 App自动化与手机端自动化测试
App自动化这个月的讨论热度不低,核心工具还是Appium和Airtest。Appium适合跨平台、复杂手势、混合应用测试,Airtest的图像识别在游戏App和嵌入式设备测试里效率更高。真机群管理是另一个大坑,USB连接不稳定、设备离线、权限弹窗反复出现,都会让自动化脚本变脆。
一个小技巧是:同一网段的设备可以用adb无线连接统一管理,提前把App首次启动的权限弹窗处理脚本固化到用例里,能省掉大量“偶发失败”。另外,看到AutoJS这类工具出现在热搜里,我多提醒一句:这类脚本工具用来做个人设备自动化、辅助日常操作没有问题,但不要拿去做批量营销、刷量之类的灰色用途。轻则账号被限制,重则要承担法律风险,完全不值得。
3.4 AI辅助测试的趋势观察
这个月讨论较多的还有AI自动生成测试脚本,包括Claude UI自动化测试、Codex生成pytest用例等方向。我试用下来的感受是,AI目前最适合做三件事:根据需求描述自动补基础用例、分析失败日志并定位大概率原因、给页面元素补充可读性更高的定位标签。
但AI还不适合直接全自动维护一套大型测试工程,尤其是涉及复杂业务状态流转和跨系统数据校验时,AI生成的断言经常会忽略边界条件。比较稳妥的用法是把AI当成一个结对工程师,它给初稿、你来做审查和补强。实际落地时,可以试着让AI先把中文需求转成测试用例列表,再转成pytest框架代码,你会发现它能帮你省掉很多重复劳动,但最终稳定性还是要靠人来把关。
4. 自动化运维与RPA工作流新思路
4.1 Ansible与自动化运维项目落地
Ansible在自动化运维里的地位一直很稳,这个月关键词里“Ansible自动化运维项目”再次出现。它之所以流行,核心原因是无代理架构,基于SSH就能跑,学习和部署成本都比较低。实际落地建议分四步走。
- 先做资产梳理和Inventory分组,把生产、测试、不同业务线的主机分清楚;
- 再写Playbook处理基础配置,比如系统参数、用户权限、软件安装;
- 然后用Roles把任务按职责拆开,方便复用和维护;
- 最后接入CI/CD或AWX,做定时巡检、配置变更和回滚。
热词里还有一个“AI Agent Harness自动化运维”,这是偏前沿的方向:用大模型读取运行日志、判断是否需要回滚、生成修复命令。我的态度是它可以当辅助工具,但现阶段不建议让它全自动操作生产环境。最稳妥的用法是AI给出建议,人审批通过后再执行,既能享受效率提升,又能避免误操作。
4.2 WorkBuddy与跨境电商多平台订单抓取工作流
跨境电商多平台订单抓取一直是RPA的典型场景。如果你只有一个店铺,每天定时登录后台采集订单,用浏览器自动化就能解决;如果店铺数量多,平台接口肯定是首选,RPA只做兜底。一个通用工作流大致是这样的:
- 先确认每个平台是否提供开放API、令牌额度和消息推送机制;
- 能走API的优先走API,不能覆盖的页面再用RPA浏览器自动化补全;
- 数据落库前做去重和订单状态映射,避免重复和错乱;
- 统一生成对账单,推送到企业微信、钉钉或邮件。
以WorkBuddy为代表的可视化RPA平台,核心价值是把步骤编排成流程图,不写代码也能跑通基础流程。但订单抓取最怕的不是登录失败,而是页面结构悄无声息地变化。所以每个采集步骤都要加字段级校验和异常告警,一旦发现抓取数量或字段内容和预期不符,立刻通知人工介入。
4.3 Excel工作流自动化与AI辅助
问到最高频的还有“如何用AI建立自动化Excel工作流”,很多不是程序员出身的朋友,也想让日报、对账、报表合并这些重复工作自动跑起来。这里给一条最容易上手的路线。
第一步,把重复操作拆开:你是要从多个Excel里读数据做合并,还是要做格式统一,或者是生成图表;第二步,优先用Python加pandas、openpyxl写脚本,而不是去录制宏,因为宏在数据格式变化时维护成本很高;第三步,让AI帮你写初版代码,但一定要在样本数据上完整跑一遍,确认结果无误再做全量执行;第四步,把脚本接到定时任务或文件监视器上,实现“文件一放进去就自动处理”。
举个例子,合并多个分店的销售Excel,pandas读取目录下所有文件,concat之后按月份groupby汇总,再写回结果表,二十多行代码就能搞定。真正的难点往往在数据清洗环节,比如表头不一致、空值处理、编码问题。AI能帮你写八成代码,剩下两成的数据判断需要你根据业务规则去把关。
5. 常见问题与排查技巧实录
5.1 自动化脚本最常见的“隐形杀手”
这个月在各个群里帮人看脚本,发现很多问题其实是相似的。我把最常见的几类原因整理成一张速查表。
| 现象 | 常见原因 | 处理思路 |
|---|---|---|
| 脚本本地稳定、CI随机失败 | 并发冲突、测试数据相互污染 | 控制用例并行度,保证数据隔离 |
| 元素定位偶尔失败 | 动态ID、动态类名或加载时序 | 用显式等待和稳定定位属性 |
| 进入不了页面内部元素 | iframe、Shadow DOM上下文问题 | 先切换到对应上下文再定位 |
| 断言偶发失败 | 断言粒度过粗或过细 | 只断言关键业务字段 |
| 下载文件出现异常 | 浏览器下载行为不一致 | 统一配置下载路径并做超时处理 |
一个反复出现的经验是:如果脚本本地没问题、上了CI就随机失败,建议先查并发和资源竞争,再看等待时间,最后看测试数据独立性。很多人一上来就加大time.sleep,只会把问题盖住,并不能根治。
5.2 工控软件许可证与环境的排查思路
前面提到“自动化许可证管理器(0086:000300)找不到许可证”在工控软件里很常见,我这里展开说下排查步骤。
- 确认授权类型是单机授权还是网络浮动授权,这决定了后续排查方向;
- 单机授权检查系统时间,时间漂移是最容易忽略的原因;
- 检查授权文件路径是否被改动,环境变量是否指向旧路径;
- 在Windows服务里确认授权管理器服务是否启动,相关服务没起来就手动拉起;
- 网络授权先ping授权服务器地址,再确认端口通不通;
- 如果刚更新过安全软件或系统补丁,检查授权文件是否被误清理,必要时加入白名单。
我见过不少案例,最后查下来只是系统时间被改快了几个小时,授权管理器就认为授权失效了。排查时不要一上来就重装软件,先按上面的顺序逐项验证,大多数情况十分钟内能定位。
5.3 月更博主的一点真实避坑建议
我做月度汇总有个习惯,会把本月遇到的问题按环境类、代码类、数据类分成三堆,然后为每一个问题浓缩出一句可执行的处理方法。比如“授权报错先看系统时间”“CI随机失败先查数据隔离”“元素定位不稳定优先找data-testid”。这句话可以写进团队文档,也可以贴在工位上,下次再遇到同类问题就能快速反应。
还有一个小技巧想分享给所有人:做自动化项目,不管测试还是运维,一定要在最开始记录好“环境指纹”,包括操作系统版本、浏览器版本、Python或Java版本、依赖锁文件、中间件版本。很多看起来诡异的问题,最后都逃不开版本漂移这四个字。环境信息一致了,问题基本就解决了一半。