适配WebUI测试+Playwright方案

可直接复用的标准化模板(适配WebUI测试+Playwright方案)

模板均按结构化、可落地、适配大模型转化设计,支持直接复制到Excel/Markdown/团队知识库中使用,贴合团队当前Playwright方案的实施需求,同时衔接业务地图提效逻辑。

模板1:标准化手工测试用例模板(WebUI专用)

核心适配大模型转化自动化用例,严格遵循操作对象+动作+值的编写规范,字段覆盖测试执行全要素,支持按功能模块归类管理,示例为电商登录模块,可直接替换业务内容。

字段名填写要求/说明示例(账号密码登录)
用例唯一ID模块_功能_场景_序号(全局唯一,方便检索)user_login_pwd_001
所属功能模块按系统业务地图的模块层级填写(如XX系统-用户中心-登录模块)电商系统-用户中心-登录模块
用例优先级P0(核心必测)/P1(重要功能)/P2(一般功能)/P3(边缘场景)P0
测试场景类型正常场景/异常场景/边界场景正常场景
前置条件量化、明确环境/页面/数据状态(避免模糊描述)1. 测试环境已部署,网络正常;2. 测试账号test123已注册且未锁定;3. 处于系统登录页(URL:/login)
测试数据明确数据类型/来源/值(如数据池/固定值/接口生成)用户名:test123(测试数据池);密码:123456Abc(测试数据池)
操作步骤步骤序号+操作对象+操作动作+操作值编写,单步骤仅一个核心动作1. 点击【用户名输入框】,输入值test123;2. 点击【密码输入框】,输入值123456Abc;3. 点击【登录按钮】(红色,位于输入框下方)
预期结果量化、可判定(含页面跳转/元素显示/数据状态,避免“正常显示”)1. 页面跳转到系统首页(URL:/index);2. 首页右上角显示用户名“test123”;3. 浏览器Cookie中生成有效登录令牌
后置处理用例执行后恢复环境/数据状态(如退出登录/清除缓存,可选)点击【退出按钮】,退出当前账号登录
备注特殊说明(如依赖其他用例/需特定环境,可选)

填写规范补充(强制)

  1. 操作对象必须是页面实际可见元素(如“【用户名输入框】”而非“【输入框1】”);
  2. 异常场景需单独编写用例(如用户名空/密码错误/账号锁定),不可与正常场景合并;
  3. 边界场景需明确边界值(如密码6位最小长度/18位最大长度)。

模板2:大模型生成Playwright用例提示词模板(Python版)

基础版(无业务地图,快速使用)和进阶版(结合业务地图,高通过率),均按明确约束+固定格式+结果要求设计,大模型生成的代码可直接执行/少量优化,适配Playwright原生特性(步骤校验、报告、异常处理)。

版本1:基础版提示词(无业务地图,1-2周快速落地)

请你作为资深WebUI自动化测试工程师,将提供的标准化手工测试用例转化为**可直接执行的Python版Playwright自动化用例**,严格遵循以下要求: 1. 代码基础:基于Playwright最新稳定版,使用sync_api同步方式,无需异步代码; 2. 环境初始化:自动完成浏览器启动(Chrome)、页面打开、隐式等待(设置为5s),用例结束后自动关闭浏览器; 3. 元素定位:优先使用id/name/role,无则使用稳定的xpath(避免使用易变的class/标签定位); 4. 步骤校验:每个核心操作步骤后添加**元素存在/值校验**(如输入用户名后校验输入框值是否正确),校验失败抛出明确异常; 5. 预期结果:严格按手工用例的预期结果编写断言,断言失败时输出详细失败信息(如“页面未跳转到首页,当前URL为:/login”); 6. 测试数据:直接使用手工用例中的测试数据,单独定义变量存储(方便后续替换为数据池); 7. 代码结构:清晰分块(环境初始化→测试步骤→断言校验→后置处理→环境销毁),添加关键注释,无冗余代码; 8. 异常处理:对页面加载超时、元素未找到等常见异常做基础捕获,输出异常原因。 请直接生成完整可执行代码,无需额外解释,代码末尾无需加执行命令。 【待转化的标准化手工测试用例】 # 此处粘贴模板1的手工用例完整内容(含所有字段) 

版本2:进阶版提示词(结合业务地图,核心提效)

请你作为资深WebUI自动化测试工程师,结合**业务地图核心信息**和**标准化手工测试用例**,生成**可直接执行、单步可优化的Python版Playwright自动化用例**,严格遵循以下要求: 1. 代码基础:基于Playwright最新稳定版,使用sync_api同步方式,无需异步代码; 2. 环境初始化:自动完成浏览器启动(Chrome)、页面打开、隐式等待(设置为5s),用例结束后自动关闭浏览器; 3. 元素定位:**必须严格使用业务地图中定义的元素定位符**,无明确定位符的使用稳定的xpath(避免使用易变的class/标签定位); 4. 业务规则:严格遵循业务地图中的页面跳转、操作约束、异常处理规则,不得违反业务逻辑; 5. 步骤校验:每个核心操作步骤后添加**元素存在/值/状态校验**(如输入用户名后校验输入框值是否正确),校验失败抛出明确异常; 6. 预期结果:严格按手工用例的预期结果编写断言,断言失败时输出详细失败信息(如“页面未跳转到首页,当前URL为:/login”); 7. 测试数据:直接使用手工用例中的测试数据,单独定义变量存储(方便后续替换为测试数据池/接口调用); 8. 代码结构:清晰分块(环境初始化→测试步骤→断言校验→后置处理→环境销毁),添加关键注释,无冗余代码; 9. 异常处理:对页面加载超时、元素未找到、业务异常(如账号锁定)等做捕获,输出异常原因并终止用例; 10. 可优化性:核心操作步骤单独封装为小函数(如login_op(username, password)),方便后续单步智能优化和复用。 请直接生成完整可执行代码,无需额外解释,代码末尾无需加执行命令。 【业务地图核心信息(所属模块)】 # 此处粘贴该用例所属模块的业务地图核心内容(模板3的梳理结果,含元素定位、业务规则、页面跳转等) 【待转化的标准化手工测试用例】 # 此处粘贴模板1的手工用例完整内容(含所有字段) 

模板3:业务地图核心信息梳理模板(WebUI测试专用)

功能模块维度梳理,一套系统可拆分为多个模块分别填写(如登录模块、订单模块、购物车模块),梳理结果可直接嵌入模板2的进阶版提示词,或部署为大模型本地知识库,核心覆盖大模型生成用例所需的所有业务信息,示例为电商登录模块。

业务地图(XX模块)核心信息梳理表

模块名称:电商系统-用户中心-登录模块
维护人:测试工程师XXX
更新时间:202X-XX-XX
版本:V1.0(需求变更时同步更新版本)

梳理维度具体梳理项填写说明示例(登录模块)
1. 功能模块层级父模块/本模块/子模块明确系统模块的上下级关系、联动模块(如登录模块联动用户信息模块)父模块:用户中心;本模块:登录模块;子模块:无;联动模块:用户信息模块、权限管理模块
2. 页面关联关系所属页面/页面URL/页面跳转规则明确模块对应的所有页面,以及页面间的触发条件+跳转结果所属页面:登录页(/login);
跳转规则:
① 登录成功→首页(/index);
② 登录失败→停留在登录页;
③ 点击注册→注册页(/register);
④ 点击忘记密码→密码找回页(/find_pwd)
3. 核心元素信息页面+元素名称+定位符+元素类型+操作规则统一元素定位标准(优先id/name/role),明确元素的可操作类型(输入/点击/选择)和操作约束登录页:
① 用户名输入框:id=username | 输入框 | 仅支持字母/数字/下划线,最大20位;
② 密码输入框:id=password | 输入框 | 支持大小写+数字+特殊字符,6-18位;
③ 登录按钮:id=login_btn | 按钮 | 需先输入用户名+密码才可点击(否则置灰);
④ 错误提示框:class=error_tips | 文本框 | 失败时自动显示,成功时隐藏
4. 核心业务规则正常规则/异常规则/边界规则覆盖模块所有业务约束,是大模型生成断言和异常处理的关键① 正常规则:账号密码匹配→登录成功并生成登录令牌;
② 异常规则:用户名空/密码空→提示“请输入用户名/密码”;账号密码不匹配→提示“账号或密码错误”;连续5次失败→账号锁定10分钟并提示“账号已锁定”;
③ 边界规则:密码6位(最小)/18位(最大)→正常登录
5. 测试数据依赖数据类型/数据来源/数据约束明确模块测试所需数据的类型(账号/密码/验证码等)、来源(数据池/接口/固定值)、约束(是否已注册/是否锁定等)① 有效账号:用户数据池 | 已注册、未锁定、绑定手机号;
② 无效账号:固定值(如test_null/123456) | 未注册/已锁定;
③ 短信验证码:短信接口(http://xxx/api/sms) | 与手机号绑定,有效期5分钟;
④ 测试密码:密码数据池 | 符合6-18位、大小写+数字+特殊字符规则
6. 异常处理规则常见异常场景/处理方式/预期结果覆盖技术异常(网络/页面/接口)和业务异常(账号锁定/验证码过期),明确处理方式① 网络异常:登录时断网→提示“网络异常,请检查网络并重试”,保持登录页;
② 页面加载超时:登录页加载超过10s→抛出“页面加载超时”异常;
③ 验证码过期:使用过期验证码→提示“验证码已过期,请重新获取”;
④ 接口超时:登录请求接口响应超过5s→提示“请求超时,请重试”
7. 接口依赖关系核心接口/接口地址/请求方式/入参出参明确模块依赖的核心后端接口(如登录接口/验证码接口),可选(复杂业务模块必填)登录接口:http://xxx/api/user/login | POST | 入参:username/password;出参:code(200=成功/400=失败)、msg、token

维护规范(强制)

  1. 需求新增/变更/下线时,需在24小时内更新对应模块的业务地图,并同步版本号;
  2. 元素定位符发生变化(如前端修改id)时,优先更新业务地图,再同步优化自动化用例;
  3. 所有梳理结果同步至团队知识库(如Confluence/GitHub),确保测试/开发/产品统一认知。

Read more

人工智能:自然语言处理在医疗健康领域的应用与实战

人工智能:自然语言处理在医疗健康领域的应用与实战

人工智能:自然语言处理在医疗健康领域的应用与实战 学习目标 💡 理解自然语言处理(NLP)在医疗健康领域的应用场景和重要性 💡 掌握医疗健康领域NLP应用的核心技术(如电子病历分析、医学文本分类、疾病预测) 💡 学会使用前沿模型(如BERT、GPT-3)进行医疗健康文本分析 💡 理解医疗健康领域的特殊挑战(如医学术语、数据隐私、数据质量) 💡 通过实战项目,开发一个电子病历分析应用 重点内容 * 医疗健康领域NLP应用的主要场景 * 核心技术(电子病历分析、医学文本分类、疾病预测) * 前沿模型(BERT、GPT-3)在医疗健康领域的使用 * 医疗健康领域的特殊挑战 * 实战项目:电子病历分析应用开发 一、医疗健康领域NLP应用的主要场景 1.1 电子病历分析 1.1.1 电子病历分析的基本概念 电子病历分析是对电子病历文本进行分析和处理的过程。在医疗健康领域,电子病历分析的主要应用场景包括: * 病历结构化:将非结构化的电子病历文本转换为结构化数据 * 病历检索:检索相关的电子病历 * 病历质量评估:

豆包AI生图去水印实用指南:5种免费方法,轻松拿下纯净原图

豆包AI生图去水印实用指南:5种免费方法,轻松拿下纯净原图

相信大部分的豆包用户都曾为水印问题困扰过,好不容易在豆包生成了一张完美的配图,却被右下角的水印破坏了整体美感。你试了各种方法,要么效果不佳,要么操作复杂,最后只能无奈放弃。 今天分享几个小方法教你简单去除它。 样图: 通过以上两张图展示,常规下载的时候都是这两种情况,水印要么在左上角、要么在右下角。接下来,我们看实操,分享5招如何获得高清无水印图片的方法。 第一种:如何开始下载无水印图片 首先,单击已经生成的图片,图片会在右边新的窗口打开,如下图: 然后,点击左上角的智能编辑,如下: 这时候图片会出现在左边的对话框中: 我们将鼠标移到图片上,鼠标右击,弹出如下菜单: 这里我们看到其中四个选项均可获取到无水印图片,无差异: * 在新标签页中打开图像:点击后会在新的浏览器窗口看到完整的无水印图片; * 将图像另存为:点击后直接下载,这种是最常用的方法之一; * 复制图像:点击后,可以在微信对话框中直接粘贴,也比较实用; * 复制图像链接:这种和在新标签页中类似,是需要在一个空白标签中粘贴打开。 好了,我们看看获得无水印图片是怎样的:

我用 Nexent 做了个 AI 大厨:基于 Nexent 知识库与 MCP 生态打造智能烹饪顾问实战

我用 Nexent 做了个 AI 大厨:基于 Nexent 知识库与 MCP 生态打造智能烹饪顾问实战

引言:厨房小白的自救之路 说实话,我是一个对做饭既向往又恐惧的人。向往的是那些短视频里色香味俱全的家常菜,恐惧的是每次打开冰箱,站在一堆食材面前完全不知道能做什么。我的做饭流程通常是这样的:先在 B 站搜教程视频,边看边暂停边做,一顿饭下来手机屏幕被油溅得惨不忍睹。更糟糕的是,我家还有一位对海鲜过敏的室友和一位需要控糖的老妈,每次做饭都得在脑子里疯狂计算"这个能不能放""那个谁不能吃"。 上个月,我在 GitHub 上看到了 Nexent——一个"零编排"的开源智能体平台,主打"一个提示词,无限种可能"。我当时脑子里就冒出一个想法:能不能做一个懂食材搭配、会根据季节推荐菜谱、还能照顾家人饮食禁忌的 AI 烹饪顾问? 说干就干。我花了一个周末的时间,在 Nexent 上亲手搭建了一个名叫"AI

手把手教你打造本地私有化AI知识库:Obsidian + OpenCode + Agent Client + MCP Server 完全指南

手把手教你打造本地私有化AI知识库:Obsidian + OpenCode + Agent Client + MCP Server 完全指南 在AI时代,拥有一个高效、私密、可控的个人知识库变得尤为重要。本文将详细介绍如何利用Obsidian + OpenCode + Agent Client + MCP Server这四件套,在本地搭建一个完全私有化的AI知识管理系统。所有数据都存储在你的电脑上,无需联网即可享受AI带来的便捷! 一、整体架构概述 在开始之前,让我们先了解这四个工具的角色: 工具角色作用Obsidian笔记管理本地Markdown笔记管理,支持双向链接MCP Server知识索引将笔记向量化,建立语义搜索能力OpenCodeAI大脑本地AI编程助手,支持多种模型Agent Client对接桥梁让Obsidian能调用AI能力 整个流程是:Obsidian管理笔记 → MCP Server将笔记向量化并提供搜索API → OpenCode作为AI大脑调用MCP服务 → Agent Client将AI能力集成到Obsidian中。 二、环境准备