# Pre-TestTool **Repository Path**: yudechen/pre-test ## Basic Information - **Project Name**: Pre-TestTool - **Description**: 预测试脚本。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-16 - **Last Updated**: 2025-04-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pic_diff_checker ## 介绍 自动化模拟手动操作,并通过图片对比测试应用是否正常。 ## 软件架构 ```bash TestTool ├─asset # 测试需要的一些资源 ├─modules # 脚本的模块 ├─tools # 一些额外的工具 └─pic_diff_checker.py ``` ## 安装教程 参照以下最佳实践使用脚本: 1. 新建一个名为 Pre-Test 的目录作为测试的根目录。 2. 进入 Pre-Test 目录,使用 `git clone https://gitee.com/yudechen/pre-test.git TestTool` 将测试工具下载到本地。TestTool 目录下即为存放工具的路径。 3. 在 Pre-Test 目录下新建 TestCase 目录,用于存放所有的测试用例。脚本会自动在 Pre-Test 目录下新建 log/TestCase 目录用于存放 TestCase 下用例的测试结果。 环境就大功告成了! > 以下的使用说明将按照这个目录结构说明。 环境目录: ```bash Pre-Test ├─TestTool # 测试脚本路径 ├─TestCase # 测试用例路径 └─log # 运行后自动生成 ``` ## 使用说明 ``` python path/to/pic_diff_checker.py -c "E:\\path\\to\\TestCase" --gen-std-pic --reset-time 40 ``` 说明: `-c`,测试用例路径。路径为根目录时,表示运行全部测试用例;路径为某个用例的路径时,运行单个用例。 `--gen-std-pic`,生成标准图。当版本有改变,需要更新测试用例时建议添加,可以免去大部分手动修改对比图的操作。 `--reset-time 40`,运行用例前重置设备,等待重启时间 40s(按实际定义)。 ### 完整参数说明 | 缩写 | 全称 | 说明 | | --- | ---| --- | | `-c` | `--case-path` | 测试用例的绝对路径。 | | `-d` | `--device-num` | 测试设备序列号,当只连接一个测试设备时可以省略,否则为随机的设备。 | | `-f` | `--fixed-app` | 用自己的 app 替代默认的 app。 | | `-g` | `--gen-std-pic` | 生成标准图。 | | `-r` | `--retey` | 测试用例执行失败时执行的次数 | | `-s` | `--shift-tolerance` | 允许对比偏移量,默认150像素。即在目标位置方圆 150px 内匹配到也算匹配成功。 | | `-t` | `--reset-time` | 重置设备,并设置等待重启时间。 | | `-0` | `--is-top0` | 执行 top0 用例(需要测试用例适配)。 | ### log 目录说明 执行测试用例的结果,存放地址。 会生成一个与测试用例名相同的地址,如`log\TestCase`。 该目录下,会生成与子测试用例相同的名字的目录,存放相应子测试用例的测试结果,如`log\TestCase\Clock\Clock_001`。 该目录下,会生成如 `0_Clock_001` 的目录,其中前面的 `0`,表示重试的次数,如果有重试则会增加序号。 ```bash 0_Clock_001 ├─cmp_result # 对比结果图示,可以显示对比失败的区域。 ├─run_log # 运行测试时的 hilog。(目前未启用) └─snap_shot_result # 生成的标准图,如有需要可以执行替换到原始测试用例。 ``` ## 建议事项 1. 桌面的页面不超过5页。并且优先把测试app放在第一页。 2. ## 测试用例 测试用例由表示测试步骤的 `xlsx` 文件和对比基准(标准)图的 `png` 文件组成。 测试用例仓库及说明:https://gitee.com/yudechen/pre-testcase ### xlsx 文件说明 // todo: 待补充 // todo: 构造测试用例。 #### 测试用例框图技巧 1. 最好保证每个框图内的图案独一无二,或者至少在框图的外边距150像素内独一无二。 2. 不要选择可能变化的地方用来对比。比如,某些地方的背景、时间、视频图案,闪烁的点等。 3. 尽量选择有意义的图案对比且尽量精准。太多的空白区域可能导致结果不准确并影响运行性能。 4. 如果某些图案边缘模糊或很小,且背景纯净不变,可以适当多框选一些背景,以降低对比差异率。