使用deepseek生成自动化测试脚本需针对性设计提示词:一、pytest指令式提示;二、数据驱动模板嵌入;三、selenium ui测试约束;四、requests接口测试规范;五、结构化校验提示法。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您希望使用DeepSeek模型辅助编写自动化测试脚本,但缺乏明确的代码结构或测试框架适配经验,则可能因提示词模糊、输出格式不一致或缺乏上下文约束而导致生成脚本不可执行。以下是针对该问题的多种实现路径:
一、基于Pytest框架的指令式提示法
此方法通过在提示词中严格定义测试目标、输入输出格式及断言逻辑,引导DeepSeek生成符合Pytest规范的可运行Python测试文件。关键在于将测试用例要素显式编码为自然语言约束。
1、在提示词开头声明目标框架:请生成一个使用pytest编写的Python测试脚本,文件名为test_calculator.py。
2、明确描述被测对象行为:被测函数为calculate(a: int, b: int, op: str) → int,支持加减乘除,除零时抛出ValueError。
3、逐条列出测试场景:包含4个测试函数:test_add_returns_sum、test_subtract_returns_difference、test_multiply_returns_product、test_divide_raises_on_zero_division。
4、指定断言方式:所有断言必须使用assert语句,禁止使用print或logging替代验证逻辑。
二、测试数据驱动模板嵌入法
该方法将参数化测试的数据结构(如字典列表)直接嵌入提示词,使DeepSeek在生成脚本时自动完成@pytest.mark.parametrize装饰器的构造与数据绑定。
1、在提示中提供结构化测试集:测试数据如下:[{"a": 5, "b": 3, "op": "+", "expected": 8}, {"a": 10, "b": 2, "op": "/", "expected": 5}]。
2、要求生成带参数化的测试函数:请用@pytest.mark.parametrize装饰test_operation函数,参数名为a,b,op,expected。
3、强制返回值校验逻辑:函数体内调用calculate(a,b,op),并用assert result == expected进行验证。
4、附加异常测试说明:额外添加一个测试函数test_divide_by_zero,使用pytest.raises(ValueError)捕获异常。
三、Selenium Web UI测试脚本生成法
当目标为浏览器端自动化测试时,需在提示中固化WebDriver操作序列、页面元素定位策略及显式等待机制,避免生成仅含伪代码的无效步骤。
1、声明浏览器与环境约束:使用ChromeDriver,所有元素定位必须采用By.ID或By.XPATH,禁用By.NAME或By.CLASS_NAME。
2、描述页面交互流程:访问https://example.com/login,输入用户名admin、密码123456,点击ID为login-btn的按钮,验证URL是否变为/dashboard。
3、嵌入显式等待要求:在点击登录按钮后,必须使用WebDriverWait(driver, 10).until(EC.url_changes("https://example.com/login"))。
4、指定断言方式:最终断言driver.current_url == "https://example.com/dashboard",且页面内存在ID为welcome-text的元素。
四、接口测试脚本生成法(Requests + pytest)
该方法聚焦HTTP协议层验证,通过在提示中固化请求方法、Headers、JSON Body结构及响应字段断言规则,确保生成脚本具备真实调用能力。
1、定义API端点与认证方式:测试POST https://api.example.com/v1/users,Header包含Authorization: Bearer abc123,Body为{"name": "test", "email": "t@example.com"}。
2、要求处理响应状态码:断言响应status_code == 201,且返回JSON中id字段为整数、email字段与请求一致。
3、嵌入错误场景提示:另写一个测试函数,发送空Body请求,断言status_code == 400且响应JSON含error字段。
4、禁用非标准库调用:不得使用httpx、aiohttp等第三方库,仅允许import requests和pytest。
五、测试脚本结构化校验提示法
此方法不直接生成完整脚本,而是构建一套用于验证DeepSeek输出合规性的提示指令,适用于对生成结果进行二次过滤或批量校验的场景。
1、定义校验维度:检查输出是否包含import pytest、至少一个以test_开头的函数、每个函数内有assert语句、无语法错误。
2、设定格式硬性要求:文件开头必须有模块级docstring,内容为'Automated test suite for [功能描述]'。
3、限制命名规范:函数名禁止含空格、特殊字符或中文,类名必须以Test开头,且继承unittest.TestCase(若指定unittest)。
4、触发修复指令:若检测到print()调用、未关闭的WebDriver实例、缺少异常处理块,则返回具体行号及修正建议。











