以下是完整的实现步骤和代码示例,详细说明了如何通过 Python 调用本地部署的 DeepSeek-r1:1.5b 模型,将功能测试用例转换为适合 pytest 和 Page Object(PO)设计模式 的 Playwright 自动化测试脚本。
一、前提条件
-
DeepSeek 模型本地部署
- 通过 Ollama 部署 DeepSeek-r1:1.5b 模型。
- Ollama 提供的本地推理服务默认可通过 HTTP API 访问,地址通常为:
复制http://localhost:11434/api/generate
-
Python 环境准备
- 安装以下依赖库:
复制pip install requests pytest playwright jinja2 playwright install playwright install
用于安装 Playwright 所需的浏览器驱动。
- 安装以下依赖库:
-
测试用例准备
- 功能测试用例需要以 JSON 格式提供,包括标题、描述和步骤。
二、Page Object (PO) 设计模式概述
Page Object 设计模式 是一种常见的自动化测试结构化设计方法,核心思想是将页面的元素及操作封装成一个类(页面对象),从而提高代码复用性和可维护性。
- 页面对象层:每个页面对应一个类,负责封装页面元素和操作。
- 测试用例层:测试用例通过调用页面对象的方法实现,清晰直观。
三、功能测试用例示例
我们将以下功能测试用例转换为 pytest PO 结构的 Playwright 自动化测试脚本。
{ "id": "TC001", "title": "用户登录成功", "description": "测试用户输入正确的用户名和密码后是否可以成功登录。", "steps": [ "打开登录页面 https://example.com/login", "输入用户名 'test_user'", "输入密码 'test_password'", "点击登录按钮", "验证页面跳转到用户主页" ] }
复制
四、Python 调用本地 Ollama DeepSeek 推理服务
以下代码实现了调用 DeepSeek 服务并生成 pytest PO 结构的 Playwright 测试文件。
1. 调用 DeepSeek 推理服务
import requests import json # 本地 Ollama DeepSeek 推理服务地址 DEESEEK_API_URL = "http://localhost:11434/api/generate" def call_deepseek_api(test_case): """ 调用 DeepSeek 推理服务,将功能测试用例转换为 Playwright 脚本。 """ # 准备输入数据 input_text = f"将以下功能测试用例转换为 pytest Page Object 模式的 Playwright 测试脚本:\n" input_text = f"标题:
复制