首页龙虾技能列表 › Server Test Converter — 服务器测试转换器

Server Test Converter — 服务器测试转换器

v1.0.1

将服务器测试命令 txt 文件转换为 pytest 测试用例。每个 txt 文件对应生成一个独立的 pytest 文件,命令合并到一个函数中执行。包含通用框架 test_framework.py,适配各种测试环境。

0· 146·0 当前·0 累计
by @liuyun2025·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/14
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
安全
high confidence
该技能内部一致:它将 txt 命令文件转换为 pytest 文件,仅读写本地路径;不请求凭据、安装代码或联系外部端点。
评估建议
该技能似乎能实现其功能,但在安装/使用前请采取以下预防措施:1) 检查 txt 输入文件中是否存在敏感数据(密码、令牌、IP),因为生成的 pytest 文件将明文包含命令字符串;2) 审查并控制您使用的 test_framework.py — 转换器假定您将实现 send_a_cmd();避免在该实现中硬编码凭据,优先使用 SSH 密钥或安全凭据存储;3) 在隔离环境(非生产环境)中运行转换器和生成的测试,直到验证行为;4) 验证输出路径和权限(脚本写入 /home/admin/.openclaw/tytest);5) 如果需要工具在不同的路径上运行,请在运行前更新脚本中的 INPUT_DIR/OUTPUT_DIR。...
详细分析 ▾
用途与能力
名称/描述与实现匹配:脚本读取 txt 文件、解析命令、按执行器类型分组,并生成 pytest 文件和参考 test_framework。无需无关的二进制文件、服务或凭据。
指令范围
SKILL.md 和脚本紧密绑定到 /home/admin/.openclaw 下的本地路径,并指示用户实现 send_a_cmd()(SSH/subprocess/其他)。这在范围内,但文档显示硬编码凭据的示例,生成的测试将原样包含原始命令文本 — 在生成或共享输出之前检查输入中的敏感数据。
安装机制
无安装规范;这只是指令加上 Python 脚本。脚本本身不会在声明的输出目录之外下载或写入任何内容。
凭证需求
该技能未声明所需的环境变量或凭据。SKILL.md 中的示例提到使用 paramiko 或 subprocess,但这些是用户必须提供的实现建议,不会创建隐藏的凭据请求。
持久化与权限
always 为 false,该技能不请求持久/自主权限或修改其他技能或全局配置。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.12026/3/18

- 新增通用测试框架 test_framework.py,支持自定义命令执行逻辑,适配多种测试环境 - 生成的 pytest 文件现在依赖 test_framework.py,简化了环境集成和命令适配 - SKILL.md 文档优化,详细说明框架用法、配置步骤和 send_a_cmd() 实现方法 - 保持每个 txt 文件生成一个独立的 pytest 文件机制,并支持自动命令去重

● 可疑

安装命令 点击复制

官方npx clawhub@latest install server-test-converter
镜像加速npx clawhub@latest install server-test-converter --registry https://cn.clawhub-mirror.com

技能文档

将服务器/网卡测试命令文件转换为 pytest 测试用例。每个 txt 文件生成一个对应的 pytest 文件

功能概述

  • 输入: 包含测试命令的 txt 文件(支持批量处理)
  • 输出: 每个 txt 文件对应一个 pytest 测试文件
  • 执行方式: 支持 send_r5 (R5卡) 和 send_host (主机Shell) 两种方式
  • 通用框架: 提供 test_framework.py,可适配各种测试环境

使用方法

1. 准备输入文件

将待转换的 txt 命令文件放到目录:

/home/admin/.openclaw/tytest/txt_contents/txt/.txt

2. 运行转换脚本

python3 /home/admin/.openclaw/workspace/skills/server-test-converter/convert_commands.py

3. 获取输出

转换后的文件:

/home/admin/.openclaw/tytest/
├── test_framework.py # 通用框架(需要配置)
├── test_xxx.py # 生成的测试用例
└── txt_contents/ # 原始命令文件

通用框架说明

test_framework.py

生成的测试代码依赖 test_framework.py,使用方式:

from test_framework import send_r5, send_host, send_r5_wait, send_host_wait, tl_log, TARGET, TARGET_R5

配置步骤

  • 复制到测试服务器: 将 test_framework.pytest_xxx.py 复制到测试服务器
  • 实现 send_a_cmd(): 根据你的测试环境实现命令执行逻辑
# 方式一: SSH
import paramiko

def send_a_cmd(cmd, target): ssh = paramiko.SSHClient() ssh.connect(hostname='192.168.1.100', username='admin', password='xxx') stdin, stdout, stderr = ssh.exec_command(cmd) return stdout.read()

# 方式二: 调用已有框架 from your_framework import execute_cmd

def send_a_cmd(cmd, target): return execute_cmd(cmd, target)

# 方式三: 本地执行 import subprocess

def send_a_cmd(cmd, target): result = subprocess.run(cmd, shell=True, capture_output=True) return result.stdout

  • 配置目标设备: 修改 TARGETTARGET_R5 的值
  • 运行测试:
pip install pytest
pytest test_xxx.py -v

命令执行方式判断

命令类型示例执行方式
内存操作md, mwsend_r5_wait
调度器txsch_test_, dmif_txsch_send_r5_wait
DFX诊断dmif_eoc_, _show_dfxsend_r5_wait
网卡命令ice_, test_, nicif_send_r5_wait
其他Shell 命令等send_host_wait

输出格式

#!/usr/bin/env python3
"""
自动生成的测试用例: xxx.txt
"""

import pytest import sys import os

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))

from test_framework import send_r5, send_host, send_r5_wait, send_host_wait, tl_log, TARGET, TARGET_R5

class TestXxx: def test_all_commands(self, env): """执行所有命令""" commands = ['命令1', '命令2'] for cmd in commands: send_r5_wait(TARGET_R5, cmd)

注意事项

  • 通用框架: 不依赖特定测试框架,适配各种环境
  • 需要实现: 用户需要实现 send_a_cmd() 函数
  • 配置目标: 根据实际修改 TARGETTARGET_R5
  • 自动去重: 相同的命令只保留一条
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务