SDK 参考
概述

PandaTest SDK & CLI

PandaTest 提供 Python SDK 和 CLI 两种方式与平台交互。

安装

pip install pandatest

需要 Python 3.11+。安装后同时获得 pandatest Python 包和 pt 命令行工具。

获取 API Key

前往 API 密钥管理 (opens in a new tab) 页面生成 API Key(格式为 pk_xxx)。

配置

from pandatest import PandaTest
 
# 直接传参
client = PandaTest(api_key="pk_xxx", base_url="https://your-domain.com")
 
# 或通过环境变量 / 配置文件自动加载
client = PandaTest()

配置优先级:

  1. 构造函数参数api_key, base_url
  2. 环境变量PANDA_API_KEY, PANDA_API_URL
  3. 配置文件~/.pandatest/config.toml

项目作用域

SDK 中项目级 API(builds、jobs、tasks、schedules)需要绑定项目 ID:

# 推荐:使用 ProjectScope
scope = client.project(2)
scope.builds.list()
scope.jobs.list()
 
# 或每个模块单独绑定
client.builds(2).list()

快速开始

from pandatest import PandaTest
 
client = PandaTest(api_key="pk_xxx", base_url="https://your-domain.com")
scope = client.project(2)
 
# 触发构建
result = scope.builds.trigger("build-14-xxx")
print(f"Job created: {result.job_id}")
 
# 等待完成
job = scope.jobs.wait(result.job_id, timeout=600)
print(f"Status: {job.status}, Pass rate: {job.pass_rate}%")

CI/CD 集成

GitHub Actions

- name: Install PandaTest CLI
  run: pip install pandatest
 
- name: Run Tests
  env:
    PANDA_API_KEY: ${{ secrets.PANDA_API_KEY }}
    PANDA_PROJECT_ID: "2"
  run: pt run --build build-14-xxx --wait --timeout 600

GitLab CI

test:
  image: python:3.11
  script:
    - pip install pandatest
    - pt run --build build-14-xxx --wait --timeout 600
  variables:
    PANDA_API_KEY: $PANDA_API_KEY
    PANDA_PROJECT_ID: "2"

Jenkins Pipeline

stage('Test') {
    environment {
        PANDA_API_KEY = credentials('panda-api-key')
        PANDA_PROJECT_ID = '2'
    }
    steps {
        sh 'pip install pandatest'
        sh 'pt run --build build-14-xxx --wait --timeout 600'
    }
}

命令列表

命令说明
pt config配置管理
pt run触发构建并等待
pt builds构建管理
pt jobs任务执行
pt schedules定时调度
pt devices设备管理

所有子命令均支持 --help 查看详细用法:

pt builds create --help