Compare commits
6 Commits
update_tes
...
scripts
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c3de57a2b3 | ||
![]() |
f2f0a10a9e | ||
![]() |
607ce67792 | ||
![]() |
42c4386562 | ||
![]() |
0be6ca7e33 | ||
![]() |
21fe8dd34f |
@ -30,8 +30,7 @@ def get_apidocs():
|
||||
return res.json()["docs"]
|
||||
|
||||
|
||||
def delete_old_apidocs():
|
||||
apidocs = get_apidocs()
|
||||
def delete_old_apidocs(apidocs):
|
||||
for apidoc in apidocs:
|
||||
session.delete(f"{SERVER_URL}/autotest/projects/{PROJECT_ID}/apidocs/{apidoc['id']}")
|
||||
|
||||
@ -49,13 +48,13 @@ def check_api_version():
|
||||
return
|
||||
|
||||
local_version = get_local_version()
|
||||
print("检查被测服务器文档是否已经更新到最新版本...")
|
||||
print("检查被测服务器文档是否已经更新到最新版本...", flush=True)
|
||||
while True:
|
||||
try:
|
||||
res = session.get(VERSION_URL)
|
||||
version = res.json()["version"]
|
||||
if version == local_version:
|
||||
print(f"API 文档已更新,当前版本为 {version},开始上传 OpenAPI 文档...")
|
||||
print(f"API 文档已更新,当前版本为 {version},开始上传 OpenAPI 文档...", flush=True)
|
||||
break
|
||||
else:
|
||||
print(
|
||||
@ -127,7 +126,11 @@ def wait_for_task_done(task_id):
|
||||
res = session.get(f"{SERVER_URL}/tasks/{task_id}")
|
||||
data = res.json()
|
||||
status = data["status"]
|
||||
if status == "succeeded":
|
||||
|
||||
CREATED = "created"
|
||||
RUNNING = "running"
|
||||
WAITING = "waiting"
|
||||
if status not in [CREATED, RUNNING, WAITING]:
|
||||
print("自动测试脚本执行完成!", flush=True)
|
||||
break
|
||||
else:
|
||||
@ -162,10 +165,10 @@ def main():
|
||||
api_path = args[0]
|
||||
method = args[1]
|
||||
test_target = " ".join(args[2:])
|
||||
|
||||
docs = get_apidocs()
|
||||
with Step("检查 API 版本是否更新..."):
|
||||
check_api_version()
|
||||
delete_old_apidocs()
|
||||
delete_old_apidocs(docs)
|
||||
|
||||
with Step(f"上传 OpenAPI 文档,并且触发 API {api_path} 的测试用例和自动测试脚本生成任务..."):
|
||||
# 使用配置的OPENAPI_URL
|
||||
@ -179,7 +182,7 @@ def main():
|
||||
res = session.post(
|
||||
f"{SERVER_URL}/autotest/projects/{PROJECT_ID}/apidocs",
|
||||
files={"file": ("openapi.json", res.content, "application/json")},
|
||||
data={"apiauth_id": 46},
|
||||
data={"apiauth_id": docs[0]["apiauth_id"]},
|
||||
)
|
||||
if res.status_code == 200:
|
||||
print("上传 OpenAPI 文档成功!\n")
|
||||
@ -227,14 +230,6 @@ def main():
|
||||
api_path_id = get_path_op_id(api_path, method)
|
||||
with Step("开始查询测试脚本执行结果..."):
|
||||
while True:
|
||||
res = session.get(
|
||||
f"{SERVER_URL}/autotest/projects/{PROJECT_ID}/tasks",
|
||||
params={"page": 1, "size": 1},
|
||||
)
|
||||
ret = res.json()
|
||||
task = ret["tasks"][0]
|
||||
task_id = task["id"]
|
||||
wait_for_task_done(task_id)
|
||||
testcase = get_testcase(api_path_id)
|
||||
last_testcode_passed = testcase["last_testcode_passed"]
|
||||
if last_testcode_passed:
|
||||
|
Loading…
x
Reference in New Issue
Block a user