DeepseekAPI+Python测试用例一键生成与导出
- 手机
- 2025-09-15 06:54:01

前言
测试开发工程师在日常工作中需要处理大量测试文档,并且这些文档需要被高效分类、清洗和管理,同时结合强大的 AI 推理能力(如 DeepSeek 模型)进行智能化处理和分析。为此,我们开发了一款基于 PyQt5 的 GUI 工具,集 文件分类、内容清洗、内容展示、DeepSeek推理 和 结果导出 于一体。本地的deepseek-r1由于硬件受限,推理能力难以达到预期。使用三方提供的免费API接口,生成的结果较为满意。由于各位宝子所在公司模板要求不一,这里会将用例导出为json格式输出。
由于阿里云百炼的deepseek-r1接口不支持返回json格式,代码里进行了简单的适配。所有在输入提示词的时候,最好是加入以json格式输出。这样代码可以拿来即用。
本文将详细介绍这款工具的功能实现,并提供完整的源码,让测试工程师轻松实现测试文档的智能化管理与分析。
功能特点
智能文档分类:
支持常见文本格式:docx、xlsx、md、txt、pdf。使用 阿里云百炼的deepseek-r1 模型API推理,更加智能。使用 NLTK 进行智能清洗,仅保留有效内容。支持用户手动修正分类。 self.template_phrases = [ "请参考以下格式", "本段用于描述", "请参照", "示意图", "文档信息", "版本记录", "目 录", "运行维护", "终端设备", "网络需求", "其他", "【注:以下内容,请做 标注】", "不涉及", "【注:需求规格说明书经业务、开发确认后可形成定版需求,版本号统一为V1.0】", "其他", "【注:以下内容,请做 标注】", "不涉及", "V1.0", "需求规格说明书", "【注:描述本批处理涉及的计算公式,比如退保金计算公式,尽可能列举实际案例说明】" ]知识库目录选择与文件展示:
可通过下拉框选择知识库目录,本地的知识库需维护好,选取了文件后,会按预设的模板内容进行清洗,页眉、页脚及目录等信息也会被清除。 def clean_text(self, text): """ 文本清洗处理 """ # 去除标点 text = self.clean_headers_footers(text) cleaned_content = self.remove_template_phrases(text) return cleaned_content 联动展示所选目录下的所有文件。支持文件单选、多选或全选。效果如下图所示:
文件内容展示与编辑:
拼接多个文件内容并在文本框中展示。提供输入框,供用户输入提示词,这里适配了json格式,所以可以在提示词中加入以json格式输出。DeepSeek智能推理:
结合选取的文件内容和提示词,使用 DeepSeek 模型生成推理结果。推理完成后结果进行展示。代码如下,需要注意的是需要更换代码里的api-key的值为自己的哦: def generate_cases(self, content_param, prompt_param): # 初始化OpenAI客户端 client = OpenAI( # 如果没有配置环境变量,请用百炼API Key替换:api_key="sk-xxx" api_key='sk-xxx', # todo 此处需更换 base_url=" dashscope.aliyuncs /compatible-mode/v1" ) reasoning_content = "" # 定义完整思考过程 answer_content = "" # 定义完整回复 is_answering = False # 判断是否结束思考过程并开始回复 # 创建聊天完成请求 completion = client.chat pletions.create( model="deepseek-r1", # 此处以 deepseek-r1 为例,可按需更换模型名称 messages=[ {'role': 'user', 'content': f'文档内容: {content_param}, 提示词:{prompt_param}'} ], stream=True, # 解除以下注释会在最后一个chunk返回Token使用量 # stream_options={ # "include_usage": True # } ) print("\n" + "=" * 20 + "思考过程" + "=" * 20 + "\n") for chunk in completion: # 如果chunk.choices为空,则打印usage if not chunk.choices: print("\nUsage:") print(chunk.usage) else: delta = chunk.choices[0].delta # 打印思考过程 if hasattr(delta, 'reasoning_content') and delta.reasoning_content != None: print(delta.reasoning_content, end='', flush=True) reasoning_content += delta.reasoning_content else: # 开始回复 if delta.content != "" and not is_answering: print("\n" + "=" * 20 + "完整回复" + "=" * 20 + "\n") is_answering = True # 打印回复过程 print(delta.content, end='', flush=True) answer_content += delta.content return answer_content结果导出:
支持将推理结果导出为用户指定的文件格式(如 json)。用户可自定义文件命名。 美观大方的 GUI 界面: 使用 PyQt5 开发,布局简洁美观,符合大众审美。保存的文件内容如下图所示:
总结这款工具集智能推理和结果导出为一体,功能强大,界面美观,操作简洁,帮助测试开发工程师高效管理和分析测试文档。快来体验吧,让你的测试工作更智能!后续可在文档分类、内容清洗等方向持续优化。升级后的源码已上传云盘
DeepseekAPI+Python测试用例一键生成与导出由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“DeepseekAPI+Python测试用例一键生成与导出”
下一篇
golang接口