【UI自动化测试思路】测试用例配置

一、引言

本指导文档旨在帮助测试人员理解和使用自动化测试用例执行框架。该框架通过一个简单而灵活的 CSV 配置文件定义测试步骤,结合 UI 识别和操作技术,实现自动化测试的高效执行。测试人员无需编写复杂的代码,只需通过 CSV 文件配置测试步骤,即可完成对 UI 界面的自动化操作。

本文档将基于以下测试用例示例进行说明:

Plain 复制代码
type,action,value
文本,点击,用户名
文本,点击,密码
图片,点击,登录

二、测试用例结构

1. 测试用例以 CSV 文件的形式存储,每一行代表一个测试步骤,包含以下三个字段:

  • type:识别类型,表示如何识别 UI 元素。支持以下两种类型:

    • "文本":通过 OCR 技术识别屏幕上的文本。

    • "图片":通过图像匹配技术识别屏幕上的图片。

  • action:操作动作,目前仅支持 "点击",表示点击识别到的 UI 元素。

  • value:元素值,根据 type 的不同有不同的含义:

    • 当 type 为 "文本" 时,value 是要识别并点击的文本内容(例如 "用户名")。

    • 当 type 为 "图片" 时,value 是图片的关键字(例如 "登录"),用于索引对应的图片路径。


2. 编写测试用例

  • 测试用例 CSV 文件的格式如下:
Plain 复制代码
type,action,value
文本,点击,用户名
文本,点击,密码
图片,点击,登录
  • 字段说明
  1. 对于 type="文本"

    • value 是屏幕上需要识别并点击的文本内容。例如,"用户名" 表示系统将在屏幕上寻找包含 "用户名" 的文本区域,并点击其中心点。

    • 系统使用 OCR 技术完成文本识别。

  2. 对于 type="图片"

    • value 是图片的关键字,例如 "登录"。系统通过该关键字查找预配置的图片路径,然后使用图像匹配技术在屏幕上识别该图片,并点击其中心点。
  • 注意事项

    • 确保 CSV文件格式正确,字段之间用逗号分隔,无多余空格。

    • 文本和图片的识别依赖屏幕截图的质量和 UI元素的清晰度。


3. 配置图片路径

当 type="图片" 时,系统需要通过 value(图片关键字)查找对应的图片路径。因此,需要预先配置一个图片路径索引文件(建议使用 YAML 或 JSON 格式),以便系统正确映射关键字到图片路径。

示例配置(YAML 格式)yaml

YAML 复制代码
登录: "icons/login_button.png"
  • 在测试用例中,value="登录" 会映射到图片路径 "icons/login_button.png"。

  • 系统使用该图片进行图像匹配,识别屏幕上的 "登录" 按钮并点击。

配置步骤

  1. 创建一个配置文件(例如 icon_config.yaml),定义关键字和图片路径的映射。

  2. 在测试框架的主配置文件中指定该图片配置文件的路径,以便系统加载。

注意事项

  • 确保图片路径准确且图片文件存在。

  • 图片应清晰,尽量与实际屏幕上的 UI 元素一致,以提高匹配成功率。


相关推荐
PM大明同学1 小时前
Axure PR 9 中继器 04 条件查询
ui·交互·产品经理·axure
全栈若城1 小时前
29.Harmonyos Next仿uv-ui 组件NumberBox 步进器组件自定义图标
ui·uv·harmonyos next
全栈若城1 小时前
26.Harmonyos Next仿uv-ui 组件NumberBox 步进器组件小数位数设置
ui·uv·harmonyos next
kevindanglu2 小时前
CentOS7安装软件yum install 无法解析仓库URL
linux·服务器
xiaodaiwang2 小时前
gitlab备份到SVN之变更备份服务器
服务器·svn·gitlab
程序员三藏2 小时前
Jmeter请求发送加密参数
自动化测试·软件测试·python·测试工具·jmeter·测试用例·接口测试
Hello-Mr.Wang3 小时前
nginx与openSSL版本不兼容问题
linux·服务器·nginx
故事与他6453 小时前
upload-labs-master通关攻略(13~16)
java·服务器·前端·安全·网络安全
cdut_suye3 小时前
全面剖析 Linux 进程管理与 PCB 机制
java·linux·运维·服务器·c++·人工智能·python
Chenyu_3103 小时前
04.基于C++实现多线程TCP服务器与客户端通信
linux·服务器·网络·c++·tcp/ip·算法·visualstudio