自动化测试脚本逻辑与主程序执行流程分析

该思维导图描述了自动化测试脚本的主流程,包括初始化、连接设备、启动应用及执行各步骤。步骤包括连接局放巡检仪、刷新WiFi、识别数字编号、开始扫描及检测图像变化。每一步都具有详细操作和异常处理机制,确保测试的准确性。最后,测试完成后关闭应用并将结果保存到Excel文件中,包括次数、连接设备时间等信息。同时,还定义了辅助函数用于截图及裁剪。

源码
# 自动化测试脚本逻辑与主程序执行流程分析
## 主程序
描述: 自动化测试脚本的主流程。
- 初始化
  - 设置设备序列号
  - 定义目标应用包名
  - 初始化 Excel 文件路径
- 连设备
- 循环执行测试
  - 设定总循环次数
  - 每次循环执行以下步骤
    - 启动目标应用
    - 第一步:连接局放巡检仪
    - 第二步:刷新设备连接 WiFi
    - 第三步:识别数字编号
    - 第四步:开始扫描
    - 第五步:检测图像变化
    
## 启动目标应用
描述: 启动目标应用并等待页面加载。
- 启动应用
- 等待 5 秒

## 第一步:连接局放巡检仪
描述: 点击屏幕位置 1,模拟连接局放巡检仪。
- 点击位置 296, 114 
- 等待 2 秒

## 第二步:刷新设备连接 WiFi
描述: 点击屏幕位置 2,刷新设备连接 WiFi。
- 点击位置 1110, 335 
- 等待 2 秒

## 第三步:识别数字编号
描述: 检查是否存在指定的数字编号模板图片。
- 使用 exists number_template 检查数字编号
- 如果存在:
  - 点击位置 83, 434 
  - 开始计时
  - 等待文字消失
  - 循环检查文字是否消失
    - 如果文字消失,记录持续时间
    - 如果超过 3 分钟未消失,判定连接失败
- 如果不存在:
  - 停止应用
  - 抛出异常 '数字编号验证失败'

## 第四步:开始扫描
描述: 点击屏幕位置 4,开始扫描功能。
- 点击位置 596, 1724 
- 等待 4 秒
- 截取基准图像
- 调用 capture_and_crop 截图并裁剪
- 保存基准图像为 base_image.png

## 第五步:检测图像变化
描述: 循环检测图像变化,最多检测 5 次。
- 初始化变量
  - 最大检测次数: 5
  - 当前检测次数: 0
  - 是否检测到变化: False
- 循环检测
  - 截取当前图像
  - 计算当前图像与基准图像的差异
  - 差异像素数量 > 1000,判定为“检测到变化”
  - 保存基准图像和当前图像
  - 打印保存路径
  - 跳出循环
  - 如果未检测到变化:
    - 增加检测计数
    - 每次检测间隔 1 秒
    - 如果 5 次均未检测到变化
      - 判定为“扫描失败”
      - 点击位置 596, 1724 关闭扫描

## 结束操作
描述: 测试完成后关闭应用并保存结果。
- 关闭应用
- 将测试结果保存到 Excel 文件
  - 结果字段:
    - 次数
    - 连接设备时间
    - 扫描功能是否正常
    - 备注
- 打印保存路径

## 辅助函数
capture_and_crop  
描述: 使用 ADB 截图并裁剪指定区域。
- 使用 ADB 命令截图
- 拉取截图到本地
- 检查截图文件是否存在
- 裁剪指定区域 x1, y1, x2, y2 
图片
自动化测试脚本逻辑与主程序执行流程分析