OpenClaw 实战:5 分钟用 AI Agent 自动生成规范测试用例并写入 Excel

OpenClaw 实战:5 分钟用 AI Agent 自动生成规范测试用例并写入 Excel

OpenClaw 实战:5 分钟用 AI Agent 自动生成规范测试用例并写入 Excel

一、核心前提

OpenClaw 是轻量级 Agent 框架,核心聚焦:
Skill 注册 → 工具选择 → 任务执行

  • 没有 Dify 的可视化界面
  • 没有知识库、没有复杂工作流
  • 代码极简洁、上手极快
  • 适合:测试开发 / 有编程能力的测试工程师

一句话定位:
OpenClaw = 极简、轻量、只专注做工具调用的小 Agent 引擎

二、环境准备

1. 安装 OpenClaw 及依赖

# 安装 OpenClaw 核心框架 pip install openclaw # Excel 操作 + LLM 调用 pip install openpyxl openai requests 

2.配置 LLM 密钥

import os # 替换成你的 OpenAI API Key os.environ["OPENAI_API_KEY"]="你的API Key"

三、完整实现代码(测试用例生成 + 写入 Excel)

import json import openpyxl from openpyxl.styles import Font, Alignment, PatternFill from openclaw import Agent, Tool, Parameter from openclaw.llms import OpenAILLM # ===================== Skill 1:生成测试用例 =====================classTestCaseGenerateTool(Tool): name ="test_case_generator" description =""" 软件测试专用工具:根据产品需求生成结构化测试用例,包含用例ID、模块、用例标题、前置条件、操作步骤、预期结果、优先级 必须返回JSON数组格式的用例数据,每个用例是字典 """ parameters =[ Parameter( name="requirement",type="str", description="产品需求描述", required=True), Parameter( name="module",type="str", description="测试模块名称", required=True), Parameter( name="priority",type="str", description="用例优先级(高/中/低)", required=True)]defrun(self, requirement:str, module:str, priority:str)->str: prompt =f""" 作为资深软件测试工程师,根据以下需求生成{priority}优先级的{module}测试用例: 需求描述:{requirement} 要求: 1. 用例字段:用例ID、模块、用例标题、前置条件、操作步骤、预期结果、优先级 2. 用例ID格式:模块缩写+序号(比如登录模块→DL001) 3. 覆盖所有功能点、边界条件、异常场景 4. 返回纯JSON数组,无多余文字 """ llm = OpenAILLM(model="gpt-3.5-turbo", temperature=0.3) response = llm.chat.completions.create( messages=[{"role":"user","content": prompt}], model="gpt-3.5-turbo") test_cases = json.loads(response.choices[0].message.content.strip())for i,caseinenumerate(test_cases,1):case["用例ID"]=f"{module[:2].upper()}00{i}"return json.dumps(test_cases, ensure_ascii=False)# ===================== Skill 2:写入Excel =====================classExcelWriteTool(Tool): name ="excel_writer" description =""" 软件测试专用工具:把JSON格式的测试用例列表写入Excel,生成规范的测试用例文档 支持字段:用例ID、模块、用例标题、前置条件、操作步骤、预期结果、优先级 """ parameters =[ Parameter( name="test_cases",type="str", description="JSON格式的测试用例列表", required=True), Parameter( name="file_path",type="str", description="Excel保存路径", required=True)]defrun(self, test_cases:str, file_path:str)->str:try: cases = json.loads(test_cases) wb = openpyxl.Workbook() ws = wb.active ws.title ="功能测试用例" headers =["用例ID","模块","用例标题","前置条件","操作步骤","预期结果","优先级"]for col, header inenumerate(headers,1): cell = ws.cell(row=1, column=col, value=header) cell.font = Font(bold=True, color="FFFFFF") cell.fill = PatternFill(start_color="4472C4", end_color="4472C4", fill_type="solid") cell.alignment = Alignment(horizontal="center")for row,caseinenumerate(cases,2):for col, header inenumerate(headers,1): cell_value =case.get(header,"无") ws.cell(row=row, column=col, value=cell_value) ws.cell(row=row, column=col).alignment = Alignment(horizontal="center") col_widths =[10,15,30,20,40,30,10]for i, width inenumerate(col_widths,1): ws.column_dimensions[chr(64+i)].width = width wb.save(file_path)returnf"成功!测试用例已写入 {file_path},共 {len(cases)} 条用例"except Exception as e:returnf"失败:{str(e)}"# ===================== 初始化 Agent =====================definit_openclaw_agent(): llm = OpenAILLM(model="gpt-3.5-turbo", temperature=0.3) tools =[TestCaseGenerateTool(), ExcelWriteTool()] agent = Agent( llm=llm, tools=tools, system_prompt=""" 你是软件测试专属Agent,负责: 1. 先调用 test_case_generator 生成测试用例 2. 再调用 excel_writer 把用例写入Excel 3. 最终返回Excel生成结果 """, verbose=True)return agent # ===================== 执行 =====================if __name__ =="__main__": agent = init_openclaw_agent() user_task =""" 请生成登录模块的高优先级测试用例,需求: 用户登录功能支持手机号+验证码登录,手机号非11位提示「请输入正确手机号」, 验证码错误3次后账号锁定10分钟,登录成功跳转到首页。 生成后把用例写入 ./登录模块测试用例.xlsx """ result = agent.run(user_task)print("\n===== 最终结果 =====")print(result)

四、核心代码解释

  1. Skill 定义核心:
Tool= 技能 / 函数 name:工具名 description:Agent 判断什么时候调用该工具 parameters:告诉 AI 需要什么参数 run():真正执行逻辑 

2. Agent 执行逻辑:

 思考:用户需要生成测试用例 → 调用 test_case_generator 参数提取成功 → 生成用例 再思考:需要写入 Excel → 调用 excel_writer 最终返回结果 

五、运行效果

控制台输出

===== 最终结果 ===== 成功!测试用例已写入 ./登录模块测试用例.xlsx,共 5 条用例 

Excel 文件内容

标准 7 列测试用例 美观规范,可直接提交评审 可直接导入测试平台 

六、OpenClaw 进阶扩展

1. 解析 PDF/Word 需求文档

classDocumentParseTool(Tool): name ="document_parser" description ="解析PDF/Word格式的产品需求文档,提取核心需求文本" parameters =[Parameter(name="file_path",type="str", description="文档路径", required=True)]defrun(self, file_path:str)->str:import PyPDF2 withopen(file_path,"rb")as f: reader = PyPDF2.PdfReader(f) content ="\n".join([page.extract_text()for page in reader.pages])return content 
classTestLinkUploadTool(Tool): name ="testlink_uploader" description ="把测试用例导入TestLink测试管理平台" parameters =[Parameter(name="test_cases",type="str", description="JSON用例列表", required=True)]defrun(self, test_cases:str)->str:# 调用 TestLink API 实现导入return"用例已成功导入TestLink"

七、总结

OpenClaw 核心流程:
定义 Tool(技能)
注册给 Agent
输入一句话任务
Agent 自动选择工具、自动执行、自动输出结果
优势:
轻量、无冗余
代码完全可控
适合嵌入自动化脚本、CI/CD
比可视化平台更灵活、更适合测试开发

Read more

OpenClaw 为什么突然爆火?从上门安装到排队体验,我看到的 AI Agent 破圈真相

OpenClaw 为什么突然爆火?从上门安装到排队体验,我看到的 AI Agent 破圈真相

🔥 个人主页:杨利杰YJlio❄️ 个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》《Python》《Kali Linux》《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更简单,让重复的工作自动化 OpenClaw 为什么突然爆火?从上门安装到排队体验,我看到的 AI Agent 破圈真相 * 1、OpenClaw 这次为什么让我有点震撼? * 2、OpenClaw 到底是什么?它和普通聊天 AI 有什么不同? * 2.1 普通大模型解决的是“回答问题” * 2.2 OpenClaw 这类 Agent 试图解决的是“帮我完成任务” * 3、从控制台截图看,它已经不是“纯概念”了 * 4、

ToDesk 全新 ToClaw,正在把电脑交给AI去操作

ToDesk 全新 ToClaw,正在把电脑交给AI去操作

这两年,AI 工具层出不穷,但大多数产品还停留在“能回答、会生成”的阶段:帮你写一段话、搜一份资料、整理一个思路,真正到了执行层,还是得你自己坐回电脑前,一个软件一个软件地点、一项任务一项任务地做。 这也是很多人对 AI 的真实感受——它会说,但不一定真能干活。而 ToDesk 新上线的 ToClaw,想解决的正是这个问题。 一、ToClaw 是什么? ToClaw 是一款基于 OpenClaw 深度定制、并与远程控制运行时深度结合的 AI 助手。它最大的不同,不只是“懂你说什么”,而是能直接在你的电脑上执行操作。 你只需要一句话,它就可以在电脑端完成对应动作:打开软件、点击按钮、填写表单、拖拽文件、整理资料、生成表格、汇总信息……很多原本需要人守在电脑前操作的工作,现在都可以交给 ToClaw

SDXL-Turbo实战指南:3个技巧让你的AI绘画效果翻倍提升

SDXL-Turbo实战指南:3个技巧让你的AI绘画效果翻倍提升 【免费下载链接】sdxl-turbo 项目地址: https://ai.gitcode.com/hf_mirrors/stabilityai/sdxl-turbo 还在为AI绘画效果不理想而烦恼吗?SDXL-Turbo作为一款革命性的文本到图像生成模型,仅需1步推理就能产出惊艳效果。今天我们就来聊聊如何通过参数优化,让这个强大的工具为你所用。 为什么你的SDXL-Turbo生成效果总是不尽人意? 很多人在使用SDXL-Turbo时都会遇到这样的困惑:为什么别人生成的图像细节丰富、创意十足,而自己的作品却总是差强人意?其实答案很简单——参数设置不当! 看看这张对比图,你就会明白: SDXL-Turbo在仅1步推理的情况下,图像质量偏好度就达到了80%以上,甚至超越了某些模型需要50步才能达到的效果。这就是参数优化的魔力所在。 三步优化法:从新手到大神的快速通道 第一步:掌握"推理步数"的黄金法则 你是不是总觉得推理步数越多越好?这个误区需要立即纠正! 操作指南: * 日常创作:设置1-2步即可