为了方便用户和已有的Devops流程(如Jenkins等)打通,云测插件提供第三方接口,支持直接用https接口调用的方式提测。
注意:第三方接口有限流,每个项目,每小时1000次
用于区分不同用户。在右面右上角头像下拉框,点击"我的信息",跳转至我的信息页面,查看“我的信息”。
用于定位具体项目。在 项目管理/产品管理 页面获取,
成功:rtn返回0
失败:rtn返回-1
class MiniTestApi:
def __init__(self, user_token, group_en_id):
self.token = user_token # 需要填写自己的token
self.group_en_id = group_en_id # 项目的英文ID
self.minitest_api = 'https://minitest.weixin.qq.com/thirdapi/plan'
self.share_api = 'https://minitest.weixin.qq.com/thirdapi/share_url'
def third_auto_task(self):
"""
提交测试任务
:return:
"""
config = {
"assert_capture": True,
"auto_relaunch": True,
"auto_authorize": False,
"audits": True,
"compile_mode": "pages/getOpenId/index?p=1&m=2"
}
data = {
'token': self.token,
'group_en_id': self.group_en_id,
'test_type': 2,
'platforms': 'android,ios',
'wx_id': '',
'wx_version': 3,
'desc': 'Minium测试',
'test_plan_id': 6,
'dev_account_no': 1,
'minium_config': config,
}
resp = requests.post(
self.minitest_api,
json=data
)
resp = resp.json()
print(resp)
return resp
def query_auto_task(self, plan_id):
"""
查询测试任务
:param plan_id:
:return:
"""
data = {
'token': self.token,
'group_en_id': self.group_en_id,
'plan_id': plan_id,
}
resp = requests.get(
self.minitest_api,
params=data
)
resp = resp.json()
print(resp)
def share_url(self, plan_id):
data = {
'token': self.token,
'group_en_id': self.group_en_id,
'plan_id': plan_id,
}
resp = requests.get(
self.share_api,
params=data
)
resp = resp.json()
print(resp)
if __name__ == '__main__':
minitest_client = MiniTestApi('xxx', 'xxx')
# 提交测试任务
result = minitest_client.third_auto_task()
if "plan_id" not in result["data"].keys():
exit(1)
plan_id = result["data"]["plan_id"]
time.sleep(10)
# 查询任务状态
# status 1: 排队中 2: 测试中 11: 未发现Case 12: 测试结束 15: 任务超时
minitest_client.query_auto_task(plan_id)
# 获取任务报告分享链接
# minitest_client.share_url(plan_id)