工业软件APEX的脚本执行功能是产品核心模块,用于运行各种业务脚本。随着功能迭代,脚本测试面临以下挑战:
- 脚本用例数量大(上百条),手工测试效率低
- 脚本输入涉及多行代码,手工输入容易出错
- 执行结果需要逐条验证,重复劳动多
- 测试结果需要及时同步给团队
本项目通过UI自动化测试框架,实现Excel驱动的脚本指令自动化测试,将测试效率提升10倍以上,确保脚本功能质量。
点击空白处退出提示
工业软件APEX的脚本执行功能是产品核心模块,用于运行各种业务脚本。随着功能迭代,脚本测试面临以下挑战:
- 脚本用例数量大(上百条),手工测试效率低
- 脚本输入涉及多行代码,手工输入容易出错
- 执行结果需要逐条验证,重复劳动多
- 测试结果需要及时同步给团队
本项目通过UI自动化测试框架,实现Excel驱动的脚本指令自动化测试,将测试效率提升10倍以上,确保脚本功能质量。
✅ 数据驱动测试框架
通过Excel管理测试用例(脚本指令+预期结果),测试代码与数据分离,新增用例只需编辑Excel,无需修改代码
✅ 复杂脚本输入模拟
支持多行脚本指令的自动化输入,使用Shift+Enter实现换行而不执行,真实模拟人工操作
✅ 自动化结果验证
自动读取脚本执行结果,与Excel中的预期结果进行比对,支持包含关系验证
✅ 执行过程截图
每个用例执行后自动截取结果区域图片,保存在按时间命名的文件夹中,便于问题追溯
✅ 完整测试报告
集成pytest-html生成可视化测试报告,包含用例通过率、执行时间等统计信息
✅ 企业微信通知
测试完成后自动推送结果到企业微信群,支持文本消息和文件上传,团队成员可实时获取测试反馈
✅ 分层架构设计
- test_runScript.py:核心测试逻辑
- settings.py:配置文件(URL、元素定位、路径等)
- send_result.py:企业微信通知封装
- run_all.py:测试执行入口
【我负责的具体任务】
独立完成:
1. 测试框架整体设计:数据驱动架构、分层模块划分
2. 核心测试逻辑开发:Excel读取、脚本输入模拟、结果验证
3. 复杂交互处理:Shift+Enter换行输入、结果区域截图
4. 企业微信通知封装:文本消息、文件上传功能
5. 配置文件管理:元素定位、URL、路径统一管理
【技术栈】
pytest + Selenium + openpyxl + requests + pytest-html + Python 3.8
【实现难点与亮点】
难点一:多行脚本输入模拟
方案:将Excel中的脚本按行拆分,逐行输入,最后一行不加Shift+Enter
代码:script_text.send_keys(Keys.SHIFT, Keys.ENTER)实现换行
效果:完全模拟人工操作,解决多行代码输入难题
难点二:动态等待封装
方案:自定义DelayedWebDriverWait类,统一处理等待+延迟
效果:测试稳定性提升,元素加载失败率降低90%
难点三:测试数据管理
方案:openpyxl读取Excel,pytest参数化动态生成用例
效果:新增用例只需编辑Excel,测试代码零修改
难点四:结果可视化
方案:每个用例独立截图,按用例序号+脚本名称命名
效果:失败用例可快速定位问题现场
难点五:团队协作闭环
方案:测试完成自动推送企业微信,支持文件上传
效果:团队成员实时获取测试结果,沟通效率提升
【项目成果】
覆盖脚本指令用例50+条,测试效率提升10倍
每次回归测试时间从2小时缩至10分钟
截图自动归档,问题追溯时间减少80%
企业微信通知集成,团队反馈及时率100%




评论