Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计提醒

isp-api-testerISP API tester 测试

Agent Skill

用于辅助 API 设计、接口文档、请求响应结构和服务集成说明。它适合让 Agent 梳理 endpoint、生成 OpenAPI 草稿、检查字段命名、整理错误码或辅助前后端联调。使用时需要确认真实业务语义、鉴权方式、分页和错误处理规则;涉及生成接口文档时,应避免凭空补字段,最好从现有代码、schema 或接口样例中提取事实。

总安装

2,088

周安装

87

GitHub Stars

公开资料未说明

下载量

696
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:isp-api-tester(ISP API tester 测试)
来源仓库:https://github.com/squidtestgary/isp-api-tester
安装命令:
openclaw skills install isp-api-tester
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install isp-api-tester

简介

ISP 开放平台接口测试 Agent。当用户需要对百望开放平台的 ISP 接口进行自动化测试、生成测试报告时使用此 Skill。整合了 isp-login-skill(认证)、queryDB-skill(数据准备)和 api-test-reporter(测试报告)。

SKILL.md

name
isp-api-tester
description
ISP 开放平台接口测试 Agent。当用户需要对百望开放平台的 ISP 接口进行自动化测试、生成测试报告时使用此 Skill。整合了 isp-login-skill(认证)、queryDB-skill(数据准备)和 api-test-reporter(测试报告)。

ISP API Tester - 开放平台接口测试

功能概述

本 Skill 提供完整的百望 ISP 开放平台接口测试能力:

  • 认证模块:自动获取 access_token 并为每条请求动态生成签名
  • 数据准备:从数据库获取真实测试数据(queryDB-skill)
  • 接口测试:批量执行测试用例,支持 v6.0 / v7.0 接口版本
  • 报告生成:生成可视化的 HTML 测试报告(模板与数据分离,极速)

架构原则(重要)

零脚本生成

Agent 不往项目目录生成、复制或重写任何脚本。 项目目录只放配置文件。

职责脚本位置说明
ISP 专属测试执行器~/.workbuddy/skills/isp-api-tester/scripts/run_isp_test.py内置动态签名 + 云端/本地返参兼容
ISP 认证~/.workbuddy/skills/isp-login-skill/scripts/isp_auth.pyget_open_token + get_open_sign
数据库查询~/.workbuddy/skills/queryDB-skill/scripts/db_query.pyDatabaseClient + TestCaseGenerator
HTML 报告生成~/.workbuddy/skills/api-test-reporter/scripts/generate_report.py被 isp-api-tester 跨 skill 引用

配置文件命名规则

  • 按接口名分开test_config_{接口方法名}.json,例如:

- test_config_queryinvoicepool.jsonbaiwang.input.invoice.queryinvoicepool - test_config_invoicepool_query.jsonbaiwang.input.invoicepool.query - test_config_querymaininfo.jsonbaiwang.input.invoice.querymaininfo

  • 跨会话复用:测试某个接口前,先查项目目录下是否已有对应配置文件,有则直接复用

执行命令

# 标准执行(Windows PowerShell)
python $env:USERPROFILE\.workbuddy\skills\isp-api-tester\scripts\
un_isp_test.py --config test_config_querymaininfo.json --output ./

# 或使用绝对路径
python "C:\Users\PC\.workbuddy\skills\isp-api-tester\scripts\
un_isp_test.py" --config test_config_queryinvoicepool.json --output ./

执行完毕自动生成:

  • test_report_<method>_<timestamp>.html:可视化报告(双击打开)
  • test_results_<method>_<timestamp>.json:原始结果
  • __REPORT_DATA__.js:报告数据文件(与 HTML 同目录)

配置文件格式(test_config_xxx.json)

{
  "meta": {
    "title": "发票主信息查询接口测试",
    "base_url": "http://opapi.test.51baiwang.com/router/rest",
    "method": "baiwang.input.invoice.querymaininfo",
    "version": "6.0",
    "timeout": 30,
    "isp_auth": {
      "appKey": "1000139",
      "appSecret": "1bccbe47-917e-4374-8fe9-85b44fecab84",
      "username": "cpy001",
      "password": "Aa123456.",
      "userSalt": "15258c22aa1349819e8cf20c0da04956"
    }
  },
  "fixed_params": {
    "taxNo": "91440606MA4WHN8C8X"
  },
  "test_cases": [
    {
      "id": "TC_001",
      "group": "票种覆盖-税控票",
      "name": "01-增值税专用发票",
      "desc": "税控票:invoiceCode + invoiceNumber 都必传",
      "body": {
        "invoiceCode": "044031900101",
        "invoiceNumber": "12345678"
      },
      "expect": {
        "success": true,
        "response.invoiceType": "01"
      }
    }
  ]
}

v7.0 接口配置差异

v7.0 接口需要在 meta 中指定版本,并在 body 中传入额外公共参数:

{
  "meta": {
    "version": "7.0",
    "isp_auth": { ... }
  },
  "fixed_params": {
    "taxNo": "91440606MA4WHN8C8X",
    "encryptType": "AES",
    "encryptScope": "request"
  }
}

encryptType / encryptScope 在 v7.0 中既是 body 字段,也会被自动提取到 URL query 参数并参与签名。


发票类型入参规则(重要)

三类发票的字段差异

发票大类票种代码invoiceCodeinvoiceNumber备注
数电票31/32/51/59/61/83/84不传✅ 20位数电号码传空串会触发704
税控票01/03/04/08/10/11/14/15✅ 必传✅ 必传传统税控票
数电纸票85/86/87/88✅ 必传✅ 必传同时有数电号码

关键:数电票(31/32/51/59/61/83/84)查询时,invoiceCode 字段完全不传(连空字符串都不行,传 "" 会报704参数为空)。

DB 字段映射

票种invoiceNumber 来源invoiceCode 来源
数电票E_INV_NUM(20位数电号码)无此字段
税控票INV_NUMINV_KIND(发票代码)
数电纸票INV_NUMINV_KIND

响应校验规则(不可改动)

  1. success=true → 自动校验 invoiceList/response/model 非空
  2. success=false → 不校验列表
  3. 不校验 HTTP 状态码(用户明确要求)

expect 支持的字段

字段类型说明
successbool校验响应体 success 字段
response.{field}any校验 response 节点下的字段值
model.{field}any校验 model 节点下的字段值
has_responsebool期望 response/model 字段存在
check_page_databool期望返回列表/分页数据

不使用 http_statussuccess_allow_anycheck_invoice_list_not_empty 等自定义字段。


测试环境信息

参数
接口地址http://opapi.test.51baiwang.com/router/rest
appKey1000139
usernamecpy001
passwordAa123456.
userSalt15258c22aa1349819e8cf20c0da04956
appSecret1bccbe47-917e-4374-8fe9-85b44fecab84
购方税号91440606MA4WHN8C8X
数据库10.115.96.247:3306/jxindependent0,user: jxindependent

用例设计原则

  1. 正向用例的入参必须来自数据库真实数据,确保接口能查到对应记录
  2. 数电票用例不传 invoiceCode 字段(不是传空串,是完全不传)
  3. 正向用例期望 "success": true,异常用例期望 "success": false
  4. 时间范围参数用近期日期(近3个月),避免数据量超500
  5. 数据量可能超500的查询必须加 pageNum

依赖

pip install requests pymysql

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

75.24%
按下载量换算524

安全审计

VirusTotal

未展示

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills