
如果你正读自动化专业大二大三这个节点最焦虑的事情往往不是课业本身而是“我学了一堆数学和控制理论到底能做出什么东西”。我当年也有同样的困惑后来发现一个特别管用的解药自己动手做小项目。尤其是结合软件、脚本、开源工具的小项目不需要买昂贵的硬件一台普通电脑就能跑做完还能写进简历面试时直接演示比空谈理论有说服力得多。这篇内容我就围绕自动化专业本科生的动手场景聊聊哪些项目方向值得做、怎么做、会踩哪些坑。我尽量说得具体一点能直接照着操作的那种。1. 动手之前先算账自动化本科生该选什么方向的小项目先说个很多人会踩的坑一提到自动化专业第一反应就是去做小车、做四轴飞行器、做机械臂。这些方向确实很“自动化”但不是所有人都适合在课余时间做原因很现实。硬件成本不低一块像样的开发板加传感器、电机驱动、结构件几百上千块就出去了宿舍里还不一定摆得开。调试周期长硬件问题常常是玄学供电不稳、接触不良、时序不对任何一个环节都能耗掉你一整个周末。简历效果其实一般除非你做到电赛获奖级别否则一个“用STM32驱动直流电机”的项目在面试官眼里跟课程设计差别不大。我的建议是把范围收窄到软件层面的自动化也就是用代码让重复性工作自动完成让测试自动执行让流程自动流转。这类项目有三个无法拒绝的优势零硬件成本、见效快、能直接对口企业里的真实岗位需求。你看现在招聘网站上自动化测试、自动化运维、Python脚本开发这些岗位需求量大得惊人而且核心技能就是写脚本、搭框架、做平台全都可以靠课余项目练出来。那具体怎么选方向我推荐一个判断标准这个项目能不能在两周内做出第一版能跑的东西。如果两周还看不到成果说明范围太大了赶紧拆小。对本科生来说完美的第一个项目应该满足需求明确、技术栈常见、能独立完成、做完有可展示的成果。按这个标准我筛选了六个方向后面逐个展开Python日常脚本自动化让电脑自己干活。Web UI自动化测试用Selenium或Playwright模拟用户操作。接口自动化测试加持续集成搭一套完整的测试流水线。移动端自动化Appium或AutoFlow操作手机App。AI辅助自动化测试用大模型生成测试用例和定位元素。一个能讲清楚的项目文档和演示让项目真正成为简历上的加分项。这六个方向难度是递进的但也完全可以并行。如果你是大二可以先从第一个开始如果你已经大三甚至大四可以直接从第二个、第三个切入因为它们跟就业市场的贴合度最高。2. 第一个能跑的自动化脚本从Python解放重复操作开始别小看“脚本自动化”这个东西它是所有自动化项目的基石。哪怕是企业里的高级测试开发工程师日常工作也有一大半是写脚本只是他们的脚本更规范、更工程化而已。对本科生来说用Python写自动化脚本是最友好的入门方式没有之一。2.1 环境准备的正确姿势先解决环境问题。很多人在第一步就被劝退了其实没那么复杂按这个顺序来安装Python建议直接用3.10或3.11版本别用最新的3.12或3.13有些第三方库可能还没跟上用起来会有莫名奇妙的坑。用python -m venv venv创建虚拟环境每次新建项目都这样做虚拟环境能把不同项目的依赖隔离开避免A项目升级了库导致B项目跑不了。安装依赖统一用pip install xxx别用sudo pip权限问题会少很多。为什么强调虚拟环境我见过太多大一新生把包装得乱七八糟最后整个Python环境都废了。养成好习惯后面会省掉很多麻烦。2.2 动手写一个真正有用的脚本光看教程不动手是学不会的我建议你从自己身边的痛点找需求。举几个亲测好用的例子桌面文件整理脚本扫描指定文件夹按扩展名图片、文档、压缩包自动归类到不同子目录。这个脚本半小时能写完但用起来是真方便。批量重命名脚本给一堆照片按拍摄日期重命名用os.rename就行。Excel报表合并脚本用pandas把十几个表格合并成一个总表并自动汇总数据。学生干部、社团干事的日常工作经常用得上。定时提醒脚本用sched模块实现定时弹窗提醒比如每45分钟提醒你起来喝水。虽然简单但能让你理解“定时任务”这个概念为后面用Jenkins做定时构建打基础。写的时候要注意几个小细节提前避坑处理文件路径时优先用pathlib而不是os.path代码更清晰跨平台也不容易出问题。文件操作一定要考虑异常情况比如文件夹不存在、文件被占用用try...except包起来别让程序一报错就崩溃。涉及删除或覆盖文件的操作要么先备份要么加一个“演练模式”只打印要执行的操作而不真正执行确认无误后再放开。2.3 把脚本变成“能用”而不是“能跑”一个很多初学者意识不到的点“能跑的脚本”和“能用的脚本”是两码事。自己手动跑得通不代表别人也能轻松用起来。如果你想培养工程化思维第一步就是学会把脚本做得更完善。至少要做到三点用argparse给脚本加命令行参数让用户不用改代码就能指定输入输出路径。添加日志输出用logging模块把运行信息写到文件里出问题能看日志排查。写一个简单的README.md说明脚本的用途、用法和依赖。这个习惯越早养成越好。我后来面试时发现很多候选人项目功能做得挺花哨但一问“你的项目怎么让别人跑起来”就支支吾吾说不清楚。你能把使用说明写明白本身就是一项很被看重的工作能力。3. Web UI自动化测试Selenium和Playwright到底怎么选、怎么用如果你只做一个项目我最推荐的就是Web UI自动化测试因为它完整覆盖了“写代码、定位元素、处理等待、生成报告、跑CI”这一整条企业级链路而且网上资料多、学习曲线平缓。很多公司的招聘需求里Web UI自动化几乎是标配技能点。3.1 选型Selenium还是Playwright现在一搜“Web自动化”出来最多的两个框架就是Selenium和Playwright。很多新手纠结选哪个我的建议是时间充裕就两个都接触精力有限就主攻Playwright。原因是这样的Selenium是老牌框架生态成熟资料海量遇到问题几乎都能搜到答案。缺点是需要自己管理浏览器驱动ChromeDriver/GeckoDriver版本对不上就报错烦得很。Playwright是后起之秀优势非常明显自动管理浏览器驱动、自带等待机制不需要强制time.sleep、支持录制脚本、还能生成截图和视频。对新手来说它能帮你省掉大量环境配置的坑。但我也要坦诚说一句国内很多存量项目还在用Selenium面试官问Selenium的概率并不低。所以我的建议是先用Playwright做项目同时把Selenium的基本用法搞清楚知道两者在概念上的对应关系面试时就能游刃有余。3.2 第一个能跑通的自动化测试脚本以Playwright为例一个最基础的流程是这样的from playwright.sync_api import sync_playwright with sync_playwright() as p: browser p.chromium.launch(headlessFalse) # 有头模式能看到浏览器窗口 page browser.new_page() page.goto(https://www.baidu.com) page.get_by_placeholder(请输入关键词).fill(自动化测试) page.get_by_role(button, name百度一下).click() page.wait_for_timeout(3000) # 实际项目中尽量少用固定等待 page.screenshot(pathresult.png) browser.close()运行这个脚本之前只要一条pip install playwright加playwright install chromium就能把环境搞定不需要手动下载驱动这就是Playwright对新手最友好的地方。脚本跑通之后别急着收工。真正的学习才刚刚开始你需要逐个弄懂这几个核心概念定位器Locator怎么精准找到页面上的元素get_by_role、get_by_text、get_by_placeholder、locator(css...)分别适用于什么场景。等待策略UI自动化最头疼的问题就是元素还没加载出来就点击了。Playwright的自动等待功能能有效缓解这个问题但你仍然需要理解什么是隐式等待、显式等待、轮询什么场景下要用expect去声明条件。无头模式headlessTrue时浏览器不弹窗适合放在服务器上跑定时任务测试速度更快、资源占用更少。录制调试playwright codegen命令可以打开录制窗口你手动操作浏览器它自动生成对应代码这是快速搭脚本的利器。3.3 处理各种“难缠”的元素定位问题做Web自动化时最难搞的往往不是业务逻辑而是那些定位不稳定的元素。这里分享几个实战经验动态ID不要用很多前端框架生成的ID每次刷新都变比如idbtn_12345这种ID绝对不能写死在代码里。优先用稳定的属性比如name、placeholder、>