提交 4af0f3e4 authored 作者: 陈泽健's avatar 陈泽健

补充服务进程监控的代码实现,自动生成中文Word异常报告,通过钉钉机器人发送异常告警通知,优化补充日志打印。

上级 6a0036da
......@@ -9,6 +9,8 @@
- pip install requests
- pip install chardet
- pip install pyyaml
- pip install colorama
- pip install python-docx
- 若切换电脑环境后需要输入指令: 将本地库导入到外部库中。
- # 找到 site-packages 路径
......
......@@ -26,24 +26,8 @@ def dingding_send_message(error_log_url,ding_type):
# 这是错的
# secret = 'SEC610498ed6261ae2df1d071d0880aaa70abf5e67efe47f75a809c1f2314e0dbd612211221'
# 日志类型:1.预定系统对内服务;2.预定系统对外服务
log_type = ''
if ding_type == '235标准预定-对内服务服务监测':
log_type = '235标准预定-对内服务日志出现异常'
elif ding_type == '235标准预定-对外服务服务监测':
log_type = '235标准预定-对外服务日志出现异常'
elif ding_type == '展厅预定系统-对内服务服务监测':
log_type = '展厅预定-对内服务服务监测'
elif ding_type == '展厅预定系统-对外服务服务监测':
log_type = '展厅预定-对外服务日志出现异常'
elif ding_type == '展厅运维集控系统-服务监测':
log_type = '展厅运维集控系统-服务监测'
logging.info(f"预定服务日志类型:{log_type}")
logging.info(f"预定服务日志类型:{ding_type}")
# 生成时间戳
timestamp = str(round(time.time() * 1000))
......@@ -70,17 +54,17 @@ def dingding_send_message(error_log_url,ding_type):
# 构建消息体
headers = {'Content-Type': 'application/json'}
message = {
'msgtype': 'link',
'link': {
'title': log_type,
'messageUrl': error_log_url,
'text': "请点击链接,尽快排查处理!!!"
},
"at": {
"atMobiles": "13724387318",
"isAtAll": True
'msgtype': 'link',
'link': {
'title': ding_type,
'messageUrl': error_log_url,
'text': "请点击链接,尽快排查处理!!!"
},
"at": {
"atMobiles": "13724387318",
"isAtAll": True
}
}
}
try:
# 发送 POST 请求
......
......@@ -10,4 +10,6 @@
3. 2025-06-09:
- 优化日志监控的异常处理。处理路径拼接方式,处理服务出现错误日志没有发送的问题,调试重复发送问题。
4. 2025-06-10:
- 通过组合日志格式中的模块+操作+消息内容 作为错误唯一标识转为固定的哈希值,记录每个错误最后发送时间 {hash: timestamp},定时任务每天00:00清空发送记录,避免历史错误永远被屏蔽。
\ No newline at end of file
- 通过组合日志格式中的模块+操作+消息内容 作为错误唯一标识转为固定的哈希值,记录每个错误最后发送时间 {hash: timestamp},定时任务每天00:00清空发送记录,避免历史错误永远被屏蔽。
5. 2025-06-12:
- 补充服务进程监控的代码实现,自动生成中文Word异常报告,通过钉钉机器人发送异常告警通知,优化补充日志打印。
\ No newline at end of file
......@@ -42,7 +42,7 @@ except ImportError as e:
class LogMonitor:
def __init__(self, host, username, private_key_path, passphrase, log_path,
check_interval=1, ding_type="标准版服务监测", resend_interval=43200):
check_interval=1, ding_type="标准版服务监测", resend_interval=10800):
self.host = host
self.username = username
self.private_key_path = private_key_path
......@@ -336,11 +336,11 @@ if __name__ == "__main__":
"logs": [
{
"log_path": "/var/www/java/api-java-meeting2.0/logs/ubains-INFO-AND-ERROR.log",
"ding_type": "235标准预定-对内服务监测"
"ding_type": "235标准预定对内服务"
},
{
"log_path": "/var/www/java/external-meeting-api/logs/ubains-INFO-AND-ERROR.log",
"ding_type": "235标准预定-对外服务监测"
"ding_type": "235标准预定对外服务"
}
]
},
......@@ -352,11 +352,11 @@ if __name__ == "__main__":
"logs": [
{
"log_path": "/var/www/java/api-java-meeting2.0/logs/ubains-INFO-AND-ERROR.log",
"ding_type": "展厅预定系统-对内服务监测"
"ding_type": "展厅预定对内服务"
},
{
"log_path": "/var/www/java/external-meeting-api/logs/ubains-INFO-AND-ERROR.log",
"ding_type": "展厅预定系统-对内服务监测"
"ding_type": "展厅预定对外服务"
}
]
},
......@@ -368,7 +368,7 @@ if __name__ == "__main__":
"logs": [
{
"log_path": "/var/www/html/log/uinfo.log",
"ding_type": "展厅运维集控系统-服务监测"
"ding_type": "展厅运维集控服务监测"
}
]
}
......
2025-06-12 17:48:45,326 - INFO - 开始监测 1 台服务器
2025-06-12 17:48:45,333 - INFO - 检查间隔: 300秒
2025-06-12 17:48:45,379 - ERROR - 连接服务器 生产服务器-235 失败: private key file is encrypted
2025-06-12 17:48:45,380 - INFO -
=== 检查时间: 2025-06-12 17:48:45 ===
2025-06-12 17:48:45,380 - INFO -
服务器: 生产服务器-235 - 状态: CONNECTION_FAILED
2025-06-12 17:51:37,173 - INFO - 监测已手动停止
2025-06-12 17:51:37,775 - INFO - 开始监测 1 台服务器
2025-06-12 17:51:37,775 - INFO - 检查间隔: 300秒
2025-06-12 17:51:37,775 - ERROR - 监测异常终止: 'ServerProcessMonitor' object has no attribute '_connect_server'
2025-06-12 17:52:03,772 - INFO - 开始监测 1 台服务器
2025-06-12 17:52:03,772 - INFO - 检查间隔: 300秒
2025-06-12 17:52:03,780 - ERROR - 监测异常终止: 'ServerProcessMonitor' object has no attribute '_connect_server'
2025-06-12 17:52:21,632 - INFO - 开始监测 1 台服务器
2025-06-12 17:52:21,632 - INFO - 检查间隔: 300秒
2025-06-12 17:52:21,632 - ERROR - 监测异常终止: ServerProcessMonitor._connect_server() takes 1 positional argument but 2 were given
2025-06-12 17:52:53,573 - INFO - 开始监测 1 台服务器
2025-06-12 17:52:53,574 - INFO - 检查间隔: 300秒
2025-06-12 17:52:53,612 - ERROR - 连接服务器 生产服务器-235 失败: private key file is encrypted
2025-06-12 17:52:53,613 - INFO -
=== 检查时间: 2025-06-12 17:52:53 ===
2025-06-12 17:52:53,613 - INFO -
服务器: 生产服务器-235 - 状态: CONNECTION_FAILED
2025-06-12 17:54:25,275 - INFO - 监测已手动停止
2025-06-12 17:54:25,857 - INFO - 开始监测 1 台服务器
2025-06-12 17:54:25,857 - INFO - 检查间隔: 300秒
2025-06-12 17:54:25,895 - ERROR - 连接服务器 生产服务器-235 失败: private key file is encrypted
2025-06-12 17:54:25,896 - INFO -
=== 检查时间: 2025-06-12 17:54:25 ===
2025-06-12 17:54:25,896 - INFO -
服务器: 生产服务器-235 - 状态: CONNECTION_FAILED
2025-06-12 17:54:54,836 - INFO - 监测已手动停止
2025-06-12 17:54:55,466 - INFO - 开始监测 1 台服务器
2025-06-12 17:54:55,467 - INFO - 检查间隔: 300秒
2025-06-12 17:54:55,509 - ERROR - 连接服务器 生产服务器-235 失败: private key file is encrypted
2025-06-12 17:54:55,509 - INFO -
=== 检查时间: 2025-06-12 17:54:55 ===
2025-06-12 17:54:55,509 - INFO -
服务器: 生产服务器-235 - 状态: CONNECTION_FAILED
2025-06-12 17:59:55,553 - ERROR - 连接服务器 生产服务器-235 失败: private key file is encrypted
2025-06-12 17:59:55,553 - INFO -
=== 检查时间: 2025-06-12 17:59:55 ===
2025-06-12 17:59:55,553 - INFO -
服务器: 生产服务器-235 - 状态: CONNECTION_FAILED
2025-06-12 18:02:51,162 - INFO - 监测已手动停止
2025-06-12 18:02:51,664 - INFO - 开始监测 1 台服务器
2025-06-12 18:02:51,664 - INFO - 开始监测 1 台服务器
2025-06-12 18:02:51,665 - INFO - 检查间隔: 300秒
2025-06-12 18:02:51,665 - INFO - 检查间隔: 300秒
2025-06-12 18:02:51,703 - ERROR - 连接服务器 生产服务器-235 失败: private key file is encrypted
2025-06-12 18:02:51,703 - ERROR - 连接服务器 生产服务器-235 失败: private key file is encrypted
2025-06-12 18:02:51,704 - INFO -
=== 检查时间: 2025-06-12 18:02:51 ===
2025-06-12 18:02:51,704 - INFO -
=== 检查时间: 2025-06-12 18:02:51 ===
2025-06-12 18:02:51,704 - INFO -
服务器: 生产服务器-235 - 状态: CONNECTION_FAILED
2025-06-12 18:02:51,704 - INFO -
服务器: 生产服务器-235 - 状态: CONNECTION_FAILED
2025-06-12 18:02:57,848 - INFO - 开始监测 1 台服务器
2025-06-12 18:02:57,848 - INFO - 检查间隔: 300秒
2025-06-12 18:02:58,493 - INFO - 成功连接到服务器: 生产服务器-235
2025-06-12 18:03:02,374 - INFO -
=== 检查时间: 2025-06-12 18:02:57 ===
2025-06-12 18:03:02,374 - INFO -
服务器: 生产服务器-235 - 状态: CONNECTED
2025-06-12 18:03:02,374 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:03:02,374 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:03:02,375 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:03:02,375 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:03:02,375 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:03:02,375 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:03:02,573 - INFO - 钉钉消息发送成功!
2025-06-12 18:03:02,574 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:03:02,574 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:03:02,574 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:03:18,691 - INFO - 监测已手动停止
2025-06-12 18:03:18,691 - INFO - 已关闭服务器 生产服务器-235 的连接
2025-06-12 18:07:17,021 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:07:17,021 - INFO - 检查间隔: 300秒
2025-06-12 18:07:17,022 - INFO - 正在尝试连接服务器: 测试发布-235...
2025-06-12 18:07:17,022 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:07:17,632 - INFO - 私钥认证成功
2025-06-12 18:07:17,632 - INFO - 成功连接到服务器: 测试发布-235
2025-06-12 18:07:17,632 - INFO - 正在检查进程: ungrok...
2025-06-12 18:07:18,015 - INFO - 容器 ungrok 状态: running
2025-06-12 18:07:18,015 - INFO - 正在检查进程: umysql...
2025-06-12 18:07:18,380 - INFO - 容器 umysql 状态: running
2025-06-12 18:07:18,380 - INFO - 正在检查进程: uredis...
2025-06-12 18:07:18,786 - INFO - 容器 uredis 状态: running
2025-06-12 18:07:18,786 - INFO - 正在检查进程: upython...
2025-06-12 18:07:19,234 - INFO - 容器 upython 状态: running
2025-06-12 18:07:19,235 - INFO - 正在检查进程: ujava2...
2025-06-12 18:07:19,631 - INFO - 容器 ujava2 状态: running
2025-06-12 18:07:19,632 - INFO - 正在检查进程: paperless...
2025-06-12 18:07:19,990 - INFO - 容器 paperless 状态: exited
2025-06-12 18:07:19,991 - INFO - 正在检查进程: cardtable...
2025-06-12 18:07:20,414 - INFO - 容器 cardtable 状态: running
2025-06-12 18:07:20,415 - INFO - 正在检查进程: ustorage...
2025-06-12 18:07:20,826 - INFO - 容器 ustorage 状态: running
2025-06-12 18:07:20,826 - INFO - 正在检查进程: utracker...
2025-06-12 18:07:21,180 - INFO - 容器 utracker 状态: running
2025-06-12 18:07:21,180 - INFO -
=== 检查时间: 2025-06-12 18:07:17 ===
2025-06-12 18:07:21,180 - INFO -
服务器: 测试发布-235 - 状态: CONNECTED
2025-06-12 18:07:21,181 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:07:21,181 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:07:21,181 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:07:21,181 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:07:21,181 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:07:21,181 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:07:21,315 - INFO - 钉钉消息发送成功!
2025-06-12 18:07:21,316 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:07:21,316 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:07:21,316 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:07:30,723 - INFO - 监测已手动停止
2025-06-12 18:07:30,724 - INFO - 已关闭服务器 测试发布-235 的连接
2025-06-12 18:13:48,993 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:13:48,994 - INFO - 检查间隔: 300秒
2025-06-12 18:13:48,994 - INFO - 正在尝试连接服务器: 测试发布-235...
2025-06-12 18:13:48,994 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:13:49,623 - INFO - 私钥认证成功
2025-06-12 18:13:49,623 - INFO - 成功连接到服务器: 测试发布-235
2025-06-12 18:13:49,623 - INFO - 正在检查进程: ungrok...
2025-06-12 18:13:50,045 - INFO - 容器 ungrok 状态: running
2025-06-12 18:13:50,045 - INFO - 正在检查进程: umysql...
2025-06-12 18:13:50,426 - INFO - 容器 umysql 状态: running
2025-06-12 18:13:50,427 - INFO - 正在检查进程: uredis...
2025-06-12 18:13:50,846 - INFO - 容器 uredis 状态: running
2025-06-12 18:13:50,846 - INFO - 正在检查进程: upython...
2025-06-12 18:13:51,216 - INFO - 容器 upython 状态: running
2025-06-12 18:13:51,217 - INFO - 正在检查进程: ujava2...
2025-06-12 18:13:51,578 - INFO - 容器 ujava2 状态: running
2025-06-12 18:13:51,578 - INFO - 正在检查进程: paperless...
2025-06-12 18:13:51,979 - INFO - 容器 paperless 状态: exited
2025-06-12 18:13:51,980 - INFO - 正在检查进程: cardtable...
2025-06-12 18:13:52,354 - INFO - 容器 cardtable 状态: running
2025-06-12 18:13:52,354 - INFO - 正在检查进程: ustorage...
2025-06-12 18:13:52,734 - INFO - 容器 ustorage 状态: running
2025-06-12 18:13:52,735 - INFO - 正在检查进程: utracker...
2025-06-12 18:13:53,159 - INFO - 容器 utracker 状态: running
2025-06-12 18:13:53,159 - INFO -
=== 检查时间: 2025-06-12 18:13:48 ===
2025-06-12 18:13:53,159 - INFO -
服务器: 测试发布-235 - 状态: CONNECTED
2025-06-12 18:13:53,159 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:13:53,159 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:13:53,159 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:13:53,159 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:13:53,159 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:13:53,160 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:13:53,160 - INFO - 准备发送钉钉告警: [测试发布-235] paperless服务异常
2025-06-12 18:13:53,362 - INFO - 钉钉消息发送成功!
2025-06-12 18:13:53,363 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:13:53,363 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:13:53,363 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:16:29,917 - INFO - 监测已手动停止
2025-06-12 18:16:29,918 - INFO - 已关闭服务器 测试发布-235 的连接
2025-06-12 18:16:32,277 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:16:32,277 - INFO - 检查间隔: 300秒
2025-06-12 18:16:32,277 - INFO - 正在尝试连接服务器: 测试发布-235...
2025-06-12 18:16:32,278 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:16:32,901 - INFO - 私钥认证成功
2025-06-12 18:16:32,902 - INFO - 成功连接到服务器: 测试发布-235
2025-06-12 18:16:32,902 - INFO - 正在检查进程: ungrok...
2025-06-12 18:16:33,330 - INFO - 容器 ungrok 状态: running
2025-06-12 18:16:33,603 - INFO - 正在检查进程: umysql...
2025-06-12 18:16:33,974 - INFO - 容器 umysql 状态: running
2025-06-12 18:16:33,974 - INFO - 正在检查进程: uredis...
2025-06-12 18:16:34,333 - INFO - 容器 uredis 状态: running
2025-06-12 18:16:34,333 - INFO - 正在检查进程: upython...
2025-06-12 18:16:34,718 - INFO - 容器 upython 状态: running
2025-06-12 18:16:34,718 - INFO - 正在检查进程: ujava2...
2025-06-12 18:16:35,090 - INFO - 容器 ujava2 状态: running
2025-06-12 18:16:35,090 - INFO - 正在检查进程: paperless...
2025-06-12 18:16:35,464 - INFO - 容器 paperless 状态: exited
2025-06-12 18:16:35,465 - INFO - 正在检查进程: cardtable...
2025-06-12 18:16:35,828 - INFO - 容器 cardtable 状态: running
2025-06-12 18:16:35,828 - INFO - 正在检查进程: ustorage...
2025-06-12 18:16:36,235 - INFO - 容器 ustorage 状态: running
2025-06-12 18:16:36,235 - INFO - 正在检查进程: utracker...
2025-06-12 18:16:36,606 - INFO - 容器 utracker 状态: running
2025-06-12 18:16:36,607 - INFO -
=== 检查时间: 2025-06-12 18:16:32 ===
2025-06-12 18:16:36,607 - INFO -
服务器: 测试发布-235 - 状态: CONNECTED
2025-06-12 18:16:36,607 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:16:36,607 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:16:36,607 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:16:36,607 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:16:36,607 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:16:36,607 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:16:36,607 - INFO - === 开始构建钉钉告警消息 ===
2025-06-12 18:16:36,607 - INFO - 服务器名称已添加到标题: [测试发布-235] paperless服务异常
2025-06-12 18:16:36,607 - INFO - 生成时间戳: 1749723396608
2025-06-12 18:16:36,608 - INFO - 签名生成完成
2025-06-12 18:16:36,608 - INFO - 最终请求URL: https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4&timestamp=1749723396608&sign=KSnOobwZ5sbvrfwQVs3gYGJOh4JD1JGcn%252BqNAMWlZdM%253D
2025-06-12 18:16:36,608 - INFO - 消息体构建完成:
{
"msgtype": "markdown",
"markdown": {
"title": "[测试发布-235] paperless服务异常",
"text": "### [测试发布-235] paperless服务异常\n\n服务状态: CONTAINER_NOT_RUNNING\n服务器: 测试发布-235\n检测时间: 2025-06-12 18:16:32\n\n!"
},
"at": {
"atMobiles": [
"13724387318"
],
"isAtAll": false
}
}
2025-06-12 18:16:36,609 - INFO - 正在发送钉钉告警消息...
2025-06-12 18:16:36,824 - INFO - 收到响应: 状态码=200
2025-06-12 18:16:36,824 - INFO - 钉钉消息发送成功!
2025-06-12 18:16:36,824 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:16:36,824 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:16:36,826 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:21:36,828 - INFO - 正在检查进程: ungrok...
2025-06-12 18:21:37,166 - INFO - 容器 ungrok 状态: running
2025-06-12 18:21:37,166 - INFO - 正在检查进程: umysql...
2025-06-12 18:21:37,570 - INFO - 容器 umysql 状态: running
2025-06-12 18:21:37,570 - INFO - 正在检查进程: uredis...
2025-06-12 18:21:37,938 - INFO - 容器 uredis 状态: running
2025-06-12 18:21:37,938 - INFO - 正在检查进程: upython...
2025-06-12 18:21:38,302 - INFO - 容器 upython 状态: running
2025-06-12 18:21:38,302 - INFO - 正在检查进程: ujava2...
2025-06-12 18:21:38,715 - INFO - 容器 ujava2 状态: running
2025-06-12 18:21:38,715 - INFO - 正在检查进程: paperless...
2025-06-12 18:21:39,072 - INFO - 容器 paperless 状态: exited
2025-06-12 18:21:39,073 - INFO - 正在检查进程: cardtable...
2025-06-12 18:21:39,439 - INFO - 容器 cardtable 状态: running
2025-06-12 18:21:39,439 - INFO - 正在检查进程: ustorage...
2025-06-12 18:21:39,861 - INFO - 容器 ustorage 状态: running
2025-06-12 18:21:39,862 - INFO - 正在检查进程: utracker...
2025-06-12 18:21:40,466 - INFO - 容器 utracker 状态: running
2025-06-12 18:21:40,466 - INFO -
=== 检查时间: 2025-06-12 18:21:36 ===
2025-06-12 18:21:40,467 - INFO -
服务器: 测试发布-235 - 状态: CONNECTED
2025-06-12 18:21:40,467 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:21:40,467 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:21:40,467 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:21:40,467 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:21:40,467 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:21:40,467 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:21:40,467 - INFO - === 开始构建钉钉告警消息 ===
2025-06-12 18:21:40,467 - INFO - 服务器名称已添加到标题: [测试发布-235] paperless服务异常
2025-06-12 18:21:40,467 - INFO - 生成时间戳: 1749723700467
2025-06-12 18:21:40,468 - INFO - 签名生成完成
2025-06-12 18:21:40,468 - INFO - 最终请求URL: https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4&timestamp=1749723700467&sign=%252BxdDpQPrqaFdAyBCcsPt1Jue5rS4%252FNlcgkyI1q5AZ18%253D
2025-06-12 18:21:40,468 - INFO - 消息体构建完成:
{
"msgtype": "markdown",
"markdown": {
"title": "[测试发布-235] paperless服务异常",
"text": "### [测试发布-235] paperless服务异常\n\n服务状态: CONTAINER_NOT_RUNNING\n服务器: 测试发布-235\n检测时间: 2025-06-12 18:21:36\n\n!"
},
"at": {
"atMobiles": [
"13724387318"
],
"isAtAll": false
}
}
2025-06-12 18:21:40,468 - INFO - 正在发送钉钉告警消息...
2025-06-12 18:21:40,667 - INFO - 收到响应: 状态码=200
2025-06-12 18:21:40,667 - INFO - 钉钉消息发送成功!
2025-06-12 18:21:40,668 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:21:40,668 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:21:40,668 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:23:01,514 - INFO - 监测已手动停止
2025-06-12 18:23:01,515 - INFO - 已关闭服务器 测试发布-235 的连接
2025-06-12 18:28:32,011 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:28:32,011 - INFO - 检查间隔: 300秒
2025-06-12 18:28:32,011 - INFO - 正在尝试连接服务器: 测试发布-235...
2025-06-12 18:28:32,012 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:28:32,621 - INFO - 私钥认证成功
2025-06-12 18:28:32,621 - INFO - 成功连接到服务器: 测试发布-235
2025-06-12 18:28:32,621 - INFO - 正在检查进程: ungrok...
2025-06-12 18:28:33,028 - INFO - 容器 ungrok 状态: running
2025-06-12 18:28:33,029 - INFO - 正在检查进程: umysql...
2025-06-12 18:28:33,401 - INFO - 容器 umysql 状态: running
2025-06-12 18:28:33,401 - INFO - 正在检查进程: uredis...
2025-06-12 18:28:33,802 - INFO - 容器 uredis 状态: running
2025-06-12 18:28:33,802 - INFO - 正在检查进程: upython...
2025-06-12 18:28:34,176 - INFO - 容器 upython 状态: running
2025-06-12 18:28:34,176 - INFO - 正在检查进程: ujava2...
2025-06-12 18:28:34,541 - INFO - 容器 ujava2 状态: running
2025-06-12 18:28:34,542 - INFO - 正在检查进程: paperless...
2025-06-12 18:28:34,920 - INFO - 容器 paperless 状态: exited
2025-06-12 18:28:34,920 - INFO - 正在检查进程: cardtable...
2025-06-12 18:28:35,328 - INFO - 容器 cardtable 状态: running
2025-06-12 18:28:35,329 - INFO - 正在检查进程: ustorage...
2025-06-12 18:28:35,685 - INFO - 容器 ustorage 状态: running
2025-06-12 18:28:35,686 - INFO - 正在检查进程: utracker...
2025-06-12 18:28:36,081 - INFO - 容器 utracker 状态: running
2025-06-12 18:28:36,082 - INFO -
=== 检查时间: 2025-06-12 18:28:32 ===
2025-06-12 18:28:36,082 - INFO -
服务器: 测试发布-235 - 状态: CONNECTED
2025-06-12 18:28:36,082 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:28:36,082 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:28:36,082 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:28:36,082 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:28:36,082 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:28:36,147 - INFO - 已生成Word报告: ..\error_log\测试发布-235_paperless_异常报告_2025-06-12_18-28-32.docx
2025-06-12 18:28:36,147 - INFO - === 开始构建钉钉告警消息 ===
2025-06-12 18:28:36,147 - INFO - 服务器名称已添加到标题: [测试发布-235] paperless服务异常
2025-06-12 18:28:36,147 - INFO - 生成时间戳: 1749724116147
2025-06-12 18:28:36,147 - INFO - 签名生成完成
2025-06-12 18:28:36,148 - INFO - 最终请求URL: https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4&timestamp=1749724116147&sign=%252FCF6iFt0ADIXcdCK3QAoDWBU9Cpj5bL5i3QeF4RWgGw%253D
2025-06-12 18:28:36,148 - INFO - 消息体构建完成:
{
"msgtype": "markdown",
"markdown": {
"title": "[测试发布-235] paperless服务异常",
"text": "### [测试发布-235] paperless服务异常\n\n**服务状态**: CONTAINER_NOT_RUNNING\n**服务器**: 测试发布-235\n**检测时间**: 2025-06-12 18:28:32\n**报告路径**: E:\\GithubData\\自动化\\ubains-module-test\\系统监测\\error_log\\测试发布-235_paperless_异常报告_2025-06-12_18-28-32.docx\n\n\n!"
},
"at": {
"atMobiles": [
"13724387318"
],
"isAtAll": false
}
}
2025-06-12 18:28:36,148 - INFO - 正在发送钉钉告警消息...
2025-06-12 18:28:36,408 - INFO - 收到响应: 状态码=200
2025-06-12 18:28:36,408 - INFO - 钉钉消息发送成功!
2025-06-12 18:28:36,409 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:28:36,409 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:28:36,409 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:28:36,409 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:28:38,831 - INFO - 监测已手动停止
2025-06-12 18:28:38,832 - INFO - 已关闭服务器 测试发布-235 的连接
2025-06-12 18:34:08,556 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:34:08,556 - INFO - 检查间隔: 3000秒
2025-06-12 18:34:08,556 - INFO - 正在尝试连接服务器: 测试发布-235...
2025-06-12 18:34:08,556 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:34:09,212 - INFO - 私钥认证成功
2025-06-12 18:34:09,212 - INFO - 成功连接到服务器: 测试发布-235
2025-06-12 18:34:09,212 - INFO - 正在检查进程: ungrok...
2025-06-12 18:34:09,609 - INFO - 容器 ungrok 状态: running
2025-06-12 18:34:09,609 - INFO - 正在检查进程: umysql...
2025-06-12 18:34:09,975 - INFO - 容器 umysql 状态: running
2025-06-12 18:34:09,975 - INFO - 正在检查进程: uredis...
2025-06-12 18:34:10,375 - INFO - 容器 uredis 状态: running
2025-06-12 18:34:10,376 - INFO - 正在检查进程: upython...
2025-06-12 18:34:10,736 - INFO - 容器 upython 状态: running
2025-06-12 18:34:10,736 - INFO - 正在检查进程: ujava2...
2025-06-12 18:34:11,095 - INFO - 容器 ujava2 状态: running
2025-06-12 18:34:11,095 - INFO - 正在检查进程: paperless...
2025-06-12 18:34:11,446 - INFO - 容器 paperless 状态: exited
2025-06-12 18:34:11,447 - INFO - 正在检查进程: cardtable...
2025-06-12 18:34:11,814 - INFO - 容器 cardtable 状态: running
2025-06-12 18:34:11,814 - INFO - 正在检查进程: ustorage...
2025-06-12 18:34:12,238 - INFO - 容器 ustorage 状态: running
2025-06-12 18:34:12,239 - INFO - 正在检查进程: utracker...
2025-06-12 18:34:12,636 - INFO - 容器 utracker 状态: running
2025-06-12 18:34:12,637 - INFO -
=== 检查时间: 2025-06-12 18:34:08 ===
2025-06-12 18:34:12,637 - INFO -
服务器: 测试发布-235 - 状态: CONNECTED
2025-06-12 18:34:12,637 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:34:12,637 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:34:12,637 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:34:12,637 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:34:12,637 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:34:12,704 - INFO - 已生成Word报告: ..\error_log\测试发布-235_paperless_异常报告_2025-06-12_18-34-08.docx
2025-06-12 18:34:12,704 - INFO - 生成报告访问链接: http://nat.ubainsyun.com:32233/测试发布-235_paperless_异常报告_2025-06-12_18-34-08.docx
2025-06-12 18:34:12,704 - INFO - === 开始构建钉钉告警消息 ===
2025-06-12 18:34:12,704 - INFO - 服务器名称已添加到标题: [测试发布-235] paperless服务异常
2025-06-12 18:34:12,704 - INFO - 生成时间戳: 1749724452704
2025-06-12 18:34:12,704 - INFO - 签名生成完成
2025-06-12 18:34:12,704 - INFO - 最终请求URL: https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4&timestamp=1749724452704&sign=ktHjEXSGvC16PUXCYNMwVuuURb71Rio5Cj%252FhN6V1iyQ%253D
2025-06-12 18:34:12,705 - INFO - 消息体构建完成:
{
"msgtype": "link",
"markdown": {
"messageUrl": "http://nat.ubainsyun.com:32233/测试发布-235_paperless_异常报告_2025-06-12_18-34-08.docx",
"title": "[测试发布-235] paperless服务异常",
"text": "### paperless服务异常\n\n**服务状态**: CONTAINER_NOT_RUNNING\n**服务器**: 测试发布-235\n**检测时间**: 2025-06-12 18:34:08\n**[报告下载链接](http://nat.ubainsyun.com:32233/测试发布-235_paperless_异常报告_2025-06-12_18-34-08.docx)**\n"
},
"at": {
"atMobiles": [
"13724387318"
],
"isAtAll": false
}
}
2025-06-12 18:34:12,705 - INFO - 正在发送钉钉告警消息...
2025-06-12 18:34:12,832 - INFO - 收到响应: 状态码=200
2025-06-12 18:34:12,833 - INFO - 钉钉消息发送成功!
2025-06-12 18:34:12,833 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:34:12,833 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:34:12,833 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:34:12,833 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:34:14,772 - INFO - 监测已手动停止
2025-06-12 18:34:14,773 - INFO - 已关闭服务器 测试发布-235 的连接
2025-06-12 18:35:14,363 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:35:14,363 - INFO - 检查间隔: 3000秒
2025-06-12 18:35:14,363 - INFO - 正在尝试连接服务器: 测试发布-235...
2025-06-12 18:35:14,364 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:35:14,990 - INFO - 私钥认证成功
2025-06-12 18:35:14,991 - INFO - 成功连接到服务器: 测试发布-235
2025-06-12 18:35:14,991 - INFO - 正在检查进程: ungrok...
2025-06-12 18:35:15,426 - INFO - 容器 ungrok 状态: running
2025-06-12 18:35:15,427 - INFO - 正在检查进程: umysql...
2025-06-12 18:35:15,806 - INFO - 容器 umysql 状态: running
2025-06-12 18:35:15,806 - INFO - 正在检查进程: uredis...
2025-06-12 18:35:16,211 - INFO - 容器 uredis 状态: running
2025-06-12 18:35:16,211 - INFO - 正在检查进程: upython...
2025-06-12 18:35:16,620 - INFO - 容器 upython 状态: running
2025-06-12 18:35:16,621 - INFO - 正在检查进程: ujava2...
2025-06-12 18:35:16,975 - INFO - 容器 ujava2 状态: running
2025-06-12 18:35:16,975 - INFO - 正在检查进程: paperless...
2025-06-12 18:35:17,379 - INFO - 容器 paperless 状态: exited
2025-06-12 18:35:17,379 - INFO - 正在检查进程: cardtable...
2025-06-12 18:35:17,733 - INFO - 容器 cardtable 状态: running
2025-06-12 18:35:17,733 - INFO - 正在检查进程: ustorage...
2025-06-12 18:35:18,085 - INFO - 容器 ustorage 状态: running
2025-06-12 18:35:18,086 - INFO - 正在检查进程: utracker...
2025-06-12 18:35:18,501 - INFO - 容器 utracker 状态: running
2025-06-12 18:35:18,502 - INFO -
=== 检查时间: 2025-06-12 18:35:14 ===
2025-06-12 18:35:18,502 - INFO -
服务器: 测试发布-235 - 状态: CONNECTED
2025-06-12 18:35:18,502 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:35:18,502 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:35:18,502 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:35:18,502 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:35:18,502 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:35:18,559 - INFO - 已生成Word报告: ..\error_log\测试发布-235_paperless_异常报告_2025-06-12_18-35-14.docx
2025-06-12 18:35:18,559 - INFO - 生成报告访问链接: http://nat.ubainsyun.com:32233/测试发布-235_paperless_异常报告_2025-06-12_18-35-14.docx
2025-06-12 18:35:18,559 - INFO - === 开始构建钉钉告警消息 ===
2025-06-12 18:35:18,559 - INFO - 服务器名称已添加到标题: [测试发布-235] paperless服务异常
2025-06-12 18:35:18,559 - INFO - 生成时间戳: 1749724518559
2025-06-12 18:35:18,559 - INFO - 签名生成完成
2025-06-12 18:35:18,559 - INFO - 最终请求URL: https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4&timestamp=1749724518559&sign=aB1QTXYvtHVEVXykikVyUwUvz3EgZzfIzDlQy1oGfFs%253D
2025-06-12 18:35:18,559 - INFO - 消息体构建完成:
{
"msgtype": "link",
"markdown": {
"messageUrl": "http://nat.ubainsyun.com:32233/测试发布-235_paperless_异常报告_2025-06-12_18-35-14.docx",
"title": "[测试发布-235] paperless服务异常"
},
"at": {
"atMobiles": [
"13724387318"
],
"isAtAll": false
}
}
2025-06-12 18:35:18,559 - INFO - 正在发送钉钉告警消息...
2025-06-12 18:35:18,680 - INFO - 收到响应: 状态码=200
2025-06-12 18:35:18,680 - INFO - 钉钉消息发送成功!
2025-06-12 18:35:18,680 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:35:18,680 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:35:18,680 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:35:18,680 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:37:44,944 - INFO - 监测已手动停止
2025-06-12 18:37:44,945 - INFO - 已关闭服务器 测试发布-235 的连接
2025-06-12 18:37:47,606 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:37:47,606 - INFO - 检查间隔: 3000秒
2025-06-12 18:37:47,606 - INFO - 正在尝试连接服务器: 测试发布-235...
2025-06-12 18:37:47,606 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:37:48,211 - INFO - 私钥认证成功
2025-06-12 18:37:48,212 - INFO - 成功连接到服务器: 测试发布-235
2025-06-12 18:37:48,212 - INFO - 正在检查进程: ungrok...
2025-06-12 18:37:48,597 - INFO - 容器 ungrok 状态: running
2025-06-12 18:37:48,598 - INFO - 正在检查进程: umysql...
2025-06-12 18:37:49,017 - INFO - 容器 umysql 状态: running
2025-06-12 18:37:49,018 - INFO - 正在检查进程: uredis...
2025-06-12 18:37:49,440 - INFO - 容器 uredis 状态: running
2025-06-12 18:37:49,440 - INFO - 正在检查进程: upython...
2025-06-12 18:37:49,840 - INFO - 容器 upython 状态: running
2025-06-12 18:37:49,840 - INFO - 正在检查进程: ujava2...
2025-06-12 18:37:50,200 - INFO - 容器 ujava2 状态: running
2025-06-12 18:37:50,200 - INFO - 正在检查进程: paperless...
2025-06-12 18:37:50,545 - INFO - 容器 paperless 状态: exited
2025-06-12 18:37:50,546 - INFO - 正在检查进程: cardtable...
2025-06-12 18:37:50,954 - INFO - 容器 cardtable 状态: running
2025-06-12 18:37:50,955 - INFO - 正在检查进程: ustorage...
2025-06-12 18:37:51,312 - INFO - 容器 ustorage 状态: running
2025-06-12 18:37:51,312 - INFO - 正在检查进程: utracker...
2025-06-12 18:37:51,669 - INFO - 容器 utracker 状态: running
2025-06-12 18:37:51,670 - INFO -
=== 检查时间: 2025-06-12 18:37:47 ===
2025-06-12 18:37:51,670 - INFO -
服务器: 测试发布-235 - 状态: CONNECTED
2025-06-12 18:37:51,670 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:37:51,670 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:37:51,670 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:37:51,670 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:37:51,670 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:37:51,731 - INFO - 已生成Word报告: ..\error_log\测试发布-235_paperless_异常报告_2025-06-12_18-37-47.docx
2025-06-12 18:37:51,731 - INFO - 生成报告访问链接: http://nat.ubainsyun.com:32233/测试发布-235_paperless_异常报告_2025-06-12_18-37-47.docx
2025-06-12 18:37:51,731 - INFO - === 开始构建钉钉告警消息 ===
2025-06-12 18:37:51,731 - INFO - 服务器名称已添加到标题: [测试发布-235] paperless服务异常
2025-06-12 18:37:51,731 - INFO - 生成时间戳: 1749724671731
2025-06-12 18:37:51,731 - INFO - 签名生成完成
2025-06-12 18:37:51,731 - INFO - 最终请求URL: https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4&timestamp=1749724671731&sign=8KKrmdZvem47i6CRxZgHwdJy%252BwJXFVNwZqsk3mZsRsI%253D
2025-06-12 18:37:51,732 - INFO - 消息体构建完成:
{
"msgtype": "link",
"markdown": {
"messageUrl": "http://nat.ubainsyun.com:32233/测试发布-235_paperless_异常报告_2025-06-12_18-37-47.docx",
"title": "[测试发布-235] paperless服务异常",
"text": "请点击链接,尽快排查处理!"
},
"at": {
"atMobiles": [
"13724387318"
],
"isAtAll": false
}
}
2025-06-12 18:37:51,732 - INFO - 正在发送钉钉告警消息...
2025-06-12 18:37:51,854 - INFO - 收到响应: 状态码=200
2025-06-12 18:37:51,981 - INFO - 消息发送成功!
2025-06-12 18:37:51,982 - INFO - 响应内容: {"errcode":400301,"errmsg":"description:参数 link 缺失,或者参数格式不正确; solution:请填充上对应参数;link:请参考本接口对应文档查看参数获取方式,或者在https://open.dingtalk.com/document/ 搜索对应文档;"}
2025-06-12 18:37:51,982 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:37:51,982 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:37:51,982 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:37:51,982 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:39:36,190 - INFO - 监测已手动停止
2025-06-12 18:39:36,190 - INFO - 已关闭服务器 测试发布-235 的连接
2025-06-12 18:39:38,584 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:39:38,584 - INFO - 检查间隔: 3000秒
2025-06-12 18:39:38,584 - INFO - 正在尝试连接服务器: 测试发布-235...
2025-06-12 18:39:38,584 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:39:39,221 - INFO - 私钥认证成功
2025-06-12 18:39:39,221 - INFO - 成功连接到服务器: 测试发布-235
2025-06-12 18:39:39,221 - INFO - 正在检查进程: ungrok...
2025-06-12 18:39:39,706 - INFO - 容器 ungrok 状态: running
2025-06-12 18:39:39,706 - INFO - 正在检查进程: umysql...
2025-06-12 18:39:40,133 - INFO - 容器 umysql 状态: running
2025-06-12 18:39:40,134 - INFO - 正在检查进程: uredis...
2025-06-12 18:39:40,546 - INFO - 容器 uredis 状态: running
2025-06-12 18:39:40,546 - INFO - 正在检查进程: upython...
2025-06-12 18:39:40,896 - INFO - 容器 upython 状态: running
2025-06-12 18:39:40,897 - INFO - 正在检查进程: ujava2...
2025-06-12 18:39:41,303 - INFO - 容器 ujava2 状态: running
2025-06-12 18:39:41,303 - INFO - 正在检查进程: paperless...
2025-06-12 18:39:41,677 - INFO - 容器 paperless 状态: exited
2025-06-12 18:39:41,678 - INFO - 正在检查进程: cardtable...
2025-06-12 18:39:42,092 - INFO - 容器 cardtable 状态: running
2025-06-12 18:39:42,093 - INFO - 正在检查进程: ustorage...
2025-06-12 18:39:42,504 - INFO - 容器 ustorage 状态: running
2025-06-12 18:39:42,504 - INFO - 正在检查进程: utracker...
2025-06-12 18:39:42,847 - INFO - 容器 utracker 状态: running
2025-06-12 18:39:42,847 - INFO -
=== 检查时间: 2025-06-12 18:39:38 ===
2025-06-12 18:39:42,848 - INFO -
服务器: 测试发布-235 - 状态: CONNECTED
2025-06-12 18:39:42,848 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:39:42,848 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:39:42,848 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:39:42,848 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:39:42,848 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:39:42,910 - INFO - 已生成Word报告: ..\error_log\测试发布-235_paperless_异常报告_2025-06-12_18-39-38.docx
2025-06-12 18:39:42,911 - INFO - 生成报告访问链接: http://nat.ubainsyun.com:32233/测试发布-235_paperless_异常报告_2025-06-12_18-39-38.docx
2025-06-12 18:39:42,911 - INFO - === 开始构建钉钉告警消息 ===
2025-06-12 18:39:42,911 - INFO - 服务器名称已添加到标题: [测试发布-235] paperless服务异常
2025-06-12 18:39:42,911 - INFO - 生成时间戳: 1749724782911
2025-06-12 18:39:42,911 - INFO - 签名生成完成
2025-06-12 18:39:42,911 - INFO - 最终请求URL: https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4&timestamp=1749724782911&sign=y8tFvNQRdGoUIMBRfI5%252FWv0WG61KSl913kScOE4b0Kc%253D
2025-06-12 18:39:42,911 - INFO - 消息体构建完成:
{
"msgtype": "link",
"link": {
"title": "[测试发布-235] paperless服务异常",
"messageUrl": "http://nat.ubainsyun.com:32233/测试发布-235_paperless_异常报告_2025-06-12_18-39-38.docx",
"text": "请点击链接,尽快排查处理!!!"
},
"at": {
"atMobiles": "13724387318",
"isAtAll": true
}
}
2025-06-12 18:39:43,117 - INFO - 消息发送成功!
2025-06-12 18:39:43,118 - INFO - 响应内容: {"errcode":0,"errmsg":"ok"}
2025-06-12 18:39:43,118 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:39:43,118 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:39:43,118 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:39:43,118 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:40:04,921 - INFO - 监测已手动停止
2025-06-12 18:40:04,922 - INFO - 已关闭服务器 测试发布-235 的连接
2025-06-12 18:47:27,855 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:47:27,855 - INFO - 检查间隔: 3000秒
2025-06-12 18:47:27,855 - INFO - 正在尝试连接服务器: 测试发布-235...
2025-06-12 18:47:27,855 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:47:28,501 - INFO - 私钥认证成功
2025-06-12 18:47:28,501 - INFO - 成功连接到服务器: 测试发布-235
2025-06-12 18:47:28,501 - INFO - 正在检查进程: ungrok...
2025-06-12 18:47:28,886 - INFO - 容器 ungrok 状态: running
2025-06-12 18:47:28,887 - INFO - 正在检查进程: umysql...
2025-06-12 18:47:29,258 - INFO - 容器 umysql 状态: running
2025-06-12 18:47:29,258 - INFO - 正在检查进程: uredis...
2025-06-12 18:47:29,667 - INFO - 容器 uredis 状态: running
2025-06-12 18:47:29,668 - INFO - 正在检查进程: upython...
2025-06-12 18:47:30,029 - INFO - 容器 upython 状态: running
2025-06-12 18:47:30,029 - INFO - 正在检查进程: ujava2...
2025-06-12 18:47:30,417 - INFO - 容器 ujava2 状态: running
2025-06-12 18:47:30,417 - INFO - 正在检查进程: paperless...
2025-06-12 18:47:30,811 - INFO - 容器 paperless 状态: exited
2025-06-12 18:47:30,811 - INFO - 正在检查进程: cardtable...
2025-06-12 18:47:31,240 - INFO - 容器 cardtable 状态: running
2025-06-12 18:47:31,240 - INFO - 正在检查进程: ustorage...
2025-06-12 18:47:31,669 - INFO - 容器 ustorage 状态: running
2025-06-12 18:47:31,670 - INFO - 正在检查进程: utracker...
2025-06-12 18:47:32,095 - INFO - 容器 utracker 状态: running
2025-06-12 18:47:32,095 - INFO -
=== 检查时间: 2025-06-12 18:47:27 ===
2025-06-12 18:47:32,095 - INFO -
服务器: 测试发布-235 - 状态: CONNECTED
2025-06-12 18:47:32,095 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:47:32,095 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:47:32,095 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:47:32,095 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:47:32,095 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:47:32,162 - INFO - Generated Word report: ..\error_log\测试发布-235_paperless_service_exception_2025-06-12_18-47-27.docx
2025-06-12 18:47:32,162 - INFO - 生成报告下载链接: http://nat.ubainsyun.com:32233/测试发布-235_paperless_service_exception_2025-06-12_18-47-27.docx
2025-06-12 18:47:32,162 - INFO - === 开始构建钉钉告警消息 ===
2025-06-12 18:47:32,162 - INFO - 服务器名称已添加到标题: [测试发布-235] paperless服务异常
2025-06-12 18:47:32,162 - INFO - 生成时间戳: 1749725252162
2025-06-12 18:47:32,162 - INFO - 签名生成完成
2025-06-12 18:47:32,162 - INFO - 最终请求URL: https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4&timestamp=1749725252162&sign=20CVpXENjxkPmou7g8V6GX59gwcgzvDgnGC%252BQQIXE%252BA%253D
2025-06-12 18:47:32,163 - INFO - 消息体构建完成:
{
"msgtype": "link",
"link": {
"title": "[测试发布-235] paperless服务异常",
"messageUrl": "http://nat.ubainsyun.com:32233/测试发布-235_paperless_service_exception_2025-06-12_18-47-27.docx",
"text": "请点击链接,尽快排查处理!!!"
},
"at": {
"atMobiles": "13724387318",
"isAtAll": true
}
}
2025-06-12 18:47:32,311 - INFO - 消息发送成功!
2025-06-12 18:47:32,311 - INFO - 响应内容: {"errcode":0,"errmsg":"ok"}
2025-06-12 18:47:32,312 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:47:32,312 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:47:32,312 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:47:32,312 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:47:44,247 - INFO - 监测已手动停止
2025-06-12 18:47:44,248 - INFO - 已关闭服务器 测试发布-235 的连接
2025-06-12 18:48:08,081 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:48:08,081 - INFO - 检查间隔: 3000秒
2025-06-12 18:48:08,081 - INFO - 正在尝试连接服务器: 测试发布-235...
2025-06-12 18:48:08,081 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:48:08,701 - INFO - 私钥认证成功
2025-06-12 18:48:08,701 - INFO - 成功连接到服务器: 测试发布-235
2025-06-12 18:48:08,701 - INFO - 正在检查进程: ungrok...
2025-06-12 18:48:09,120 - INFO - 容器 ungrok 状态: running
2025-06-12 18:48:09,120 - INFO - 正在检查进程: umysql...
2025-06-12 18:48:09,520 - INFO - 容器 umysql 状态: running
2025-06-12 18:48:09,521 - INFO - 正在检查进程: uredis...
2025-06-12 18:48:09,901 - INFO - 容器 uredis 状态: running
2025-06-12 18:48:09,902 - INFO - 正在检查进程: upython...
2025-06-12 18:48:10,267 - INFO - 容器 upython 状态: running
2025-06-12 18:48:10,267 - INFO - 正在检查进程: ujava2...
2025-06-12 18:48:10,626 - INFO - 容器 ujava2 状态: running
2025-06-12 18:48:10,626 - INFO - 正在检查进程: paperless...
2025-06-12 18:48:11,038 - INFO - 容器 paperless 状态: exited
2025-06-12 18:48:11,038 - INFO - 正在检查进程: cardtable...
2025-06-12 18:48:11,445 - INFO - 容器 cardtable 状态: running
2025-06-12 18:48:11,446 - INFO - 正在检查进程: ustorage...
2025-06-12 18:48:11,794 - INFO - 容器 ustorage 状态: running
2025-06-12 18:48:11,794 - INFO - 正在检查进程: utracker...
2025-06-12 18:48:12,150 - INFO - 容器 utracker 状态: running
2025-06-12 18:48:12,150 - INFO -
=== 检查时间: 2025-06-12 18:48:08 ===
2025-06-12 18:48:12,150 - INFO -
服务器: 测试发布-235 - 状态: CONNECTED
2025-06-12 18:48:12,151 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:48:12,151 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:48:12,151 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:48:12,151 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:48:12,151 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:48:12,151 - ERROR - 监测异常终止: ServerProcessMonitor._generate_word_report() missing 1 required positional argument: 'server_config'
2025-06-12 18:48:12,151 - INFO - 已关闭服务器 测试发布-235 的连接
2025-06-12 18:49:13,707 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:49:13,707 - INFO - 检查间隔: 3000秒
2025-06-12 18:49:13,707 - INFO - 正在尝试连接服务器: Server235...
2025-06-12 18:49:13,707 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:49:14,314 - INFO - 私钥认证成功
2025-06-12 18:49:14,314 - INFO - 成功连接到服务器: Server235
2025-06-12 18:49:14,314 - INFO - 正在检查进程: ungrok...
2025-06-12 18:49:14,769 - INFO - 容器 ungrok 状态: running
2025-06-12 18:49:14,769 - INFO - 正在检查进程: umysql...
2025-06-12 18:49:15,186 - INFO - 容器 umysql 状态: running
2025-06-12 18:49:15,186 - INFO - 正在检查进程: uredis...
2025-06-12 18:49:15,588 - INFO - 容器 uredis 状态: running
2025-06-12 18:49:15,588 - INFO - 正在检查进程: upython...
2025-06-12 18:49:15,995 - INFO - 容器 upython 状态: running
2025-06-12 18:49:15,995 - INFO - 正在检查进程: ujava2...
2025-06-12 18:49:16,356 - INFO - 容器 ujava2 状态: running
2025-06-12 18:49:16,356 - INFO - 正在检查进程: paperless...
2025-06-12 18:49:16,755 - INFO - 容器 paperless 状态: exited
2025-06-12 18:49:16,756 - INFO - 正在检查进程: cardtable...
2025-06-12 18:49:17,152 - INFO - 容器 cardtable 状态: running
2025-06-12 18:49:17,152 - INFO - 正在检查进程: ustorage...
2025-06-12 18:49:17,557 - INFO - 容器 ustorage 状态: running
2025-06-12 18:49:17,557 - INFO - 正在检查进程: utracker...
2025-06-12 18:49:17,930 - INFO - 容器 utracker 状态: running
2025-06-12 18:49:17,930 - INFO -
=== 检查时间: 2025-06-12 18:49:13 ===
2025-06-12 18:49:17,930 - INFO -
服务器: Server235 - 状态: CONNECTED
2025-06-12 18:49:17,931 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:49:17,931 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:49:17,931 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:49:17,931 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:49:17,931 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:49:17,984 - INFO - Generated Word report: ..\error_log\Server235_paperless_service_exception_2025-06-12_18-49-13.docx
2025-06-12 18:49:17,985 - INFO - 生成报告下载链接: http://nat.ubainsyun.com:32233/Server235_paperless_service_exception_2025-06-12_18-49-13.docx
2025-06-12 18:49:17,985 - INFO - === 开始构建钉钉告警消息 ===
2025-06-12 18:49:17,985 - INFO - 服务器名称已添加到标题: [Server235] paperless服务异常
2025-06-12 18:49:17,985 - INFO - 生成时间戳: 1749725357986
2025-06-12 18:49:17,985 - INFO - 签名生成完成
2025-06-12 18:49:17,985 - INFO - 最终请求URL: https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4&timestamp=1749725357986&sign=URXsKqy7E9A7XtheR6SATU%252BP2WYeHl0hkUwybUpDKFs%253D
2025-06-12 18:49:17,985 - INFO - 消息体构建完成:
{
"msgtype": "link",
"link": {
"title": "[Server235] paperless服务异常",
"messageUrl": "http://nat.ubainsyun.com:32233/Server235_paperless_service_exception_2025-06-12_18-49-13.docx",
"text": "请点击链接,尽快排查处理!!!"
},
"at": {
"atMobiles": "13724387318",
"isAtAll": true
}
}
2025-06-12 18:49:18,151 - INFO - 消息发送成功!
2025-06-12 18:49:18,151 - INFO - 响应内容: {"errcode":0,"errmsg":"ok"}
2025-06-12 18:49:18,151 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:49:18,151 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:49:18,151 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:49:18,152 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:54:09,287 - INFO - 监测已手动停止
2025-06-12 18:54:09,288 - INFO - 已关闭服务器 Server235 的连接
2025-06-12 18:54:10,118 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:54:10,118 - INFO - 检查间隔: 3000秒
2025-06-12 18:54:10,118 - INFO - 正在尝试连接服务器: Server235...
2025-06-12 18:54:10,118 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:54:10,750 - INFO - 私钥认证成功
2025-06-12 18:54:10,751 - INFO - 成功连接到服务器: Server235
2025-06-12 18:54:10,751 - INFO - 正在检查进程: ungrok...
2025-06-12 18:54:11,229 - INFO - 容器 ungrok 状态: running
2025-06-12 18:54:11,229 - INFO - 正在检查进程: umysql...
2025-06-12 18:54:11,684 - INFO - 容器 umysql 状态: running
2025-06-12 18:54:11,685 - INFO - 正在检查进程: uredis...
2025-06-12 18:54:12,043 - INFO - 容器 uredis 状态: running
2025-06-12 18:54:12,043 - INFO - 正在检查进程: upython...
2025-06-12 18:54:12,449 - INFO - 容器 upython 状态: running
2025-06-12 18:54:12,449 - INFO - 正在检查进程: ujava2...
2025-06-12 18:54:12,861 - INFO - 容器 ujava2 状态: running
2025-06-12 18:54:12,862 - INFO - 正在检查进程: paperless...
2025-06-12 18:54:13,205 - INFO - 容器 paperless 状态: exited
2025-06-12 18:54:13,206 - INFO - 正在检查进程: cardtable...
2025-06-12 18:54:13,572 - INFO - 容器 cardtable 状态: running
2025-06-12 18:54:13,572 - INFO - 正在检查进程: ustorage...
2025-06-12 18:54:13,915 - INFO - 容器 ustorage 状态: running
2025-06-12 18:54:13,916 - INFO - 正在检查进程: utracker...
2025-06-12 18:54:14,329 - INFO - 容器 utracker 状态: running
2025-06-12 18:54:14,330 - INFO -
=== 检查时间: 2025-06-12 18:54:10 ===
2025-06-12 18:54:14,330 - INFO -
服务器: Server235 - 状态: CONNECTED
2025-06-12 18:54:14,330 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:54:14,330 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:54:14,330 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:54:14,330 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:54:14,330 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:54:14,386 - INFO - 已生成Word报告: ..\error_log\Server235_paperless_service_exception_2025-06-12_18-54-10.docx
2025-06-12 18:54:14,386 - INFO - 生成报告下载链接: http://nat.ubainsyun.com:32233/Server235_paperless_service_exception_2025-06-12_18-54-10.docx
2025-06-12 18:54:14,386 - INFO - === 开始构建钉钉告警消息 ===
2025-06-12 18:54:14,386 - INFO - 服务器名称已添加到标题: [Server235] paperless服务异常
2025-06-12 18:54:14,386 - INFO - 生成时间戳: 1749725654386
2025-06-12 18:54:14,386 - INFO - 签名生成完成
2025-06-12 18:54:14,387 - INFO - 最终请求URL: https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4&timestamp=1749725654386&sign=3SmUgSx0iS%252BmAakEwo9jW%252BxuaMXUkJ99M%252BhEn6Td3pg%253D
2025-06-12 18:54:14,387 - INFO - 消息体构建完成:
{
"msgtype": "link",
"link": {
"title": "[Server235] paperless服务异常",
"messageUrl": "http://nat.ubainsyun.com:32233/Server235_paperless_service_exception_2025-06-12_18-54-10.docx",
"text": "请点击链接,尽快排查处理!!!"
},
"at": {
"atMobiles": "13724387318",
"isAtAll": true
}
}
2025-06-12 18:54:14,593 - INFO - 消息发送成功!
2025-06-12 18:54:14,594 - INFO - 响应内容: {"errcode":0,"errmsg":"ok"}
2025-06-12 18:54:14,594 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:54:14,594 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:54:14,594 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:54:14,594 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:55:55,079 - INFO - 监测已手动停止
2025-06-12 18:55:55,080 - INFO - 已关闭服务器 Server235 的连接
2025-06-12 18:56:01,636 - INFO - === 开始监测 1 台服务器 ===
2025-06-12 18:56:01,636 - INFO - 检查间隔: 3000秒
2025-06-12 18:56:01,636 - INFO - 正在尝试连接服务器: Server235...
2025-06-12 18:56:01,637 - INFO - 使用私钥认证: C:/Users/UBAINS/.ssh/id_rsa
2025-06-12 18:56:02,261 - INFO - 私钥认证成功
2025-06-12 18:56:02,262 - INFO - 成功连接到服务器: Server235
2025-06-12 18:56:02,262 - INFO - 正在检查进程: ungrok...
2025-06-12 18:56:02,687 - INFO - 容器 ungrok 状态: running
2025-06-12 18:56:02,687 - INFO - 正在检查进程: umysql...
2025-06-12 18:56:03,047 - INFO - 容器 umysql 状态: running
2025-06-12 18:56:03,047 - INFO - 正在检查进程: uredis...
2025-06-12 18:56:03,471 - INFO - 容器 uredis 状态: running
2025-06-12 18:56:03,471 - INFO - 正在检查进程: upython...
2025-06-12 18:56:03,851 - INFO - 容器 upython 状态: running
2025-06-12 18:56:03,851 - INFO - 正在检查进程: ujava2...
2025-06-12 18:56:04,265 - INFO - 容器 ujava2 状态: running
2025-06-12 18:56:04,266 - INFO - 正在检查进程: paperless...
2025-06-12 18:56:04,648 - INFO - 容器 paperless 状态: exited
2025-06-12 18:56:04,649 - INFO - 正在检查进程: cardtable...
2025-06-12 18:56:05,068 - INFO - 容器 cardtable 状态: running
2025-06-12 18:56:05,068 - INFO - 正在检查进程: ustorage...
2025-06-12 18:56:05,426 - INFO - 容器 ustorage 状态: running
2025-06-12 18:56:05,426 - INFO - 正在检查进程: utracker...
2025-06-12 18:56:05,836 - INFO - 容器 utracker 状态: running
2025-06-12 18:56:05,836 - INFO -
=== 检查时间: 2025-06-12 18:56:01 ===
2025-06-12 18:56:05,837 - INFO -
服务器: Server235 - 状态: CONNECTED
2025-06-12 18:56:05,837 - INFO - ungrok: CONTAINER_RUNNING (容器ID: e9d67bcbed8e)
2025-06-12 18:56:05,837 - INFO - umysql: CONTAINER_RUNNING (容器ID: a4207d9cf898)
2025-06-12 18:56:05,837 - INFO - uredis: CONTAINER_RUNNING (容器ID: 3bf04715226e)
2025-06-12 18:56:05,837 - INFO - upython: CONTAINER_RUNNING (容器ID: f07dddd439ed)
2025-06-12 18:56:05,837 - INFO - ujava2: CONTAINER_RUNNING (容器ID: 86b818434a8e)
2025-06-12 18:56:05,904 - INFO - 已生成Word报告: ..\error_log\Server235_paperless_service_exception_2025-06-12_18-56-01.docx
2025-06-12 18:56:05,905 - INFO - 生成报告下载链接: http://nat.ubainsyun.com:32233/Server235_paperless_service_exception_2025-06-12_18-56-01.docx
2025-06-12 18:56:05,905 - INFO - === 开始构建钉钉告警消息 ===
2025-06-12 18:56:05,905 - INFO - 服务器名称已添加到标题: [Server235] paperless服务异常
2025-06-12 18:56:05,905 - INFO - 生成时间戳: 1749725765905
2025-06-12 18:56:05,905 - INFO - 签名生成完成
2025-06-12 18:56:05,905 - INFO - 最终请求URL: https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4&timestamp=1749725765905&sign=SGBEDe%252F7cJpeGRRxaJAbeJJmp%252FM7TdTLcwLTaNK2I0s%253D
2025-06-12 18:56:05,905 - INFO - 消息体构建完成:
{
"msgtype": "link",
"link": {
"title": "[Server235] paperless服务异常",
"messageUrl": "http://nat.ubainsyun.com:32233/Server235_paperless_service_exception_2025-06-12_18-56-01.docx",
"text": "请点击链接,尽快排查处理!!!"
},
"at": {
"atMobiles": "13724387318",
"isAtAll": true
}
}
2025-06-12 18:56:06,049 - INFO - 消息发送成功!
2025-06-12 18:56:06,049 - INFO - 响应内容: {"errcode":0,"errmsg":"ok"}
2025-06-12 18:56:06,049 - INFO - paperless: CONTAINER_NOT_RUNNING (容器ID: 238d4c486795)
2025-06-12 18:56:06,049 - INFO - cardtable: CONTAINER_RUNNING (容器ID: 84ce2dba1fae)
2025-06-12 18:56:06,050 - INFO - ustorage: CONTAINER_RUNNING (容器ID: c315808dabbe)
2025-06-12 18:56:06,050 - INFO - utracker: CONTAINER_RUNNING (容器ID: 6399d70446a7)
2025-06-12 18:56:54,884 - INFO - 监测已手动停止
2025-06-12 18:56:54,884 - INFO - 已关闭服务器 Server235 的连接
import psutil
import time
import os
import sys
import paramiko
from datetime import datetime
import logging
import json
import urllib
from urllib.parse import urlencode
import hmac
import hashlib
import base64
import requests
import colorama
from colorama import Fore, Back, Style
from docx import Document
from docx.shared import Pt, Inches, RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.enum.table import WD_TABLE_ALIGNMENT
# 初始化颜色输出
colorama.init()
class ServerProcessMonitor:
def __init__(self, servers_config, check_interval=60):
"""
服务器进程监测初始化
参数:
servers_config: 服务器配置列表,每个配置项为字典,包含:
- name: 服务器名称
- host: IP或域名
- port: SSH端口(默认22)
- username: SSH用户名
- password: SSH密码(建议使用密钥认证)
- private_key_path: SSH私钥路径
- passphrase: 私钥密码
- process_names: 要监控的进程列表(支持容器名和普通进程名)
- container_runtime: 容器运行时('docker'或'podman',默认'docker')
check_interval: 检查间隔时间(秒)
"""
self.servers_config = servers_config
self.check_interval = check_interval
self.ssh_clients = {} # 存储SSH连接对象的字典
self.status_log = [] # 状态历史记录
# 初始化日志系统
self.logger = self._setup_logger()
def _setup_logger(self):
"""配置日志系统"""
logger = logging.getLogger('ServerProcessMonitor')
logger.setLevel(logging.INFO)
# 设置日志格式
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
# 控制台日志处理器
ch = logging.StreamHandler()
ch.setFormatter(formatter)
logger.addHandler(ch)
# 文件日志处理器
log_file = os.path.join(os.path.dirname(__file__), 'server_monitor.log')
fh = logging.FileHandler(log_file)
fh.setFormatter(formatter)
logger.addHandler(fh)
return logger
def _connect_server(self, server_config):
"""
建立SSH连接到目标服务器 - 增强日志输出
"""
server_name = server_config['name']
try:
self.logger.info(f"{Fore.CYAN}正在尝试连接服务器: {server_name}...{Style.RESET_ALL}")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
private_key_path = server_config.get('private_key_path')
if private_key_path and os.path.exists(private_key_path):
try:
self.logger.info(f"使用私钥认证: {private_key_path}")
private_key = paramiko.RSAKey.from_private_key_file(
private_key_path,
password=server_config.get('passphrase')
)
ssh.connect(
hostname=server_config['host'],
port=server_config.get('port', 22),
username=server_config['username'],
pkey=private_key,
timeout=30,
banner_timeout=200,
auth_timeout=200
)
self.logger.info(f"{Fore.GREEN}私钥认证成功{Style.RESET_ALL}")
except paramiko.ssh_exception.PasswordRequiredException:
self.logger.error(f"{Fore.RED}私钥文件需要密码,但未提供或密码不正确{Style.RESET_ALL}")
return False
except paramiko.ssh_exception.AuthenticationException:
self.logger.error(f"{Fore.RED}SSH认证失败,请检查密码或密钥{Style.RESET_ALL}")
return False
else:
self.logger.info("使用密码认证")
ssh.connect(
hostname=server_config['host'],
port=server_config.get('port', 22),
username=server_config['username'],
password=server_config.get('password'),
timeout=30,
banner_timeout=200,
auth_timeout=200
)
self.logger.info(f"{Fore.GREEN}密码认证成功{Style.RESET_ALL}")
# 设置连接保持活跃
ssh.get_transport().set_keepalive(30)
self.ssh_clients[server_name] = ssh
self.logger.info(f"{Fore.GREEN}成功连接到服务器: {server_name}{Style.RESET_ALL}")
return True
except Exception as e:
self.logger.error(f"{Fore.RED}连接服务器 {server_name} 失败: {str(e)}{Style.RESET_ALL}")
return False
def _check_container_status(self, ssh, container_name):
"""
检查容器状态
"""
try:
# 获取容器运行时(默认为docker)
runtime = self._get_container_runtime(ssh)
# 检查容器是否在运行
stdin, stdout, stderr = ssh.exec_command(
f"{runtime} inspect --format='{{{{.State.Status}}}}' {container_name}"
)
status = stdout.read().decode().strip().lower()
if status in ['running', 'exited', 'created']:
# 获取容器详细信息
stdin, stdout, stderr = ssh.exec_command(
f"{runtime} inspect {container_name}"
)
container_info = json.loads(stdout.read().decode())
return {
'is_container': True,
'running': status == 'running',
'status': status,
'id': container_info[0]['Id'][:12], # 修正切片语法
'image': container_info[0]['Config']['Image'],
'created': container_info[0]['Created']
}
return {'is_container': True, 'running': False} # 只在if条件不满足时返回
except Exception as e:
self.logger.error(f"检查容器状态失败: {str(e)}")
return None
def _get_container_runtime(self, ssh):
"""
获取容器运行时类型(docker/podman)
"""
try:
# 检查docker是否可用
ssh.exec_command("docker --version")
return 'docker'
except:
try:
# 检查podman是否可用
ssh.exec_command("podman --version")
return 'podman'
except:
# 默认返回docker
return 'docker'
def _generate_word_report(self, server_name, process_name, process_info, timestamp, server_config):
"""
生成服务异常的Word报告文档
参数:
server_name: 服务器名称
process_name: 服务/容器名称
process_info: 服务状态信息
timestamp: 检测时间
server_config: 服务器配置信息
"""
try:
# 创建文档对象
doc = Document()
# 设置全局字体
doc.styles['Normal'].font.name = '微软雅黑'
doc.styles['Normal'].font.size = Pt(10)
# 1. 添加主标题 (中文)
title = doc.add_heading(level=1)
title_run = title.add_run(f'{server_name} - {process_name}服务异常报告')
title_run.font.size = Pt(16)
title_run.font.color.rgb = RGBColor(255, 0, 0) # 红色
title_run.font.bold = True
title.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
# 2. 添加服务器基本信息表格
doc.add_paragraph() # 空行
server_heading = doc.add_heading('服务器信息', level=2)
server_heading.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT
# 根据认证类型决定是否显示密码
auth_type = '私钥认证'
password = server_config.get('ssh_password', '未配置')
server_table = doc.add_table(rows=6, cols=2) # 增加一行用于密码
server_table.style = 'Light Grid Accent 1'
server_table.alignment = WD_TABLE_ALIGNMENT.CENTER
# 填充服务器信息
server_info_rows = [
('服务器名称', server_name),
('IP地址', server_config['host']),
('SSH端口', str(server_config.get('port', 22))),
('用户名', server_config['username']),
('认证类型', auth_type),
('连接密码', password) # 新增密码显示
]
for i, (label, value) in enumerate(server_info_rows):
cells = server_table.rows[i].cells
cells[0].text = label
cells[0].paragraphs[0].runs[0].font.bold = True
cells[1].text = str(value)
# 3. 添加检测信息
doc.add_paragraph() # 空行
detect_heading = doc.add_heading('检测信息', level=2)
detect_heading.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT
detect_table = doc.add_table(rows=1, cols=2)
detect_table.style = 'Light Grid Accent 1'
detect_table.alignment = WD_TABLE_ALIGNMENT.CENTER
cells = detect_table.rows[0].cells
cells[0].text = '检测时间'
cells[0].paragraphs[0].runs[0].font.bold = True
cells[1].text = timestamp
# 4. 添加服务状态详情
doc.add_paragraph() # 空行
status_heading = doc.add_heading('服务状态详情', level=2)
status_heading.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT
# 如果是容器,添加容器详细信息
if process_info.get('is_container', False):
container_table = doc.add_table(rows=4, cols=2)
container_table.alignment = WD_TABLE_ALIGNMENT.CENTER
container_table.style = 'Medium Shading 1 Accent 1'
# 填充表格 (中文)
rows = [
('容器名称', process_name),
('容器ID', process_info.get('id', 'N/A')),
('镜像', process_info.get('image', 'N/A')),
('状态', process_info.get('status', 'N/A'))
]
for i, (label, value) in enumerate(rows):
cells = container_table.rows[i].cells
cells[0].text = label
cells[0].paragraphs[0].runs[0].font.bold = True
cells[1].text = str(value)
# 添加创建时间
doc.add_paragraph()
time_para = doc.add_paragraph()
time_para.add_run('创建时间: ').bold = True
time_para.add_run(process_info.get('created', 'N/A'))
# 如果是普通进程,添加进程信息
else:
process_table = doc.add_table(rows=3, cols=2)
process_table.alignment = WD_TABLE_ALIGNMENT.CENTER
process_table.style = 'Medium Shading 1 Accent 1'
rows = [
('进程名称', process_name),
('PID', process_info.get('pid', 'N/A')),
('状态', process_info.get('status', 'N/A'))
]
for i, (label, value) in enumerate(rows):
cells = process_table.rows[i].cells
cells[0].text = label
cells[0].paragraphs[0].runs[0].font.bold = True
cells[1].text = str(value)
# 添加命令信息
doc.add_paragraph()
cmd_para = doc.add_paragraph()
cmd_para.add_run('命令: ').bold = True
cmd_para.add_run(' '.join(process_info.get('command', ['N/A'])))
# 5. 添加处理建议 (中文)
doc.add_page_break()
suggestion = doc.add_heading('处理建议', level=2)
suggestion.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT
doc.add_paragraph("1. 检查服务日志确认具体异常原因")
doc.add_paragraph("2. 尝试重启服务")
doc.add_paragraph("3. 检查服务器资源使用情况(CPU、内存、磁盘)")
doc.add_paragraph("4. 联系相关开发人员排查问题")
# 保存文档 (仍使用英文文件名)
error_log_dir = os.path.abspath(os.path.join(
os.path.dirname(__file__),
'..',
'error_log'
))
os.makedirs(error_log_dir, exist_ok=True)
# 英文文件名
filename = f"{server_name}_{process_name}_service_exception_{timestamp.replace(':', '-').replace(' ', '_')}.docx"
report_path = os.path.join(error_log_dir, filename)
doc.save(report_path)
# 返回相对路径
relative_path = os.path.relpath(report_path, os.path.dirname(__file__))
self.logger.info(f"{Fore.GREEN}已生成Word报告: {relative_path}{Style.RESET_ALL}")
return relative_path
except Exception as e:
self.logger.error(f"{Fore.RED}生成Word报告失败: {str(e)}{Style.RESET_ALL}")
return None
def _get_remote_process_status(self, server_name, process_name):
"""
获取远程服务器进程/容器状态 - 增强日志输出
"""
ssh = self.ssh_clients.get(server_name)
if not ssh:
self.logger.warning(f"{Fore.YELLOW}未找到服务器 {server_name} 的SSH连接{Style.RESET_ALL}")
return None
try:
self.logger.info(f"正在检查进程: {process_name}...")
# 首先检查是否是容器
container_status = self._check_container_status(ssh, process_name)
if container_status:
status_msg = "容器" if container_status['is_container'] else "进程"
self.logger.info(f"{status_msg} {process_name} 状态: {container_status['status']}")
return container_status
# 如果不是容器,检查普通进程
stdin, stdout, stderr = ssh.exec_command(f"pgrep -f {process_name}")
pids = stdout.read().decode().strip()
if pids:
pid = pids.split('\n')[0]
stdin, stdout, stderr = ssh.exec_command(f"ps -p {pid} -o pid,stat,cmd")
process_info = stdout.read().decode().strip()
status_line = process_info.split('\n')[1] if len(process_info.split('\n')) > 1 else None
if status_line:
status = status_line.split()[1]
cmd = ' '.join(status_line.split()[2:])
self.logger.info(
f"{Fore.GREEN}进程运行中 - PID: {pid}, 状态: {status}, 命令: {cmd}{Style.RESET_ALL}")
else:
self.logger.warning(f"{Fore.YELLOW}无法解析进程信息{Style.RESET_ALL}")
return {
'is_container': False,
'running': True,
'pid': pid,
'status': status_line.split()[1] if status_line else 'UNKNOWN',
'command': status_line.split()[2:] if status_line else 'UNKNOWN'
}
self.logger.warning(f"{Fore.YELLOW}进程 {process_name} 未运行{Style.RESET_ALL}")
return {'is_container': False, 'running': False}
except Exception as e:
self.logger.error(
f"{Fore.RED}获取服务器 {server_name} 进程 {process_name} 状态失败: {str(e)}{Style.RESET_ALL}")
return None
def check_all_servers(self):
"""检查所有服务器进程状态"""
current_status = {
'timestamp': datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
'servers': {}
}
for server in self.servers_config:
server_name = server['name']
# 确保连接有效
if server_name not in self.ssh_clients or not self.ssh_clients[server_name].get_transport().is_active():
if not self._connect_server(server):
current_status['servers'][server_name] = {
'status': 'CONNECTION_FAILED',
'processes': {}
}
continue
server_status = {
'status': 'CONNECTED',
'processes': {}
}
for process_name in server['process_names']:
process_status = self._get_remote_process_status(server_name, process_name)
if process_status is None:
server_status['processes'][process_name] = {
'status': 'CHECK_FAILED',
'pid': None
}
else:
status_key = 'RUNNING' if process_status['running'] else 'NOT_RUNNING'
if process_status.get('is_container'):
status_key = f"CONTAINER_{status_key}"
server_status['processes'][process_name] = {
'status': status_key,
'pid': process_status.get('pid'),
'container_id': process_status.get('id'),
'details': process_status
}
current_status['servers'][server_name] = server_status
self.status_log.append(current_status)
return current_status
def dingding_send_message(self, title, report_url, server_name=None):
"""
发送钉钉机器人消息 - 增强日志输出
参数:
title: 消息标题
message: 消息内容
server_name: 服务器名称(可选)
"""
try:
# 记录发送请求开始
self.logger.info(f"{Fore.CYAN}=== 开始构建钉钉告警消息 ==={Style.RESET_ALL}")
# 如果提供了服务器名称,则添加到标题中
if server_name:
title = f"[{server_name}] {title}"
self.logger.info(f"{Fore.BLUE}服务器名称已添加到标题: {title}{Style.RESET_ALL}")
else:
self.logger.info(f"{Fore.BLUE}使用原始标题: {title}{Style.RESET_ALL}")
# 钉钉机器人的 Webhook URL 和密钥
webhook_url = 'https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4'
secret = 'SEC610498ed6261ae2df1d071d0880aaa70abf5e67efe47f75a809c1f2314e0dbd6'
# 生成时间戳
timestamp = str(round(time.time() * 1000))
self.logger.info(f"生成时间戳: {timestamp}")
# 生成签名
secret_enc = secret.encode('utf-8')
string_to_sign = f'{timestamp}\n{secret}'
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
self.logger.info("签名生成完成")
# 构建最终的 Webhook URL
params = {
'access_token': webhook_url.split('=')[1],
'timestamp': timestamp,
'sign': sign
}
final_webhook_url = f'https://oapi.dingtalk.com/robot/send?{urllib.parse.urlencode(params)}'
self.logger.info(f"最终请求URL: {final_webhook_url}")
# 构建消息体
headers = {'Content-Type': 'application/json'}
message = {
'msgtype': 'link',
'link': {
'title': title,
'messageUrl': report_url,
'text': "请点击链接,尽快排查处理!!!"
},
"at": {
"atMobiles": "13724387318",
"isAtAll": True
}
}
self.logger.info(
f"{Fore.BLUE}消息体构建完成:{Style.RESET_ALL}\n{json.dumps(message, indent=2, ensure_ascii=False)}")
try:
# 发送 POST 请求
response = requests.post(final_webhook_url, data=json.dumps(message), headers=headers)
# 检查响应状态码
if response.status_code == 200:
self.logger.info('消息发送成功!')
self.logger.info(f'响应内容: {response.text}')
else:
self.logger.error(f'消息发送失败,状态码: {response.status_code}')
self.logger.error(f'响应内容: {response.text}')
except requests.exceptions.RequestException as e:
self.logger.error(f'请求异常: {e}')
except Exception as e:
self.logger.error(f"{Fore.RED}发送钉钉消息时发生异常:{Style.RESET_ALL}")
self.logger.error(f"异常类型: {type(e).__name__}")
self.logger.error(f"异常详情: {str(e)}")
if hasattr(e, 'request'):
self.logger.error(f"请求信息: {e.request.method} {e.request.url}")
return False
def monitor(self):
"""启动监测循环 - 增强日志输出"""
self.logger.info(f"{Fore.CYAN}=== 开始监测 {len(self.servers_config)} 台服务器 ==={Style.RESET_ALL}")
self.logger.info(f"{Fore.CYAN}检查间隔: {self.check_interval}秒{Style.RESET_ALL}")
try:
while True:
status = self.check_all_servers()
self.logger.info(f"\n{Fore.CYAN}=== 检查时间: {status['timestamp']} ==={Style.RESET_ALL}")
for server_name, server_info in status['servers'].items():
status_color = Fore.GREEN if server_info['status'] == 'CONNECTED' else Fore.RED
self.logger.info(
f"\n{status_color}服务器: {server_name} - 状态: {server_info['status']}{Style.RESET_ALL}")
# 获取当前服务器配置
server_config = next((s for s in self.servers_config if s['name'] == server_name), None)
for process_name, process_info in server_info['processes'].items():
if 'NOT_RUNNING' in process_info['status']:
status_color = Fore.RED
# 生成Word报告 (英文文件名)
report_path = self._generate_word_report(
server_name,
process_name,
process_info['details'],
status['timestamp'],
server_config # 传递服务器配置
)
# 构建告警消息
alert_title = f"{process_name}服务异常"
report_url = ""
if report_path:
# 使用英文文件名拼接URL
filename = os.path.basename(report_path)
report_url = f"http://nat.ubainsyun.com:32233/{filename}"
self.logger.info(f"{Fore.BLUE}生成报告下载链接: {report_url}{Style.RESET_ALL}")
# 发送钉钉通知
self.dingding_send_message(alert_title, report_url, server_name)
elif 'RUNNING' in process_info['status']:
status_color = Fore.GREEN
else:
status_color = Fore.YELLOW
# 日志保持中文
status_msg = f" {process_name}: {status_color}{process_info['status']}{Style.RESET_ALL}"
if process_info.get('container_id'):
status_msg += f" (容器ID: {process_info['container_id']})"
elif process_info.get('pid'):
status_msg += f" (PID: {process_info['pid']})"
self.logger.info(status_msg)
time.sleep(self.check_interval)
except KeyboardInterrupt:
self.logger.info(f"{Fore.CYAN}监测已手动停止{Style.RESET_ALL}")
except Exception as e:
self.logger.error(f"{Fore.RED}监测异常终止: {str(e)}{Style.RESET_ALL}")
finally:
self.__del__()
def __del__(self):
"""清理资源"""
for name, ssh in self.ssh_clients.items():
try:
ssh.close()
self.logger.info(f"已关闭服务器 {name} 的连接")
except Exception as e:
self.logger.error(f"关闭服务器 {name} 连接时出错: {str(e)}")
if __name__ == "__main__":
# 服务器配置示例 - 与日志监测脚本保持一致
servers_config = [
{
'name': 'Server235',
'host': '192.168.5.235',
'port': 22,
'username': 'root',
'ssh_password': "Ubains@123", # 新增SSH密码字段
'private_key_path': "C:/Users/UBAINS/.ssh/id_rsa",
'passphrase': "Ubains@123",
'process_names': [
'ungrok', # 容器服务
'umysql', # 容器服务
'uredis', # 容器服务
'upython', # 普通进程
'ujava2', # 容器服务
'paperless',
'cardtable',
'ustorage',
'utracker'
]
}
]
# 创建并启动监测器
monitor = ServerProcessMonitor(
servers_config=servers_config,
check_interval=3000 # 每5分钟检查一次
)
monitor.monitor()
......@@ -32,6 +32,10 @@ class RolePermissionManagement:
wd = GSTORE['wd']
name = self.name
# 执行完一个用例就刷新一下页面重置
wd.refresh()
sleep(4)
for step in self.para:
# 赋值页面类型page
page_type = step.get('page')
......@@ -50,23 +54,20 @@ class RolePermissionManagement:
if element_type == "click":
safe_click((locator_type, locator_value), wd)
sleep(2)
SELENIUM_LOG_SCREEN(wd, "75")
elif element_type == "input":
safe_send_keys((locator_type, locator_value), element_value, wd)
sleep(2)
SELENIUM_LOG_SCREEN(wd, "75")
elif element_type == "getTips":
notify_text = get_notify_text(wd, (locator_type, locator_value))
INFO(f"获取到的提示信息为:{notify_text}")
sleep(2)
CHECK_POINT(f"获取到的提示信息为:{notify_text}", expented_result in notify_text)
SELENIUM_LOG_SCREEN(wd, "50")
SELENIUM_LOG_SCREEN(wd, "75")
elif element_type == "getText":
text = elment_get_text((locator_type, locator_value), wd)
INFO(f"获取到的文本信息为:{text}")
CHECK_POINT(f"获取到的文本信息为:{text}", expented_result in text)
SELENIUM_LOG_SCREEN(wd, "50")
# 执行完一个用例就刷新一下页面重置
wd.refresh()
wd.refresh()
sleep(2)
\ No newline at end of file
SELENIUM_LOG_SCREEN(wd, "75")
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -14318,8 +14318,157 @@ XLSX文件成功打开
行 8 的 JSON 数据解析成功: {'name': '决策会议005', 'para': [{'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新建')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-name-input']", 'element_type': 'input', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//p[@class='el-message__content']", 'element_type': 'getTips', 'element_value': '', 'expented_result': '请输入会议名称'}]}
行 8 的功能类别: 兰州中石化项目25-05-24
行 8 的 JSON 数据已添加到 ddt_cases
行 9 的 JSON 数据: None
跳过行 9,JSON 数据为空
行 9 的 JSON 数据: {
"name": "决策会议006",
"para": [{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//div[@class='title']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@id='create-meeting-name-input']",
"element_type": "input",
"element_value": "决策会议006",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@id='create-meeting-start-time-datepicker']",
"element_type": "input",
"element_value": "2025-06-12",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//div[@x-placement='bottom-start']//span[contains(text(),'确定')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@id='create-meeting-end-time-datepicker']",
"element_type": "input",
"element_value": "2025-06-12",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//div[@x-placement='bottom-start']//span[contains(text(),'确定')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@id='create-meeting-location-select']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'决策会议室001')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@placeholder='请选择公司领导']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'全选')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'确认')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@placeholder='请选择主办单位']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'测试部门')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//button[@id='tree-selector-confirm']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@id='create-meeting-compere-select']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "(//span[contains(text(),'范公司主管领导')])[2]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//button[@id='create-meeting-submit-button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//p[@class='el-message__content']",
"element_type": "getTips",
"element_value": "",
"expented_result": "会议预定成功"
}
]
}
行 9 的 JSON 数据解析成功: {'name': '决策会议006', 'para': [{'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//div[@class='title']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-name-input']", 'element_type': 'input', 'element_value': '决策会议006', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-start-time-datepicker']", 'element_type': 'input', 'element_value': '2025-06-12', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//div[@x-placement='bottom-start']//span[contains(text(),'确定')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-end-time-datepicker']", 'element_type': 'input', 'element_value': '2025-06-12', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//div[@x-placement='bottom-start']//span[contains(text(),'确定')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-location-select']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'决策会议室001')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请选择公司领导']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'全选')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'确认')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请选择主办单位']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'测试部门')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//button[@id='tree-selector-confirm']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-compere-select']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "(//span[contains(text(),'范公司主管领导')])[2]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//button[@id='create-meeting-submit-button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//p[@class='el-message__content']", 'element_type': 'getTips', 'element_value': '', 'expented_result': '会议预定成功'}]}
行 9 的功能类别: 兰州中石化项目25-05-24
行 9 的 JSON 数据已添加到 ddt_cases
行 10 的 JSON 数据: None
跳过行 10,JSON 数据为空
行 11 的 JSON 数据: None
......@@ -14696,8 +14845,6 @@ XLSX文件成功打开
跳过行 196,JSON 数据为空
XLSX文件已读取
** no cases in this file , skip it.
== cases\项目定制\兰州中石化项目25-05-24\平板无纸化\__st__.py
......@@ -15128,15 +15275,537 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//input[@placeholder='请输入会议名称']",
"element_type": "input",
"element_value": "查询",
"locator_value": "//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "查询",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'查询')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//tbody/tr[@class='el-table__row']/td[2]/div[1]",
"element_type": "getText",
"element_value": "",
"expented_result": "测试"
}
]
}
行 4 的 JSON 数据解析成功: {'name': '角色权限管理001', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '查询', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'查询')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//tbody/tr[@class='el-table__row']/td[2]/div[1]", 'element_type': 'getText', 'element_value': '', 'expented_result': '测试'}]}
行 4 的功能类别: 兰州中石化项目25-05-24
行 4 的 JSON 数据已添加到 ddt_cases
行 5 的 JSON 数据: {
"name": "角色权限管理002",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "查询专用测试",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'查询')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//tbody/tr[@class='el-table__row']/td[2]/div[1]",
"element_type": "getText",
"element_value": "",
"expented_result": "测试"
}
]
}
行 5 的 JSON 数据解析成功: {'name': '角色权限管理002', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '查询专用测试', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'查询')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//tbody/tr[@class='el-table__row']/td[2]/div[1]", 'element_type': 'getText', 'element_value': '', 'expented_result': '测试'}]}
行 5 的功能类别: 兰州中石化项目25-05-24
行 5 的 JSON 数据已添加到 ddt_cases
行 6 的 JSON 数据: {
"name": "角色权限管理003",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "请输入角色名称"
}
]
}
行 6 的 JSON 数据解析成功: {'name': '角色权限管理003', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '请输入角色名称'}]}
行 6 的功能类别: 兰州中石化项目25-05-24
行 6 的 JSON 数据已添加到 ddt_cases
行 7 的 JSON 数据: {
"name": "角色权限管理004",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试004",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
} ,
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
}
]
}
行 7 的 JSON 数据解析成功: {'name': '角色权限管理004', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试004', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
行 7 的功能类别: 兰州中石化项目25-05-24
行 7 的 JSON 数据已添加到 ddt_cases
行 8 的 JSON 数据: {
"name": "角色权限管理005",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试004",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "角色名称已存在,请重新输入"
}
]
}
行 8 的 JSON 数据解析成功: {'name': '角色权限管理005', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试004', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '角色名称已存在,请重新输入'}]}
行 8 的功能类别: 兰州中石化项目25-05-24
行 8 的 JSON 数据已添加到 ddt_cases
行 9 的 JSON 数据: {
"name": "角色权限管理006",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试005",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
}
]
}
行 9 的 JSON 数据解析成功: {'name': '角色权限管理006', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试005', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
行 9 的功能类别: 兰州中石化项目25-05-24
行 9 的 JSON 数据已添加到 ddt_cases
行 10 的 JSON 数据: {
"name": "角色权限管理007",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试007",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[@class='el-radio__label'][contains(text(),'禁用')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
}
]
}
行 10 的 JSON 数据解析成功: {'name': '角色权限管理007', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试007', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[@class='el-radio__label'][contains(text(),'禁用')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
行 10 的功能类别: 兰州中石化项目25-05-24
行 10 的 JSON 数据已添加到 ddt_cases
行 11 的 JSON 数据: {
"name": "角色权限管理008",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试008",
"expented_result": ""
}
]
}
行 11 的 JSON 数据解析成功: {'name': '角色权限管理008', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试008', 'expented_result': ''}]}
行 11 的功能类别: 兰州中石化项目25-05-24
行 11 的 JSON 数据已添加到 ddt_cases
行 12 的 JSON 数据: None
跳过行 12,JSON 数据为空
行 13 的 JSON 数据: {
"name": "角色权限管理010",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "请输入角色名称"
}
]
}
行 13 的 JSON 数据解析成功: {'name': '角色权限管理010', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '请输入角色名称'}]}
行 13 的功能类别: 兰州中石化项目25-05-24
行 13 的 JSON 数据已添加到 ddt_cases
行 14 的 JSON 数据: {
"name": "角色权限管理011",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "权限编辑专用测试",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
}
]
}
行 14 的 JSON 数据解析成功: {'name': '角色权限管理011', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '权限编辑专用测试', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
行 14 的功能类别: 兰州中石化项目25-05-24
行 14 的 JSON 数据已添加到 ddt_cases
行 15 的 JSON 数据: {
"name": "角色权限管理012",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "超级管理员",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "角色名称已存在,请重新输入"
}
]
}
行 15 的 JSON 数据解析成功: {'name': '角色权限管理012', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '超级管理员', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '角色名称已存在,请重新输入'}]}
行 15 的功能类别: 兰州中石化项目25-05-24
行 15 的 JSON 数据已添加到 ddt_cases
行 16 的 JSON 数据: {
"name": "角色权限管理013",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'启用')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'查询')]",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15144,31 +15813,31 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//tbody/tr[@class='el-table__row']/td[2]/div[1]",
"element_type": "getText",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "测试"
"expented_result": "修改成功"
}
]
}
4 的 JSON 数据解析成功: {'name': '角色权限管理001', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请输入会议名称']", 'element_type': 'input', 'element_value': '查询', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'查询')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//tbody/tr[@class='el-table__row']/td[2]/div[1]", 'element_type': 'getText', 'element_value': '', 'expented_result': '测试'}]}
4 的功能类别: 兰州中石化项目25-05-24
4 的 JSON 数据已添加到 ddt_cases
5 的 JSON 数据: {
"name": "角色权限管理002",
16 的 JSON 数据解析成功: {'name': '角色权限管理013', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'启用')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '修改成功'}]}
16 的功能类别: 兰州中石化项目25-05-24
16 的 JSON 数据已添加到 ddt_cases
17 的 JSON 数据: {
"name": "角色权限管理014",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//input[@placeholder='请输入会议名称']",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "查询专用测试",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'查询')]",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15176,23 +15845,7 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//tbody/tr[@class='el-table__row']/td[2]/div[1]",
"element_type": "getText",
"element_value": "",
"expented_result": "测试"
}
]
}
行 5 的 JSON 数据解析成功: {'name': '角色权限管理002', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请输入会议名称']", 'element_type': 'input', 'element_value': '查询专用测试', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'查询')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//tbody/tr[@class='el-table__row']/td[2]/div[1]", 'element_type': 'getText', 'element_value': '', 'expented_result': '测试'}]}
行 5 的功能类别: 兰州中石化项目25-05-24
行 5 的 JSON 数据已添加到 ddt_cases
行 6 的 JSON 数据: {
"name": "角色权限管理003",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15200,8 +15853,8 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"locator_value": "//span[@class='el-radio__label'][contains(text(),'禁用')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
......@@ -15219,44 +15872,70 @@ XLSX文件成功打开
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "请输入角色名称"
"expented_result": "修改成功"
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='cell el-tooltip']",
"element_type": "getText",
"element_value": "",
"expented_result": "禁用"
}
]
}
6 的 JSON 数据解析成功: {'name': '角色权限管理003', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '请输入角色名称'}]}
6 的功能类别: 兰州中石化项目25-05-24
6 的 JSON 数据已添加到 ddt_cases
7 的 JSON 数据: {
"name": "角色权限管理004",
17 的 JSON 数据解析成功: {'name': '角色权限管理014', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[@class='el-radio__label'][contains(text(),'禁用')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '修改成功'}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='cell el-tooltip']", 'element_type': 'getText', 'element_value': '', 'expented_result': '禁用'}]}
17 的功能类别: 兰州中石化项目25-05-24
17 的 JSON 数据已添加到 ddt_cases
18 的 JSON 数据: {
"name": "角色权限管理015",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试004",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
} ,
}
]
}
行 18 的 JSON 数据解析成功: {'name': '角色权限管理015', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}]}
行 18 的功能类别: 兰州中石化项目25-05-24
行 18 的 JSON 数据已添加到 ddt_cases
行 19 的 JSON 数据: None
跳过行 19,JSON 数据为空
行 20 的 JSON 数据: {
"name": "角色权限管理017",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "超级管理员",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15264,39 +15943,39 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"locator_value": "//tbody/tr[1]/td[4]/div[1]",
"element_type": "getText",
"element_value": "",
"expented_result": "创建成功"
"expented_result": "查看"
}
]
}
7 的 JSON 数据解析成功: {'name': '角色权限管理004', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试004', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
7 的功能类别: 兰州中石化项目25-05-24
7 的 JSON 数据已添加到 ddt_cases
8 的 JSON 数据: {
"name": "角色权限管理006",
20 的 JSON 数据解析成功: {'name': '角色权限管理017', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '超级管理员', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[1]/td[4]/div[1]', 'element_type': 'getText', 'element_value': '', 'expented_result': '查看'}]}
20 的功能类别: 兰州中石化项目25-05-24
20 的 JSON 数据已添加到 ddt_cases
21 的 JSON 数据: {
"name": "角色权限管理018",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "超级管理员",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试005",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"locator_value": "//button[contains(@class,'el-button el-button--text el-button--mini')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15304,7 +15983,31 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"locator_value": "//div[normalize-space()='superAdminLz']",
"element_type": "getText",
"element_value": "",
"expented_result": "superAdminLz"
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_item')][contains(text(),'会议管控')]",
"element_type": "getText",
"element_value": "",
"expented_result": "会议管控"
}
]
}
行 21 的 JSON 数据解析成功: {'name': '角色权限管理018', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '超级管理员', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[contains(@class,'el-button el-button--text el-button--mini')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[normalize-space()='superAdminLz']", 'element_type': 'getText', 'element_value': '', 'expented_result': 'superAdminLz'}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_item')][contains(text(),'会议管控')]", 'element_type': 'getText', 'element_value': '', 'expented_result': '会议管控'}]}
行 21 的功能类别: 兰州中石化项目25-05-24
行 21 的 JSON 数据已添加到 ddt_cases
行 22 的 JSON 数据: {
"name": "角色权限管理019",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//tbody/tr[2]/td[4]/div[1]/button[4]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15315,20 +16018,22 @@ XLSX文件成功打开
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "角色名称已存在,请重新输入"
"expented_result": "禁用成功"
}
]
}
行 8 的 JSON 数据解析成功: {'name': '角色权限管理006', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试005', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '角色名称已存在,请重新输入'}]}
行 8 的功能类别: 兰州中石化项目25-05-24
行 8 的 JSON 数据已添加到 ddt_cases
行 9 的 JSON 数据: {
"name": "角色权限管理006",
行 22 的 JSON 数据解析成功: {'name': '角色权限管理019', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[2]/td[4]/div[1]/button[4]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '禁用成功'}]}
行 22 的功能类别: 兰州中石化项目25-05-24
行 22 的 JSON 数据已添加到 ddt_cases
行 23 的 JSON 数据: None
跳过行 23,JSON 数据为空
行 24 的 JSON 数据: {
"name": "角色权限管理020",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"locator_value": "//tbody/tr[2]/td[4]/div[1]/button[4]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15336,15 +16041,33 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "启用成功"
}
]
}
行 24 的 JSON 数据解析成功: {'name': '角色权限管理020', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[2]/td[4]/div[1]/button[4]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '启用成功'}]}
行 24 的功能类别: 兰州中石化项目25-05-24
行 24 的 JSON 数据已添加到 ddt_cases
行 25 的 JSON 数据: None
跳过行 25,JSON 数据为空
行 26 的 JSON 数据: {
"name": "角色权限管理023",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "自动化角色测试006",
"element_value": "自动化",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15352,7 +16075,7 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'启用')]",
"locator_value": "//button[contains(@class,'el-button el-button--text el-button--mini')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15360,7 +16083,7 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"locator_value": "//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15368,23 +16091,23 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"locator_value": "//span[contains(text(),'确定')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[@class='el-message__content']",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
}
]
}
行 9 的 JSON 数据解析成功: {'name': '角色权限管理006', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试006', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'启用')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
行 9 的功能类别: 兰州中石化项目25-05-24
行 9 的 JSON 数据已添加到 ddt_cases
行 10 的 JSON 数据: {
"name": "角色权限管理007",
"para": [
"expented_result": "删除成功"
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"locator_value": "//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15392,23 +16115,23 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试007",
"locator_value": "//span[contains(text(),'确定')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"element_type": "click",
"locator_value": "//p[@class='el-message__content']",
"element_type": "getTips",
"element_value": "",
"expented_result": ""
"expented_result": "删除成功"
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'禁用')]",
"locator_value": "//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15416,7 +16139,7 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"locator_value": "//span[contains(text(),'确定')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15424,23 +16147,23 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"locator_value": "//p[@class='el-message__content']",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
"expented_result": "删除成功"
}
]
}
10 的 JSON 数据解析成功: {'name': '角色权限管理007', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试007', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'禁用')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
10 的功能类别: 兰州中石化项目25-05-24
10 的 JSON 数据已添加到 ddt_cases
11 的 JSON 数据: {
"name": "角色权限管理008",
26 的 JSON 数据解析成功: {'name': '角色权限管理023', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '自动化', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[contains(@class,'el-button el-button--text el-button--mini')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'确定')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[@class='el-message__content']", 'element_type': 'getTips', 'element_value': '', 'expented_result': '删除成功'}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'确定')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[@class='el-message__content']", 'element_type': 'getTips', 'element_value': '', 'expented_result': '删除成功'}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'确定')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[@class='el-message__content']", 'element_type': 'getTips', 'element_value': '', 'expented_result': '删除成功'}]}
26 的功能类别: 兰州中石化项目25-05-24
26 的 JSON 数据已添加到 ddt_cases
27 的 JSON 数据: {
"name": "角色权限管理024",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"locator_value": "//tbody/tr[2]/td[4]/div[1]/button[3]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15448,48 +16171,24 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试008",
"locator_value": "//p[contains(text(),'确定要删除该角色吗?')]",
"element_type": "getText",
"element_value": "",
"expented_result": "确定要删除该角色吗?"
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'取消')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
}
]
}
行 11 的 JSON 数据解析成功: {'name': '角色权限管理008', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试008', 'expented_result': ''}]}
行 11 的功能类别: 兰州中石化项目25-05-24
行 11 的 JSON 数据已添加到 ddt_cases
行 12 的 JSON 数据: None
跳过行 12,JSON 数据为空
行 13 的 JSON 数据: None
跳过行 13,JSON 数据为空
行 14 的 JSON 数据: None
跳过行 14,JSON 数据为空
行 15 的 JSON 数据: None
跳过行 15,JSON 数据为空
行 16 的 JSON 数据: None
跳过行 16,JSON 数据为空
行 17 的 JSON 数据: None
跳过行 17,JSON 数据为空
行 18 的 JSON 数据: None
跳过行 18,JSON 数据为空
行 19 的 JSON 数据: None
跳过行 19,JSON 数据为空
行 20 的 JSON 数据: None
跳过行 20,JSON 数据为空
行 21 的 JSON 数据: None
跳过行 21,JSON 数据为空
行 22 的 JSON 数据: None
跳过行 22,JSON 数据为空
行 23 的 JSON 数据: None
跳过行 23,JSON 数据为空
行 24 的 JSON 数据: None
跳过行 24,JSON 数据为空
行 25 的 JSON 数据: None
跳过行 25,JSON 数据为空
行 26 的 JSON 数据: None
跳过行 26,JSON 数据为空
行 27 的 JSON 数据: None
跳过行 27,JSON 数据为空
行 27 的 JSON 数据解析成功: {'name': '角色权限管理024', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[2]/td[4]/div[1]/button[3]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(text(),'确定要删除该角色吗?')]", 'element_type': 'getText', 'element_value': '', 'expented_result': '确定要删除该角色吗?'}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'取消')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}]}
行 27 的功能类别: 兰州中石化项目25-05-24
行 27 的 JSON 数据已添加到 ddt_cases
行 28 的 JSON 数据: None
跳过行 28,JSON 数据为空
行 29 的 JSON 数据: None
......@@ -15842,6 +16541,8 @@ XLSX文件成功打开
跳过行 202,JSON 数据为空
XLSX文件已读取
** no cases in this file , skip it.
== cases\项目定制\兰州中石化项目25-05-24\议题列表\__st__.py
......@@ -27675,20 +28376,20 @@ XLSX文件已读取
=== [ 执行测试用例 ] ===
预备执行用例数量 : 8
预备执行用例数量 : 1
========= 测试开始 : 20250612_103843 =========
========= 测试开始 : 20250612_162952 =========
>>> cases\
>>> cases\项目定制\兰州中石化项目25-05-24\角色权限管理\
>>> cases\项目定制\兰州中石化项目25-05-24\决策会议\
[ suite setup ] cases\项目定制\兰州中石化项目25-05-24\角色权限管理\
[ suite setup ] cases\项目定制\兰州中石化项目25-05-24\决策会议\
-- 第 1 步 -- 初始化浏览器
......@@ -27698,33 +28399,105 @@ XLSX文件已读取
输入密码:Ubains@4321
输入验证码:csba
点击登录按钮
点击【系统管理】展开下拉框
点击【角色权限管理】按钮进入模块
点击【决策会议】按钮
>>> cases\项目定制\兰州中石化项目25-05-24\角色权限管理\角色权限管理.py
>>> cases\项目定制\兰州中石化项目25-05-24\决策会议\决策会议.py
* 角色权限管理001 - 2025-06-12 10:38:52
* 决策会议006 - 2025-06-12 16:29:58
[ case execution steps ]
页面: RolePermissionManagement、元素定位类型: xpath、元素定位值: //input[@placeholder='请输入会议名称']、元素类型: input、元素值: 查询、预期结果:
TimeoutException: Element ('xpath', "//input[@placeholder='请输入会议名称']") not found or not clickable within 20 seconds.
页面: RolePermissionManagement、元素定位类型: xpath、元素定位值: //span[contains(text(),'查询')]、元素类型: click、元素值: 、预期结果:
页面: RolePermissionManagement、元素定位类型: xpath、元素定位值: //tbody/tr[@class='el-table__row']/td[2]/div[1]、元素类型: getText、元素值: 、预期结果: 测试
获取到的文本信息为:超级管理员
** 检查点 ** 获取到的文本信息为:超级管理员 ----> !! 不通过!!
FAIL
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //div[@class='title']//button[@type='button']、元素类型: click、元素值: 、预期结果:
picture imgs/20250612163006237370.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@id='create-meeting-name-input']、元素类型: input、元素值: 决策会议006、预期结果:
picture imgs/20250612163008506977.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@id='create-meeting-start-time-datepicker']、元素类型: input、元素值: 2025-06-12、预期结果:
picture imgs/20250612163010816936.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //div[@x-placement='bottom-start']//span[contains(text(),'确定')]、元素类型: click、元素值: 、预期结果:
picture imgs/20250612163013070637.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@id='create-meeting-end-time-datepicker']、元素类型: input、元素值: 2025-06-12、预期结果:
picture imgs/20250612163015351267.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //div[@x-placement='bottom-start']//span[contains(text(),'确定')]、元素类型: click、元素值: 、预期结果:
picture imgs/20250612163017627804.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@id='create-meeting-location-select']、元素类型: click、元素值: 、预期结果:
picture imgs/20250612163019878995.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //span[contains(text(),'决策会议室001')]、元素类型: click、元素值: 、预期结果:
picture imgs/20250612163022175642.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@placeholder='请选择公司领导']、元素类型: click、元素值: 、预期结果:
ABORT Message: element click intercepted: Element <input type="text" readonly="readonly" autocomplete="off" placeholder="请选择公司领导" class="el-input__inner"> is not clickable at point (1008, 447). Other element would receive the click: <li data-v-6133d90e="" class="el-select-dropdown__item">...</li>
(Session info: chrome=137.0.7151.41)
Stacktrace:
GetHandleVerifier [0x0x7ff78acc91f5+2853845]
GetHandleVerifier [0x0x7ff78aa23ac0+79008]
(No symbol) [0x0x7ff78a7e9bda]
(No symbol) [0x0x7ff78a8480e9]
(No symbol) [0x0x7ff78a845a8b]
(No symbol) [0x0x7ff78a842ad1]
(No symbol) [0x0x7ff78a8419d1]
(No symbol) [0x0x7ff78a833004]
(No symbol) [0x0x7ff78a8684ba]
(No symbol) [0x0x7ff78a8328b6]
(No symbol) [0x0x7ff78a8686d0]
(No symbol) [0x0x7ff78a8908f5]
(No symbol) [0x0x7ff78a868293]
(No symbol) [0x0x7ff78a831061]
(No symbol) [0x0x7ff78a831df3]
GetHandleVerifier [0x0x7ff78acf410d+3029741]
GetHandleVerifier [0x0x7ff78acee52d+3006221]
GetHandleVerifier [0x0x7ff78ad0d5b2+3133330]
GetHandleVerifier [0x0x7ff78aa3d98e+185198]
GetHandleVerifier [0x0x7ff78aa44edf+215231]
GetHandleVerifier [0x0x7ff78aa2c324+113924]
GetHandleVerifier [0x0x7ff78aa2c4d9+114361]
GetHandleVerifier [0x0x7ff78aa13208+11240]
BaseThreadInitThunk [0x0x7ff9e1cae8d7+23]
RtlUserThreadStart [0x0x7ff9e2c7c5dc+44]
Traceback:
File "E:\GithubData\自动化\ubains-module-test\预定系统\cases\项目定制\兰州中石化项目25-05-24\角色权限管理\角色权限管理.py", line 66, in teststeps
CHECK_POINT(f"获取到的文本信息为:{text}", expented_result in text)
File "E:\Python\lib\site-packages\hytest\common.py", line 76, in CHECK_POINT
raise AssertionError()
AssertionError
* 角色权限管理002 - 2025-06-12 10:39:18
[ case execution steps ]
页面: RolePermissionManagement、元素定位类型: xpath、元素定位值: //input[@placeholder='请输入会议名称']、元素类型: input、元素值: 查询专用测试、预期结果:
File "E:\GithubData\自动化\ubains-module-test\预定系统\cases\项目定制\兰州中石化项目25-05-24\决策会议\决策会议.py", line 57, in teststeps
safe_click((locator_type, locator_value), wd)
File "E:\GithubData\自动化\ubains-module-test\预定系统\Base\base.py", line 252, in safe_click
element.click()
File "E:\Python\lib\site-packages\selenium\webdriver\remote\webelement.py", line 119, in click
self._execute(Command.CLICK_ELEMENT)
File "E:\Python\lib\site-packages\selenium\webdriver\remote\webelement.py", line 572, in _execute
return self._parent.execute(command, params)
File "E:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 448, in execute
self.error_handler.check_response(response)
File "E:\Python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 232, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <input type="text" readonly="readonly" autocomplete="off" placeholder="请选择公司领导" class="el-input__inner"> is not clickable at point (1008, 447). Other element would receive the click: <li data-v-6133d90e="" class="el-select-dropdown__item">...</li>
(Session info: chrome=137.0.7151.41)
Stacktrace:
GetHandleVerifier [0x0x7ff78acc91f5+2853845]
GetHandleVerifier [0x0x7ff78aa23ac0+79008]
(No symbol) [0x0x7ff78a7e9bda]
(No symbol) [0x0x7ff78a8480e9]
(No symbol) [0x0x7ff78a845a8b]
(No symbol) [0x0x7ff78a842ad1]
(No symbol) [0x0x7ff78a8419d1]
(No symbol) [0x0x7ff78a833004]
(No symbol) [0x0x7ff78a8684ba]
(No symbol) [0x0x7ff78a8328b6]
(No symbol) [0x0x7ff78a8686d0]
(No symbol) [0x0x7ff78a8908f5]
(No symbol) [0x0x7ff78a868293]
(No symbol) [0x0x7ff78a831061]
(No symbol) [0x0x7ff78a831df3]
GetHandleVerifier [0x0x7ff78acf410d+3029741]
GetHandleVerifier [0x0x7ff78acee52d+3006221]
GetHandleVerifier [0x0x7ff78ad0d5b2+3133330]
GetHandleVerifier [0x0x7ff78aa3d98e+185198]
GetHandleVerifier [0x0x7ff78aa44edf+215231]
GetHandleVerifier [0x0x7ff78aa2c324+113924]
GetHandleVerifier [0x0x7ff78aa2c4d9+114361]
GetHandleVerifier [0x0x7ff78aa13208+11240]
BaseThreadInitThunk [0x0x7ff9e1cae8d7+23]
RtlUserThreadStart [0x0x7ff9e2c7c5dc+44]
[ suite teardown ] cases\项目定制\兰州中石化项目25-05-24\决策会议\
[ suite teardown ] cases\
清除浏览器
......@@ -14318,8 +14318,157 @@ XLSX文件成功打开
行 8 的 JSON 数据解析成功: {'name': '决策会议005', 'para': [{'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新建')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-name-input']", 'element_type': 'input', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//p[@class='el-message__content']", 'element_type': 'getTips', 'element_value': '', 'expented_result': '请输入会议名称'}]}
行 8 的功能类别: 兰州中石化项目25-05-24
行 8 的 JSON 数据已添加到 ddt_cases
行 9 的 JSON 数据: None
跳过行 9,JSON 数据为空
行 9 的 JSON 数据: {
"name": "决策会议006",
"para": [{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//div[@class='title']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@id='create-meeting-name-input']",
"element_type": "input",
"element_value": "决策会议006",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@id='create-meeting-start-time-datepicker']",
"element_type": "input",
"element_value": "2025-06-12",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//div[@x-placement='bottom-start']//span[contains(text(),'确定')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@id='create-meeting-end-time-datepicker']",
"element_type": "input",
"element_value": "2025-06-12",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//div[@x-placement='bottom-start']//span[contains(text(),'确定')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@id='create-meeting-location-select']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'决策会议室001')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@placeholder='请选择公司领导']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'全选')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'确认')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@placeholder='请选择主办单位']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'测试部门')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//button[@id='tree-selector-confirm']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//input[@id='create-meeting-compere-select']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "(//span[contains(text(),'范公司主管领导')])[2]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//button[@id='create-meeting-submit-button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "DecisionMakingMeetings",
"locator_type": "XPATH",
"locator_value": "//p[@class='el-message__content']",
"element_type": "getTips",
"element_value": "",
"expented_result": "会议预定成功"
}
]
}
行 9 的 JSON 数据解析成功: {'name': '决策会议006', 'para': [{'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//div[@class='title']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-name-input']", 'element_type': 'input', 'element_value': '决策会议006', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-start-time-datepicker']", 'element_type': 'input', 'element_value': '2025-06-12', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//div[@x-placement='bottom-start']//span[contains(text(),'确定')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-end-time-datepicker']", 'element_type': 'input', 'element_value': '2025-06-12', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//div[@x-placement='bottom-start']//span[contains(text(),'确定')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-location-select']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'决策会议室001')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请选择公司领导']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'全选')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'确认')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请选择主办单位']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'测试部门')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//button[@id='tree-selector-confirm']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//input[@id='create-meeting-compere-select']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "(//span[contains(text(),'范公司主管领导')])[2]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//button[@id='create-meeting-submit-button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'DecisionMakingMeetings', 'locator_type': 'XPATH', 'locator_value': "//p[@class='el-message__content']", 'element_type': 'getTips', 'element_value': '', 'expented_result': '会议预定成功'}]}
行 9 的功能类别: 兰州中石化项目25-05-24
行 9 的 JSON 数据已添加到 ddt_cases
行 10 的 JSON 数据: None
跳过行 10,JSON 数据为空
行 11 的 JSON 数据: None
......@@ -14696,8 +14845,6 @@ XLSX文件成功打开
跳过行 196,JSON 数据为空
XLSX文件已读取
** no cases in this file , skip it.
== cases\项目定制\兰州中石化项目25-05-24\平板无纸化\__st__.py
......@@ -15128,7 +15275,7 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//input[@placeholder='请输入会议名称']",
"locator_value": "//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "查询",
"expented_result": ""
......@@ -15136,7 +15283,529 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'查询')]",
"locator_value": "//span[contains(text(),'查询')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//tbody/tr[@class='el-table__row']/td[2]/div[1]",
"element_type": "getText",
"element_value": "",
"expented_result": "测试"
}
]
}
行 4 的 JSON 数据解析成功: {'name': '角色权限管理001', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '查询', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'查询')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//tbody/tr[@class='el-table__row']/td[2]/div[1]", 'element_type': 'getText', 'element_value': '', 'expented_result': '测试'}]}
行 4 的功能类别: 兰州中石化项目25-05-24
行 4 的 JSON 数据已添加到 ddt_cases
行 5 的 JSON 数据: {
"name": "角色权限管理002",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "查询专用测试",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'查询')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//tbody/tr[@class='el-table__row']/td[2]/div[1]",
"element_type": "getText",
"element_value": "",
"expented_result": "测试"
}
]
}
行 5 的 JSON 数据解析成功: {'name': '角色权限管理002', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '查询专用测试', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'查询')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//tbody/tr[@class='el-table__row']/td[2]/div[1]", 'element_type': 'getText', 'element_value': '', 'expented_result': '测试'}]}
行 5 的功能类别: 兰州中石化项目25-05-24
行 5 的 JSON 数据已添加到 ddt_cases
行 6 的 JSON 数据: {
"name": "角色权限管理003",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "请输入角色名称"
}
]
}
行 6 的 JSON 数据解析成功: {'name': '角色权限管理003', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '请输入角色名称'}]}
行 6 的功能类别: 兰州中石化项目25-05-24
行 6 的 JSON 数据已添加到 ddt_cases
行 7 的 JSON 数据: {
"name": "角色权限管理004",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试004",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
} ,
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
}
]
}
行 7 的 JSON 数据解析成功: {'name': '角色权限管理004', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试004', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
行 7 的功能类别: 兰州中石化项目25-05-24
行 7 的 JSON 数据已添加到 ddt_cases
行 8 的 JSON 数据: {
"name": "角色权限管理005",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试004",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "角色名称已存在,请重新输入"
}
]
}
行 8 的 JSON 数据解析成功: {'name': '角色权限管理005', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试004', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '角色名称已存在,请重新输入'}]}
行 8 的功能类别: 兰州中石化项目25-05-24
行 8 的 JSON 数据已添加到 ddt_cases
行 9 的 JSON 数据: {
"name": "角色权限管理006",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试005",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
}
]
}
行 9 的 JSON 数据解析成功: {'name': '角色权限管理006', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试005', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
行 9 的功能类别: 兰州中石化项目25-05-24
行 9 的 JSON 数据已添加到 ddt_cases
行 10 的 JSON 数据: {
"name": "角色权限管理007",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试007",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[@class='el-radio__label'][contains(text(),'禁用')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
}
]
}
行 10 的 JSON 数据解析成功: {'name': '角色权限管理007', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试007', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[@class='el-radio__label'][contains(text(),'禁用')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
行 10 的功能类别: 兰州中石化项目25-05-24
行 10 的 JSON 数据已添加到 ddt_cases
行 11 的 JSON 数据: {
"name": "角色权限管理008",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试008",
"expented_result": ""
}
]
}
行 11 的 JSON 数据解析成功: {'name': '角色权限管理008', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试008', 'expented_result': ''}]}
行 11 的功能类别: 兰州中石化项目25-05-24
行 11 的 JSON 数据已添加到 ddt_cases
行 12 的 JSON 数据: None
跳过行 12,JSON 数据为空
行 13 的 JSON 数据: {
"name": "角色权限管理010",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "请输入角色名称"
}
]
}
行 13 的 JSON 数据解析成功: {'name': '角色权限管理010', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '请输入角色名称'}]}
行 13 的功能类别: 兰州中石化项目25-05-24
行 13 的 JSON 数据已添加到 ddt_cases
行 14 的 JSON 数据: {
"name": "角色权限管理011",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "权限编辑专用测试",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
}
]
}
行 14 的 JSON 数据解析成功: {'name': '角色权限管理011', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '权限编辑专用测试', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
行 14 的功能类别: 兰州中石化项目25-05-24
行 14 的 JSON 数据已添加到 ddt_cases
行 15 的 JSON 数据: {
"name": "角色权限管理012",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "超级管理员",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "角色名称已存在,请重新输入"
}
]
}
行 15 的 JSON 数据解析成功: {'name': '角色权限管理012', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '超级管理员', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '角色名称已存在,请重新输入'}]}
行 15 的功能类别: 兰州中石化项目25-05-24
行 15 的 JSON 数据已添加到 ddt_cases
行 16 的 JSON 数据: {
"name": "角色权限管理013",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'启用')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15144,31 +15813,31 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//tbody/tr[@class='el-table__row']/td[2]/div[1]",
"element_type": "getText",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "测试"
"expented_result": "修改成功"
}
]
}
4 的 JSON 数据解析成功: {'name': '角色权限管理001', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请输入会议名称']", 'element_type': 'input', 'element_value': '查询', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'查询')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//tbody/tr[@class='el-table__row']/td[2]/div[1]", 'element_type': 'getText', 'element_value': '', 'expented_result': '测试'}]}
4 的功能类别: 兰州中石化项目25-05-24
4 的 JSON 数据已添加到 ddt_cases
5 的 JSON 数据: {
"name": "角色权限管理002",
16 的 JSON 数据解析成功: {'name': '角色权限管理013', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'启用')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '修改成功'}]}
16 的功能类别: 兰州中石化项目25-05-24
16 的 JSON 数据已添加到 ddt_cases
17 的 JSON 数据: {
"name": "角色权限管理014",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//input[@placeholder='请输入会议名称']",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "查询专用测试",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'查询')]",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15176,23 +15845,7 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//tbody/tr[@class='el-table__row']/td[2]/div[1]",
"element_type": "getText",
"element_value": "",
"expented_result": "测试"
}
]
}
行 5 的 JSON 数据解析成功: {'name': '角色权限管理002', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//input[@placeholder='请输入会议名称']", 'element_type': 'input', 'element_value': '查询专用测试', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'查询')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//tbody/tr[@class='el-table__row']/td[2]/div[1]", 'element_type': 'getText', 'element_value': '', 'expented_result': '测试'}]}
行 5 的功能类别: 兰州中石化项目25-05-24
行 5 的 JSON 数据已添加到 ddt_cases
行 6 的 JSON 数据: {
"name": "角色权限管理003",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15200,8 +15853,8 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"locator_value": "//span[@class='el-radio__label'][contains(text(),'禁用')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
......@@ -15219,44 +15872,70 @@ XLSX文件成功打开
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "请输入角色名称"
"expented_result": "修改成功"
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='cell el-tooltip']",
"element_type": "getText",
"element_value": "",
"expented_result": "禁用"
}
]
}
6 的 JSON 数据解析成功: {'name': '角色权限管理003', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '请输入角色名称'}]}
6 的功能类别: 兰州中石化项目25-05-24
6 的 JSON 数据已添加到 ddt_cases
7 的 JSON 数据: {
"name": "角色权限管理004",
17 的 JSON 数据解析成功: {'name': '角色权限管理014', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[@class='el-radio__label'][contains(text(),'禁用')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '修改成功'}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='cell el-tooltip']", 'element_type': 'getText', 'element_value': '', 'expented_result': '禁用'}]}
17 的功能类别: 兰州中石化项目25-05-24
17 的 JSON 数据已添加到 ddt_cases
18 的 JSON 数据: {
"name": "角色权限管理015",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "权限编辑",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试004",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"locator_value": "//button[@type='button']//span[contains(text(),'修改')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
} ,
}
]
}
行 18 的 JSON 数据解析成功: {'name': '角色权限管理015', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '权限编辑', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[@type='button']//span[contains(text(),'修改')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}]}
行 18 的功能类别: 兰州中石化项目25-05-24
行 18 的 JSON 数据已添加到 ddt_cases
行 19 的 JSON 数据: None
跳过行 19,JSON 数据为空
行 20 的 JSON 数据: {
"name": "角色权限管理017",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "超级管理员",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15264,39 +15943,39 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"locator_value": "//tbody/tr[1]/td[4]/div[1]",
"element_type": "getText",
"element_value": "",
"expented_result": "创建成功"
"expented_result": "查看"
}
]
}
7 的 JSON 数据解析成功: {'name': '角色权限管理004', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试004', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
7 的功能类别: 兰州中石化项目25-05-24
7 的 JSON 数据已添加到 ddt_cases
8 的 JSON 数据: {
"name": "角色权限管理006",
20 的 JSON 数据解析成功: {'name': '角色权限管理017', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '超级管理员', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[1]/td[4]/div[1]', 'element_type': 'getText', 'element_value': '', 'expented_result': '查看'}]}
20 的功能类别: 兰州中石化项目25-05-24
20 的 JSON 数据已添加到 ddt_cases
21 的 JSON 数据: {
"name": "角色权限管理018",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"element_type": "click",
"element_value": "",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "超级管理员",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试005",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"locator_value": "//button[contains(@class,'el-button el-button--text el-button--mini')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15304,7 +15983,31 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"locator_value": "//div[normalize-space()='superAdminLz']",
"element_type": "getText",
"element_value": "",
"expented_result": "superAdminLz"
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_item')][contains(text(),'会议管控')]",
"element_type": "getText",
"element_value": "",
"expented_result": "会议管控"
}
]
}
行 21 的 JSON 数据解析成功: {'name': '角色权限管理018', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '超级管理员', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[contains(@class,'el-button el-button--text el-button--mini')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[normalize-space()='superAdminLz']", 'element_type': 'getText', 'element_value': '', 'expented_result': 'superAdminLz'}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_item')][contains(text(),'会议管控')]", 'element_type': 'getText', 'element_value': '', 'expented_result': '会议管控'}]}
行 21 的功能类别: 兰州中石化项目25-05-24
行 21 的 JSON 数据已添加到 ddt_cases
行 22 的 JSON 数据: {
"name": "角色权限管理019",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//tbody/tr[2]/td[4]/div[1]/button[4]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15315,20 +16018,22 @@ XLSX文件成功打开
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "角色名称已存在,请重新输入"
"expented_result": "禁用成功"
}
]
}
行 8 的 JSON 数据解析成功: {'name': '角色权限管理006', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试005', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '角色名称已存在,请重新输入'}]}
行 8 的功能类别: 兰州中石化项目25-05-24
行 8 的 JSON 数据已添加到 ddt_cases
行 9 的 JSON 数据: {
"name": "角色权限管理006",
行 22 的 JSON 数据解析成功: {'name': '角色权限管理019', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[2]/td[4]/div[1]/button[4]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '禁用成功'}]}
行 22 的功能类别: 兰州中石化项目25-05-24
行 22 的 JSON 数据已添加到 ddt_cases
行 23 的 JSON 数据: None
跳过行 23,JSON 数据为空
行 24 的 JSON 数据: {
"name": "角色权限管理020",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"locator_value": "//tbody/tr[2]/td[4]/div[1]/button[4]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15336,15 +16041,33 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"locator_value": "//p[contains(@class,'el-message__content')]",
"element_type": "getTips",
"element_value": "",
"expented_result": "启用成功"
}
]
}
行 24 的 JSON 数据解析成功: {'name': '角色权限管理020', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[2]/td[4]/div[1]/button[4]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '启用成功'}]}
行 24 的功能类别: 兰州中石化项目25-05-24
行 24 的 JSON 数据已添加到 ddt_cases
行 25 的 JSON 数据: None
跳过行 25,JSON 数据为空
行 26 的 JSON 数据: {
"name": "角色权限管理023",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']",
"element_type": "input",
"element_value": "自动化角色测试006",
"element_value": "自动化",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"locator_value": "//div[@class='row search_bar']//button[@type='button']",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15352,7 +16075,7 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'启用')]",
"locator_value": "//button[contains(@class,'el-button el-button--text el-button--mini')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15360,7 +16083,7 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"locator_value": "//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15368,23 +16091,23 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"locator_value": "//span[contains(text(),'确定')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[@class='el-message__content']",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
}
]
}
行 9 的 JSON 数据解析成功: {'name': '角色权限管理006', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试006', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'启用')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
行 9 的功能类别: 兰州中石化项目25-05-24
行 9 的 JSON 数据已添加到 ddt_cases
行 10 的 JSON 数据: {
"name": "角色权限管理007",
"para": [
"expented_result": "删除成功"
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"locator_value": "//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15392,23 +16115,23 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试007",
"locator_value": "//span[contains(text(),'确定')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'待办事项')]",
"element_type": "click",
"locator_value": "//p[@class='el-message__content']",
"element_type": "getTips",
"element_value": "",
"expented_result": ""
"expented_result": "删除成功"
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'禁用')]",
"locator_value": "//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15416,7 +16139,7 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'提交')]",
"locator_value": "//span[contains(text(),'确定')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15424,23 +16147,23 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//p[contains(@class,'el-message__content')]",
"locator_value": "//p[@class='el-message__content']",
"element_type": "getTips",
"element_value": "",
"expented_result": "创建成功"
"expented_result": "删除成功"
}
]
}
10 的 JSON 数据解析成功: {'name': '角色权限管理007', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试007', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'待办事项')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'禁用')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'提交')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(@class,'el-message__content')]", 'element_type': 'getTips', 'element_value': '', 'expented_result': '创建成功'}]}
10 的功能类别: 兰州中石化项目25-05-24
10 的 JSON 数据已添加到 ddt_cases
11 的 JSON 数据: {
"name": "角色权限管理008",
26 的 JSON 数据解析成功: {'name': '角色权限管理023', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//input[@placeholder='请输入权限组名称']", 'element_type': 'input', 'element_value': '自动化', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[@class='row search_bar']//button[@type='button']", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//button[contains(@class,'el-button el-button--text el-button--mini')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'确定')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[@class='el-message__content']", 'element_type': 'getTips', 'element_value': '', 'expented_result': '删除成功'}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'确定')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[@class='el-message__content']", 'element_type': 'getTips', 'element_value': '', 'expented_result': '删除成功'}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[1]/td[4]/div[1]/button[3]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'确定')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[@class='el-message__content']", 'element_type': 'getTips', 'element_value': '', 'expented_result': '删除成功'}]}
26 的功能类别: 兰州中石化项目25-05-24
26 的 JSON 数据已添加到 ddt_cases
27 的 JSON 数据: {
"name": "角色权限管理024",
"para": [
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'新增')]",
"locator_value": "//tbody/tr[2]/td[4]/div[1]/button[3]/span[1]",
"element_type": "click",
"element_value": "",
"expented_result": ""
......@@ -15448,48 +16171,24 @@ XLSX文件成功打开
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]",
"element_type": "input",
"element_value": "自动化角色测试008",
"locator_value": "//p[contains(text(),'确定要删除该角色吗?')]",
"element_type": "getText",
"element_value": "",
"expented_result": "确定要删除该角色吗?"
},
{
"page": "RolePermissionManagement",
"locator_type": "XPATH",
"locator_value": "//span[contains(text(),'取消')]",
"element_type": "click",
"element_value": "",
"expented_result": ""
}
]
}
行 11 的 JSON 数据解析成功: {'name': '角色权限管理008', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'新增')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//div[contains(@class,'card_content')]//input[contains(@placeholder,'请输入权限组名称')]", 'element_type': 'input', 'element_value': '自动化角色测试008', 'expented_result': ''}]}
行 11 的功能类别: 兰州中石化项目25-05-24
行 11 的 JSON 数据已添加到 ddt_cases
行 12 的 JSON 数据: None
跳过行 12,JSON 数据为空
行 13 的 JSON 数据: None
跳过行 13,JSON 数据为空
行 14 的 JSON 数据: None
跳过行 14,JSON 数据为空
行 15 的 JSON 数据: None
跳过行 15,JSON 数据为空
行 16 的 JSON 数据: None
跳过行 16,JSON 数据为空
行 17 的 JSON 数据: None
跳过行 17,JSON 数据为空
行 18 的 JSON 数据: None
跳过行 18,JSON 数据为空
行 19 的 JSON 数据: None
跳过行 19,JSON 数据为空
行 20 的 JSON 数据: None
跳过行 20,JSON 数据为空
行 21 的 JSON 数据: None
跳过行 21,JSON 数据为空
行 22 的 JSON 数据: None
跳过行 22,JSON 数据为空
行 23 的 JSON 数据: None
跳过行 23,JSON 数据为空
行 24 的 JSON 数据: None
跳过行 24,JSON 数据为空
行 25 的 JSON 数据: None
跳过行 25,JSON 数据为空
行 26 的 JSON 数据: None
跳过行 26,JSON 数据为空
行 27 的 JSON 数据: None
跳过行 27,JSON 数据为空
行 27 的 JSON 数据解析成功: {'name': '角色权限管理024', 'para': [{'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': '//tbody/tr[2]/td[4]/div[1]/button[3]/span[1]', 'element_type': 'click', 'element_value': '', 'expented_result': ''}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//p[contains(text(),'确定要删除该角色吗?')]", 'element_type': 'getText', 'element_value': '', 'expented_result': '确定要删除该角色吗?'}, {'page': 'RolePermissionManagement', 'locator_type': 'XPATH', 'locator_value': "//span[contains(text(),'取消')]", 'element_type': 'click', 'element_value': '', 'expented_result': ''}]}
行 27 的功能类别: 兰州中石化项目25-05-24
行 27 的 JSON 数据已添加到 ddt_cases
行 28 的 JSON 数据: None
跳过行 28,JSON 数据为空
行 29 的 JSON 数据: None
......@@ -15842,6 +16541,8 @@ XLSX文件成功打开
跳过行 202,JSON 数据为空
XLSX文件已读取
** no cases in this file , skip it.
== cases\项目定制\兰州中石化项目25-05-24\议题列表\__st__.py
......@@ -27675,20 +28376,20 @@ XLSX文件已读取
=== [ 执行测试用例 ] ===
预备执行用例数量 : 8
预备执行用例数量 : 1
========= 测试开始 : 20250612_103640 =========
========= 测试开始 : 20250612_162731 =========
>>> cases\
>>> cases\项目定制\兰州中石化项目25-05-24\角色权限管理\
>>> cases\项目定制\兰州中石化项目25-05-24\决策会议\
[ suite setup ] cases\项目定制\兰州中石化项目25-05-24\角色权限管理\
[ suite setup ] cases\项目定制\兰州中石化项目25-05-24\决策会议\
-- 第 1 步 -- 初始化浏览器
......@@ -27698,33 +28399,89 @@ XLSX文件已读取
输入密码:Ubains@4321
输入验证码:csba
点击登录按钮
点击【系统管理】展开下拉框
点击【角色权限管理】按钮进入模块
点击【决策会议】按钮
>>> cases\项目定制\兰州中石化项目25-05-24\角色权限管理\角色权限管理.py
>>> cases\项目定制\兰州中石化项目25-05-24\决策会议\决策会议.py
* 角色权限管理001 - 2025-06-12 10:36:53
* 决策会议006 - 2025-06-12 16:27:40
[ case execution steps ]
页面: RolePermissionManagement、元素定位类型: xpath、元素定位值: //input[@placeholder='请输入会议名称']、元素类型: input、元素值: 查询、预期结果:
TimeoutException: Element ('xpath', "//input[@placeholder='请输入会议名称']") not found or not clickable within 20 seconds.
页面: RolePermissionManagement、元素定位类型: xpath、元素定位值: //span[contains(text(),'查询')]、元素类型: click、元素值: 、预期结果:
页面: RolePermissionManagement、元素定位类型: xpath、元素定位值: //tbody/tr[@class='el-table__row']/td[2]/div[1]、元素类型: getText、元素值: 、预期结果: 测试
获取到的文本信息为:超级管理员
** 检查点 ** 获取到的文本信息为:超级管理员 ----> !! 不通过!!
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //div[@class='title']//button[@type='button']、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162746427885.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@id='create-meeting-name-input']、元素类型: input、元素值: 决策会议006、预期结果:
picture imgs/20250612162748769918.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@id='create-meeting-start-time-datepicker']、元素类型: input、元素值: 2025-06-12、预期结果:
picture imgs/20250612162751081725.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //div[@x-placement='bottom-start']//span[contains(text(),'确定')]、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162753327812.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@id='create-meeting-end-time-datepicker']、元素类型: input、元素值: 2025-06-12、预期结果:
picture imgs/20250612162755637524.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //div[@x-placement='bottom-start']//span[contains(text(),'确定')]、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162757936080.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@id='create-meeting-location-select']、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162800196825.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //span[contains(text(),'决策会议室001')]、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162802479398.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@placeholder='请选择公司领导']、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162804743815.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //span[contains(text(),'全选')]、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162806991122.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //span[contains(text(),'确认')]、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162809236930.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@placeholder='请选择主办单位']、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162811488409.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //span[contains(text(),'测试部门')]、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162813721642.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //button[@id='tree-selector-confirm']、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162815977190.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //input[@id='create-meeting-compere-select']、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162818253826.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: (//span[contains(text(),'范公司主管领导')])[2]、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162820551156.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //button[@id='create-meeting-submit-button']、元素类型: click、元素值: 、预期结果:
picture imgs/20250612162822816769.png
页面: DecisionMakingMeetings、元素定位类型: xpath、元素定位值: //p[@class='el-message__content']、元素类型: getTips、元素值: 、预期结果: 会议预定成功
picture imgs/20250612162823057979.png
获取到的提示信息为:预定授权码不可用或已过期
** 检查点 ** 获取到的提示信息为:预定授权码不可用或已过期 ----> !! 不通过!!
FAIL
Traceback:
File "E:\GithubData\自动化\ubains-module-test\预定系统\cases\项目定制\兰州中石化项目25-05-24\角色权限管理\角色权限管理.py", line 66, in teststeps
CHECK_POINT(f"获取到的文本信息为:{text}", expented_result in text)
File "E:\GithubData\自动化\ubains-module-test\预定系统\cases\项目定制\兰州中石化项目25-05-24\决策会议\决策会议.py", line 76, in teststeps
CHECK_POINT(f"获取到的提示信息为:{notify_text}", expented_result in notify_text)
File "E:\Python\lib\site-packages\hytest\common.py", line 76, in CHECK_POINT
raise AssertionError()
AssertionError
* 角色权限管理002 - 2025-06-12 10:37:19
[ suite teardown ] cases\项目定制\兰州中石化项目25-05-24\决策会议\
[ case execution steps ]
页面: RolePermissionManagement、元素定位类型: xpath、元素定位值: //input[@placeholder='请输入会议名称']、元素类型: input、元素值: 查询专用测试、预期结果:
[ suite teardown ] cases\
清除浏览器
========= 测试结束 : 20250612_162843 =========
耗时 : 72.347 秒
预备执行用例数量 : 1
实际执行用例数量 : 1
通过 : 0
失败 : 1
异常 : 0
套件初始化失败 : 0
套件清除 失败 : 0
用例初始化失败 : 0
用例清除 失败 : 0
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论