KDTest Playwright Edition - 关键字驱动测试框架,专为 Element Plus/Vue3 优化
Project description
KDTest-Playwright
基于 Playwright 的关键字驱动测试框架,专为 Element Plus/Vue3 优化。
安装
# 从 PyPI 安装
pip install kdtest-pw
# 安装 Playwright 浏览器
playwright install chromium
快速开始
1. 创建配置文件 parameters.json
{
"testCaseFile": [
{
"caseFilePath": "testCases.xlsx",
"caseItem": ["Sheet1"]
}
],
"browser": "chromium",
"url": "http://localhost:8080",
"headless": false,
"timeout": 30000
}
2. 创建 Excel 测试用例
| 用例ID | 用例名称 | 描述 | 关键字 | 定位信息 | 操作值 |
|---|---|---|---|---|---|
| TC001 | 登录测试 | ||||
| 打开网站 | driver_get | http://localhost | |||
| 输入用户名 | input_text | xpath | //input[@placeholder='账号'] | ||
| 点击登录 | click_btn | css | .el-button--primary |
3. 运行测试
# 命令行运行
kdtest-pw -c parameters.json
# 或在 Python 中使用
from kdtest_pw.cli import KDTestRunner
runner = KDTestRunner("parameters.json")
runner.setup()
runner.run()
runner.teardown()
核心关键字
浏览器操作
driver_get- 导航到 URLdriver_back- 后退driver_refresh- 刷新driver_close- 关闭页面
输入操作
input_text- 输入文本(清除后输入)input_append- 追加输入input_clear- 清除输入
点击操作
click_btn- 点击元素double_click- 双击right_click- 右键点击hover- 鼠标悬停
断言
text_assert- 文本断言title_assert- 标题断言element_visible_assert- 可见性断言element_count_assert- 数量断言
Element Plus 组件
el_select- 下拉选择el_datepicker- 日期选择el_dialog_confirm- 对话框确认el_table_click_row- 表格行点击el_tree_click_node- 树节点点击el_cascader- 级联选择el_upload- 文件上传el_form_input- 表单输入
菜单导航
menu_load_data- 加载菜单配置menu_navigate- 导航到菜单menu_switch_iframe- 切换 iframemenu_exit_iframe- 退出 iframe
变量和内置函数
变量引用
${varName} # 从缓存获取
${self.param} # 自定义参数
${env.NAME} # 环境变量
内置函数
@today() # 今天日期
@now() # 当前时间
@random(1,100) # 随机数
@random_phone() # 随机手机号
@uuid() # UUID
与 kdtest (Selenium) 的区别
| 特性 | kdtest (Selenium) | kdtest-pw (Playwright) |
|---|---|---|
| 浏览器驱动 | 需要下载 WebDriver | 内置浏览器 |
| 等待机制 | 显式/隐式等待 | 自动等待 |
| Element Plus | 需要额外处理 | 原生支持 |
| 多标签页 | 需要切换句柄 | 原生支持 |
| 录制回放 | 无 | 支持 Trace |
| 视频录制 | 无 | 原生支持 |
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kdtest_pw-2.0.0.tar.gz
(66.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
kdtest_pw-2.0.0-py3-none-any.whl
(86.4 kB
view details)
File details
Details for the file kdtest_pw-2.0.0.tar.gz.
File metadata
- Download URL: kdtest_pw-2.0.0.tar.gz
- Upload date:
- Size: 66.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94349627dcb51272b7494e48cc4255dc9875fddf83286d5c084f0e176353f1b4
|
|
| MD5 |
03f58d2d12ba8048a032facceba48a2c
|
|
| BLAKE2b-256 |
67947900d828b19db60f249072b4f3e7d56bb2ab9f19d26742ede91bca363d1d
|
File details
Details for the file kdtest_pw-2.0.0-py3-none-any.whl.
File metadata
- Download URL: kdtest_pw-2.0.0-py3-none-any.whl
- Upload date:
- Size: 86.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
704fdd570fcf025f712d10758806972aa5f2ed079dff29fb0881493e760cd374
|
|
| MD5 |
4a3c1506432c5a39e830cba39b35d93a
|
|
| BLAKE2b-256 |
0a30ff02a3f81a9dc5adde1e7b722970e4373c11e240bc7d3afc9119f1495b63
|