提交 03e89f36 authored 作者: 张孟夏's avatar 张孟夏

提交V3版本的接口用例

上级 feed8be6
*** Settings ***
Resource flow_zmx.resource
Resource res_zmx.resource
Library String
*** Variables ***
${path} /api/ability
*** Test Cases ***
正例-保存能力
[Tags] F
${random_string} Generate Random String 12 [LOWER]
log ${random_string}
create session URI ${URL}
${content} POST请求结果 ${path} {"exploreSessionId":"${EXPsessionId}","filteredStepIndices":[0],"draft":{"name":"${random_string}","description":"自动化测试","parameters":[],"outputs":[],"extensions":{"skipError":false,"useIncognito":false,"closePage":false,"stepInterval":1000,"autoFocus":false},"startPageUrl":"https://www.baidu.com/","stepIndices":[0]}} 200 ${token}
log ${content}
Set Global Variable ${ability_name} ${random_string}
Should Be Equal As Strings ${content["code"]} 200
Set Global Variable ${bid} ${content["data"]}
反例-不传入token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"exploreSessionId":"${EXPsessionId}","filteredStepIndices":[0],"draft":{"name":"test666","description":"自动化测试","parameters":[],"outputs":[],"extensions":{"skipError":false,"useIncognito":false,"closePage":false,"stepInterval":1000,"autoFocus":false},"startPageUrl":"https://www.baidu.com/","stepIndices":[0]}} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入错误参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"workerId":"a68ad587830d41aebf418a919006353e"} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
反例-传入空参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
反例-能力名已存在
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"exploreSessionId":"${EXPsessionId}","filteredStepIndices":[0],"draft":{"name":"${ability_name}","description":"自动化测试","parameters":[],"outputs":[],"extensions":{"skipError":false,"useIncognito":false,"closePage":false,"stepInterval":1000,"autoFocus":false},"startPageUrl":"https://www.baidu.com/","stepIndices":[0]}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} BAE0008
Should Be Equal As Strings ${content["message"]} 此能力名已存在
*** Settings ***
Resource flow_zmx.resource
Resource res_zmx.resource
*** Variables ***
${path} /api/v1/plan/update_plan
*** Test Cases ***
正例-正常修改计划
[Tags] F
create session URI ${URL}
${timestamp} Get Time epoch
${plan_name} Catenate SEPARATOR= 接口测试 ${timestamp}
${content} PUT请求结果_json ${path} {"name":"${plan_name}","description":"来自接口测试,并修改计划","is_active":true,"ability_id":-1,"executor_type":"client","dispatch_type":"immediate","extensions":{"useIncognito":false,"autoFocus":false,"closePage":false},"parameters":{"提示":"使用探索工具,打开百度"},"outputs_schema":[{"name":"agent_message","type":"string","description":"探索任务结束后的文字输出"}],"triggers":[{"key":"0","id":"${trigger_id1}","type":"定时触发器","trigger_type":"date","expression":"${formatted_timef}","start_time":"","end_time":"","is_active":true,"description":"","translation":"","originalData":{"id":${trigger_id1},"type":"定时触发器","trigger_type":"date","expression":"${formatted_timef}","start_time":null,"end_time":null,"is_active":true,"created_at":"${formatted_timec}","update_at":null,"next_run_time":"${formatted_timef}"},"hasChanges":false}],"id":${plan_id}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入token
[Tags] E
create session URI ${URL}
${timestamp} Get Time epoch
${plan_name} Catenate SEPARATOR= 接口测试 ${timestamp}
${content} PUT请求结果_json ${path} {"name":"${plan_name}","description":"来自接口测试,并修改计划","is_active":true,"ability_id":-1,"executor_type":"client","dispatch_type":"immediate","extensions":{"useIncognito":false,"autoFocus":false,"closePage":false},"parameters":{"提示":"使用探索工具,打开百度"},"outputs_schema":[{"name":"agent_message","type":"string","description":"探索任务结束后的文字输出"}],"triggers":[{"key":"0","id":"${trigger_id1}","type":"定时触发器","trigger_type":"date","expression":"${formatted_timef}","start_time":"","end_time":"","is_active":true,"description":"","translation":"","originalData":{"id":${trigger_id1},"type":"定时触发器","trigger_type":"date","expression":"${formatted_timef}","start_time":null,"end_time":null,"is_active":true,"created_at":"${formatted_timec}","update_at":null,"next_run_time":"${formatted_timef}"},"hasChanges":false}],"id":${plan_id}} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${timestamp} Get Time epoch
${plan_name} Catenate SEPARATOR= 接口测试 ${timestamp}
${content} PUT请求结果_json ${path} {"name":"${plan_name}","description":"来自接口测试,并修改计划","is_active":true,"ability_id":-1,"executor_type":"client","dispatch_type":"immediate","extensions":{"useIncognito":false,"autoFocus":false,"closePage":false},"parameters":{"提示":"使用探索工具,打开百度"},"outputs_schema":[{"name":"agent_message","type":"string","description":"探索任务结束后的文字输出"}],"triggers":[{"key":"0","id":"${trigger_id1}","type":"定时触发器","trigger_type":"date","expression":"${formatted_timef}","start_time":"","end_time":"","is_active":true,"description":"","translation":"","originalData":{"id":${trigger_id1},"type":"定时触发器","trigger_type":"date","expression":"${formatted_timef}","start_time":null,"end_time":null,"is_active":true,"created_at":"${formatted_timec}","update_at":null,"next_run_time":"${formatted_timef}"},"hasChanges":false}],"id":${plan_id}} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入name参数
[Tags] E
create session URI ${URL}
${content} PUT请求结果_json ${path} {"description":"来自接口测试,并修改计划","is_active":true,"ability_id":-1,"executor_type":"client","dispatch_type":"immediate","extensions":{"useIncognito":false,"autoFocus":false,"closePage":false},"parameters":{"提示":"使用探索工具,打开百度"},"outputs_schema":[{"name":"agent_message","type":"string","description":"探索任务结束后的文字输出"}],"triggers":[{"key":"0","id":"${trigger_id1}","type":"定时触发器","trigger_type":"date","expression":"${formatted_timef}","start_time":"","end_time":"","is_active":true,"description":"","translation":"","originalData":{"id":${trigger_id1},"type":"定时触发器","trigger_type":"date","expression":"${formatted_timef}","start_time":null,"end_time":null,"is_active":true,"created_at":"${formatted_timec}","update_at":null,"next_run_time":"${formatted_timef}"},"hasChanges":false}],"id":${plan_id}} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["type"]} missing
反例-不传入id参数
[Tags] E
create session URI ${URL}
${timestamp} Get Time epoch
${plan_name} Catenate SEPARATOR= 接口测试 ${timestamp}
${content} PUT请求结果_json ${path} {"name":"${plan_name}","description":"来自接口测试,并修改计划","is_active":true,"ability_id":-1,"executor_type":"client","dispatch_type":"immediate","extensions":{"useIncognito":false,"autoFocus":false,"closePage":false},"parameters":{"提示":"使用探索工具,打开百度"},"outputs_schema":[{"name":"agent_message","type":"string","description":"探索任务结束后的文字输出"}],"triggers":[{"key":"0","id":"${trigger_id1}","type":"定时触发器","trigger_type":"date","expression":"${formatted_timef}","start_time":"","end_time":"","is_active":true,"description":"","translation":"","originalData":{"id":${trigger_id1},"type":"定时触发器","trigger_type":"date","expression":"${formatted_timef}","start_time":null,"end_time":null,"is_active":true,"created_at":"${formatted_timec}","update_at":null,"next_run_time":"${formatted_timef}"},"hasChanges":false}]} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["type"]} missing
......@@ -31,4 +31,4 @@ token生成
${data} Evaluate json.loads('{"username":"${un}","password":"${pw}","tenantCode":"${tenant_code}","scope":"all","client_id":"a68ad587830d41aebf418a919006353e","client_secret":"Ninetech@123","grant_type":"password"}') json
${resp} post On Session URL /oauth/token params=${data} headers=${header}
${content} Set Variable ${resp.json()}
[Return] ${content}
RETURN ${content}
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/system/config/client
*** Test Cases ***
正例-正常获取到客户端配置
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content["data"]} grpc_use_ssl
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content["data"]} grpc_use_ssl
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content["data"]} grpc_use_ssl
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/system/config/web
*** Test Cases ***
正例-正常获取到网页端配置
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 200
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/system/config
*** Test Cases ***
正例-正常获取到系统配置
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 200
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/system/check
*** Test Cases ***
正例-正常连通
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {"code":"abc"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"code":"abc"} 200 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"code":"abc"} 200 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传code
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/system/health/client
*** Test Cases ***
正例-正常获取到客户端健康状态
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {"cid":"${clientId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["data"]} {'online': True}
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"cid":"${clientId}"} 200 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["data"]} {'online': True}
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"cid":"${clientId}"} 200 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["data"]} {'online': True}
反例-不传入cid
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/session/create
*** Test Cases ***
正例-正常创建会话session
[Tags] F
create session URI ${URL}
${content} POST请求结果_params ${path} {"workerId":"${clientId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Set Global Variable ${sessionId} ${content["data"]}
反例-传入无效的token
[Tags] E
create session URI ${URL}
${content} POST请求结果_params ${path} {"workerId":"${clientId}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果_params ${path} {"workerId":"${clientId}"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入workerId
[Tags] E
create session URI ${URL}
${content} POST请求结果_params ${path} {} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
*** Settings ***
Resource flow_zmx.resource
Resource res_zmx.resource
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/ability/draft/by_steps
${token} 15f43cfa-7ec3-4ca5-a61a-3eec5be4a975
${path} /api/chat/write
*** Test Cases ***
正例-步骤编辑能力草稿
正例-正常发送文字消息
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"api_test_cid","steps":${steps},"ability_id":${bid}} 200 ${token}
create session URI ${URL}
${content} POST请求结果_data ${path} {"sessionId":"${sessionId}","text":"你好","workerId":"${clientId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Set Global Variable ${text_streamId} ${content["data"]}
Sleep 10
反例-传入空白token
[Tags] E
正例-正常发送文字消息进入探索
[Tags] F
Sleep 10
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"api_test_cid","steps":${steps},"ability_id":${bid}} 401 {}
${content} POST请求结果_data ${path} {"sessionId":"${sessionId}","text":"使用探索工具,打开百度","workerId":"${clientId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
Should Be Equal As Strings ${content["code"]} 200
Set Global Variable ${ex_streamId} ${content["data"]}
反例-不传入token
反例-传入错误token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"api_test_cid","steps":${steps},"ability_id":${bid}} 401 ${EMPTY}
${content} POST请求结果_data ${path} {"sessionId":"${sessionId}","text":"你好","workerId":"${clientId}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传client_id参数-实际无影响
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"steps":${steps},"ability_id":${bid}} 200 ${token}
${content} POST请求结果_data ${path} {"sessionId":"${sessionId}","text":"你好","workerId":"${clientId}"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["code"]} 401
反例-不传steps参数
反例-不传入sessionId参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"api_test_cid","ability_id":${bid}} 422 ${token}
${content} POST请求结果_data ${path} {"text":"你好","workerId":"${clientId}"} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
反例-不传ability_id参数
反例-不传入workerId参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"api_test_cid","steps":${steps}} 200 ${token}
${content} POST请求结果_data ${path} {"sessionId":"${sessionId}","text":"你好"} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} BAE0003
反例-传入无效的ability_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"api_test_cid","steps":${steps},"ability_id":999999} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} BAE0003
\ No newline at end of file
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
Library ../get_expId.py
*** Variables ***
${path} /api/chat/read
*** Test Cases ***
正例-正常读取消息
[Tags] F
Sleep 60
${resp} Get Message ${URL}${path} ${sessionId} ${ex_streamId} ${token}
log ${resp}
正例-正常读取对话消息
[Tags] F
${resp} Get Message ${URL}${path} ${sessionId} ${text_streamId} ${token}
log ${resp}
${str_resp} Convert To String ${resp}
Should Contain ${str_resp} 你好
Should Contain ${resp}[-1] 关闭
反例-传入错误的token
[Tags] E
create session URI ${URL}
&{header} Create Dictionary Authorization=test666
${params} Create Dictionary sessionId=${sessionId} streamId=${text_streamId}
${resp} Get On Session URI ${path} params=${params} headers=${header} expected_status=401
Should Be Equal As Strings ${resp.json()["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
&{header} Create Dictionary Authorization=${EMPTY}
${params} Create Dictionary sessionId=${sessionId} streamId=${text_streamId}
${resp} Get On Session URI ${path} params=${params} headers=${header} expected_status=401
Should Be Equal As Strings ${resp.json()["code"]} 401
反例-不传入sessionId参数
[Tags] E
create session URI ${URL}
&{header} Create Dictionary Authorization=${token}
${params} Create Dictionary streamId=${text_streamId}
${resp} Get On Session URI ${path} params=${params} headers=${header} expected_status=422
Should Be Equal As Strings ${resp.json()["detail"][0]["msg"]} Field required
反例-不传入streamId参数
[Tags] E
create session URI ${URL}
&{header} Create Dictionary Authorization=${token}
${params} Create Dictionary sessionId=${sessionId}
${resp} Get On Session URI ${path} params=${params} headers=${header} expected_status=422
Should Be Equal As Strings ${resp.json()["detail"][0]["msg"]} Field required
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/chat/interrupt
*** Test Cases ***
正例-正常中断消息
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {"sessionId":"${sessionId}","streamId":"${ex_streamId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"sessionId":"${sessionId}","streamId":"${ex_streamId}"} 401 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"sessionId":"${sessionId}","streamId":"${ex_streamId}"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传sessionId参数
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"streamId":"${ex_streamId}"} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
反例-不传streamId参数
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"sessionId":"${sessionId}"} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/chat/voice-url
*** Test Cases ***
正例-正常获取到语音识别的url地址
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 200
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/chat/gen-title
*** Test Cases ***
正例-正常获取到会话title
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","content":"你好"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入无效的token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","content":"你好"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","content":"你好"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入sessionId
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"content":"你好"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入content
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/chat/history/save
*** Test Cases ***
正例-正常新增历史记录
[Tags] F
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","content":"[{\\"id\\":\\"testhistory\\",\\"role\\":\\"user\\",\\"content\\":\\"你好\\",\\"contentType\\":\\"text\\",\\"timestamp\\":${secs1},\\"status\\":\\"ok\\",\\"messageSegmentIndex\\":0,\\"visible\\":true,\\"attachments\\":[]}]","title":"简洁问候语","type":"normal"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Set Global Variable ${secs} ${secs1}
正例-正常更新历史记录
[Tags] F
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","content":"[{\\"id\\":\\"testhistory\\",\\"role\\":\\"user\\",\\"content\\":\\"你好\\",\\"contentType\\":\\"text\\",\\"timestamp\\":${secs},\\"status\\":\\"ok\\",\\"messageSegmentIndex\\":0,\\"visible\\":true,\\"attachments\\":[]},{\\"id\\":\\"testhistoryres\\",\\"role\\":\\"robot\\",\\"content\\":\\"你好!今天有什么我可以帮助你的吗?\\",\\"contentType\\":\\"text\\",\\"timestamp\\":${secs1},\\"status\\":\\"ok\\",\\"messageSegmentIndex\\":0,\\"visible\\":true,\\"sessionId\\":\\"${sessionId}\\",\\"loading\\":false,\\"showImmediately\\":false,\\"references\\":[],\\"tip\\":\\"\\",\\"streamId\\":\\"${text_streamId}\\"}]","title":"简洁问候语","type":"normal"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误token
[Tags] E
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","content":"[{\\"id\\":\\"testhistory\\",\\"role\\":\\"user\\",\\"content\\":\\"你好\\",\\"contentType\\":\\"text\\",\\"timestamp\\":${secs1},\\"status\\":\\"ok\\",\\"messageSegmentIndex\\":0,\\"visible\\":true,\\"attachments\\":[]}]","title":"简洁问候语","type":"normal"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","content":"[{\\"id\\":\\"testhistory\\",\\"role\\":\\"user\\",\\"content\\":\\"你好\\",\\"contentType\\":\\"text\\",\\"timestamp\\":${secs1},\\"status\\":\\"ok\\",\\"messageSegmentIndex\\":0,\\"visible\\":true,\\"attachments\\":[]}]","title":"简洁问候语","type":"normal"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/chat/history/get
*** Test Cases ***
正例-正常获取到历史记录
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入sessionId
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/chat/history/timeline
*** Test Cases ***
正例-正常获取到时间线
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/chat/history/rename
*** Test Cases ***
正例-正常重命名历史记录
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","name":"重命名测试"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","name":"重命名测试"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","name":"重命名测试"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入sessionId
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"重命名测试"} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
反例-不传入name
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}"} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/chat/history/top
*** Test Cases ***
正例-正常置顶历史记录
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","top":true} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-正常取消置顶
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","top":false} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","top":true} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"sessionId":"${sessionId}","top":true} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入sessionId
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"top":true} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/chat/history
*** Test Cases ***
正例-正常删除会话
[Tags] F
create session URI ${URL}
${content} DEL请求结果_params ${path} {"sessionId":"${sessionId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误token
[Tags] E
create session URI ${URL}
${content} DEL请求结果_params ${path} {"sessionId":"${sessionId}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} DEL请求结果_params ${path} {"sessionId":"${sessionId}"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传sessionId
[Tags] E
create session URI ${URL}
${content} DEL请求结果_params ${path} {} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/session/space/inspect
*** Test Cases ***
正例-正常查看会话空间
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {"session_id":"${sessionId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入session_id参数
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入不存在的session_id
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"session_id":"not_exist_session_id"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"session_id":"${sessionId}"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"session_id":"${sessionId}"} 401 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/mcp/create_or_update
${mcp_url} https://www.mcpcn.cc/sse/MoJiWeather/9853b040-081d-47cb-8d3f-d6a42905f696
*** Test Cases ***
正例-创建MCP服务成功
[Tags] F
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"接口测试${secs1}","description":"来自接口的数据","url":"${mcp_url}","scope":["general","explore"],"auth":{"type":"none","username":"","password":"","token":""},"headers":{},"type":"sse","created_by_name":""} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
Set Global Variable ${MCP_id} ${content["data"]}
正例-更新MCP服务成功
[Tags] F
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"id":${MCP_id},"name":"接口测试${secs1}","description":"来自接口的数据,更新测试","url":"${mcp_url}","scope":["general","explore"],"auth":{"type":"none","username":"","password":"","token":""},"headers":{},"type":"sse","created_by_name":"接口测试租管"} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
正例-普通用户创建MCP服务成功
[Tags] F
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"普通用户测试${secs1}","description":"来自普通用户的数据","url":"${mcp_url}","scope":["general","explore"],"auth":{"type":"none","username":"","password":"","token":""},"headers":{},"type":"sse","created_by_name":""} 200 ${token}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
Set Global Variable ${MCP_id_normal} ${content["data"]}
正例-普通用户更新MCP服务成功
[Tags] F
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"id":${MCP_id_normal},"name":"普通用户测试${secs1}","description":"来自普通用户的数据,更新测试","url":"${mcp_url}","scope":["general","explore"],"auth":{"type":"none","username":"","password":"","token":""},"headers":{},"type":"sse","created_by_name":"接口测试开发者"} 200 ${token}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-不传入token
[Tags] E
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"接口测试${secs1}","description":"来自接口的数据","url":"${mcp_url}","scope":["general","explore"],"auth":{"type":"none","username":"","password":"","token":""},"headers":{},"type":"sse","created_by_name":""} 401 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"接口测试${secs1}","description":"来自接口的数据","url":"${mcp_url}","scope":["general","explore"],"auth":{"type":"none","username":"","password":"","token":""},"headers":{},"type":"sse","created_by_name":""} 401 {}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入name参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"description":"来自接口的数据","url":"${mcp_url}","scope":["general","explore"],"auth":{"type":"none","username":"","password":"","token":""},"headers":{},"type":"sse","created_by_name":""} 422 ${zh_token}
Should Contain ${content} detail
反例-不传入url参数
[Tags] E
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"接口测试${secs1}","description":"来自接口的数据","scope":["general","explore"],"auth":{"type":"none","username":"","password":"","token":""},"headers":{},"type":"sse","created_by_name":""} 422 ${zh_token}
Should Contain ${content} detail
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/mcp/page
*** Test Cases ***
正例-获取MCP服务列表成功
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":20} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-不传入token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":20} 401 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":20} 401 {}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入page_index参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"page_size":20} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-不传入page_size参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0} 200 ${token}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-传入非法的page_index格式
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":"abc","page_size":20} 422 ${zh_token}
Should Contain ${content} detail
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/mcp/detail
*** Test Cases ***
正例-获取MCP服务详情成功
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path}/${MCP_id} {} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
Should Be Equal As Strings ${content["data"]["id"]} ${MCP_id}
Should Contain ${content["data"]} name
Should Contain ${content["data"]} description
Should Contain ${content["data"]} type
Should Contain ${content["data"]} url
Should Contain ${content["data"]} state
Should Contain ${content["data"]} auth
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${MCP_id} {} 401 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${MCP_id} {} 401 {}
Should Be Equal As Strings ${content["code"]} 401
反例-传入不存在的MCP ID
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/999999 {} 200 ${zh_token}
Should Contain ${content["code"]} 200
反例-传入非法格式的MCP ID
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/abc {} 422 ${zh_token}
Should Contain ${content} detail
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/mcp/test/srv-conn
*** Test Cases ***
正例-测试已保存的MCP服务成功
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path}/${MCP_id} {} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content["data"]} state
Should Be Equal As Strings ${content["data"]["state"]} active
Should Contain ${content["data"]} tools
Should Contain ${content["data"]} tools_count
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${MCP_id} {} 401 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${MCP_id} {} 401 {}
Should Be Equal As Strings ${content["code"]} 401
反例-传入不存在的MCP服务ID
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/999999 {} 200 ${zh_token}
Should Contain ${content["code"]} 200
反例-传入非法格式的MCP服务ID
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/abc {} 422 ${zh_token}
Should Contain ${content} detail
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/mcp/test/conn
${mcp_url} https://www.mcpcn.cc/sse/caiyun-mcp-tools/9853b040-081d-47cb-8d3f-d6a42905f696
*** Test Cases ***
正例-测试未保存的MCP服务成功
[Tags] F
create session URI ${URL}
${data} set variable {"url":"${mcp_url}","type":"sse","auth":{"type":"none","username":"","password":"","token":""},"headers":{}}
${content} POST请求结果 ${path} ${data} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
Should Be True ${content["data"]}
反例-不传入token
[Tags] E
create session URI ${URL}
${data} set variable {"url":"${mcp_url}","type":"sse","auth":{"type":"none","username":"","password":"","token":""},"headers":{}}
${content} POST请求结果 ${path} ${data} 401 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${data} set variable {"url":"${mcp_url}","type":"sse","auth":{"type":"none","username":"","password":"","token":""},"headers":{}}
${content} POST请求结果 ${path} ${data} 401 {}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入url参数
[Tags] E
create session URI ${URL}
${data} set variable {"type":"sse","auth":{"type":"none","username":"","password":"","token":""},"headers":{}}
${content} POST请求结果 ${path} ${data} 422 ${zh_token}
Should Contain ${content} detail
反例-传入无效的URL格式
[Tags] E
create session URI ${URL}
${data} set variable {"url":"invalid-url","type":"sse","auth":{"type":"none","username":"","password":"","token":""},"headers":{}}
${content} POST请求结果 ${path} ${data} 200 ${zh_token}
Should Not Be True ${content["data"]}
反例-不传入type参数
[Tags] E
create session URI ${URL}
${data} set variable {"url":"${mcp_url}","auth":{"type":"none","username":"","password":"","token":""},"headers":{}}
${content} POST请求结果 ${path} ${data} 422 ${zh_token}
Should Contain ${content} detail
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/mcp/switch
*** Test Cases ***
正例-禁用MCP服务成功
[Tags] F
create session URI ${URL}
${data} set variable {"id":${MCP_id},"active":false}
${content} POST请求结果 ${path} ${data} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
Should Not Be True ${content["data"]}
正例-启用MCP服务成功
[Tags] F
create session URI ${URL}
${data} set variable {"id":${MCP_id},"active":true}
${content} POST请求结果 ${path} ${data} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
Should Be True ${content["data"]}
反例-不传入token
[Tags] E
create session URI ${URL}
${data} set variable {"id":${MCP_id},"active":false}
${content} POST请求结果 ${path} ${data} 401 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${data} set variable {"id":${MCP_id},"active":false}
${content} POST请求结果 ${path} ${data} 401 {}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入id参数
[Tags] E
create session URI ${URL}
${data} set variable {"active":false}
${content} POST请求结果 ${path} ${data} 422 ${zh_token}
Should Contain ${content} detail
反例-不传入active参数
[Tags] E
create session URI ${URL}
${data} set variable {"id":${MCP_id}}
${content} POST请求结果 ${path} ${data} 200 ${zh_token}
Should Be True ${content["data"]}
反例-传入不存在的MCP服务ID
[Tags] E
create session URI ${URL}
${data} set variable {"id":999999,"active":false}
${content} POST请求结果 ${path} ${data} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/mcp/delete
*** Test Cases ***
正例-删除MCP服务成功
[Tags] F
create session URI ${URL}
${full_path} set variable ${path}/${MCP_id}
${content} POST请求结果 ${full_path} {} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal ${content["data"]} ${None}
正例-普通用户删除MCP服务成功
[Tags] F
create session URI ${URL}
${full_path} set variable ${path}/${MCP_id_normal}
${content} POST请求结果 ${full_path} {} 200 ${token}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal ${content["data"]} ${None}
反例-不传入token
[Tags] E
create session URI ${URL}
${full_path} set variable ${path}/${MCP_id}
${content} POST请求结果 ${full_path} {} 401 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${full_path} set variable ${path}/${MCP_id}
${content} POST请求结果 ${full_path} {} 401 {}
Should Be Equal As Strings ${content["code"]} 401
反例-传入不存在的MCP服务ID
[Tags] E
create session URI ${URL}
${full_path} set variable ${path}/999999
${content} POST请求结果 ${full_path} {} 200 ${zh_token}
Should Be Equal As Strings ${content["code"]} 200
反例-传入非法格式的MCP服务ID
[Tags] E
create session URI ${URL}
${full_path} set variable ${path}/abc
${content} POST请求结果 ${full_path} {} 422 ${zh_token}
Should Contain ${content} detail
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/web_instruction/create
*** Test Cases ***
正例-正常新增网页说明
[Tags] F
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"url":"http://www.zhipin.com/${secs1}","instruction":"这是来自接口的数据","active":true,"level":2} 200 ${zh_token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["message"]} WebInstruction created successfully
Set Global Variable ${WI_id} ${content["data"]["id"]}
正例-普通用户新增网页说明
[Tags] F
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"url":"http://www.zhipin.com/${secs1}","instruction":"这是来自接口的数据,普通权限","active":true,"level":2} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["message"]} WebInstruction created successfully
Set Global Variable ${WI_id_normal} ${content["data"]["id"]}
反例-不传入token
[Tags] E
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"url":"http://www.zhipin.com/${secs1}","instruction":"这是来自接口的数据","active":true,"level":2} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"url":"http://www.zhipin.com/${secs1}","instruction":"这是来自接口的数据","active":true,"level":2} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入url参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"instruction":"这是来自接口的数据","active":true,"level":2} 422 ${zh_token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["type"]} missing
反例-不传入instruction参数
[Tags] E
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path} {"url":"http://www.zhipin.com/${secs1}","active":true,"level":2} 422 ${zh_token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["type"]} missing
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/web_instruction/list
*** Test Cases ***
正例-获取网页说明列表
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${zh_token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/web_instruction/get
*** Test Cases ***
正例-获取网页说明详情
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path}/${WI_id} {} 200 ${zh_token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["data"]["id"]} ${WI_id}
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${WI_id} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${WI_id} {} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/web_instruction/update
*** Test Cases ***
正例-正常更新网页说明
[Tags] F
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path}/${WI_id} {"url":"http://www.zhipin.com/${secs1}","instruction":"这是来自接口的数据${secs1}","active":true,"level":2} 200 ${zh_token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["message"]} WebInstruction updated successfully
正例-普通用户更新网页说明
[Tags] F
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path}/${WI_id_normal} {"url":"http://www.zhipin.com/${secs1}","instruction":"这是来自接口的数据${secs1}","active":true,"level":2} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["message"]} WebInstruction updated successfully
反例-不传入token
[Tags] E
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path}/${WI_id} {"url":"http://www.zhipin.com/${secs1}","instruction":"这是来自接口的数据","active":true,"level":2} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path}/${WI_id} {"url":"http://www.zhipin.com/${secs1}","instruction":"这是来自接口的数据","active":true,"level":2} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入url参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path}/${WI_id} {"instruction":"这是来自接口的数据","active":true,"level":2} 200 ${zh_token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["message"]} WebInstruction updated successfully
反例-不传入instruction参数
[Tags] E
${secs1} Get Time epoch
create session URI ${URL}
${content} POST请求结果 ${path}/${WI_id} {"url":"http://www.zhipin.com/${secs1}","active":true,"level":2} 200 ${zh_token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["message"]} WebInstruction updated successfully
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/web_instruction/delete
*** Test Cases ***
正例-普通用户删除网页说明
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path}/${WI_id_normal} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["message"]} WebInstruction deleted successfully
反例-不传入token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path}/${WI_id} {} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path}/${WI_id} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
正例-正常删除网页说明
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path}/${WI_id} {} 200 ${zh_token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Be Equal As Strings ${content["message"]} WebInstruction deleted successfully
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/share/create
*** Test Cases ***
正例-创建分享会话成功
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"session_id":"${sessionId}","name":"简洁问候语","type":"normal","snapshot_data":"[{\\"id\\":\\"testhistory\\",\\"role\\":\\"user\\",\\"content\\":\\"你好\\",\\"contentType\\":\\"text\\",\\"timestamp\\":1757385499220,\\"status\\":\\"ok\\",\\"messageSegmentIndex\\":0,\\"visible\\":true,\\"attachments\\":[]},{\\"id\\":\\"testhistoryres\\",\\"role\\":\\"robot\\",\\"content\\":\\"你好!今天有什么我可以帮助你的吗?\\",\\"contentType\\":\\"text\\",\\"timestamp\\":1757385519220,\\"status\\":\\"ok\\",\\"messageSegmentIndex\\":0,\\"visible\\":true,\\"sessionId\\":\\"${sessionId}\\",\\"loading\\":false,\\"showImmediately\\":false,\\"references\\":[],\\"tip\\":\\"\\",\\"streamId\\":\\"\\"}]"} 200 ${token}
Should Be Equal As Strings ${content["code"]} 200
Set Global Variable ${share_id} ${content["data"]}
反例-不传入token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"session_id":"${sessionId}","name":"简洁问候语","type":"normal","snapshot_data":"[]"} 401 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"session_id":"${sessionId}","name":"简洁问候语","type":"normal","snapshot_data":"[]"} 401 {}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入session_id参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"简洁问候语","type":"normal","snapshot_data":"[]"} 422 ${token}
Should Be Equal As Strings ${content["detail"][0]["type"]} missing
反例-不传入snapshot_data参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"session_id":"${sessionId}","name":"简洁问候语","type":"normal"} 422 ${token}
Should Be Equal As Strings ${content["detail"][0]["type"]} missing
反例-传入空的snapshot_data
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"session_id":"${sessionId}","name":"简洁问候语","type":"normal","snapshot_data":"[]"} 200 ${token}
Should Be Equal As Strings ${content["code"]} 200
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/share/get_share
*** Test Cases ***
正例-获取分享会话成功
[Tags] F
create session URI ${URL}
${full_path} Catenate ${path}/${share_id}
${content} GET请求结果 ${full_path} {} 200 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-使用不存在的分享ID
[Tags] E
create session URI ${URL}
${full_path} Catenate ${path}/nonexistent1234567890
${content} GET请求结果 ${full_path} {} 404 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 404
反例-使用无效格式的分享ID
[Tags] E
create session URI ${URL}
${full_path} Catenate ${path}/invalid-share-id-format
${content} GET请求结果 ${full_path} {} 404 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 404
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/share
*** Test Cases ***
反例-不传入token
[Tags] E
Skip 暂时跳过删除分享会话,目前无此逻辑
create session URI ${URL}
${content} POST请求结果 ${path}/${share_id} {} 401 ${EMPTY}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
Skip 暂时跳过删除分享会话,目前无此逻辑
create session URI ${URL}
${content} POST请求结果 ${path}/${share_id} {} 401 {}
Should Be Equal As Strings ${content["code"]} 401
正例-删除分享会话成功
[Tags] F
Skip 暂时跳过删除分享会话,目前无此逻辑
create session URI ${URL}
${content} POST请求结果 ${path}/${share_id} {} 200 ${token}
Should Be Equal As Strings ${content["code"]} 200
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/user/prompt
*** Test Cases ***
正例-正常获取用户自定义Prompt
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 401 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/user/prompt
*** Test Cases ***
正例-正常更新用户自定义Prompt
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"content":"你是一个专业的AI助手"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-清空用户自定义Prompt
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"content":null} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"content":"你是一个专业的AI助手"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"content":"你是一个专业的AI助手"} 401 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/user/config
*** Test Cases ***
正例-正常获取到用户配置
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 401 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/user/config
*** Test Cases ***
正例-正常更新用户配置
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"model":"Qwen","closePageAfterAbility":true,"autoSendAfterVoicing":true,"stepIntervalDelayMills":1000,"extensions":null} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"model":"Qwen","closePageAfterAbility":true,"autoSendAfterVoicing":true,"stepIntervalDelayMills":1000,"extensions":null} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"model":"Qwen","closePageAfterAbility":true,"autoSendAfterVoicing":true,"stepIntervalDelayMills":1000,"extensions":null} 401 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/system/issue
*** Test Cases ***
正例-正常上报反馈
[Tags] F
Skip 未区分生产环境与SIT环境,暂时跳过此条用例
create session URI ${URL}
${file} Evaluate (r'testissue.zip', open(r'${CURDIR}${/}testfiles${/}testissue.zip', 'rb'))
${header} Create Dictionary Authorization=${token}
${files} Create Dictionary file=${file}
${resp} Post On Session URI ${path} files=${files} headers=${header}
${content} Set Variable ${resp.json()}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传token
[Tags] E
Skip 未区分生产环境与SIT环境,暂时跳过此条用例
create session URI ${URL}
${file} Evaluate (r'testissue.zip', open(r'${CURDIR}${/}testfiles${/}testissue.zip', 'rb'))
${header} Create Dictionary Authorization=${EMPTY}
${files} Create Dictionary file=${file}
${resp} Post On Session URI ${path} files=${files} headers=${header}
${content} Set Variable ${resp.json()}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入错误的token
[Tags] E
Skip 未区分生产环境与SIT环境,暂时跳过此条用例
create session URI ${URL}
${file} Evaluate (r'testissue.zip', open(r'${CURDIR}${/}testfiles${/}testissue.zip', 'rb'))
${header} Create Dictionary Authorization=testtoken
${files} Create Dictionary file=${file}
${resp} Post On Session URI ${path} files=${files} headers=${header}
${content} Set Variable ${resp.json()}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/file-ref/download
${uploadpath} /api/file-ref/upload
${jpg_file} testpicture.jpg
*** Test Cases ***
正例-正常上传jpg并下载文件
[Tags] F
create session URI ${URL}
${file} Evaluate (r'${jpg_file}', open(r'${CURDIR}${/}..${/}testfiles${/}${jpg_file}', 'rb'))
${data} Create Dictionary sessionId=${sessionId}
${header} Create Dictionary Authorization=${token}
${files} Create Dictionary file=${file}
${resp} Post On Session URI ${uploadpath} files=${files} data=${data} headers=${header}
${content} Set Variable ${resp.json()}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Set Global Variable ${file_ref_id} ${content["data"]["id"]}
${content} GET请求结果 ${path} {"id":"${file_ref_id}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入无效的token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"id":"${file_ref_id}"} 200 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"id":"${file_ref_id}"} 200 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入id参数
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/common/heartbeat
*** Test Cases ***
正例-正常发送心跳keepalive
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"${clientId}","user_state":"keepalive"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-正常发送心跳login
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"${clientId}","user_state":"login"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"${clientId}","user_state":"keepalive"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"${clientId}","user_state":"keepalive"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入user_state参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"${clientId}"} 422 ${token}
log ${content}
Should Contain ${content} detail
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/common/file/upload
${jpg_file} testpicture.jpg
*** Test Cases ***
正例-正常上传文件
[Tags] F
create session URI ${URL}
${file} Evaluate (r'${jpg_file}', open(r'${CURDIR}${/}..${/}testfiles${/}${jpg_file}', 'rb'))
${header} Create Dictionary Authorization=${token}
${files} Create Dictionary file=${file}
${resp} Post On Session URI ${path} files=${files} headers=${header}
${content} Set Variable ${resp.json()}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Set Global Variable ${common_file_id} ${content["data"]["id"]}
反例-不传入token
[Tags] E
create session URI ${URL}
${file} Evaluate (r'${jpg_file}', open(r'${CURDIR}${/}..${/}testfiles${/}${jpg_file}', 'rb'))
${header} Create Dictionary Authorization=${EMPTY}
${files} Create Dictionary file=${file}
${resp} Post On Session URI ${path} files=${files} headers=${header} expected_status=401
${content} Set Variable ${resp.json()}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${file} Evaluate (r'${jpg_file}', open(r'${CURDIR}${/}..${/}testfiles${/}${jpg_file}', 'rb'))
${header} Create Dictionary Authorization={}
${files} Create Dictionary file=${file}
${resp} Post On Session URI ${path} files=${files} headers=${header} expected_status=401
${content} Set Variable ${resp.json()}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/common/file
*** Test Cases ***
正例-正常获取文件
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path}/${common_file_id} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入不存在的文件ID
[Tags] E
Skip 暂时跳过获取不存在的文件
create session URI ${URL}
${content} GET请求结果 ${path}/nonexistent123 {} 200 ${token}
log ${content}
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${common_file_id} {} 200 ${EMPTY}
log ${content}
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/common/tools-client-mcp/allowed
*** Test Cases ***
正例-正常获取允许的客户端MCP工具
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {"client_id":"${clientId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入client_id参数
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-不传入token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"client_id":"${clientId}"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {"client_id":"${clientId}"} 401 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/common/tools/update
*** Test Cases ***
正例-更新能力开关配置
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"allow_abilities":{"test_ability_id":true}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-更新客户端MCP开关配置
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"client_mcps":{"test_mcp_name":true}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-更新云端MCP开关配置
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"cloud_mcps":{"cloud_tenant_mcps":{"test_tenant_mcp":true},"cloud_user_mcps":{"test_user_mcp":true}}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-传入空对象
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"allow_abilities":{"test_ability_id":true}} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入错误的token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"allow_abilities":{"test_ability_id":true}} 401 testtoken
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/ability/help/gen-step-id
*** Test Cases ***
正例-获取步骤ID
[Tags] F
Skip 暂无此逻辑,等相关逻辑完善后再补充此用例
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-传入无效token
[Tags] E
Skip 暂无此逻辑,等相关逻辑完善后再补充此用例
create session URI ${URL}
${content} GET请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/ability/tools-meta
*** Test Cases ***
正例-获取工具元数据
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-传入编辑中的能力ID
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"editing_ability_id":"test_id"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource flow_zmx.resource
Resource res_zmx.resource
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/ability/draft
${path} /api/v3/ability/draft/steps/explore
*** Test Cases ***
正例-创建能力草稿
正例-从探索会话获取步骤数据
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"session_id":"${EXPsessionId}","filtered_step_indices":[0],"client_id":"${clientId}"} 200 ${token}
${content} POST请求结果 ${path} {"session_id":"${sessionId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
${steps_json} Evaluate json.dumps($content["data"]["steps_def"], ensure_ascii=False) json
Set Global Variable ${explore_steps_def} ${steps_json}
反例-不传入token
反例-不传入session_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"session_id":"${EXPsessionId}","filtered_step_indices":[0],"client_id":"${clientId}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入错误参数
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id1":"a68ad587830d41aebf418a919006353e"} 422 ${token}
${content} POST请求结果 ${path} {} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["type"]} missing
Should Contain ${content} detail
反例-传入空参数
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 422 ${token}
${content} POST请求结果 ${path} {"session_id":"${sessionId}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["type"]} missing
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/ability/draft/stage-2
*** Test Cases ***
正例-生成草稿阶段2
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"steps_def":${explore_steps_def}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
${inputs_json} Evaluate json.dumps($content["data"]["inputs_def"], ensure_ascii=False) json
${outputs_json} Evaluate json.dumps($content["data"]["outputs_def"], ensure_ascii=False) json
Set Global Variable ${stage2_inputs_def} ${inputs_json}
Set Global Variable ${stage2_outputs_def} ${outputs_json}
正例-带探索会话ID生成草稿
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"reference_session_id":"${sessionId}","steps_def":${explore_steps_def}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"steps_def":${explore_steps_def}} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/ability/draft/stage-3
*** Test Cases ***
正例-生成草稿阶段3
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"steps_def":${explore_steps_def},"inputs_def":${stage2_inputs_def},"outputs_def":${stage2_outputs_def}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Set Global Variable ${stage3_name} ${content["data"]["name"]}
Set Global Variable ${stage3_description} ${content["data"]["description"]}
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"steps_def":${explore_steps_def},"inputs_def":${stage2_inputs_def},"outputs_def":${stage2_outputs_def}} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
Library String
*** Variables ***
${path} /api/v3/ability/create
*** Test Cases ***
正例-创建能力
[Tags] F
create session URI ${URL}
${ret} Generate Random String 5
${content} POST请求结果 ${path} {"name":"${stage3_name}_${ret}","description":"${stage3_description}","steps_def":${explore_steps_def},"inputs_def":${stage2_inputs_def},"outputs_def":${stage2_outputs_def},"extensions":{"skipError":false,"nestingScopeUrl":null}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
Set Global Variable ${ability_id} ${content["data"]}
反例-不传入name
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"description":"缺少名称"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-不传入description
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"缺少描述"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"测试","description":"测试"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"测试","description":"测试"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource flow_zmx.resource
Resource res_zmx.resource
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/plan/plan_task
${path} /api/v3/ability/page
*** Test Cases ***
正例-正常获取计划任务列表
正例-获取能力分页
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10,"plan_id":"${plan_id}"} 200 ${token}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-不传入token
[Tags] E
正例-按名称筛选
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10,"plan_id":"${plan_id}"} 401 ${EMPTY}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10,"name_filter":"接口测试"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
Should Be Equal As Strings ${content["code"]} 200
正例-默认参数查询
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入空白token
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10,"plan_id":"${plan_id}"} 401 {}
${content} POST请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/ability/detail
*** Test Cases ***
正例-获取能力详情
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path}/${ability_id} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-传入不存在的ability_id
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/not_exist_id {} 200 ${token}
log ${content}
Should Not Be Equal As Strings ${content["code"]} "200"
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${ability_id} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/ability/update
*** Test Cases ***
正例-更新能力名称和描述
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"ability_id":"${ability_id}","name":"接口测试能力-已更新","description":"更新后的描述"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入ability_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"测试"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入不存在的ability_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"ability_id":"not_exist_id","name":"测试"} 200 ${token}
log ${content}
Should Not Be Equal As Strings ${content["code"]} "200"
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"ability_id":"${ability_id}","name":"测试"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/ability/delete
*** Test Cases ***
正例-删除能力
[Tags] F
create session URI ${URL}
${content} POST请求结果_params ${path} {"id":"${ability_id}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入id
[Tags] E
create session URI ${URL}
${content} POST请求结果_params ${path} {} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入不存在的id
[Tags] E
create session URI ${URL}
${content} POST请求结果_params ${path} {"id":"not_exist_id"} 200 ${token}
log ${content}
Should Not Be Equal As Strings ${content["code"]} 200
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果_params ${path} {"id":"${ability_id}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/task/create
${fixed_ability_id} dff2cd4c
*** Test Cases ***
正例-创建任务
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"ability_id":"${fixed_ability_id}","executor_type":"client","inputs":{},"extensions":{"use_incognito":false,"skip_error":false,"close_browser":false,"adhoc_outputs_schema":null,"llm_name":null}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
Set Global Variable ${task_id} ${content["data"]}
正例-再创建一条任务
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"ability_id":"${fixed_ability_id}","executor_type":"client","inputs":{},"extensions":{"use_incognito":false,"skip_error":false,"close_browser":false,"adhoc_outputs_schema":null,"llm_name":null}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
Set Global Variable ${task_id_client} ${content["data"]}
正例-创建一条云端任务
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"ability_id":"1d95e83f","executor_type":"cloud","inputs":{},"extensions":{"use_incognito":false,"skip_error":false,"close_browser":false,"adhoc_outputs_schema":null,"llm_name":null}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
Set Global Variable ${task_id_cloud} ${content["data"]}
反例-不传入ability_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"executor_type":"client"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-不传入executor_type
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"ability_id":"${fixed_ability_id}"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"ability_id":"${fixed_ability_id}","executor_type":"client","inputs":{},"extensions":{"use_incognito":false,"skip_error":false,"close_browser":false,"adhoc_outputs_schema":null,"llm_name":null}} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/task/page
*** Test Cases ***
正例-获取任务分页
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
正例-按状态筛选
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10,"state_filter":"running"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-按来源筛选
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10,"origin_filter":"console"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-默认参数查询
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource flow_zmx.resource
Resource res_zmx.resource
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v1/task/steps
${path} /api/v3/task/detail
*** Test Cases ***
正例-获取任务列表
正例-获取任务详情
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path}/${task_id} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-传入空白token
反例-传入不存在的task_id
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${task_id} {} 401 {}
${content} GET请求结果 ${path}/not_exist_id {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
Should Not Be Equal As Strings ${content["code"]} "200"
反例-不传入token
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${task_id} {} 401 ${EMPTY}
${content} GET请求结果 ${path}/${task_id} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
Library ../get_expId.py
*** Variables ***
${path} /api/v3/task/live
*** Test Cases ***
正例-获取任务实时流
[Tags] F
${result} get_task_live ${URL}${path} ${task_id} ${a_token} timeout=30
log ${result}
Should Not Be Empty ${result}
正例-带offset获取实时流
[Tags] F
${result} get_task_live ${URL}${path} ${task_id} ${a_token} offset=0 timeout=30
log ${result}
Should Not Be Empty ${result}
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/task/stop
*** Test Cases ***
正例-停止任务
[Tags] F
create session URI ${URL}
${content} POST请求结果_params ${path} {"task_id":"${task_id}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入task_id
[Tags] E
create session URI ${URL}
${content} POST请求结果_params ${path} {} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果_params ${path} {"task_id":"${task_id}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/task/batch-delete
*** Test Cases ***
正例-批量删除任务
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"ids":["${task_id}","${task_id_client}"]} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-传入空列表
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"ids":[]} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"ids":["${task_id}"]} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/task/cloud/authorize-ws
*** Test Cases ***
正例-云端授权WebSocket
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"task_id":"${task_id_cloud}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入task_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"task_id":"${task_id}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
Library DateTime
*** Variables ***
${path} /api/v3/plan/create
*** Test Cases ***
正例-创建循环定时计划
[Tags] F
create session URI ${URL}
Set Global Variable ${fixed_ability_id} 1d95e83f
${start_time} Evaluate datetime.datetime.now().strftime('%Y-%m-%dT00:00:00') modules=datetime
${end_time} Evaluate (lambda d: d.replace(month=d.month+1) if d.month < 12 else d.replace(year=d.year+1, month=1))(datetime.datetime.now()).strftime('%Y-%m-%dT00:00:00') modules=datetime
${content} POST请求结果 ${path} {"name":"接口创建循环定时","ability_id":"${fixed_ability_id}","executor_type":"cloud","extensions":{"use_incognito":false,"skip_error":false,"close_browser":false,"adhoc_outputs_schema":null,"llm_name":null},"inputs":{},"description":"接口创建的定时计划","active":true,"triggers":[{"type":"定时触发器","trigger_type":"cron","active":true,"expression":"* * * * *","start_time":"${start_time}","end_time":"${end_time}"}]} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
Set Global Variable ${plan_id} ${content["data"]}
Sleep 60s 等待任务触发
#判断循环定时触发器是否生效,查看是否有任务生成
${task_content} POST请求结果 /api/v3/task/page {"page_index":0,"page_size":10,"plan_id":"${plan_id}"} 200 ${token}
log ${task_content}
Should Be Equal As Strings ${task_content["code"]} 200
${task_len} Get Length ${task_content["data"]}
Should Be True ${task_len} > 0
正例-创建单次定时计划
[Tags] F
create session URI ${URL}
${trigger_time} Evaluate (datetime.datetime.now() + datetime.timedelta(seconds=10)).strftime('%Y-%m-%dT%H:%M:%S') modules=datetime
${content} POST请求结果 ${path} {"name":"接口创建单次定时","ability_id":"${fixed_ability_id}","executor_type":"cloud","extensions":{"use_incognito":false,"skip_error":false,"close_browser":false,"adhoc_outputs_schema":null,"llm_name":null},"inputs":{},"description":"接口创建的定时计划","active":true,"triggers":[{"type":"定时触发器","trigger_type":"date","active":true,"expression":"${trigger_time}"}]} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
Set Global Variable ${singe_plan_id} ${content["data"]}
Sleep 20s 等待任务触发
#判断单次定时触发器是否生效,查看是否有任务生成
${task_content} POST请求结果 /api/v3/task/page {"page_index":0,"page_size":10,"plan_id":"${plan_id}"} 200 ${token}
log ${task_content}
Should Be Equal As Strings ${task_content["code"]} 200
${task_len} Get Length ${task_content["data"]}
Should Be True ${task_len} > 0
反例-不传入name
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"ability_id":"${fixed_ability_id}","executor_type":"cloud","extensions":{}} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-不传入ability_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"测试","executor_type":"cloud","extensions":{}} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-不传入executor_type
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"测试","ability_id":"${fixed_ability_id}","extensions":{}} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"测试","ability_id":"${fixed_ability_id}","executor_type":"cloud","extensions":{}} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/plan/page
*** Test Cases ***
正例-获取计划分页
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
正例-按名称筛选
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10,"id_or_name_filter":"接口测试"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-按激活状态筛选
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10,"active_filter":true} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-默认参数查询
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/plan/detail
*** Test Cases ***
正例-获取计划详情
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path}/${plan_id} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-传入不存在的plan_id
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/not_exist_id {} 404 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 404
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${plan_id} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/plan/update
*** Test Cases ***
正例-更新计划
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"id":"${plan_id}","name":"接口测试计划-已更新","ability_id":"${fixed_ability_id}","executor_type":"cloud","extensions":{"use_incognito":false,"skip_error":false,"close_browser":false},"description":"更新后的描述"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"name":"测试","ability_id":"${fixed_ability_id}","executor_type":"cloud","extensions":{}} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"id":"${plan_id}","name":"测试","ability_id":"${fixed_ability_id}","executor_type":"cloud","extensions":{}} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/plan/toggle
*** Test Cases ***
正例-禁用计划
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path}/${plan_id} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-启用计划
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path}/${plan_id} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入不存在的plan_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path}/not_exist_id {} 404 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 404
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path}/${plan_id} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/plan/trigger/add
*** Test Cases ***
正例-添加触发器
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"plan_id":"${plan_id}","trigger":{"type":"定时触发器","trigger_type":"cron","expression":"0 9 * * *","active":true}} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
Set Global Variable ${trigger_id} ${content["data"]}
反例-不传入plan_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"trigger":{"type":"定时触发器","trigger_type":"cron","expression":"0 9 * * *"}} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-不传入trigger
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"plan_id":"${plan_id}"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"plan_id":"${plan_id}","trigger":{"type":"定时触发器","trigger_type":"cron","expression":"0 9 * * *"}} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/plan/trigger/update
*** Test Cases ***
正例-更新触发器
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"plan_id":"${plan_id}","trigger_id":"${trigger_id}","type":"定时触发器","trigger_type":"cron","expression":"0 9 * * *","active":true} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入plan_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"trigger_id":"${trigger_id}","expression":"0 9 * * *"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-不传入trigger_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"plan_id":"${plan_id}","expression":"0 9 * * *"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"plan_id":"${plan_id}","trigger_id":"${trigger_id}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/plan/trigger/delete
*** Test Cases ***
正例-删除触发器
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"plan_id":"${plan_id}","trigger_id":"${trigger_id}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入plan_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"trigger_id":"${trigger_id}"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-不传入trigger_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"plan_id":"${plan_id}"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"plan_id":"${plan_id}","trigger_id":"${trigger_id}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/plan/generate_cron
*** Test Cases ***
正例-生成cron表达式
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"user_input":"每周五下午五点执行"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
正例-每天早上八点
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"user_input":"每天早上八点"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入user_input
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"user_input":"每天执行"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/plan/delete
*** Test Cases ***
正例-删除循环定时计划
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path}/${plan_id} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-删除单次定时计划
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path}/${singe_plan_id} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入不存在的plan_id
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path}/not_exist_id {} 404 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 404
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path}/${plan_id} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/notification/unread-count
*** Test Cases ***
正例-获取未读通知数
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/notification/page
*** Test Cases ***
正例-获取通知分页
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":20} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
正例-筛选未读通知
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":20,"is_read":false} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-筛选已读通知
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":20,"is_read":true} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-默认参数查询
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/notification/mark-read
*** Test Cases ***
正例-标记通知已读
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"notification_ids":["test_notification_id"]} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入notification_ids
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"notification_ids":["test_id"]} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/notification/mark-all-read
*** Test Cases ***
正例-全部标记已读
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/notification/channel-preference
*** Test Cases ***
正例-获取通知渠道偏好
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
正例-设置通知渠道偏好-启用邮件
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"email_enabled":true,"email_address":"test@example.com"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-设置通知渠道偏好-禁用邮件
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"email_enabled":false} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入email_enabled
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-GET传入无效token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-POST传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"email_enabled":true} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/market-service/install
*** Test Cases ***
正例-安装服务
[Tags] F
Set Global Variable ${service_key} external.6906379d-20dd-470f-83e6-959fa4c68692
create session URI ${URL}
${content} POST请求结果 ${path} {"service_key":"${service_key}"} 200 ${zh_token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-普通用户安装服务
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"service_key":"${service_key}"} 403 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 403
反例-不传入service_key
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 422 ${zh_token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"service_key":"${service_key}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/market-service/page
*** Test Cases ***
正例-获取服务市场分页
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
正例-按名称筛选
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10,"name_filter":"测试"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-默认参数查询
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/market-service/detail
*** Test Cases ***
正例-获取服务市场详情
[Tags] F
create session URI ${URL}
${content} GET请求结果 ${path}/${service_key} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
反例-传入不存在的service_key
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/not_exist_key {} 200 ${token}
log ${content}
Should Not Be Equal As Strings ${content["code"]} 200
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} GET请求结果 ${path}/${service_key} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/unified_service/page
*** Test Cases ***
正例-获取统一服务分页
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
正例-按名称描述筛选
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"page_index":0,"page_size":10,"mix_filter":"测试"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
正例-默认参数查询
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/market-service/uninstall
*** Test Cases ***
正例-卸载服务
[Tags] F
create session URI ${URL}
${content} POST请求结果 ${path} {"service_key":"${service_key}"} 200 ${zh_token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-普通用户卸载服务
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"service_key":"${service_key}"} 403 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 403
反例-不传入service_key
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {} 422 ${zh_token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果 ${path} {"service_key":"${service_key}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
Library ../get_expId.py
*** Variables ***
${path} /api/v3/vision/create
*** Test Cases ***
正例-创建视觉会话
[Tags] F
create session URI ${URL}
${content} POST请求结果_params ${path} {"workerId":"${clientId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Should Contain ${content} data
Set Global Variable ${vision_session_id} ${content["data"]}
正例-发送你好验证会话正常
[Tags] F
create session URI ${URL}
${write_content} POST请求结果_data /api/chat/write {"sessionId":"${vision_session_id}","text":"你好","workerId":"${clientId}"} 200 ${token}
log ${write_content}
Should Be Equal As Strings ${write_content["code"]} 200
Set Global Variable ${vision_streamId} ${write_content["data"]}
${read_content} Get Message ${URL}/api/chat/read ${vision_session_id} ${vision_streamId} ${token}
log ${read_content}
Should Not Be Empty ${read_content}
反例-不传入workerId
[Tags] E
create session URI ${URL}
${content} POST请求结果_params ${path} {} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
create session URI ${URL}
${content} POST请求结果_params ${path} {"workerId":"${clientId}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/v3/vision/submit
*** Test Cases ***
正例-提交视觉任务
[Tags] F
Skip 暂无此逻辑,等创建视觉任务的逻辑完善后再补充此用例
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"${clientId}","trace_id":"test_trace_001","session_id":"${vision_session_id}","human_input":"测试视觉任务","files":[],"retry":false} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
反例-不传入client_id
[Tags] E
Skip 暂无此逻辑,等创建视觉任务的逻辑完善后再补充此用例
create session URI ${URL}
${content} POST请求结果 ${path} {"trace_id":"test","session_id":"${vision_session_id}"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-不传入session_id
[Tags] E
Skip 暂无此逻辑,等创建视觉任务的逻辑完善后再补充此用例
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"${clientId}","trace_id":"test"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-不传入trace_id
[Tags] E
Skip 暂无此逻辑,等创建视觉任务的逻辑完善后再补充此用例
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"${clientId}","session_id":"${vision_session_id}"} 422 ${token}
log ${content}
Should Contain ${content} detail
反例-传入无效token
[Tags] E
Skip 暂无此逻辑,等创建视觉任务的逻辑完善后再补充此用例
create session URI ${URL}
${content} POST请求结果 ${path} {"client_id":"${clientId}","trace_id":"test","session_id":"${vision_session_id}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
*** Settings ***
Resource flow_zmx.resource
Resource res_zmx.resource
Resource ../flow_zmx.resource
Resource ../res_zmx.resource
*** Variables ***
${path} /api/chat/close
......
import json
# 读取 OpenAPI 文件
with open('results/openapi.json', 'r', encoding='utf-8') as f:
data = json.load(f)
# 打印基本信息
print(f"API 标题: {data['info']['title']}")
print(f"API 版本: {data['info']['version']}")
print(f"\n路径数量: {len(data['paths'])}")
print("\n接口列表:")
# 遍历所有路径和方法
for path, methods in data['paths'].items():
for method, details in methods.items():
summary = details.get('summary', '无描述')
operation_id = details.get('operationId', '无操作ID')
tags = details.get('tags', [])
print(f"- {method.upper()} {path}")
print(f" 摘要: {summary}")
print(f" 操作ID: {operation_id}")
print(f" 标签: {', '.join(tags)}")
# 打印参数
if 'parameters' in details:
print(" 参数:")
for param in details['parameters']:
name = param.get('name')
in_ = param.get('in')
required = param.get('required', False)
print(f" - {name} ({in_}) {'必填' if required else '可选'}")
# 打印请求体
if 'requestBody' in details:
print(" 请求体: 有")
# 打印响应
if 'responses' in details:
print(" 响应:")
for status, resp in details['responses'].items():
print(f" - {status}: {resp.get('description', '无描述')}")
print()
# 打印组件数量
if 'components' in data and 'schemas' in data['components']:
print(f"\n组件数量: {len(data['components']['schemas'])}")
else:
print("\n组件数量: 0")
......@@ -62,6 +62,35 @@ def get_message(url,sessionId,streamId,token,timeout=180):
return oplist
def get_task_live(url, task_id, token, offset=0, timeout=60):
'''
用来获取任务实时流数据
url: sse连接地址,如 http://xxx/api/v3/task/live
task_id: 任务Id
token: 凭据(access_token)
offset: 偏移量
timeout: 超时时间
'''
params = {
'task_id': task_id,
'offset': offset,
'access_token': token
}
headers = {'Accept': 'text/event-stream'}
oplist = []
response = requests.get(url=url, params=params, headers=headers, stream=True)
client = sseclient.SSEClient(response)
starttime = time.time()
for msg in client.events():
localtime = time.time()
if localtime > starttime + timeout:
break
if msg.data:
oplist.append(msg.data)
return oplist
# print(get_expId('http://bitagent.sit.ninetechone.com/api/chat/read','P_CB_f21b81ef55ab48f8b87530500ced227d','P_CB_976bebae52514b39a140e38f88cd2dee','Bearer d25c4717-087b-4472-aaaa-2a1939f22680'))
# print(get_expId('http://bitagent.sit.ninetechone.com/api/chat/read','CB_e48bea09fe1e4c8388883ff11384bef8','CB_0e7c9c99d6494d9f977b0c2fbb73e2e3','Bearer c1391926-e8ba-46c0-a0d1-c5e3c38503da'))
# print(get_message('http://bitagent.sit.ninetechone.com/api/chat/read','P_CB_f21b81ef55ab48f8b87530500ced227d','P_CB_976bebae52514b39a140e38f88cd2dee','Bearer d25c4717-087b-4472-aaaa-2a1939f22680'))
# print(get_message('http://bitagent.sit.ninetechone.com/api/chat/read','V3_d1b7a820199d45c5955a2b09b13182d8','V3_0e6364b3ba484323856beff1aa0fea91','1aa91f3e-bee6-4284-83ec-6b0d3cb60e48'))
......@@ -333,6 +333,9 @@ async def handle_message(request_path, request_data):
data={"ok": True, "result": [{"success": "关闭标签页成功"}], "advise": "", "screenshots": [], "screenshot_remarks": []},
message=""
)
elif request_path == "version":
return ResultModel(code=200, data="3.1.41", message="")
# 默认响应
return ResultModel(code=200, data={"message": "请求处理成功"})
......
......@@ -3,13 +3,13 @@ Resource flow_zmx.resource
Resource res_zmx.resource
*** Variables ***
${path} /api/chatbot/create
${path} /api/v3/session/create
*** Test Cases ***
正例-正常创建会话session
[Tags] F
create session URI ${URL}
${content} POST请求结果_data ${path} {"workerId":"${clientId}"} 200 ${token}
${content} POST请求结果_params ${path} {"workerId":"${clientId}"} 200 ${token}
log ${content}
Should Be Equal As Strings ${content["code"]} 200
Set Global Variable ${sessionId} ${content["data"]}
......@@ -17,20 +17,20 @@ ${path} /api/chatbot/create
反例-传入无效的token
[Tags] E
create session URI ${URL}
${content} POST请求结果_data ${path} {"workerId":"${clientId}"} 401 {}
${content} POST请求结果_params ${path} {"workerId":"${clientId}"} 401 {}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
反例-不传入workerId
[Tags] E
create session URI ${URL}
${content} POST请求结果_data ${path} {} 422 ${token}
${content} POST请求结果_params ${path} {} 422 ${token}
log ${content}
Should Be Equal As Strings ${content["detail"][0]["msg"]} Field required
反例-传入空白token
[Tags] E
create session URI ${URL}
${content} POST请求结果_data ${path} {"workerId":"${clientId}"} 401 ${EMPTY}
${content} POST请求结果_params ${path} {"workerId":"${clientId}"} 401 ${EMPTY}
log ${content}
Should Be Equal As Strings ${content["code"]} 401
......@@ -11,10 +11,10 @@ ${path} /api/chat/read
[Tags] F
Sleep 60
Comment Sleep 10 性能测试时,这个接口只睡眠10秒不够后端处理
${resp} Get ExpId ${URL}/${path} ${sessionId} ${ex_streamId} ${token}
log ${resp}
${resp} Get Message ${URL}/${path} ${sessionId} ${ex_streamId} ${token}
log ${resp}Message
Comment Should Contain ${resp["sessionId"]} P_TSK
Set Global Variable ${expId} ${resp["sessionId"]}
Set Global Variable ${expId} ${sessionId}
Comment ${content} GET请求结果 /api/chat/retry {"sessionId":"${expId}","workerId":"${clientId}"} 200 ${token}
Comment Set Global Variable ${streamId} ${content["data"]}
Comment ${resp1} Get ExpId ${URL}/${path} ${expId} ${streamId} ${token}
......@@ -24,7 +24,7 @@ ${path} /api/chat/read
[Tags] F
${resp} Get Message ${URL}/${path} ${sessionId} ${text_streamId} ${token}
log ${resp}
Should Contain ${resp}[0] 你好
Should Contain ${resp}[1] 你好
Should Contain ${resp}[-1] 关闭
反例-传入错误的token
......
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论