# 上传测试用例

# 简要描述
  • 上传测试用例接口。接口后台会执行用例分析操作,耗时较长,请适当增大请求timeout参数(建议设置为30s)。注意用例需要打包为zip文件
# 请求URL
  • https://minitest.weixin.qq.com/thirdapi/case/upload
# 请求方式
  • POST
# 参数
参数名 必选 类型 说明
token string 可以从页面右上角头像右侧下拉菜单中的 “我的信息” 获取
group_en_id string 项目英文ID,可在 项目管理/产品管理 页面获取
test_type integer Minium用例包传2,录制回放用例包传3,不传默认为Minium用例
file FileStorage case用例文件,.zip包
# Python请求实例代码
    data = {
        'token': xxx,
        'group_en_id': xxx,
        'test_type': 2,  # 2 Minium;3 录制回放
    }

    case_files = {'file': open('${path_to_the_.zip}', 'rb')}

    resp = requests.post(url='https://minitest.weixin.qq.com/thirdapi/case/upload', data=data, files=case_files, timeout=30)
# 返回示例
{
	"data": null,
	"msg": "ok",
	"rtn": 0,
	"timestamp": 1614861228.1035924
}

# 下载测试用例

# 简要描述
  • 下载测试用例接口
# 请求URL
  • https://minitest.weixin.qq.com/thirdapi/case/download
# 请求方式
  • GET
# 参数
参数名 必选 类型 说明
token string 可以从页面右上角头像右侧下拉菜单中的 “我的信息” 获取
group_en_id string 项目英文ID,可在 项目管理/产品管理 页面获取
test_type integer Minium用例包传2,录制回放用例包传3,不传默认为Minium用例
# Python请求实例代码
import requests
params = {
    'token': 'xxx',
    'group_en_id': 'xxx',
    'test_type': 3,  # 2 Minium;3 录制回放
}

req = requests.get('https://minitest.weixin.qq.com/thirdapi/case/download', params=params, timeout=30)
with open('case.zip', 'wb') as f:
   f.write(req.content)

# 返回示例

将返回的内容直接写入到zip文件包中

# 删除测试用例文件

# 简要描述
  • 删除测试用例文件,只支持minium
# 请求URL
  • https://minitest.weixin.qq.com/thirdapi/case/api/case_file
# 请求方式
  • DELETE
# 参数
参数名 必选 类型 说明
token string 可以从页面右上角头像右侧下拉菜单中的 “我的信息” 获取
group_en_id string 项目英文ID,可在 项目管理/产品管理 页面获取
file_path string 文件路径
# Python请求实例代码
import requests
params = {
    'token': 'xxx',
    'group_en_id': 'xxx',
    'file_path': "test/first_test.py",  # 删除文件的路径
}

req = requests.delete('https://minitest.weixin.qq.com/thirdapi/case/api/case_file', params=params, timeout=30)
print(req.json().get('msg'))
# 返回示例

返回值rtn为0表示删除成功,不为0表示删除失败,失败的原因在msg中体现

{
	"msg": "delete file success",
	"rtn": 0,
	"timestamp": 1614861228.1035924
}

# 查看所有Minium用例

# 简要描述

查看所有Minium用例

# 请求URL
  • https://minitest.weixin.qq.com/thirdapi/minium_case_list
# 请求方式
  • GET
# 参数
参数名 必选 类型 说明
token string 可以从页面右上角头像右侧下拉菜单中的 “我的信息” 获取
group_en_id string 项目英文ID,可在 项目管理/产品管理 页面获取
# 返回示例

返回值rtn为0表示删除成功,不为0表示删除失败,失败的原因在msg中体现

{
  "data": {
    "pkg_to_case_list": {
      "xx.xx": [
        "test_1",
        "test_2"
      ]
    },
    "total_case_num": 10
  },
	"rtn": 0
}
# 对接上传测试计划接口

如果需要将查询的用例列表,利用API接口新建测试计划,稍微转换一下格式即可。示例代码如下:

# Python示例代码
import requests
import json

params = {
    'token': 'xxx',  # 换成自己的token
    'group_en_id': 'xxx',  # 换成项目的token
}
resp = requests.get('https://minitest.weixin.qq.com/thirdapi/minium_case_list', params=params)
test_plan = resp.json().get("data", {}).get("pkg_to_case_list", {})  # 获取minium用例

test_plan_config = {'pkg_list': []}  # 组成测试计划
for each_pkg, each_cases in test_plan.items():
    # 示例中全部用例都加入了测试计划。这里可根据项目自身情况调整
    test_plan_config['pkg_list'].append({
        'case_list': each_cases,
        'pkg': each_pkg,
    })

data = {
    'token': 'xxx',  # 换成自己的token
    'group_en_id': 'xxx',  # 换成项目的token
    'test_plan_name': 'api自定义Minium',  # 测试计划名称
    'test_plan_config': json.dumps(test_plan_config)
}
# 提交新建测试计划API
resp = requests.post(url='https://minitest.weixin.qq.com/thirdapi/case_plan', json=data)
print(resp.text)

# 查看所有录制回放用例

# 简要描述

查看所有录制回放用例

# 请求URL
  • https://minitest.weixin.qq.com/thirdapi/replay_case_list
# 请求方式
  • GET
# 参数
参数名 必选 类型 说明
token string 可以从页面右上角头像右侧下拉菜单中的 “我的信息” 获取
group_en_id string 项目英文ID,可在 项目管理/产品管理 页面获取
# 返回示例

返回值rtn为0表示删除成功,不为0表示删除失败,失败的原因在msg中体现

{
  "data": {
    "account_to_case_list": {
      "xx": [
        {"case_name":  "xx1"},
        {"case_name":  "xx2"}
      ]
    },
    "total_case_num": 10
  },
	"rtn": 0