跳到主要内容

ONES TestCase Library API

危险

ONES API 已废弃。请使用Open API。

model 说明​

error​

参数名值类型取值范围取值例子说明
codeint200服务器更新时间戳
errcodestring"OK"错误消息
typestring错误类型

TestCasePayload​

参数名值类型取值范围取值例子说明
uuidstringlen=8随机 8 位字符
library_uuidstring用例库 uuid
module_uuidstring用例直属的模块 uuid
pathstring模块路径(module_uuid-sub_module_uuid-testcase_uuid)
namestringlen<=1024用例名称
prioritystringtestcase 优先级
typestring用例类型
assignstringlen=8维护人
descstringlen<=65536用例描述
create_timeint64用例创建时间,微秒
id_keystring
numberint用例编号
idstring前置条件
lib_namestring
conditionstring前置条件
steps[]testcasesteppayload用例操作步骤
name_pinyinstring

TestCaseStepPayload​

参数名值类型取值范围取值例子说明
uuidstringlen=8
case_uuidstring用例 uuid
descstring
resultstring
execute_resultstring
actual_resultstring

TestCaseLibPayload​

参数名值类型取值范围取值例子说明
uuidstringlen=8
namestring
create_timeint64
is_pinbool
field_config_uuidstring
modules[]testcasemodulepayload

TestCaseModulePayload​

参数名值类型取值范围取值例子说明
uuidstringlen=8
parent_uuidstring
library_uuidstring
pathstring
namestring
create_timeint64
is_defaultbool
positionint64
name_pinyinstring

priority 说明​

值说明
PRIOPThh最高
PRIOPThi高
PRIOPTno普通
PRIOPTlo低
PRIOPTll最低

casetype 说明​

值说明
functional功能测试(默认)
performance性能测试
api接口测试
install安装部署
config配置相关
safety安全相关
other其他

library model 说明​

参数名值类型取值范围取值例子说明
uuidstringlen=8随机 8 位字符
namestringlen<=32用例名称
create_timeint64用例创建时间,微秒
members[]string编撰人员 uuids
 user_domain_typestring用户域类型
 user_domain_paramstring用户域参数
modulesobject array用例库下模块,按深度优先
create_timeint64用例创建时间,微秒

module 说明​

参数名值类型取值范围取值例子说明
uuidstringlen=8随机 8 位字符组成
parent_uuidstringlen=8随机 8 位字符组成,父模块 uuid,传""代表没有父模块
namestringlen<=32模块名称
pathstring模块路径(module_uuid-sub_module_uuid)
library_uuidstring模块所属 library
create_timeint64用例创建时间,微秒
is_defaultbooltrue 为无所属模块,false 为用户创建的模块

module relation​

值说明
brother兄弟关系
child父子关系

用例操作步骤 说明​

参数名值类型取值范围默认值取值例子说明
uuidstringlen=8用例步骤 uuid
descstring步骤描述
resultstring步骤预期结果

API 说明​

添加测试用例​

添加测试用例到用例库

URL​

https://your-host-name/project/api/project/team/:teamUUID/items/add

HTTP Method​

POST

是否需要登录​

是

传值方式​

JSON

请求参数列表​

参数名值类型是否必须说明
itemTestCaseItemPayload是

TestCaseItemPayload

参数名值类型是否必须说明
namestring是测试用例名称
assignstring是负责人
prioritystring是优先级
typestring是类型
module_uuidstring是模块 UUID
conditionstring否前置条件
library_uuidstring是用例库 UUID
descstring否描述
stepsstep否操作步骤
related_wiki_pagearray否关联的 wiki 页面
testcase_case_stepsarray否操作步骤
item_typestring是类型
testcase_librarystring是所属用例库
testcase_modulestring是所属模块

返回参数列表​

参数名值类型说明
uuidstring测试用例 uuid
keystringitem key
namestring测试用例名称
assignstring负责人
descstring描述
conditionstring前置条件
pathstring模块路径
item_typestring类型
testcase_librarystring所属用例库
testcase_modulestring所属模块
create_timeint64创建时间

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/items/add' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{"item":{"name":"123","assign":"BWxt3PAW","priority":"6ibNTRBd","type":"LyCk7yci","module_uuid":"JrsKwtoS","condition":"","library_uuid":"G8f4GEWE","desc":"","steps":[],"related_wiki_page":[],"testcase_case_steps":[],"item_type":"testcase_case","testcase_library":"G8f4GEWE","testcase_module":"JrsKwtoS"}}'

返回示例​

{
"item": {
"assign": "BWxt3PAW",
"condition": "",
"create_time": 1579424856,
"desc": "",
"item_type": "testcase_case",
"key": "testcase_case-GdmpxB9U",
"name": "123",
"path": "JrsKwtoS-GdmpxB9U",
"testcase_library": "G8f4GEWE",
"testcase_module": "JrsKwtoS",
"uuid": "GdmpxB9U"
}
}

修改测试用例​

修改测试用例

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/library/:libraryUUID/cases/update

HTTP Method​

POST

是否需要登录​

是

传值方式​

JSON

请求参数列表​

参数名值类型是否必须说明
cases[]testcasepayload是

返回参数列表​

error

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/library/G8f4GEWE/cases/update' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{"cases":[{"uuid":"GdmpxB9U","name":"123","assign":"BWxt3PAW","priority":"6ibNTRBd","type":"LyCk7yci","module_uuid":"JrsKwtoS","condition":"","library_uuid":"G8f4GEWE","desc":"testdesc1","steps":[],"related_wiki_page":[],"testcase_case_steps":[],"item_type":"testcase_case","testcase_library":"G8f4GEWE","testcase_module":"JrsKwtoS"}]}'

返回示例​

{
"code": 200,
"errcode": "OK",
"type": "OK"
}

删除测试用例​

删除测试用例

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/library/:libraryUUID/cases/delete

HTTP Method​

POST

是否需要登录​

是

传值方式​

JSON

请求参数列表​

参数名值类型是否必须说明
case_uuids[]string否
allbool否
querystring否GraphQL 查询
variablesOrderedMap否GraphQL 查询变量

返回参数列表​

error

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/library/G8f4GEWE/cases/delete' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{"case_uuids":["XLELFTJo"]}'

返回示例​

{
"code": 200,
"errcode": "OK",
"type": "OK"
}

获取某个用例库下的用例列表​

获取用例库下的用例列表

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/library/:libraryUUID/cases

HTTP Method​

GET

是否需要登录​

是

传值方式​

无

请求参数列表​

无

返回参数列表​

参数名值类型说明
cases[]testcasepayload
server_update_stampint64缓存时间戳

请求示例​

curl -X GET \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/library/G8f4GEWE/cases' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache'

返回示例​

{
"cases": [
{
"uuid": "GdmpxB9U",
"library_uuid": "G8f4GEWE",
"module_uuid": "JrsKwtoS",
"path": "JrsKwtoS-GdmpxB9U",
"name": "123",
"priority": "6ibNTRBd",
"type": "LyCk7yci",
"assign": "BWxt3PAW",
"desc": "testdesc1",
"create_time": 1570574561,
"id_key": "T",
"number": 7,
"id": "T7",
"condition": "",
"steps": [],
"name_pinyin": "123"
}
],
"server_update_stamp": 1570575795477187
}

添加用例库​

添加用例库

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/libraries/add

HTTP Method​

POST

是否需要登录​

是

传值方式​

JSON

请求参数列表​

参数名值类型是否必须说明
libraryTestCaseLibPayload是

返回参数列表​

参数名值类型说明
libraryTestCaseLibPayload
server_update_stampint64

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/libraries/add' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{"library":{"name":"lib1","field_config_uuid":"3F4uBj5t"}}'

返回示例​

{
"library": {
"uuid": "S8QpwTxJ",
"name": "lib1",
"create_time": 1570576195,
"modules": [
{
"uuid": "4wLytqvF",
"parent_uuid": "",
"library_uuid": "S8QpwTxJ",
"path": "4wLytqvF",
"name": "no module",
"create_time": 1570576195,
"is_default": true,
"position": 0,
"name_pinyin": "wu2suo3shu3mo2kuai4"
}
],
"is_pin": false,
"field_config_uuid": "3F4uBj5t"
},
"server_update_stamp": 1570576195539615
}

修改用例库​

修改用例库

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/library/:libraryUUID/update

HTTP Method​

POST

是否需要登录​

是

传值方式​

JSON

请求参数列表​

参数名值类型是否必须说明
libraryTestCaseLibPayload是

返回参数列表​

参数名值类型说明
libraryTestCaseLibPayload
server_update_stampint64

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/library/S8QpwTxJ/update' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{"library":{"name":"lib12","field_config_uuid":"3F4uBj5t","uuid":"S8QpwTxJ"}}'

返回示例​

{
"library": {
"uuid": "S8QpwTxJ",
"name": "lib12",
"create_time": 0,
"modules": [
{
"uuid": "4wLytqvF",
"parent_uuid": "",
"library_uuid": "S8QpwTxJ",
"path": "4wLytqvF",
"name": "no module",
"create_time": 1570576195,
"is_default": true,
"position": 0,
"name_pinyin": ""
}
],
"is_pin": false,
"field_config_uuid": "3F4uBj5t"
},
"server_update_stamp": 1570576320655156
}

删除用例库​

删除用例库

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/library/:libraryUUID/delete

HTTP Method​

POST

是否需要登录​

是

传值方式​

无

请求参数列表​

无

返回参数列表​

error

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/library/S8QpwTxJ/delete' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{}'

返回示例​

{
"code": 200,
"errcode": "OK",
"type": "OK"
}

获取用例库列表​

获取用户有权限查看的用例库列表

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/libraries

HTTP Method​

GET

是否需要登录​

是

传值方式​

无

请求参数列表​

无

返回参数列表​

参数名值类型说明
libraries[]testcaselibpayload
server_update_stampint64

请求示例​

curl -X GET \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/libraries' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache'

返回示例​

{
"libraries": [
{
"uuid": "G8f4GEWE",
"name": "order system",
"create_time": 1557074706,
"modules": [
{
"uuid": "3Hw9NaF2",
"parent_uuid": "",
"library_uuid": "G8f4GEWE",
"path": "3Hw9NaF2",
"name": "function",
"create_time": 1557074706,
"is_default": false,
"position": 100000,
"name_pinyin": ""
}
],
"is_pin": false,
"field_config_uuid": ""
}
],
"server_update_stamp": 1570576440948387
}

添加用例库模块​

添加用例库模块

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/library/:libraryUUID/modules/add

HTTP Method​

POST

是否需要登录​

是

传值方式​

JSON

请求参数列表​

参数名值类型是否必须说明
moduleTestCaseModulePayload是

返回参数列表​

参数名值类型说明
moduleTestCaseModulePayload
server_update_stampint64

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/library/G8f4GEWE/modules/add' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{"module":{"name":"m1","parent_uuid":""}}'

返回示例​

{
"module": {
"uuid": "YAdd9TdB",
"parent_uuid": "",
"library_uuid": "G8f4GEWE",
"path": "YAdd9TdB",
"name": "m1",
"create_time": 1570576692,
"is_default": false,
"position": 0,
"name_pinyin": ""
},
"server_update_stamp": 1570576692896874
}

删除用例库模块​

删除用例库模块

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/library/:libraryUUID/modules/delete

HTTP Method​

POST

是否需要登录​

是

传值方式​

JSON

请求参数列表​

参数名值类型是否必须说明
module_uuidstring是

返回参数列表​

error

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/library/G8f4GEWE/modules/delete' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{"module_uuid":"YAdd9TdB"}'

返回示例​

{
"code": 200,
"errcode": "OK",
"type": "OK"
}

修改用例库模块​

修改用例库模块

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/library/:libraryUUID/modules/update

HTTP Method​

POST

是否需要登录​

是

请求参数列表​

参数名值类型是否必须说明
moduleTestCaseModulePayload是

返回参数列表​

参数名值类型说明
moduleTestCaseModulePayload
server_update_stampint64

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/library/G8f4GEWE/modules/update' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{"module":{"name":"m3","uuid":"55sVGwDC"}}'

返回示例​

{
"module": {
"uuid": "55sVGwDC",
"parent_uuid": "",
"library_uuid": "G8f4GEWE",
"path": "55sVGwDC",
"name": "m3",
"create_time": 1570576975,
"is_default": false,
"position": 0,
"name_pinyin": ""
},
"server_update_stamp": 1570576982067653
}

绑定测试用例到任务​

绑定测试用例或测试用例的执行结果到任务

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/bind_case

HTTP Method​

POST

是否需要登录​

是

传值方式​

JSON

请求参数列表​

参数名值类型是否必须说明
cases[]BindCasesPayload是批量绑定的 case 数组

BindCasesPayload

参数名值类型是否必须说明
task_uuidstring是绑定的任务 uuid
case_uuids[]string是用例 uuids
plan_uuidstring否传则代表绑定用例结果,不传则代表绑定用例本身

返回参数列表​

参数名值类型说明
success_cases[]string成功绑定的用例 uuid
success_tasks[]string成功绑定的任务 uuid
not_found_cases[]string未找到的用例 uuid
not_found_cases_object[]SimpleCase未找到的用例对象
no_permission_plan_cases[]string无测试计划浏览权限的用例 uuid
no_permission_plan_cases_object[]SimpleCase
no_permission_libs[]string无用例库浏览权限的用例 uuid
no_permission_libs_object[]SimpleCase
no_permission_tasks[]string无任务浏览权限的任务 uuid
no_permission_tasks_object[]SimpleCase

SimpleCase

参数名值类型说明
namestring用例名称
id_keystring用例 id_key
numberint用例 number
idstringid_key+number
uuidstring用例 uuid

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/bind_case' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{"cases":[{"task_uuid":"BWxt3PAWbpFhBA23","case_uuids":["3MoRnyP1"],"plan_uuid":"JECeUr6k"}]}'

返回示例​

{
"success_cases": ["3MoRnyP1"],
"success_tasks": ["BWxt3PAWbpFhBA23"],
"not_found_cases": [],
"not_found_cases_object": [],
"no_permission_plan_cases": [],
"no_permission_plan_cases_object": [],
"no_permission_libs": [],
"no_permission_libs_object": [],
"no_permission_tasks": [],
"no_permission_tasks_object": []
}

解除测试用例和任务的绑定​

解除测试用例和任务的绑定

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/unbind_case

HTTP Method​

POST

是否需要登录​

是

传值方式​

JSON

请求参数列表​

参数名值类型是否必须说明
case_uuidstring是用例 uuid
task_uuidstring是绑定的任务 uuid
plan_uuidstring否传则代表绑定用例结果,不传则代表绑定用例本身

返回参数列表​

error

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/unbind_case' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{"case_uuid":"3MoRnyP1","task_uuid":"BWxt3PAWbpFhBA23","plan_uuid":"JECeUr6k"}'

返回示例​

{
"code": 200,
"errcode": "OK",
"type": "OK"
}

按 ID 搜索测试用例​

按用例 ID 搜索测试用例

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/search

HTTP Method​

GET

是否需要登录​

是

传值方式​

JSON

请求参数列表​

参数名值类型是否必须说明
keystring是用例 ID
plan_uuidstring否传则代表搜索 plan 下的用例

返回参数列表​

参数名值类型说明
cases[]testcasepayload

请求示例​

curl -X GET \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/search?key=3'\
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache'

返回示例​

{
"cases": [
{
"uuid": "3MoRnyP1",
"library_uuid": "G8f4GEWE",
"module_uuid": "JrsKwtoS",
"path": "JrsKwtoS-3MoRnyP1",
"name": "test case 1",
"priority": "6ibNTRBd",
"type": "LyCk7yci",
"assign": "BWxt3PAW",
"desc": "",
"create_time": 1557164506,
"id_key": "T",
"number": 3,
"id": "T3",
"lib_name": "order system",
"condition": "",
"steps": [],
"name_pinyin": ""
}
]
}

调整功能模块位置​

调整功能模块位置

URL​

https://your-host-name/project/api/project/team/:teamUUID/testcase/library/:libraryUUID/modules/sort

HTTP Method​

POST

是否需要登录​

是

传值方式​

JSON

请求参数列表​

参数名值类型是否必须说明
module_uuidstring是被操作的模块的 uuid
previous_uuidstring是操作后的上个模块的 uuid
previous_relationstring是两个模块间的关系: brother,child

返回参数列表​

error

请求示例​

curl -X POST \
'https://your-host-name/project/api/project/team/3QKyQ54X/testcase/library/G8f4GEWE/modules/sort' \
-H 'Content-Type: application/json' \
-H 'Ones-Auth-Token: si83t7NzOvAspJ4L7RhKparuw9FvAsy7z3UupTCiGxhd7zEO2cBIG12vrw31sPRP' \
-H 'Ones-User-Id: 6ZpgEzkk' \
-H 'cache-control: no-cache' \
-d '{"module_uuid":"55sVGwDC","previous_uuid":"HNcvXbWH","previous_relation":"child"}'

返回示例​

{
"code": 200,
"errcode": "OK",
"type": "OK"
}