Deepseek API+Python 测试用例一键生成与导出 V1.0.5(支持读取json及yml文件,虚拟环境及库安装指导保姆级指南)

devtools/2025/4/2 8:37:11/

随着测试需求的复杂性增加,测试用例的设计和生成变得愈发重要。在Deepseek API+Python 测试用例生成工具在 V1.0.4 中进行了全方位的优化和功能扩展,特别是对接口测试用例设计的支持和接口文档的智能解析处理。基于群友的热心反馈,新增了一版优化,主要新增了对json及yml文件类型的接口文档进行了适配,帮助测试工程师高效完成接口测试用例的生成和导出。


json__6">1. 优化json 文档处理功能

1.1 Excel 文档解析为 Markdown 格式

新增了对json及yml文件格式接口文档的智能处理功能。工具会自动解析文件内容,便于在 PyQt5 的 QTextEdit() 内容预览框中展示。

实现代码

以下是读取json及yml文件的代码:

python">            elif file_path.endswith('.json'):with open(file_path, 'r', encoding='utf-8') as f:return json.load(f)elif file_path.endswith('.yaml') or file_path.endswith('.yml'):with open(file_path, 'r', encoding='utf-8') as f:return yaml.safe_load(f)

代码说明:

文件扩展名判断:
* file_path.endswith('.json'): 检查 file_path 变量所指向的文件路径是否以 .json 结尾。如果是,则执行 JSON 文件的读取和解析操作。
* file_path.endswith('.yaml') or file_path.endswith('.yml'): 检查 file_path 是否以 .yaml.yml 结尾。这两种扩展名通常用于 YAML 文件。如果满足条件,则执行 YAML 文件的读取和解析。

JSON 文件处理:
* with open(file_path, 'r', encoding='utf-8') as f:: 使用 open() 函数以只读模式 ('r') 打开文件。encoding='utf-8' 确保以 UTF-8 编码读取文件,这对于处理包含各种字符(包括中文、特殊符号等)的 JSON 文件很重要。with 语句创建一个上下文,确保文件在使用后自动关闭,即使发生错误。
* return json.load(f): json.load() 函数从打开的文件对象 f 中读取 JSON 数据,并将其解析为 Python 对象(通常是字典或列表)。然后,该函数将解析后的 Python 对象返回。

YAML 文件处理:
* with open(file_path, 'r', encoding='utf-8') as f:: 类似于 JSON 文件处理,以只读模式和 UTF-8 编码打开 YAML 文件。
* return yaml.safe_load(f): yaml.safe_load() 函数从打开的文件对象 f 中读取 YAML 数据,并将其解析为 Python 对象。safe_load()yaml.load() 的更安全版本,可以防止执行任意代码,从而降低安全风险。解析后的 Python 对象被返回。

功能效果

展示代码:
python

            elif len(content) >= 1 and (path.split('.')[-1].lower() in ('json', 'yml', 'yaml')):if isinstance(content, list):all_content = content[0].get('paragraphs', '获取内容失败')all_content = json.dumps(all_content, indent=4, ensure_ascii=False)  # 将数据转换为格式化的 JSON 字符串
  • 解析后的内容展示在 QTextEdit() 预览框中,因QTextEdit不支持展示列表数据,所以这里转化为json字符串。
  • 用户可以直接检查接口文档内容,并将其传递给阿里云百炼 Deepseek-R1 大模型进行接口测试用例生成。

2. 支持阿里云百炼 Deepseek-R1 接口测试用例生成

2.1 阿里云百炼 API 说明

工具支持通过阿里云百炼 Deepseek-R1 的 API,实现接口测试用例的自动生成。用户可以参考以下文章申请 API Key:
如何申请阿里云百炼 Deepseek-R1 API Key

2.2 接口用例生成流程

  1. 点击添加知识库,添加json、yml或xlsx接口文档所在的目录。此处的知识库是广义知识库。
    在这里插入图片描述
    此处会将该目录中符合条件的文件均展示在文件列表。

  2. 点击json文件,内容会自动展示在内容预览框中。

在这里插入图片描述

  1. 用户点击“生成测试用例”按钮,工具会调用阿里云百炼 Deepseek-R1 接口生成高覆盖率的接口测试用例

3. 优化大模型数据分块功能

3.1 数据分块功能

为了解决大模型生成数据不完整的问题,工具新增了数据分块功能。在传递大数据量时,将其分块处理,避免超出大模型的处理限制。

实现代码

以下是数据分块功能的代码实现:

python">def chunk_data(self, data, chunk_size):print("开始分块")"""将数据分割成指定大小的块"""return [data[i:i + chunk_size] for i in range(0, len(data), chunk_size)]
功能意义
  • 数据分块可有效避免生成内容中断或遗漏的问题。
  • 分块适配功能还在进一步优化中,未来将全面支持不同类型的数据分块。

** 4. requirements.txt**

鉴于很多同学安装环境时很容易遇到阻塞,先对运行所需的库进行整理。
在实际开发中,我们可能需要在不同的项目中使用不同版本的 Python 环境。这里推荐使用 uv(Universal Virtualenv Manager),它是一个轻量级的 Python 多版本管理工具,支持快速创建虚拟环境。

4.1. 安装 uv

首先,安装 uv 工具:

pip install uv

安装完成后,输入 uv --help 检查是否安装成功。

4.2. 创建 Python 3.12 虚拟环境

切换到指定项目目录,在该目录下创建基于 Python 3.12 的虚拟环境:

uv venv --python 3.12.0

在这里插入图片描述

这条命令会自动下载 Python 3.12.0,并创建一个虚拟环境。

在这里插入图片描述

3. 配置虚拟环境到 PyCharm

接下来,拿到源码后,复制到之前创建好的ai_tester_project目录中,
在这里插入图片描述
回到上一层,选中目录右键在pycharm以工程打开:
在这里插入图片描述

配置解释器为,选择刚刚创建的虚拟环境路径。
在这里插入图片描述
根据整理的requirements.txt安装时,会报错。

paddleocr==2.10.0
paddlepaddle==3.0.0
pandas==2.2.3
PyPDF2==3.0.1
PyQt5==5.15.11
python-docx==1.1.2
openpyxl==3.1.5
opencv-python==4.11.0.86
Markdown==3.7
lxml==5.3.1
ollama==0.4.7
PyYAML==6.0.2
nltk==3.9.1
openai==1.65.1
numpy==2.2.3
tabulate==0.9.0

在这里插入图片描述
在这里插入图片描述
解决 Python 3.12 中的 distutils 问题

Python 3.12 官方已废弃了 distutils 模块,导致某些库无法正常安装。在 MCP Server 示例项目中,我们尝试安装 mcp 库时,会遇到以下错误:

ModuleNotFoundError: No module named ‘distutils’

1. 安装 setuptools 替代 distutils

setuptools 是 Python 的包管理工具,可以作为 distutils 的替代解决方案。运行以下命令安装 setuptools

pip install setuptools

在这里插入图片描述

如果安装过程中仍遇问题,可以尝试更新 pipsetuptools 到最新版本。

2. 更新 pip

Python 3.12 的默认 pip 版本可能不支持某些包安装。亲测 pip 版本 24.0 会报错,因此需要升级到最新版本:

python -m ensurepip --upgrade
python.exe -m pip install --upgrade pip

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
完成这些操作后,即可依据requirements.txt进行依赖包的安装。安装需要一点时间,耐心等待即可。

5. 总结

Deepseek API+Python 测试用例生成工具 V1.0.5 完成了一系列重要优化和功能扩展:

  1. 提供与python3.12.0版本匹配的requirements.txt,提升用户体验。
  2. 支持json及yml格式文档,支持json及yml格式的接口文档进行接口用例生成。

通过这些优化,工具不仅能够帮助测试工程师快速生成高质量的测试用例,还能适配更复杂的测试场景,极大提升测试效率。赶快使用 V1.0.5,体验全新的测试用例生成之旅!


http://www.ppmy.cn/devtools/172754.html

相关文章

QCustomPlot入门

QCustomPlot 是一个基于 Qt 的 C++ 绘图库,专注于高效、美观的 2D 数据可视化。进入QCustomPlot下载页,下载最新的完整包(包含:源码、文档、示例)。 一、核心架构设计 1. 分层架构模型 层级主要组件职责说明用户接口层QCustomPlot 类提供顶层API,管理所有子组件逻辑控制…

Css环形旋转立体感动画

Css环形旋转立体感动画 index.html <!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>Css环形旋转立体感动画</title><link rel"stylesheet" href"./style.css">&l…

matplotlib——南丁格尔玫瑰

南丁格尔玫瑰图&#xff08;Nightingale Rose Chart&#xff09;&#xff0c;是一种特殊形式的柱状图&#xff0c;它以南丁格尔&#xff08;Florence Nightingale&#xff09;命名&#xff0c;她在1858年首次使用这种图表来展示战争期间士兵死亡原因的数据。 它将数据绘制在极坐…

电气技术:未来自动化的心脏

在当今科技迅猛发展的时代&#xff0c;电气技术与自动化工程已成为推动社会进步的重要力量。 电气技术作为现代工业的基石&#xff0c;涵盖了电力系统、电子学及电磁学等多个领域。它的发展不仅提升了能源利用效率&#xff0c;还为各类设备的运行提供了稳定可靠的电力支持。从…

【Prompt实战】广告营销客服专家

本文原创作者&#xff1a;姚瑞南 AI-agent 大模型运营专家&#xff0c;先后任职于美团、猎聘等中大厂AI训练专家和智能运营专家岗&#xff1b;多年人工智能行业智能产品运营及大模型落地经验&#xff0c;拥有AI外呼方向国家专利与PMP项目管理证书。&#xff08;转载需经授权&am…

首页性能优化

首页性能提升是前端优化中的核心任务之一&#xff0c;因为首页是用户访问的第一入口&#xff0c;其加载速度和交互体验直接影响用户的留存率和转化率。 1. 性能瓶颈分析 在优化之前&#xff0c;首先需要通过工具分析首页的性能瓶颈。常用的工具包括&#xff1a; Chrome DevTo…

# 基于 OpenCV 的选择题自动批改系统实现

在教育领域&#xff0c;选择题的批改工作通常较为繁琐且重复性高。为了提高批改效率&#xff0c;我们可以利用计算机视觉技术&#xff0c;通过 OpenCV 实现选择题的自动批改。本文将详细介绍如何使用 Python 和 OpenCV 实现一个简单的选择题自动批改系统。 1. 项目背景 选择题…

【MCU内置FPGA/CPLD在触摸屏中的应用

传统的屏驱MCU常见应用于洗衣机、空调、空调面板、仪器仪表等人机交互界面显示场景中&#xff0c;通常是以段码的形式显示设备运转的时间、温度、测量结果等简单运行数据&#xff0c;随着人机交互需求丰富化&#xff0c;智能家居设备、摩托车、电动车等产品也逐步增加了屏幕显示…