调整pms测试用例

This commit is contained in:
floraachy
2024-01-16 13:48:16 +08:00
parent 18809c323f
commit 5e497682b8
130 changed files with 7768 additions and 2616 deletions
-2
View File
@@ -105,8 +105,6 @@ pip install -r requirements.txt
## 五、如何创建用例
注意:如果想用我框架中的用例执行运行测试,可以暂时跳过这一章节,直接看章节 "运行自动化测试"。
### 1. 修改配置文件 `config.settings.py`
1)确认用例是通过YAML还是Excel编写,由CASE_FILE_TYPE控制
2)确认测试完成后是否发送测试结果,由SEND_RESULT_TYPE控制,并填充对应邮件/钉钉/企业微信配置信息
+16 -9
View File
@@ -17,9 +17,9 @@ ENV_VARS = {
},
"test": {
# 环境相关域名
"host": "https://testforgeplus.trustie.net",
"wiki_host": "",
"pms_host": "https://testpm.trustie.net",
"host": "****host-test****",
"wiki_host": "****wiki_host-test****",
"pms_host": "****pm_host-test****",
# 获取oauth_token需要的参数
"client_id": "****client_id****",
"client_secret": "****client_secret****",
@@ -38,9 +38,12 @@ ENV_VARS = {
"env_repo_identifier": "auotest",
"env_project_id": "59",
# pms相关环境变量
"env_pms_product_id": "215",
"env_pms_product_identifier": "6E0453",
"env_pms_project_id": "135",
"env_pms_product_id": "360",
"env_pms_product_identifier": "5E315F",
"env_pms_project_id": "205",
"env_enterprise_identifier": "prefecture",
"env_enterprise_id": "1",
"env_organization_id": 105,
# 数据库配置
"db_info": {
"db_host": "xx.xx.xx.xx",
@@ -59,9 +62,9 @@ ENV_VARS = {
},
"pre": {
# 环境相关域名
"host": "http://172.20.32.202:4000",
"wiki_host": "http://172.20.32.202:8093",
"pms_host": "https://testpm.trustie.net",
"host": "****host-pre****",
"wiki_host": "****wiki_host-pre****",
"pms_host": "****pm_host-pre****",
# 获取oauth_token需要的参数
"client_id": "****client_id-pre****",
"client_secret": "****client_secret-pre****",
@@ -83,6 +86,8 @@ ENV_VARS = {
"env_pms_product_id": "",
"env_pms_product_identifier": "",
"env_pms_project_id": "",
"env_enterprise_id": "",
"env_organization_id": "",
# 数据库配置
"db_info": {
"db_host": "xx.xx.xx.xx",
@@ -125,6 +130,8 @@ ENV_VARS = {
"env_pms_product_id": "",
"env_pms_product_identifier": "",
"env_pms_project_id": "",
"env_enterprise_id": "",
"env_organization_id": "",
# 数据库配置
"db_info": {
"db_host": "xx.xx.xx.xx",
@@ -0,0 +1,49 @@
case_common:
allure_epic: 项目管理
allure_feature: 产品
allure_story: 产品模块
case_markers:
- pms
- product
- product_module
- usefixtures: gitlink_login
case_info:
-
id: pms_get_product_module_detail_01
title: 产品下获取产品模块详细信息接口
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProductModule/${product_module_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
message: 断言接口返回的message
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assertModuleId:
message: 断言接口返回的模块id与请求参数一致
type_jsonpath: $.data.id
assert_type: ==
expect_value: ${product_module_id}
assert_sql:
extract:
type_jsonpath:
product_module_id: $.data.id
product_module_parent_id: $.data.parentId
product_module_name: $.data.moduleName
case_dependence:
setup:
interface:
- pms_new_product_module_01
teardown:
interface: pms_delete_product_module_01
@@ -5,16 +5,16 @@ case_common:
case_markers:
- pms
- product
- module
- product_module
- usefixtures: gitlink_login
case_info:
-
id: pms_delete_product_module_01
title: 产品下删除模块接口
title: 产品下删除模块接口 - 删除成功
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductModule/${module_id}
severity: blocker
url: ${pms_host}/api/pms/pmsProductModule/${product_module_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
@@ -33,5 +33,58 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_product_list_01
- pms_new_product_module_01
- pms_new_product_module_01
-
id: pms_delete_product_module_02
title: 产品下删除子级模块接口 - 删除成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProductModule/${product_module_children_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_product_module_01
- pms_new_product_module_children_02
-
id: pms_delete_product_module_03
title: 产品下删除模块接口 - 存在子级模块,删除失败
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProductModule/${product_module_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该模块下存在子模块,请先删除子模块
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_product_module_01
- pms_new_product_module_children_02
@@ -5,15 +5,22 @@ case_common:
case_markers:
- pms
- product
- module
- product_module
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_new_product_module_01
teardown:
interface: pms_delete_product_module_01
case_info:
-
id: pms_edit_product_module_01
title: 产品下编辑模块接口
title: 产品下编辑模块接口 - 更新成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProductModule
method: PUT
headers:
@@ -21,7 +28,7 @@ case_info:
cookies: ${cookies}
request_type: json
payload:
id: ${module_id}
id: ${product_module_id}
moduleName: ${generate_words(nb=2)}
parentId: 0
files:
@@ -34,7 +41,117 @@ case_info:
assert_sql:
extract:
case_dependence:
-
id: pms_edit_product_module_02
title: 产品下编辑子级模块接口 - 更新成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProductModule
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_module_children_id}
moduleName: ${generate_words(nb=2)}
parentId: ${product_module_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_product_list_01
- pms_new_product_module_01
- pms_new_product_module_children_02
-
id: pms_edit_product_module_03
title: 产品下编辑子级模块接口 - 模块名称长度31,更新失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductModule
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_module_id}
moduleName: ${faker.pystr(max_chars=31)}
parentId: 0
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[moduleName]字段校验异常:长度需要小于30'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_edit_product_module_04
title: 产品下编辑子级模块接口 - 模块名称为空,更新失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductModule
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_module_id}
moduleName:
parentId: 0
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功 # 当传参为空时,当前设计为不更新;
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_edit_product_module_05
title: 产品下编辑子级模块接口 - 模块名称重复,更新失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductModule
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_module_id}
moduleName: ${product_module_name}
parentId: 0
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该模块名称已存在
assert_type: contains
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_product_module_detail_01
- pms_new_product_module_01
@@ -5,7 +5,7 @@ case_common:
case_markers:
- pms
- product
- module
- product_module
- usefixtures: gitlink_login
case_info:
@@ -13,7 +13,7 @@ case_info:
id: pms_get_product_module_list_01
title: 获取产品下的模块接口(树状)
run: True
severity: normal
severity: critical
url: ${pms_host}/api/pms/pmsProductModule/treeList
method: GET
headers:
@@ -39,7 +39,7 @@ case_info:
id: pms_get_product_module_list_02
title: 获取产品下的模块接口
run: True
severity: normal
severity: critical
url: ${pms_host}/api/pms/pmsProductModule/list
method: GET
headers:
@@ -5,16 +5,16 @@ case_common:
case_markers:
- pms
- product
- module
- product_module
- usefixtures: gitlink_login
case_info:
-
id: pms_new_product_module_01
title: 产品下新建模块接口
title: 产品下新建模块接口 - 新建成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProductModule
method: POST
headers:
@@ -22,8 +22,8 @@ case_info:
cookies: ${cookies}
request_type: json
payload:
moduleName: ${generate_words(lan='zh', nb=2)}
pmsProductIdentifier: ${env_pms_product_identifier}
moduleName: ${generate_words(lan='zh', nb=2)}
parentId: 0
files:
assert_response:
@@ -35,8 +35,125 @@ case_info:
assert_sql:
extract:
type_jsonpath:
module_id: $.data
product_module_id: $.data
case_dependence:
teardown:
interface:
- pms_delete_product_module_01
- pms_delete_product_module_01
-
id: pms_new_product_module_children_02
title: 产品下新建子级模块接口 - 新建成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProductModule
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
moduleName: ${generate_words(lan='zh', nb=2)}
parentId: ${product_module_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_module_children_id: $.data
case_dependence:
setup:
interface: pms_new_product_module_01
teardown:
interface:
- pms_delete_product_module_02
- pms_delete_product_module_01
-
id: pms_new_product_module_03
title: 产品下新建模块接口 - 模块名称长度31,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductModule
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
moduleName: ${faker.pystr(max_chars=31)}
parentId: 0
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[moduleName]字段校验异常:长度需要小于30'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_new_product_module_04
title: 产品下新建模块接口 - 模块名称为空,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductModule
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
moduleName:
parentId: 0
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[moduleName]字段校验异常:must not be blank'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_new_product_module_05
title: 产品下新建模块接口 - 模块名称重复,新建失败
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProductModule
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
moduleName: ${product_module_name}
parentId: 0
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该模块名称已存在
assert_type: contains
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_product_module_01
- pms_get_product_module_detail_01
@@ -0,0 +1,47 @@
case_common:
allure_epic: 项目管理
allure_feature: 产品
allure_story: 产品计划
case_markers:
- pms
- product
- product_plan
- usefixtures: gitlink_login
case_info:
-
id: pms_get_product_plan_detail_01
title: 产品下获取产品计划详细信息接口
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductPlan/${product_plan_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
message: 断言接口返回的message
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assertModuleId:
message: 断言接口返回的id与请求参数一致
type_jsonpath: $.data.id
assert_type: ==
expect_value: ${product_plan_id}
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data.id
product_plan_name: $.data.planTitle
case_dependence:
setup:
interface:
- pms_new_product_plan_01
teardown:
interface: pms_delete_product_plan_01
@@ -5,7 +5,7 @@ case_common:
case_markers:
- pms
- product
- plan
- product_plan
- usefixtures: gitlink_login
case_info:
@@ -13,7 +13,7 @@ case_info:
id: pms_delete_product_plan_01
title: 产品下删除计划接口
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProductPlan/${product_plan_id}
method: DELETE
headers:
@@ -5,15 +5,20 @@ case_common:
case_markers:
- pms
- product
- plan
- product_plan
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_new_product_plan_01
case_info:
-
id: pms_edit_product_plan_01
title: 产品下编辑计划接口
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProductPlan
method: PUT
headers:
@@ -27,7 +32,6 @@ case_info:
priorityId: ${random.choice([1,2,3,4])}
startTime: ${generate_today_date}
endTime: ${generate_time_after_week}
pmsProductIdentifier: ${env_pms_product_identifier}
files:
assert_response:
status_code: 200
@@ -38,6 +42,160 @@ case_info:
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_product_plan_01
-
id: pms_edit_product_plan_02
title: 产品下编辑计划接口 - 计划标题51, 编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductPlan
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_plan_id}
planTitle: ${faker.pystr(max_chars=51)}
planDescription: ${generate_paragraph}
priorityId: ${random.choice([1,2,3,4])}
startTime: ${generate_today_date}
endTime: ${generate_time_after_week}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[planTitle]字段校验异常:长度需要小于50'
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data
case_dependence:
-
id: pms_edit_product_plan_03
title: 产品下编辑计划接口 - 计划标题为空, 编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductPlan
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_plan_id}
planTitle:
planDescription: ${generate_paragraph}
priorityId: ${random.choice([1,2,3,4])}
startTime: ${generate_today_date}
endTime: ${generate_time_after_week}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功 # 当传参为空时,当前设计为不更新;
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data
case_dependence:
-
id: pms_edit_product_plan_05
title: 产品下编辑计划接口 - 计划描述长度201, 编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductPlan
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_plan_id}
planTitle: 新计划 - ${generate_company_name(lan='zh', fix='pre')}_${generate_today_date}
planDescription: ${faker.pystr(max_chars=201)}
priorityId: ${random.choice([1,2,3,4])}
startTime: ${generate_today_date}
endTime: ${generate_time_after_week}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[planDescription]字段校验异常:长度需要小于200'
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data
case_dependence:
-
id: pms_edit_product_plan_05
title: 产品下编辑计划接口 - 计划描述为空, 编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductPlan
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_plan_id}
planTitle: 新计划 - ${generate_company_name(lan='zh', fix='pre')}_${generate_today_date}
planDescription:
priorityId: ${random.choice([1,2,3,4])}
startTime: ${generate_today_date}
endTime: ${generate_time_after_week}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功 # 当传参为空时,当前设计为不更新;
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data
case_dependence:
-
id: pms_edit_product_plan_06
title: 产品下编辑计划接口 - 结束时间早于开始时间, 编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductPlan
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_plan_id}
planTitle: 新计划 - ${generate_company_name(lan='zh', fix='pre')}_${generate_today_date}
planDescription: ${generate_paragraph}
priorityId: ${random.choice([1,2,3,4])}
startTime: ${generate_time_after_week}
endTime: ${generate_today_date}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 结束时间不能早于开始时间
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data
case_dependence:
@@ -5,7 +5,7 @@ case_common:
case_markers:
- pms
- product
- plan
- product_plan
- usefixtures: gitlink_login
case_info:
@@ -13,7 +13,7 @@ case_info:
id: pms_get_product_plan_list_01
title: 获取产品下的计划接口
run: True
severity: normal
severity: critical
url: ${pms_host}/api/pms/pmsProductPlan/list
method: GET
headers:
@@ -41,7 +41,7 @@ case_info:
id: pms_get_product_plan_list_by_name_02
title: 获取产品下的计划接口 - 通过计划名称关键字搜索
run: True
severity: normal
severity: critical
url: ${pms_host}/api/pms/pmsProductPlan/list
method: GET
headers:
@@ -1,41 +0,0 @@
case_common:
allure_epic: 项目管理
allure_feature: 产品
allure_story: 产品计划
case_markers:
- pms
- product
- plan
- usefixtures: gitlink_login
case_info:
-
id: pms_get_product_plan_requirement_list_01
title: 获取产品下的计划的关联需求列表接口
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductRequirement/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
pmsProductPlanId: ${product_plan_id}
pageNum: 1
pageSize: 20
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 查询成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_product_plan_01
- pms_get_product_plan_list_by_name_02
@@ -5,15 +5,15 @@ case_common:
case_markers:
- pms
- product
- plan
- product_plan
- usefixtures: gitlink_login
case_info:
-
id: pms_new_product_plan_01
title: 产品下新建计划接口
title: 产品下新建计划接口 - 新建成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProductPlan
method: POST
headers:
@@ -35,6 +35,166 @@ case_info:
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data
case_dependence:
teardown:
interface: pms_delete_product_plan_01
-
id: pms_new_product_plan_02
title: 产品下新建计划接口 - 计划标题51, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductPlan
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
planTitle: ${faker.pystr(max_chars=51)}
planDescription: ${generate_paragraph}
priorityId: ${random.choice([1,2,3,4])}
startTime: ${generate_today_date}
endTime: ${generate_time_after_week}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[planTitle]字段校验异常:长度需要小于50'
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data
case_dependence:
-
id: pms_new_product_plan_03
title: 产品下新建计划接口 - 计划标题为空, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductPlan
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
planTitle:
planDescription: ${generate_paragraph}
priorityId: ${random.choice([1,2,3,4])}
startTime: ${generate_today_date}
endTime: ${generate_time_after_week}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[planTitle]字段校验异常:计划标题不能为空'
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data
case_dependence:
-
id: pms_new_product_plan_05
title: 产品下新建计划接口 - 计划描述长度201, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductPlan
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
planTitle: 新计划 - ${generate_company_name(lan='zh', fix='pre')}_${generate_today_date}
planDescription: ${faker.pystr(max_chars=201)}
priorityId: ${random.choice([1,2,3,4])}
startTime: ${generate_today_date}
endTime: ${generate_time_after_week}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[planDescription]字段校验异常:长度需要小于200'
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data
case_dependence:
-
id: pms_new_product_plan_05
title: 产品下新建计划接口 - 计划描述为空, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductPlan
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
planTitle: 新计划 - ${generate_company_name(lan='zh', fix='pre')}_${generate_today_date}
planDescription:
priorityId: ${random.choice([1,2,3,4])}
startTime: ${generate_today_date}
endTime: ${generate_time_after_week}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[planDescription]字段校验异常:计划描述不能为空'
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data
case_dependence:
-
id: pms_new_product_plan_06
title: 产品下新建计划接口 - 结束时间早于开始时间, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductPlan
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
planTitle: 新计划 - ${generate_company_name(lan='zh', fix='pre')}_${generate_today_date}
planDescription: ${generate_paragraph}
priorityId: ${random.choice([1,2,3,4])}
startTime: ${generate_time_after_week}
endTime: ${generate_today_date}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 结束时间不能早于开始时间
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_plan_id: $.data
@@ -8,12 +8,13 @@ case_common:
- product_requirement
- usefixtures: gitlink_login
case_info:
-
id: pms_delete_product_requirement_01
title: 产品下删除需求接口
title: 产品下删除需求接口 - 单个需求,删除成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProductRequirement/${product_requirement_id}
method: DELETE
headers:
@@ -33,7 +34,32 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_product_module_list_03
- pms_get_enterprise_user_list_01
- pms_upload_file_01
- pms_new_product_requirement_01
- pms_new_product_requirement_02
-
id: pms_delete_product_requirement_02
title: 产品下删除需求接口 - 多个需求,删除成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProductRequirement/${list_to_str(${product_requirement_ids})}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_product_requirement_02
- pms_new_product_requirement_02
- pms_get_product_requirement_list_by_name_03
@@ -6,15 +6,31 @@ case_common:
- pms
- product
- product_requirement
- plan
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_new_product_requirement_tag_01
- pms_get_product_requirement_tag_list_by_name_02
- pms_new_project_03
- pms_new_product_module_01
- pms_new_product_plan_01
- pms_upload_file_01
- pms_new_product_requirement_02
teardown:
interface:
- pms_delete_product_module_01
- pms_delete_product_plan_01
- pms_delete_product_requirement_tag_01
case_info:
-
id: pms_edit_product_requirement_01
title: 产品下编辑需求接口
title: 产品下编辑需求接口 - 更新成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProductRequirement
method: PUT
headers:
@@ -28,12 +44,12 @@ case_info:
content: ${generate_paragraph(lan='zh', nb=10)}
requirementAssigneeGitlinkIds: ${random.choice(${assignee_ids})}
priorityId: ${random.choice([5,6,7,8])}
tags: ${random.choice(${tag_ids})}
pmsProductModuleId: ${module_id}
tags: ${product_requirement_tag_id}
pmsProductModuleId: ${product_module_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time_after_week}
pmsProjectId:
pmsProductPlanId:
pmsProductPlanId: ${product_plan_id}
pmsProjectId: ${pms_product_project_id}
pmsProductIdentifier: ${env_pms_product_identifier}
files:
assert_response:
@@ -47,17 +63,14 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_product_module_list_03
- pms_get_enterprise_user_list_01
- pms_get_product_requirement_tags_01
- pms_get_project_list_by_product_03
- pms_upload_file_01
- pms_new_product_requirement_01
-
id: pms_edit_product_requirement_02
title: 产品需求移入计划
run: True
severity: normal
title: 产品下编辑需求接口 - 仅更新需求名称,更新成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProductRequirement
method: PUT
headers:
@@ -66,7 +79,32 @@ case_info:
request_type: json
payload:
id: ${product_requirement_id}
pmsProductModuleId: ${product_requirement_module_id}
title: ${generate_paragraph(lan='zh',nb=1)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_edit_product_requirement_03
title: 产品需求移入计划
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProductRequirement
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_requirement_id}
pmsProductModuleId: ${${product_requirement_module_id} if ${product_requirement_module_id} else ''}
pmsProductPlanId: ${product_plan_id}
pmsProjectId: ${${product_requirement_project_id} if ${product_requirement_project_id} else ''}
requirementAssigneeGitlinkIds: ${${product_requirement_assignee_id} if ${product_requirement_assignee_id} else ''}
@@ -84,4 +122,121 @@ case_info:
setup:
interface:
- pms_get_product_requirement_list_02
- pms_new_product_plan_01
-
id: pms_edit_product_requirement_04
title: 产品下编辑需求接口 - 模块传-1, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductRequirement
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_requirement_id}
status: ${random.choice([6, 7, 8, 9, 10])}
title: ${generate_paragraph(lan='zh',nb=1)}
content: ${generate_paragraph(lan='zh', nb=10)}
requirementAssigneeGitlinkIds: ${random.choice(${assignee_ids})}
priorityId: ${random.choice([5,6,7,8])}
tags: ${product_requirement_tag_id}
pmsProductModuleId: -1
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time_after_week}
pmsProductPlanId: ${product_plan_id}
pmsProjectId: ${pms_product_project_id}
pmsProductIdentifier: ${env_pms_product_identifier}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该模块不存在(模块ID[-1])
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_upload_file_01
-
id: pms_edit_product_requirement_05
title: 产品下编辑需求接口 - 需求名称长度201,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductRequirement
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_requirement_id}
status: ${random.choice([6, 7, 8, 9, 10])}
title: ${faker.pystr(max_chars=201)}
content: ${generate_paragraph(lan='zh', nb=10)}
requirementAssigneeGitlinkIds: ${random.choice(${assignee_ids})}
priorityId: ${random.choice([5,6,7,8])}
tags: ${product_requirement_tag_id}
pmsProductModuleId: ${product_module_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time_after_week}
pmsProductPlanId: ${product_plan_id}
pmsProjectId: ${pms_product_project_id}
pmsProductIdentifier: ${env_pms_product_identifier}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[title]字段校验异常:长度需要小于200'
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_upload_file_01
-
id: pms_edit_product_requirement_06
title: 产品下编辑需求接口 - 需求名称为空,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductRequirement
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${product_requirement_id}
status: ${random.choice([6, 7, 8, 9, 10])}
title:
content: ${generate_paragraph(lan='zh', nb=10)}
requirementAssigneeGitlinkIds: ${random.choice(${assignee_ids})}
priorityId: ${random.choice([5,6,7,8])}
tags: ${product_requirement_tag_id}
pmsProductModuleId: ${product_module_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time_after_week}
pmsProductPlanId: ${product_plan_id}
pmsProjectId: ${pms_product_project_id}
pmsProductIdentifier: ${env_pms_product_identifier}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[title]字段校验异常:must not be blank'
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_upload_file_01
@@ -13,7 +13,7 @@ case_info:
id: pms_get_product_requirement_list_01
title: 获取产品下全部模块需求列表
run: True
severity: normal
severity: critical
url: ${pms_host}/api/pms/pmsProductRequirement/list
method: GET
headers:
@@ -67,4 +67,62 @@ case_info:
product_requirement_project_id: $.rows[0].pmsProjectId
product_requirement_assignee_id: $.rows[0].requirementAssigneeList[*].gitlinkUserId
product_requirement_tags: $.rows[0].tags
case_dependence:
-
id: pms_get_product_requirement_list_by_name_03
title: 获取产品下全部模块需求列表 - 通过需求名称关键字搜索
run: false
severity: normal
url: ${pms_host}/api/pms/pmsProductRequirement/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
pageNum: 1
pageSize: 20
title: 新需求
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 查询成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_requirement_ids: $.rows[*].id
case_dependence:
-
id: pms_get_product_requirement_list_by_plan_03
title: 获取产品下全部模块需求列表 - 通过计划获取
run: false
severity: normal
url: ${pms_host}/api/pms/pmsProductRequirement/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
pmsProductPlanId: ${product_plan_id}
pageNum: 1
pageSize: 20
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 查询成功
assert_type: ==
assert_sql:
extract:
case_dependence:
@@ -13,7 +13,7 @@ case_info:
id: pms_get_product_requirement_plans_01
title: 获取产品需求下可选计划列表接口
run: True
severity: normal
severity: critical
url: ${pms_host}/api/pms/pmsProductPlan/list
method: GET
headers:
@@ -8,12 +8,23 @@ case_common:
- product_requirement
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_new_product_module_01
- pms_new_product_plan_01
teardown:
interface:
- pms_delete_product_module_01
- pms_delete_product_plan_01
case_info:
-
id: pms_new_product_requirement_01
title: 产品下新建需求接口
title: 产品下新建需求接口 - 新建成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProductRequirement
method: POST
headers:
@@ -21,17 +32,17 @@ case_info:
cookies: ${cookies}
request_type: json
payload:
title: ${generate_paragraph(lan='zh',nb=1)}
pmsProductIdentifier: ${env_pms_product_identifier}
title: 新需求 - ${generate_paragraph(lan='zh',nb=1)}
content: ${generate_paragraph(lan='zh', nb=10)}
requirementAssigneeGitlinkIds: ${random.choice(${assignee_ids})}
priorityId: ${random.choice([5,6,7,8])}
pmsProductModuleId: ${module_id}
pmsProductModuleId: ${product_module_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time_after_week}
pmsProjectId:
pmsProductPlanId:
pmsProductPlanId: ${product_plan_id}
pmsProjectId: ${pms_product_project_id}
fileIdentifiers: ${file_identifier}
pmsProductIdentifier: ${env_pms_product_identifier}
files:
assert_response:
status_code: 200
@@ -46,15 +57,40 @@ case_info:
case_dependence:
setup:
interface:
- pms_new_product_module_01
- pms_get_enterprise_user_list_01
- pms_get_project_list_by_product_03
- pms_upload_file_01
teardown:
interface:
- pms_delete_product_module_01
-
id: pms_new_product_requirement_02
title: 产品下新建需求接口 - 仅传必填参数,新建成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProductRequirement
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
title: 新需求 - ${generate_paragraph(lan='zh',nb=1)}
content: ${generate_paragraph(lan='zh', nb=10)}
priorityId: ${random.choice([5,6,7,8])}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
product_requirement_id: $.data
case_dependence:
-
id: pms_new_product_requirement_03
title: 产品下新建需求接口 - 模块传-1, 新建失败
run: True
severity: normal
@@ -65,28 +101,107 @@ case_info:
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
title: ${generate_paragraph(lan='zh',nb=1)}
content: ${generate_paragraph(lan='zh', nb=10)}
requirementAssigneeGitlinkIds: ${random.choice(${assignee_ids})}
priorityId: ${random.choice([5,6,7,8])}
pmsProductModuleId: -1
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time_after_week}
pmsProjectId:
pmsProductPlanId:
fileIdentifiers: ${file_identifier}
pmsProductIdentifier: ${env_pms_product_identifier}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 产品模块不存在(产品模块ID[-1])
expect_value: 该模块不存在(模块ID[-1])
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_new_product_requirement_04
title: 产品下新建需求接口 - 需求名称长度201,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductRequirement
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
title: ${faker.pystr(max_chars=201)}
content: ${generate_paragraph(lan='zh', nb=10)}
priorityId: ${random.choice([5,6,7,8])}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[title]字段校验异常:长度需要小于200'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_new_product_requirement_05
title: 产品下新建需求接口 - 需求名称为空,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductRequirement
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
title:
content: ${generate_paragraph(lan='zh', nb=10)}
priorityId: ${random.choice([5,6,7,8])}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[title]字段校验异常:must not be blank'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_new_product_requirement_06
title: 产品下新建需求接口 - 所选项目未关联产品,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductRequirement
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProductIdentifier: ${env_pms_product_identifier}
title: 新需求 - ${generate_paragraph(lan='zh',nb=1)}
content: ${generate_paragraph(lan='zh', nb=10)}
priorityId: ${random.choice([5,6,7,8])}
pmsProjectId: ${pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该项目不属于当前产品
assert_type: contains
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_upload_file_01
- pms_new_project_02
- pms_get_project_list_by_name_02
teardown:
interface:
- pms_delete_project_01
@@ -13,7 +13,7 @@ case_info:
id: pms_batch_edit_product_requirement_01
title: 批量更新产品需求接口
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProductRequirement/batch
method: PUT
headers:
@@ -27,8 +27,8 @@ case_info:
priorityId: ${random.choice([5,6,7,8])}
pmsProductModuleId: ${module_id}
statusId: ${random.choice([6, 7, 8, 9, 10])}
pmsProductPlanId:
tags: ${random.choice(${tag_ids})}
pmsProductPlanId: ${product_plan_id}
tags: ${random.choice(${product_requirement_tag_ids})}
files:
assert_response:
status_code: 200
@@ -43,6 +43,7 @@ case_info:
interface:
- pms_get_product_module_list_03
- pms_get_enterprise_user_list_01
- pms_get_product_requirement_tags_01
- pms_get_product_requirement_tag_list_01
- pms_upload_file_01
- pms_new_product_requirement_01
- pms_new_product_requirement_02
- pms_new_product_plan_01
@@ -9,6 +9,11 @@ case_common:
- journal
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_new_product_requirement_02
case_info:
-
id: pms_add_journal_01
@@ -38,10 +43,6 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_product_module_list_03
- pms_get_enterprise_user_list_01
- pms_upload_file_01
- pms_new_product_requirement_01
- pms_upload_file_01
-
id: pms_add_journal_reply_02
@@ -73,10 +74,6 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_product_module_list_03
- pms_get_enterprise_user_list_01
- pms_upload_file_01
- pms_new_product_requirement_01
- pms_upload_file_01
- pms_add_journal_01
- pms_upload_file_01
@@ -9,6 +9,11 @@ case_common:
- journal
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_new_product_requirement_02
case_info:
-
id: pms_delete_journal_01
@@ -34,10 +39,6 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_product_module_list_03
- pms_get_enterprise_user_list_01
- pms_upload_file_01
- pms_new_product_requirement_01
- pms_upload_file_01
- pms_add_journal_01
@@ -65,10 +66,6 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_product_module_list_03
- pms_get_enterprise_user_list_01
- pms_upload_file_01
- pms_new_product_requirement_01
- pms_upload_file_01
- pms_add_journal_01
- pms_upload_file_01
@@ -9,6 +9,11 @@ case_common:
- journal
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_new_product_requirement_02
case_info:
-
id: pms_edit_journal_01
@@ -37,10 +42,6 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_product_module_list_03
- pms_get_enterprise_user_list_01
- pms_upload_file_01
- pms_new_product_requirement_01
- pms_upload_file_01
- pms_add_journal_01
- pms_upload_file_01
@@ -72,10 +73,6 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_product_module_list_03
- pms_get_enterprise_user_list_01
- pms_upload_file_01
- pms_new_product_requirement_01
- pms_upload_file_01
- pms_add_journal_01
- pms_upload_file_01
@@ -39,7 +39,4 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_product_module_list_03
- pms_get_enterprise_user_list_01
- pms_upload_file_01
- pms_new_product_requirement_01
- pms_new_product_requirement_02
@@ -1,36 +1,36 @@
case_common:
allure_epic: 项目管理
allure_feature: 产品
allure_story: 产品需求
allure_story: 产品
case_markers:
- pms
- product
- product_requirement
- usefixtures: gitlink_login
case_info:
-
id: pms_get_product_requirement_tags_01
title: 获取产品需求下可选标记列表接口
id: pms_get_product_detail_01
title: 通过产品标识获取产品详细信息
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProductRequirementTag/list
severity: critical
url: ${pms_host}/api/pms/pmsProduct/ByIdentifier/${env_pms_product_identifier}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmsEnterpriseId: 1
pageSize: 20
pageNum: 1
pmsEnterpriseIdentifier: prefecture
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 查询成功
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
tag_ids: $.rows[*].id
case_dependence:
env_pms_product_name: $.data.productName
@@ -7,12 +7,17 @@ case_common:
- product
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
case_info:
-
id: pms_delete_product_01
title: 企业下删除产品接口
title: 企业下删除产品接口 - 单个产品,删除成功
run: true
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProduct/ByIdentifier/${pms_product_identifier}
method: DELETE
headers:
@@ -32,6 +37,5 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_new_product_01
- pms_get_product_list_by_name_02
- pms_get_product_list_by_name_02
+103 -15
View File
@@ -3,15 +3,51 @@ case_common:
allure_feature: 产品
allure_story: 产品
case_markers:
- pms
- product
- usefixtures: gitlink_login
- pms
- product
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
case_info:
-
id: pms_edit_product_01
title: 企业下编辑产品接口
title: 企业下编辑产品接口 - 更新成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProduct
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
productIdentifier: ${pms_product_identifier}
productName: ${generate_company_name(lan='zh', fix='pre')}_${generate_words()}
productAssigneeGitlinkId: ${random.choice(${assignee_ids})}
productDescription: ${generate_paragraph}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface: pms_new_product_01
teardown:
interface: pms_delete_product_01
-
id: pms_edit_product_02
title: 企业下编辑产品接口 - 产品名称长度51,更新失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProduct
method: PUT
@@ -20,25 +56,77 @@ case_info:
cookies: ${cookies}
request_type: json
payload:
productName: ${generate_company_name(lan='zh', fix='pre')}_${generate_words()}
productIdentifier: ${env_pms_product_identifier}
productName: ${faker.pystr(max_chars=51)}
productAssigneeGitlinkId: ${random.choice(${assignee_ids})}
productDescription: ${generate_paragraph}
productIdentifier: ${pms_product_identifier}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[productName]字段校验异常:长度需要小于50'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_edit_product_03
title: 企业下编辑产品接口 - 产品描述长度201,更新失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProduct
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
productIdentifier: ${env_pms_product_identifier}
productName: 新产品_${generate_company_name(lan='zh', fix='pre')}_${generate_words}
productAssigneeGitlinkId: ${random.choice(${assignee_ids})}
productDescription: ${faker.pystr(max_chars=201)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[productDescription]字段校验异常:长度需要小于200'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_edit_product_04
title: 企业下编辑产品接口 - 产品名称重复,更新失败
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProduct
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
productIdentifier: ${pms_product_identifier}
productName: ${env_pms_product_name}
productAssigneeGitlinkId: ${random.choice(${assignee_ids})}
productDescription: ${generate_paragraph}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该产品名称在当前企业下已存在
assert_type: contains
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_new_product_01
- pms_get_product_list_by_name_02
- pms_get_product_detail_01
teardown:
interface:
- pms_delete_product_01
interface: pms_delete_product_01
@@ -12,7 +12,7 @@ case_info:
id: pms_get_product_list_01
title: 获取企业下产品列表接口
run: True
severity: normal
severity: critical
url: ${pms_host}/api/pms/pmsProduct/list
method: GET
headers:
@@ -39,7 +39,7 @@ case_info:
id: pms_get_product_list_by_name_02
title: 获取企业下产品列表接口 - 根据产品关键字搜索产品
run: True
severity: normal
severity: critical
url: ${pms_host}/api/pms/pmsProduct/list
method: GET
headers:
@@ -61,4 +61,5 @@ case_info:
assert_sql:
extract:
type_jsonpath:
pms_product_identifier: $.rows[0].productIdentifier
pms_product_identifier: $.rows[0].productIdentifier
pms_product_name: $.rows[0].productName
@@ -8,12 +8,17 @@ case_common:
- repeat(1)
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
case_info:
-
id: pms_new_product_01
title: 企业下新建产品接口
title: 企业下新建产品接口 - 新建成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProduct
method: POST
headers:
@@ -21,10 +26,10 @@ case_info:
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseIdentifier: ${env_enterprise_identifier}
productName: 新产品_${generate_company_name(lan='zh', fix='pre')}_${generate_words}
productAssigneeGitlinkId: ${random.choice(${assignee_ids})}
productDescription: ${generate_paragraph}
pmsEnterpriseIdentifier: prefecture
files:
assert_response:
status_code: 200
@@ -37,9 +42,89 @@ case_info:
type_jsonpath:
pms_product_identifier: $.data
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
teardown:
interface:
- pms_delete_product_01
- pms_delete_product_01
-
id: pms_new_product_02
title: 企业下新建产品接口 - 产品名称长度51,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProduct
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseIdentifier: ${env_enterprise_identifier}
productName: ${faker.pystr(max_chars=51)}
productAssigneeGitlinkId: ${random.choice(${assignee_ids})}
productDescription: ${generate_paragraph}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[productName]字段校验异常:长度需要小于50'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_new_product_03
title: 企业下新建产品接口 - 产品描述长度201,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProduct
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseIdentifier: ${env_enterprise_identifier}
productName: 新产品_${generate_company_name(lan='zh', fix='pre')}_${generate_words}
productAssigneeGitlinkId: ${random.choice(${assignee_ids})}
productDescription: ${faker.pystr(max_chars=201)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[productDescription]字段校验异常:长度需要小于200'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_new_product_04
title: 企业下新建产品接口 - 产品名称重复,新建失败
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProduct
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseIdentifier: ${env_enterprise_identifier}
productName: ${env_pms_product_name}
productAssigneeGitlinkId: ${random.choice(${assignee_ids})}
productDescription: ${generate_paragraph}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该产品名称在当前企业下已存在
assert_type: contains
assert_sql:
extract:
case_dependence:
@@ -1,71 +0,0 @@
case_common:
allure_epic: 项目管理
allure_feature: 产品
allure_story: 产品
case_markers:
- pms
- product
- usefixtures: gitlink_login
case_info:
-
id: pms_operate_top_01
title: 企业下置顶产品接口
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProduct/operateTop/${pms_product_identifier}
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_new_product_01
- pms_get_product_list_by_name_02
teardown:
interface:
- pms_delete_product_01
-
id: pms_operate_top_02
title: 企业下取消置顶产品接口
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProduct/operateTop/${pms_product_identifier}
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_new_product_01
- pms_get_product_list_by_name_02
teardown:
interface:
- pms_delete_product_01
@@ -0,0 +1,72 @@
case_common:
allure_epic: 项目管理
allure_feature: 产品
allure_story: 产品
case_markers:
- pms
- product
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
case_info:
- id: pms_operate_top_product_01
title: 企业下置顶产品接口
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProduct/operateTop/${pms_product_identifier}
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_product_01
- pms_get_product_list_by_name_02
teardown:
interface:
- pms_delete_product_01
- id: pms_operate_top_product_02
title: 企业下取消置顶产品接口
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProduct/operateTop/${pms_product_identifier}
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_product_01
- pms_get_product_list_by_name_02
teardown:
interface:
- pms_delete_product_01
@@ -5,6 +5,7 @@ case_common:
case_markers:
- pms
- pms_project
- project_repo
- usefixtures: gitlink_login
case_info:
@@ -12,6 +13,37 @@ case_info:
id: pms_get_project_repo_list_01
title: 获取项目内所有代码库列表
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectRepository/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmsProjectId: ${env_pms_project_id}
enterpriseIdentifier: ${env_enterprise_identifier}
page: 1
limit: 20
sortBy: updated_on
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_repo_ids: $.data.projects[*].id
case_dependence:
-
id: pms_get_project_repo_list_02
title: 获取项目内所有代码库列表 - 通过代码库名称关键字搜索
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectRepository/list
method: GET
@@ -21,6 +53,11 @@ case_info:
request_type: params
payload:
pmsProjectId: ${env_pms_project_id}
enterpriseIdentifier: ${env_enterprise_identifier}
page: 1
limit: 20
sortBy: updated_on
search: 专区
files:
assert_response:
status_code: 200
@@ -0,0 +1,72 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 代码库
case_markers:
- pms
- pms_project
- project_repo
- usefixtures: gitlink_login
case_info:
-
id: pms_get_unlinked_project_repo_list_01
title: 获取未被项目关联的仓库列表
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectRepository/list/unlinked
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
enterpriseIdentifier: ${env_enterprise_identifier}
# page: 1
# limit: 20
# sortBy: updated_on
# search:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
unlined_repo_ids: $.data.projects[*].id
case_dependence:
-
id: pms_get_project_repo_list_02
title: 获取项目内所有代码库列表 - 通过代码库名称关键字搜索
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectRepository/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmsProjectId: ${env_pms_project_id}
enterpriseIdentifier: ${env_enterprise_identifier}
page: 1
limit: 20
sortBy: updated_on
search: 专区
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_repo_ids: $.data.projects[*].id
case_dependence:
@@ -0,0 +1,243 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 迭代
case_markers:
- pms
- pms_project
- project_sprint
- usefixtures: gitlink_login
case_info:
- id: pms_get_sprint_unlink_requirement_list_01
title: 查询与项目迭代未关联需求列表
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint/issues
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
category: unlink # 是否已经关联迭代,linked 已关联,unlink 未关联
page: 1
limit: 20
pmIssueType: 1
sortBy: issues.updated_on
sortDirection: desc
# assignerId:
# keyword:
# pmIssueTypes:
# priorityId:
# statusId:
# statusIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
unlink_requirement_ids: $.data.issues[*].id
unlink_requirement_id: $.data.issues[0].id
case_dependence:
- id: pms_get_sprint_linked_requirement_list_02
title: 查询与项目迭代已关联需求列表
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint/issues
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId : ${env_pms_project_id}
category: linked # 是否已经关联迭代,linked 已关联,unlink 未关联
page: 1
limit: 20
pmIssueType: 1
sortBy: issues.updated_on
sortDirection: desc
# assignerId:
# keyword:
# pmIssueTypes:
# priorityId:
# statusId:
# statusIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
linked_requirement_ids: $.data.issues[*].id
linked_requirement_id: $.data.issues[0].id
case_dependence:
- id: pms_get_sprint_unlink_task_list_03
title: 查询与项目迭代未关联任务列表
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint/issues
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
category: unlink # 是否已经关联迭代,linked 已关联,unlink 未关联
page: 1
limit: 20
pmIssueType: 1
sortBy: issues.updated_on
sortDirection: desc
# assignerId:
# keyword:
# pmIssueTypes:
# priorityId:
# statusId:
# statusIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
unlink_task_ids: $.data.issues[*].id
unlink_task_id: $.data.issues[0].id
case_dependence:
- id: pms_get_sprint_linked_task_list_04
title: 查询与项目迭代已关联任务列表
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint/issues
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId : ${env_pms_project_id}
category: linked # 是否已经关联迭代,linked 已关联,unlink 未关联
page: 1
limit: 20
pmIssueType: 1
sortBy: issues.updated_on
sortDirection: desc
# assignerId:
# keyword:
# pmIssueTypes:
# priorityId:
# statusId:
# statusIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
linked_task_ids: $.data.issues[*].id
linked_task_id: $.data.issues[0].id
case_dependence:
- id: pms_get_sprint_unlink_bug_list_05
title: 查询与项目迭代未关联缺陷列表
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint/issues
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
category: unlink # 是否已经关联迭代,linked 已关联,unlink 未关联
page: 1
limit: 20
pmIssueType: 1
sortBy: issues.updated_on
sortDirection: desc
# assignerId:
# keyword:
# pmIssueTypes:
# priorityId:
# statusId:
# statusIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
unlink_bug_ids: $.data.issues[*].id
unlink_bug_id: $.data.issues[0].id
case_dependence:
- id: pms_get_sprint_linked_bug_list_06
title: 查询与项目迭代已关联缺陷列表
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint/issues
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId : ${env_pms_project_id}
category: linked # 是否已经关联迭代,linked 已关联,unlink 未关联
page: 1
limit: 20
pmIssueType: 1
sortBy: issues.updated_on
sortDirection: desc
# assignerId:
# keyword:
# pmIssueTypes:
# priorityId:
# statusId:
# statusIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
linked_bug_ids: $.data.issues[*].id
linked_bug_id: $.data.issues[0].id
case_dependence:
@@ -1,18 +1,24 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 迭代
case_markers:
- pms
- pms_project
- sprint
- project_sprint
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_sprint_01
case_info:
- id: pms_delete_sprint_01
title: 项目下删除迭代接口
title: 项目下删除迭代接口 - 单个迭代,删除成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectSprint/${project_sprint_id}
method: DELETE
headers:
@@ -32,6 +38,30 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_by_name_02
- id: pms_delete_sprint_02
title: 项目下删除迭代接口 - 多个迭代,删除成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectSprint/${list_to_str(${project_sprint_ids})}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
- pms_get_sprint_list_01
@@ -1,18 +1,24 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 迭代
case_markers:
- pms
- pms_project
- sprint
- project_sprint
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
case_info:
- id: pms_edit_sprint_01
title: 项目下编辑迭代接口
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectSprint
method: PUT
headers:
@@ -29,24 +35,25 @@ case_info:
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
teardown:
interface: pms_delete_sprint_01
- id: pms_edit_sprint_start_02
title: 项目下编辑迭代接口 - 未开始迭代 --> 开始迭代
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectSprint
method: PUT
headers:
@@ -60,24 +67,25 @@ case_info:
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
teardown:
interface: pms_delete_sprint_01
- id: pms_edit_sprint_finish_03
title: 项目下编辑迭代接口 - 进行中迭代 --> 完成迭代
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectSprint
method: PUT
headers:
@@ -91,25 +99,26 @@ case_info:
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
- pms_edit_sprint_start_02
teardown:
interface: pms_delete_sprint_01
- id: pms_edit_sprint_reopen_04
title: 项目下编辑迭代接口 - 已关闭迭代 --> 重开迭代
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectSprint
method: PUT
headers:
@@ -123,18 +132,162 @@ case_info:
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
- pms_edit_sprint_start_02
- pms_edit_sprint_finish_03
- pms_edit_sprint_finish_03
teardown:
interface: pms_delete_sprint_01
- id: pms_new_sprint_05
title: 项目下新建迭代接口 - 迭代名称长度101, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${project_sprint_id}
sprintName: ${faker.pystr(max_chars=101)}
sprintDescription:
sprintAssigneeId: ${random.choice(${project_member_ids})}
pmsProjectId: ${env_pms_project_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[sprintName]字段校验异常:size must be between 0 and 100'
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
teardown:
interface: pms_delete_sprint_01
- id: pms_new_sprint_06
title: 项目下新建迭代接口 - 迭代名称长度为空, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${project_sprint_id}
sprintName:
sprintDescription:
sprintAssigneeId: ${random.choice(${project_member_ids})}
pmsProjectId: ${env_pms_project_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[sprintName]字段校验异常:size must be between 0 and 100'
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
teardown:
interface: pms_delete_sprint_01
- id: pms_new_sprint_07
title: 项目下新建迭代接口 - 迭代描述长度201, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${project_sprint_id}
sprintName: 迭代 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words}
sprintDescription: ${faker.pystr(max_chars=201)}
sprintAssigneeId: ${random.choice(${project_member_ids})}
pmsProjectId: ${env_pms_project_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[sprintDescription]字段校验异常:size must be between 0 and 200'
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
teardown:
interface: pms_delete_sprint_01
- id: pms_new_sprint_08
title: 项目下新建迭代接口 - 截止时间早于开始时间, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${project_sprint_id}
sprintName: 迭代 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words}
sprintDescription:
sprintAssigneeId: ${random.choice(${project_member_ids})}
pmsProjectId: ${env_pms_project_id}
startTime: ${generate_time_after_week}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 结束时间需晚于开始时间
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
teardown:
interface: pms_delete_sprint_01
@@ -0,0 +1,38 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 迭代
case_markers:
- pms
- pms_project
- project_sprint
- usefixtures: gitlink_login
case_info:
- id: pms_get_sprint_detail_01
title: 项目下获取迭代详情接口
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectSprint/${project_sprint_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmsProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
@@ -1,18 +1,18 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 迭代
case_markers:
- pms
- pms_project
- sprint
- project_sprint
- usefixtures: gitlink_login
case_info:
- id: pms_get_sprint_list_01
title: 项目下获取迭代列表接口
run: True
severity: normal
severity: critical
url: ${pms_host}/api/pms/pmsProjectSprint/list
method: GET
headers:
@@ -1,19 +1,24 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 迭代
case_markers:
- pms
- pms_project
- sprint
- project_sprint
- repeat(1)
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
case_info:
- id: pms_new_sprint_01
title: 项目下新建迭代接口
title: 项目下新建迭代接口 - 新建成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectSprint
method: POST
headers:
@@ -37,6 +42,117 @@ case_info:
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- id: pms_new_sprint_02
title: 项目下新建迭代接口 - 迭代名称长度101, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
sprintName: ${faker.pystr(max_chars=101)}
sprintDescription:
sprintAssigneeId: ${random.choice(${project_member_ids})}
pmsProjectId: ${env_pms_project_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[sprintName]字段校验异常:size must be between 1 and 100'
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_new_sprint_03
title: 项目下新建迭代接口 - 迭代名称长度为空, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
sprintName:
sprintDescription:
sprintAssigneeId: ${random.choice(${project_member_ids})}
pmsProjectId: ${env_pms_project_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[sprintName]字段校验异常:must not be null'
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_new_sprint_04
title: 项目下新建迭代接口 - 迭代描述长度201, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
sprintName: 迭代 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words}
sprintDescription: ${faker.pystr(max_chars=201)}
sprintAssigneeId: ${random.choice(${project_member_ids})}
pmsProjectId: ${env_pms_project_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[sprintDescription]字段校验异常:size must be between 0 and 200'
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_new_sprint_05
title: 项目下新建迭代接口 - 截止时间早于开始时间, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectSprint
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
sprintName: 迭代 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words}
sprintDescription:
sprintAssigneeId: ${random.choice(${project_member_ids})}
pmsProjectId: ${env_pms_project_id}
startTime: ${generate_time_after_week}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 结束时间需晚于开始时间
assert_type: ==
assert_sql:
extract:
case_dependence:
@@ -1,20 +1,25 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 迭代
case_markers:
- pms
- pms_project
- sprint
- project_sprint
- usefixtures: gitlink_login
- skip: 暂时略过,规划迭代,需要有未关联迭代的工作项,前提条件有点多
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_01
case_info:
- id: pms_work_item_out_sprint_01
title: 规划迭代 - 工作项移出迭代
- id: pms_requirement_out_sprint_01
title: 规划迭代 - 需求移出迭代
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${work_item_id}
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${linked_requirement_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
@@ -33,3 +38,67 @@ case_info:
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_sprint_unlink_requirement_list_01
- pms_requirement_to_sprint_01
- pms_get_sprint_linked_requirement_list_02
- id: pms_task_out_sprint_02
title: 规划迭代 - 任务移出迭代
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${linked_task_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmSprintId: 0
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_sprint_unlink_task_list_03
- pms_task_to_sprint_02
- pms_get_sprint_linked_task_list_04
- id: pms_bug_out_sprint_02
title: 规划迭代 - 缺陷移出迭代
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${linked_bug_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmSprintId: 0
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_sprint_unlink_bug_list_05
- pms_bug_to_sprint_03
- pms_get_sprint_linked_bug_list_06
@@ -1,20 +1,25 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 迭代
case_markers:
- pms
- pms_project
- sprint
- project_sprint
- usefixtures: gitlink_login
- skip: 暂时略过,规划迭代,需要有已关联迭代的工作项,前提条件有点多
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_by_name_02
case_info:
- id: pms_work_item_to_sprint_01
title: 规划迭代 - 工作项移入迭代
- id: pms_requirement_to_sprint_01
title: 规划迭代 - 需求移入迭代
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${work_item_id}
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${unlink_requirement_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
@@ -22,7 +27,7 @@ case_info:
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmSprintId: ${${project_sprint_ids}[0]}
pmSprintId: ${project_sprint_id}
files:
assert_response:
status_code: 200
@@ -35,6 +40,59 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_01
-
- pms_get_sprint_unlink_requirement_list_01
- id: pms_task_to_sprint_02
title: 规划迭代 - 任务移入迭代
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${unlink_task_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmSprintId: ${project_sprint_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_sprint_unlink_task_list_03
- id: pms_bug_to_sprint_03
title: 规划迭代 - 缺陷移入迭代
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${unlink_bug_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmSprintId: ${project_sprint_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_sprint_unlink_bug_list_05
@@ -5,38 +5,15 @@ case_common:
case_markers:
- pms
- pms_project
- testcases
- project_test_module
- usefixtures: gitlink_login
case_info:
-
id: pms_delete_testcase_module_01
title: 删除测试用例模块接口 - 存在子级模块的父级模块
run: false
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule/${testcase_module_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该模块下存在子模块,请先删除子模块
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_delete_testcase_module_02
title: 删除测试用例模块接口 - 不存在子级模块的模块
title: 删除测试用例模块接口 - 父级模块(不存在子级),删除成功
run: true
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestcaseModule/${testcase_module_id}
method: DELETE
headers:
@@ -56,4 +33,62 @@ case_info:
case_dependence:
setup:
interface:
- pms_new_testcase_module_01
- pms_new_testcase_module_01
-
id: pms_delete_testcase_module_02
title: 删除测试用例模块接口 - 子级模块,删除成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestcaseModule/${testcase_module_children_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_testcase_module_01
- pms_new_testcase_module_children_02
teardown:
interface:
- pms_delete_testcase_module_01
-
id: pms_delete_testcase_module_02
title: 删除测试用例模块接口 - 存在子级模块的父级模块
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule/${testcase_module_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该模块下存在子模块,请先删除子模块
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_testcase_module_01
- pms_new_testcase_module_children_02
@@ -5,15 +5,16 @@ case_common:
case_markers:
- pms
- pms_project
- testcases
- project_test_module
- usefixtures: gitlink_login
case_info:
-
id: pms_edit_testcase_module_01
title: 编辑测试用例模块接口 - 父级模块
title: 编辑测试用例模块接口 - 编辑模块名称,更新成功
run: true
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestcaseModule
method: PUT
headers:
@@ -39,22 +40,22 @@ case_info:
- pms_new_testcase_module_01
teardown:
interface:
- pms_delete_testcase_module_02
- pms_delete_testcase_module_01
-
id: pms_edit_testcase_module_02
title: 编辑测试用例模块接口 - 子级模块 # 前提条件:需要有一个存在子级的父级模块
run: false
severity: normal
title: 编辑测试用例模块接口 - 编辑子级模块名称,更新成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestcaseModule
method: POST
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${testcase_module_id}
parentId: 0
id: ${testcase_module_children_id}
parentId: ${testcase_module_id}
moduleName: ${generate_words(lan='zh', nb=2)}
files:
assert_response:
@@ -65,6 +66,142 @@ case_info:
assert_type: ==
assert_sql:
extract:
type_jsonpath:
testcase_module_id: $.data
case_dependence:
case_dependence:
setup:
interface:
- pms_new_testcase_module_01
- pms_new_testcase_module_children_02
teardown:
interface:
- pms_delete_testcase_module_02
- pms_delete_testcase_module_01
-
id: pms_edit_testcase_module_03
title: 编辑测试用例模块接口 - 模块名称为空,更新失败
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${testcase_module_id}
parentId: ${testcase_module_parent_id}
moduleName:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功 # 接口处理:当传参为空时,当前设计为不更新;
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_testcase_module_01
- pms_get_testcase_module_detail_01
teardown:
interface:
- pms_delete_testcase_module_01
-
id: pms_edit_testcase_module_04
title: 编辑测试用例模块接口 - 模块名称长度31,更新失败
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${testcase_module_id}
parentId: ${testcase_module_parent_id}
moduleName: ${faker.pystr(max_chars=31)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[moduleName]字段校验异常:长度需要小于30'
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_testcase_module_01
teardown:
interface:
- pms_delete_testcase_module_01
-
id: pms_edit_testcase_module_05
title: 编辑测试用例模块接口 - 所属父级模块为-1,更新失败
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${testcase_module_id}
parentId: -1
moduleName: ${faker.pystr(max_chars=30)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[无所属模块]不允许进行操作'
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_testcase_module_01
teardown:
interface:
- pms_delete_testcase_module_01
-
id: pms_edit_testcase_module_06
title: 编辑测试用例模块接口 - 无所属模块拖拽到其他模块,更新失败
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: -1
parentId: 0
moduleName: ${faker.pystr(max_chars=30)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[无所属模块]不允许进行操作'
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_testcase_module_01
teardown:
interface:
- pms_delete_testcase_module_01
@@ -5,14 +5,14 @@ case_common:
case_markers:
- pms
- pms_project
- testcases
- project_test_module
- usefixtures: gitlink_login
case_info:
-
id: pms_get_testcase_module_01
title: 获取测试用例模块列表接口
run: false
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule/list
method: GET
@@ -0,0 +1,42 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 测试用例模块
case_markers:
- pms
- pms_project
- project_test_module
- usefixtures: gitlink_login
common_dependence:
setup:
interface: pms_new_testcase_module_01
teardown:
interface: pms_delete_testcase_module_01
case_info:
- id: pms_get_testcase_module_detail_01
title: 获取模块详情接口
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule/${testcase_module_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
testcase_module_id: $.data.id
testcase_module_name: $.data.moduleName
testcase_module_parent_id: $.data.parentId
case_dependence:
@@ -0,0 +1,40 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 测试用例模块
case_markers:
- pms
- pms_project
- project_test_module
- usefixtures: gitlink_login
common_dependence:
setup:
interface: pms_new_testcase_module_01
teardown:
interface: pms_delete_testcase_module_01
case_info:
- id: pms_get_testcase_module_list_01
title: 获取模块列表接口
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 查询成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
testcase_module_ids: $.rows[*].id
case_dependence:
@@ -5,15 +5,15 @@ case_common:
case_markers:
- pms
- pms_project
- testcases
- project_test_module
- usefixtures: gitlink_login
case_info:
-
id: pms_new_testcase_module_01
title: 新建测试用例模块接口 - 父级模块
title: 新建测试用例模块接口 - 父级模块,新建成功
run: true
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestcaseModule
method: POST
headers:
@@ -38,13 +38,13 @@ case_info:
case_dependence:
teardown:
interface:
- pms_delete_testcase_module_02
- pms_delete_testcase_module_01
-
id: pms_new_testcase_module_02
title: 新建测试用例模块接口 - 子级模块
id: pms_new_testcase_module_children_02
title: 新建测试用例模块接口 - 子级模块,新建成功
run: true
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestcaseModule
method: POST
headers:
@@ -65,11 +65,91 @@ case_info:
assert_sql:
extract:
type_jsonpath:
testcase_module_id: $.data
testcase_module_children_id: $.data
case_dependence:
setup:
interface:
- pms_new_testcase_module_01
teardown:
interface:
- pms_delete_testcase_module_02
- pms_delete_testcase_module_02
- pms_delete_testcase_module_01
-
id: pms_new_testcase_module_03
title: 新建测试用例模块接口 - 模块名称为空,新建失败
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProjectId: ${env_pms_project_id}
parentId: 0
moduleName:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[moduleName]字段校验异常:must not be blank'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_new_testcase_module_04
title: 新建测试用例模块接口 - 模块名称长度31,新建失败
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProjectId: ${env_pms_project_id}
parentId: 0
moduleName: ${faker.pystr(max_chars=31)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[moduleName]字段校验异常:长度需要小于30'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_new_testcase_module_05
title: 新建测试用例模块接口 - 父级模块传-1,新建失败
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProjectId: ${env_pms_project_id}
parentId: -1
moduleName: ${faker.pystr(max_chars=30)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该模块不存在(模块ID[-1])
assert_type: ==
assert_sql:
extract:
case_dependence:
@@ -5,17 +5,18 @@ case_common:
case_markers:
- pms
- pms_project
- testcases
- project_test_module
- sync
- usefixtures: gitlink_login
case_info:
-
id: pms_sync_product_module_01
title: 同步产品模块 - 当前存在关联产品,产品存在模块,未同步过产品模块 # 待补充前置条件
run: false
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseModule/byProjectId/${env_pms_project_id}/syncByProductModule
run: true
severity: critical
url: ${pms_host}/api/pms/pmsProjectTestcaseModule/byProjectId/${pms_project_id}/syncByProductModule
method: POST
headers:
Content-Type: application/json; charset=utf-8;
@@ -32,6 +33,16 @@ case_info:
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_product_module_01
- pms_get_enterprise_user_list_01
- pms_new_project_03
- pms_get_project_list_by_name_02
teardown:
interface:
- pms_delete_product_module_01
- pms_delete_project_01
-
id: pms_sync_product_module_02
@@ -1,17 +1,25 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 项目
case_markers:
- pms
- pms_project
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_new_project_02
- pms_get_project_list_by_name_02
case_info:
-
id: pms_delete_project_01
title: 企业下删除项目接口
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProject/${pms_project_id}
method: DELETE
headers:
@@ -28,10 +36,4 @@ case_info:
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_get_enterprise_repo_list_01
- pms_new_project_01
- pms_get_project_list_by_name_02
case_dependence:
+128 -13
View File
@@ -1,17 +1,27 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 项目
case_markers:
- pms
- pms_project
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_new_project_02
- pms_get_project_list_by_name_02
teardown:
interface:
- pms_delete_project_01
case_info:
- id: pms_edit_project_01
title: 企业下编辑项目接口
title: 企业下编辑项目接口 - 更新成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProject
method: PUT
headers:
@@ -19,15 +29,15 @@ case_info:
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
id: ${pms_project_id}
status: ${random.choice([0,1,2])} # 0: 关闭 1:开启 2:暂停
projectName: ${generate_company_name(lan='zh')}_${generate_words}
projectAssigneeId: ${random.choice(${assignee_ids})}
projectDescription: ${generate_paragraph}
pmsEnterpriseId: 1
pmsProductId: ${env_pms_product_id}
pmsProjectMemberIds: ${list_to_str(${assignee_ids})}
projectRepositoryIds: ${list_to_str(${repo_ids})}
projectRepositoryIds: ${repo_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
@@ -41,11 +51,116 @@ case_info:
extract:
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_get_enterprise_repo_list_01
- pms_new_project_01
- pms_get_project_list_by_name_02
teardown:
interface:
- pms_delete_project_01
interface: pms_new_repo_01
- id: pms_edit_project_03
title: 企业下编辑项目接口 - 项目名称长度51,编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProject
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
id: ${pms_project_id}
projectName: ${faker.pystr(max_chars=51)}
projectAssigneeId: ${random.choice(${assignee_ids})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[projectName]字段校验异常:size must be between 0 and 50'
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_edit_project_04
title: 企业下编辑项目接口 - 项目名称为空,编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProject
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
id: ${pms_project_id}
projectName:
projectAssigneeId: ${random.choice(${assignee_ids})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[projectName]字段校验异常:must not be null'
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_edit_project_05
title: 企业下编辑项目接口 - 项目简介长度201,编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProject
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
id: ${pms_project_id}
projectName: ${faker.pystr(max_chars=50)}
projectAssigneeId: ${random.choice(${assignee_ids})}
projectDescription: ${faker.pystr(max_chars=201)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[projectDescription]字段校验异常:size must be between 0 and 200'
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_edit_project_06
title: 企业下编辑项目接口 - 结束时间晚于开始时间,编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProject
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
id: ${pms_project_id}
projectName: ${faker.pystr(max_chars=50)}
projectAssigneeId: ${random.choice(${assignee_ids})}
projectDescription: ${faker.pystr(max_chars=200)}
startTime: ${generate_time_after_week}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 失败
assert_type: ==
assert_sql:
extract:
case_dependence:
@@ -1,6 +1,6 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 项目
case_markers:
- pms
@@ -61,4 +61,33 @@ case_info:
extract:
type_jsonpath:
pms_project_id: $.rows[0].id
case_dependence:
-
id: pms_get_project_list_by_product_03
title: 企业下获取项目列表接口 - 获取从属于产品的项目
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProject/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pageNum: 1
pageSize: 20
pmsProductId: ${env_pms_product_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 查询成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
pms_product_project_id: $.rows[0].id
case_dependence:
@@ -1,17 +1,22 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 项目
case_markers:
- pms
- pms_project
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
case_info:
- id: pms_new_project_01
title: 企业下新建项目接口
title: 企业下新建项目接口 - 新建成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProject
method: POST
headers:
@@ -19,13 +24,13 @@ case_info:
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
projectName: 新项目 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words}
projectAssigneeId: ${random.choice(${assignee_ids})}
projectDescription: ${generate_paragraph}
pmsEnterpriseId: 1
pmsProductId: ${env_pms_product_id}
pmsProjectMemberIds: ${list_to_str(${assignee_ids})}
projectRepositoryIds: ${list_to_str(${repo_ids})}
projectRepositoryIds: ${repo_id}
startTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
@@ -40,5 +45,176 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_get_enterprise_repo_list_01
- pms_new_repo_01
teardown:
interface:
- pms_get_project_list_by_name_02
- pms_delete_project_01
- id: pms_new_project_02
title: 企业下新建项目接口 - 仅填写必填参数,新建成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProject
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
projectName: 新项目 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words}
projectAssigneeId: ${random.choice(${assignee_ids})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
teardown:
interface:
- pms_get_project_list_by_name_02
- pms_delete_project_01
- id: pms_new_project_03
title: 企业下新建项目接口 - 新建项目时关联产品,新建成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProject
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
projectName: 新项目 - ${generate_company_name(lan='zh', fix='pre')}_${generate_words}
projectAssigneeId: ${random.choice(${assignee_ids})}
pmsProductId: ${env_pms_product_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
teardown:
interface:
- pms_get_project_list_by_name_02
- pms_delete_project_01
- id: pms_new_project_04
title: 企业下新建项目接口 - 项目名称长度51,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProject
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
projectName: ${faker.pystr(max_chars=51)}
projectAssigneeId: ${random.choice(${assignee_ids})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[projectName]字段校验异常:size must be between 0 and 50'
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_new_project_05
title: 企业下新建项目接口 - 项目名称为空,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProject
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
projectName:
projectAssigneeId: ${random.choice(${assignee_ids})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[projectName]字段校验异常:must not be null'
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_new_project_06
title: 企业下新建项目接口 - 项目简介长度201,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProject
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
projectName: ${faker.pystr(max_chars=50)}
projectAssigneeId: ${random.choice(${assignee_ids})}
projectDescription: ${faker.pystr(max_chars=201)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[projectDescription]字段校验异常:size must be between 0 and 200'
assert_type: ==
assert_sql:
extract:
case_dependence:
- id: pms_new_project_07
title: 企业下新建项目接口 - 结束时间晚于开始时间,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProject
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsEnterpriseId: ${env_enterprise_id}
projectName: ${faker.pystr(max_chars=50)}
projectAssigneeId: ${random.choice(${assignee_ids})}
projectDescription: ${faker.pystr(max_chars=200)}
startTime: ${generate_time_after_week}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 失败
assert_type: ==
assert_sql:
extract:
case_dependence:
@@ -1,17 +1,22 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 项目
case_markers:
- pms
- pms_project
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
case_info:
- id: pms_top_project_01
title: 企业下置顶项目接口
run: False
severity: normal
run: true
severity: critical
url: ${pms_host}/api/pms/pmsProject
method: PUT
headers:
@@ -33,9 +38,7 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_get_enterprise_repo_list_01
- pms_new_project_01
- pms_new_project_02
- pms_get_project_list_by_name_02
teardown:
interface:
@@ -44,7 +47,7 @@ case_info:
- id: pms_top_project_02
title: 企业下取消置顶项目接口
run: True
severity: normal
severity: critical
url: ${pms_host}/api/pms/pmsProject
method: PUT
headers:
@@ -68,9 +71,7 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_get_enterprise_repo_list_01
- pms_new_project_01
- pms_new_project_02
- pms_get_project_list_by_name_02
- pms_top_project_01
teardown:
@@ -1,12 +1,20 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 测试报告
case_markers:
- pms
- test_report
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_new_test_sheet_01
- pms_get_test_sheet_list_by_name_02
case_info:
- id: pms_delete_test_report_01
title: 项目内删除测试报告接口
@@ -31,9 +39,5 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_new_test_sheet_01
- pms_get_test_sheet_list_by_name_02
- pms_new_test_report_01
- pms_get_test_report_list_by_name_02
@@ -1,12 +1,20 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 测试报告
case_markers:
- pms
- test_report
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_new_test_sheet_01
- pms_get_test_sheet_list_by_name_02
case_info:
- id: pms_edit_test_report_01
title: 项目内编辑测试报告接口 - 负责人
@@ -33,10 +41,6 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_new_test_sheet_01
- pms_get_test_sheet_list_by_name_02
- pms_new_test_report_01
- pms_get_test_report_list_by_name_02
teardown:
@@ -69,10 +73,6 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_new_test_sheet_01
- pms_get_test_sheet_list_by_name_02
- pms_new_test_report_01
- pms_get_test_report_list_by_name_02
teardown:
@@ -104,10 +104,6 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_new_test_sheet_01
- pms_get_test_sheet_list_by_name_02
- pms_new_test_report_01
- pms_get_test_report_list_by_name_02
teardown:
@@ -1,6 +1,6 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 测试报告
case_markers:
- pms
@@ -1,6 +1,6 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_feature: 项目
allure_story: 测试报告
case_markers:
- pms
@@ -0,0 +1,44 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 测试单
case_markers:
- pms
- pms_project
- project_test_sheet
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_test_sheet_02
- pms_get_test_sheet_list_by_name_02
teardown:
interface:
- pms_delete_test_sheet_01
case_info:
-
id: pms_get_test_sheet_detail_01
title: 项目下获取测试单详情接口
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheet/${test_sheet_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
@@ -5,13 +5,13 @@ case_common:
case_markers:
- pms
- pms_project
- test_sheet
- project_test_sheet
- usefixtures: gitlink_login
case_info:
-
id: pms_delete_test_sheet_01
title: 项目下删除测试单接口
title: 项目下删除测试单接口 - 单个测试单,删除成功
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheet/${test_sheet_id}
@@ -34,6 +34,35 @@ case_info:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_new_test_sheet_01
- pms_get_test_sheet_list_by_name_02
- pms_new_test_sheet_02
- pms_get_test_sheet_list_by_name_02
-
id: pms_delete_test_sheet_02
title: 项目下删除测试单接口 - 多个测试单,删除成功
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheet/${list_to_str(${test_sheet_ids})}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_test_sheet_02
- pms_new_test_sheet_02
- pms_get_test_sheet_list_01
@@ -5,15 +5,27 @@ case_common:
case_markers:
- pms
- pms_project
- test_sheet
- project_test_sheet
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_test_sheet_02
- pms_get_test_sheet_list_by_name_02
teardown:
interface:
- pms_delete_test_sheet_01
case_info:
-
id: pms_edit_test_sheet_01
title: 项目下编辑测试单接口
title: 项目下编辑测试单接口 - 更新成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestsheet
method: PUT
headers:
@@ -27,7 +39,7 @@ case_info:
assigneeId: ${random.choice(${project_member_ids})}
beginTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time(fmt='%Y-%m-%d')}
projectSprintId: ${random.choice(${project_sprint_ids})}
projectSprintId: ${project_sprint_id}
files:
assert_response:
status_code: 200
@@ -40,10 +52,91 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_new_test_sheet_01
- pms_get_test_sheet_list_by_name_02
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
teardown:
interface:
- pms_delete_test_sheet_01
interface: pms_delete_sprint_01
-
id: pms_edit_test_sheet_02
title: 项目下编辑测试单接口 - 标题为空,更新失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheet
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${test_sheet_id}
pmsProjectId: ${env_pms_project_id}
name:
assigneeId: ${random.choice(${project_member_ids})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[name]字段校验异常:测试单名称不能为空'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_edit_test_sheet_04
title: 项目下更新测试单接口 - 标题长度51,更新失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheet
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${test_sheet_id}
pmsProjectId: ${env_pms_project_id}
name: ${faker.pystr(max_chars=51)}
assigneeId: ${random.choice(${project_member_ids})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[name]字段校验异常:测试单名称长度不能大于50'
assert_type: ==
assert_sql:
extract:
-
id: pms_edit_test_sheet_05
title: 项目下编辑测试单接口 - 结束时间早于开始时间,更新失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheet
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${test_sheet_id}
pmsProjectId: ${env_pms_project_id}
name: ${faker.pystr(max_chars=50)}
assigneeId: ${random.choice(${project_member_ids})}
beginTime: ${generate_time_after_week}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 失败
assert_type: ==
assert_sql:
extract:
@@ -5,9 +5,18 @@ case_common:
case_markers:
- pms
- pms_project
- test_sheet
- project_test_sheet
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_test_sheet_02
teardown:
interface:
- pms_delete_test_sheet_01
case_info:
-
id: pms_get_test_sheet_list_01
@@ -5,25 +5,33 @@ case_common:
case_markers:
- pms
- pms_project
- test_sheet
- project_test_sheet
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_test_sheet_02
- pms_get_test_sheet_list_by_name_02
teardown:
interface:
- pms_delete_test_sheet_01
case_info:
-
id: pms_get_testcases_list_01
title: 获取所有模块可添加到测试单内的测试用例列表
run: true
id: pms_get_test_sheet_module_list_01
title: 查测试单模块树状列表
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheetCases/list
url: ${pms_host}/api/pms/pmsProjectTestsheet/treeList
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pageNum: 1
pageSize: 1000
add: true
pmsProjectId: ${env_pms_project_id}
projectTestsheetId: ${test_sheet_id}
files:
@@ -31,11 +39,10 @@ case_info:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 查询成功
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
test_sheet_ids: $.rows[*].id
case_dependence:
setup:
interface:
- pms_get_test_sheet_list_by_name_02
@@ -0,0 +1,92 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 测试单
case_markers:
- pms
- pms_project
- project_test_sheet
- usefixtures: gitlink_login
# 执行测试单内的测试用例
# 1. 新建测试单, 获取测试单id
# 2. 新建测试用例, 获取测试用例id
# 3. 测试用例添加到测试单内
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_new_test_sheet_02
- pms_get_test_sheet_list_by_name_02
teardown:
interface:
- pms_delete_test_sheet_01
case_info:
- id: pms_get_unadd_testcases_list_01
title: 获取所有模块未添加到测试单内的测试用例列表
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheetCases/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pageNum: 1
pageSize: 1000
add: true # 未添加到当前测试单 true 已添加到当前测试单false
pmsProjectId: ${env_pms_project_id}
projectTestsheetId: ${test_sheet_id}
orderByColumn: createTime
isAsc: desc
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 查询成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
unadd_testcase_ids: $.rows[*].testcaseDataVo.id
case_dependence:
- id: pms_get_added_testcases_list_02
title: 获取已添加到测试单内的测试用例列表
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheetCases/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pageNum: 1
pageSize: 1000
add: false # 未添加到当前测试单 true 已添加到当前测试单false
pmsProjectId: ${env_pms_project_id}
projectTestsheetId: ${test_sheet_id}
orderByColumn: createTime
isAsc: desc
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 查询成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
added_test_sheet_id: $.rows[0].projectTestsheetId
added_testcase_status: $.rows[0].testStatus
added_testcase_id: $.rows[0].id
test_case_step_id: $.rows[0].testcaseDataVo.testcaseStepList[*].id
test_case_step_status_id: $.rows[0].testcaseDataVo.testcaseStepList[*].execResult
case_dependence:
@@ -5,16 +5,20 @@ case_common:
case_markers:
- pms
- pms_project
- test_sheet
- project_test_sheet
- repeat(1)
- usefixtures: gitlink_login
common_dependence:
setup:
interface: pms_get_project_member_list_01
case_info:
-
id: pms_new_test_sheet_01
title: 项目下新建测试单接口
title: 项目下新建测试单接口 - 新建成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestsheet
method: POST
headers:
@@ -26,8 +30,8 @@ case_info:
name: 测试单 - ${generate_paragraph(lan='zh', nb=1)}
assigneeId: ${random.choice(${project_member_ids})}
beginTime: ${generate_time(fmt='%Y-%m-%d')}
endTime: ${generate_time(fmt='%Y-%m-%d')}
projectSprintId: ${random.choice(${project_sprint_ids})}
endTime: ${generate_time_after_week}
projectSprintId: ${project_sprint_id}
files:
assert_response:
status_code: 200
@@ -40,5 +44,120 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_new_sprint_01
- pms_get_sprint_list_by_name_02
teardown:
interface:
- pms_get_test_sheet_list_by_name_02
- pms_delete_test_sheet_01
- pms_delete_sprint_01
-
id: pms_new_test_sheet_02
title: 项目下新建测试单接口 - 只输入必填参数,新建成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestsheet
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProjectId: ${env_pms_project_id}
name: 测试单 - ${generate_paragraph(lan='zh', nb=1)}
assigneeId: ${random.choice(${project_member_ids})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
teardown:
interface:
- pms_get_test_sheet_list_by_name_02
- pms_delete_test_sheet_01
-
id: pms_new_test_sheet_03
title: 项目下新建测试单接口 - 标题为空,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheet
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProjectId: ${env_pms_project_id}
name:
assigneeId: ${random.choice(${project_member_ids})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[name]字段校验异常:测试单名称不能为空'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_new_test_sheet_04
title: 项目下新建测试单接口 - 标题长度51,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheet
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProjectId: ${env_pms_project_id}
name: ${faker.pystr(max_chars=51)}
assigneeId: ${random.choice(${project_member_ids})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[name]字段校验异常:测试单名称长度不能大于50'
assert_type: ==
assert_sql:
extract:
-
id: pms_new_test_sheet_05
title: 项目下新建测试单接口 - 结束时间早于开始时间,新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheet
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProjectId: ${env_pms_project_id}
name: ${faker.pystr(max_chars=50)}
assigneeId: ${random.choice(${project_member_ids})}
beginTime: ${generate_time_after_week}
endTime: ${generate_time(fmt='%Y-%m-%d')}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 开始时间不能晚于结束时间
assert_type: ==
assert_sql:
extract:
@@ -5,14 +5,34 @@ case_common:
case_markers:
- pms
- pms_project
- test_sheet
- project_test_sheet
- usefixtures: gitlink_login
- skip: 用例暂未完成,跳过
# 测试用例添加到测试单
# 1. 新建测试单, 获取测试单id
# 2. 新建测试用例, 获取测试用例id
# 3. 测试用例添加到测试单内
# 4. 删除测试单
common_dependence:
setup:
interface:
# 新建测试单, 获取测试单id
- pms_get_project_member_list_01
- pms_new_test_sheet_02
- pms_get_test_sheet_list_by_name_02
# 新建测试用例, 获取测试用例id
- pms_get_enterprise_user_list_01
- pms_get_testcase_tag_list_01
- pms_new_testcases_02
# teardown:
# interface:
# - pms_delete_test_sheet_01
case_info:
-
id: pms_test_sheet_add_testcase_01
title: 测试单添加测试用例接口
title: 测试单添加测试用例接口 - 添加单个测试用例,添加成功
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheetCases
@@ -23,7 +43,34 @@ case_info:
request_type: json
payload:
idList:
projectTestsheetId: $test_sheet_id}
- ${testcase_id}
projectTestsheetId: ${test_sheet_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_test_sheet_add_testcase_02
title: 测试单添加测试用例接口 - 添加多个测试用例,添加成功
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheetCases
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
idList: ${unadd_testcase_ids}
projectTestsheetId: ${test_sheet_id}
files:
assert_response:
status_code: 200
@@ -36,4 +83,5 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_test_sheet_list_by_name_02
- pms_new_testcases_02
- pms_get_unadd_testcases_list_01
@@ -0,0 +1,155 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 测试单
case_markers:
- pms
- pms_project
- project_test_sheet
- usefixtures: gitlink_login
# 执行测试单内的测试用例
# 1. 新建测试单, 获取测试单id
# 2. 新建测试用例, 获取测试用例id
# 3. 测试用例添加到测试单内
# 4. 执行测试单内的测试用例
common_dependence:
setup:
interface:
# 新建测试单, 获取测试单id
- pms_get_project_member_list_01
- pms_new_test_sheet_02
- pms_get_test_sheet_list_by_name_02
# 新建测试用例, 获取测试用例id
- pms_get_enterprise_user_list_01
- pms_get_testcase_tag_list_01
- pms_new_testcases_02
# 测试用例添加到测试单内
- pms_test_sheet_add_testcase_01
- pms_get_added_testcases_list_02
# teardown:
# interface:
# - pms_delete_test_sheet_01
case_info:
-
id: pms_test_sheet_execute_testcase_01
title: 执行测试单执行用例接口 - 仅更改用例执行结果,更新成功
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheetCases
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${added_testcase_id}
testerId: ${random.choice(${project_member_ids})}
testStatus: ${random.choice([0,1,2,3,4])}
testcaseStepList: ${zip_test_step(${test_case_step_id}, ${test_case_step_status_id})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_added_testcases_list_02
-
id: pms_test_sheet_execute_testcase_02
title: 执行测试单执行用例接口 - 仅更改测试步骤执行结果,更新成功
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheetCases
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${added_testcase_id}
testerId: ${random.choice(${project_member_ids})}
testStatus: ${added_testcase_status}
testcaseStepList: ${zip_test_step(${test_case_step_id})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_added_testcases_list_02
-
id: pms_test_sheet_execute_testcase_03
title: 执行测试单执行用例接口 - 更改测试用例以及步骤执行结果,更新成功
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheetCases
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${added_testcase_id}
testerId: ${random.choice(${project_member_ids})}
testStatus: ${random.choice([0,1,2,3,4])}
testcaseStepList: ${zip_test_step(${test_case_step_id}, ${test_case_step_status_id})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_added_testcases_list_02
-
id: pms_test_sheet_execute_testcase_04
title: 执行测试单执行用例接口 - 参数传递错误,执行失败
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestsheetCases
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${added_testcase_id}
testerId: 9999
testStatus: ${random.choice([0,1,2,3,4])}
testcaseStepList: ${zip_test_step(${test_case_step_id}, ${test_case_step_status_id})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该用户不存在(用户Id[9999])
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_added_testcases_list_02
@@ -0,0 +1,50 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 测试用例
case_markers:
- pms
- pms_project
- project_testcases
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_get_testcase_tag_list_01
- pms_new_testcases_02
- pms_new_testcases_02
- pms_get_testcases_list_01
- pms_new_testcase_module_01
- pms_get_testcase_type_list_01
- pms_get_testcase_tag_list_01
case_info:
-
id: pms_batch_edit_testcases_01
title: 项目下批量编辑测试用例 - 更新成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectTestcase/batch
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
idList: ${testcase_ids}
pmsModuleId: ${testcase_module_id} # 模块id
typeId: ${random.choice(${testcase_type_ids})} # 用例类型id
tags: ${random.choice(${testcase_tag_ids})} # 标记ID
assigneeGitlinkId: ${random.choice(${assignee_ids})} # 用例维护人id
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
@@ -5,13 +5,21 @@ case_common:
case_markers:
- pms
- pms_project
- testcases
- project_testcases
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_get_testcase_tag_list_01
- pms_new_testcases_02
case_info:
-
id: pms_delete_testcases_01
title: 项目下删除测试用例接口
title: 项目下删除测试用例接口 - 单个用例,删除成功
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcase/${testcase_id}
@@ -31,9 +39,31 @@ case_info:
assert_sql:
extract:
case_dependence:
-
id: pms_delete_testcases_02
title: 项目下删除测试用例接口 - 多个用例,删除成功
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcase/${list_to_str(${testcase_ids})}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_upload_file_01
- pms_new_testcase_module_01
- pms_new_testcases_01
- pms_new_testcases_02
- pms_new_testcases_02
- pms_get_testcases_list_01
@@ -5,15 +5,22 @@ case_common:
case_markers:
- pms
- pms_project
- testcases
- project_testcases
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_get_testcase_tag_list_01
- pms_new_testcases_02
case_info:
-
id: pms_edit_testcases_01
title: 项目下编辑测试用例接口 - 仅编辑标题
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestcase
method: PUT
headers:
@@ -33,30 +40,24 @@ case_info:
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_upload_file_01
- pms_new_testcase_module_01
- pms_new_testcases_01
-
id: pms_edit_testcases_02
title: 项目下编辑测试用例接口 - 编辑所有字段
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestcase
method: PUT
headers: {"Content-Type": "application/json; charset=utf-8;"}
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${testcase_id}
pmsProjectId: ${${project_ids}[0]}
title: ${generate_paragraph(nb=1)}
preconditions: ${generate_words(lan='zh', nb=2)}
assigneeGitlinkId: ${${project_member_ids}[0]}
tags:
assigneeGitlinkId: ${${assignee_ids}[0]}
tags: ${random.choice(${testcase_tag_ids})}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
testcaseStepInputVoList:
-
@@ -80,8 +81,146 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_upload_file_01
- pms_new_testcase_module_01
- pms_new_testcases_01
- pms_upload_file_01
-
id: pms_edit_testcases_03
title: 项目下编辑测试用例接口 - 模块传-1, 编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcase
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${testcase_id}
title: ${generate_paragraph(nb=1)}
assigneeGitlinkId: ${${assignee_ids}[0]}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
pmsModuleId: -1
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 该模块不存在(模块ID[-1])
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_edit_testcases_05
title: 项目下编辑测试用例接口 - 用例名称为空, 编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcase
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${testcase_id}
title:
assigneeGitlinkId: ${${assignee_ids}[0]}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功 # 当传参为空时,当前设计为不更新;
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_edit_testcases_06
title: 项目下编辑测试用例接口 - 用例名称长度31, 编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcase
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${testcase_id}
title: ${faker.pystr(max_chars=101)}
assigneeGitlinkId: ${${assignee_ids}[0]}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[title]字段校验异常:长度需要小于100'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_edit_testcases_07
title: 项目下编辑测试用例接口 - 前置条件长度501, 编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcase
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${testcase_id}
title: ${faker.pystr(max_chars=100)}
preconditions: ${faker.pystr(max_chars=501)}
assigneeGitlinkId: ${${assignee_ids}[0]}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[preconditions]字段校验异常:长度需要小于500'
assert_type: ==
assert_sql:
extract:
case_dependence:
-
id: pms_edit_testcases_08
title: 项目下编辑测试用例接口 - 备注501, 编辑失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcase
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
id: ${testcase_id}
title: ${faker.pystr(max_chars=100)}
remark: ${faker.pystr(max_chars=501)}
assigneeGitlinkId: ${${assignee_ids}[0]}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[remark]字段校验异常:长度需要小于500'
assert_type: ==
assert_sql:
extract:
case_dependence:
@@ -0,0 +1,35 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 测试用例模块
case_markers:
- pms
- pms_project
- project_test_module
- usefixtures: gitlink_login
case_info:
- id: pms_get_testcase_type_list_01
title: 获取测试用例类型列表接口
run: true
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcaseType/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmsProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 查询成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
testcase_type_ids: $.rows[*].id
case_dependence:
@@ -1,26 +1,26 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目模块
allure_story: 项目
allure_feature: 项目
allure_story: 测试用例
case_markers:
- pms
- pms_project
- usefixtures: gitlink_login
- pms
- pms_project
- project_testcases
- usefixtures: gitlink_login
case_info:
-
id: pms_get_project_issue_tags_01
title: 获取项目内标记列表接口
id: pms_get_testcases_detail_01
title: 项目下获取测试用例详情接口
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectIssues/issueTags
url: ${pms_host}/api/pms/pmsProjectTestcase/${testcase_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
@@ -31,5 +31,9 @@ case_info:
assert_sql:
extract:
type_jsonpath:
project_tag_ids: $.data.issue_tags[*].id
case_dependence:
testcase_ids: $.rows[*].id
case_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_new_testcases_02
@@ -5,12 +5,12 @@ case_common:
case_markers:
- pms
- pms_project
- testcases
- project_testcases
- usefixtures: gitlink_login
case_info:
-
id: pms_get_testcases_01
id: pms_get_testcases_list_01
title: 项目下获取测试用例列表接口
run: True
severity: normal
@@ -5,16 +5,22 @@ case_common:
case_markers:
- pms
- pms_project
- testcases
- project_testcases
- repeat(1)
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_enterprise_user_list_01
- pms_get_testcase_tag_list_01
case_info:
-
id: pms_new_testcases_01
title: 项目下新建测试用例接口 - 有所属模块
title: 项目下新建测试用例接口 - 有所属模块 新建成功
run: true
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestcase
method: POST
headers:
@@ -25,8 +31,8 @@ case_info:
pmsProjectId: ${env_pms_project_id}
title: ${generate_paragraph(nb=1)}
preconditions: ${generate_words(lan='zh', nb=2)}
assigneeGitlinkId: ${${project_member_ids}[0]}
tags:
assigneeGitlinkId: ${${assignee_ids}[0]}
tags: ${random.choice(${testcase_tag_ids})}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
pmsModuleId: ${testcase_module_id}
testcaseStepInputVoList:
@@ -53,18 +59,17 @@ case_info:
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_upload_file_01
- pms_new_testcase_module_01
teardown:
interface:
- pms_delete_testcase_module_02
- pms_delete_testcase_module_01
-
id: pms_new_testcases_02
title: 项目下新建测试用例接口 - 无所属模块
title: 项目下新建测试用例接口 - 无所属模块 新建成功
run: True
severity: normal
severity: blocker
url: ${pms_host}/api/pms/pmsProjectTestcase
method: POST
headers:
@@ -75,8 +80,8 @@ case_info:
pmsProjectId: ${env_pms_project_id}
title: ${generate_paragraph(nb=1)}
preconditions: ${generate_words(lan='zh', nb=2)}
assigneeGitlinkId: ${${project_member_ids}[0]}
tags:
assigneeGitlinkId: ${${assignee_ids}[0]}
tags: ${random.choice(${testcase_tag_ids})}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
testcaseStepInputVoList:
-
@@ -87,7 +92,6 @@ case_info:
content: ${generate_words(lan='zh', nb=2)}
expectedResult: ${generate_words(lan='zh', nb=2)}
remark: ${generate_paragraph(nb=2)}
fileIdentifiers: ${file_identifier}
files:
assert_response:
status_code: 200
@@ -100,10 +104,6 @@ case_info:
type_jsonpath:
testcase_id: $.data
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_upload_file_01
-
id: pms_new_testcases_03
@@ -120,8 +120,7 @@ case_info:
pmsProjectId: ${env_pms_project_id}
title: ${generate_paragraph(nb=1)}
preconditions: ${generate_words(lan='zh', nb=2)}
assigneeGitlinkId: ${${project_member_ids}[0]}
tags:
assigneeGitlinkId: ${${assignee_ids}[0]}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
pmsModuleId: -1
testcaseStepInputVoList:
@@ -139,13 +138,132 @@ case_info:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 产品模块不存在(产品模块ID[-1])
expect_value: 该模块不存在(模块ID[-1])
assert_type: ==
assert_sql:
extract:
type_jsonpath:
testcase_id: $.data
case_dependence:
setup:
interface:
- pms_get_project_member_list_01
-
id: pms_new_testcases_05
title: 项目下新建测试用例接口 - 用例名称为空, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcase
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProjectId: ${env_pms_project_id}
title:
assigneeGitlinkId: ${${assignee_ids}[0]}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[title]字段校验异常:must not be blank'
assert_type: ==
assert_sql:
extract:
type_jsonpath:
testcase_id: $.data
case_dependence:
-
id: pms_new_testcases_06
title: 项目下新建测试用例接口 - 用例名称长度31, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcase
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProjectId: ${env_pms_project_id}
title: ${faker.pystr(max_chars=101)}
assigneeGitlinkId: ${${assignee_ids}[0]}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[title]字段校验异常:长度需要小于100'
assert_type: ==
assert_sql:
extract:
type_jsonpath:
testcase_id: $.data
case_dependence:
-
id: pms_new_testcases_07
title: 项目下新建测试用例接口 - 前置条件长度501, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcase
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProjectId: ${env_pms_project_id}
title: ${faker.pystr(max_chars=100)}
preconditions: ${faker.pystr(max_chars=501)}
assigneeGitlinkId: ${${assignee_ids}[0]}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[preconditions]字段校验异常:长度需要小于500'
assert_type: ==
assert_sql:
extract:
type_jsonpath:
testcase_id: $.data
case_dependence:
-
id: pms_new_testcases_08
title: 项目下新建测试用例接口 - 备注501, 新建失败
run: True
severity: normal
url: ${pms_host}/api/pms/pmsProjectTestcase
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmsProjectId: ${env_pms_project_id}
title: ${faker.pystr(max_chars=100)}
remark: ${faker.pystr(max_chars=501)}
assigneeGitlinkId: ${${assignee_ids}[0]}
typeId: ${random.choice([1,2,3,4,5,6,7])} # 用例类型 功能测试1 性能测试2 接口测试3 安装部署4 安全相关5 配置相关6 其他7
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: '[remark]字段校验异常:长度需要小于500'
assert_type: ==
assert_sql:
extract:
type_jsonpath:
testcase_id: $.data
case_dependence:
@@ -0,0 +1,84 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 缺陷
case_markers:
- pms
- pms_project
- project_bug
- usefixtures: gitlink_login
case_info:
-
id: pms_batch_edit_project_bug_01
title: 项目下批量编辑缺陷 - 更新成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id}
method: put
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
ids: ${project_bug_ids}
projectId: ${${project_repo_ids}[0]} # 项目下的代码库
pmSprintId: ${random.choice(${project_sprint_ids})} # 项目下的迭代
issueTagIds:
- ${random.choice(${work_item_tag_ids})}
assignerIds:
- ${random.choice(${project_member_ids})}
priorityId: ${random.choice([1,2,3,4])}
statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_bug_02
- pms_new_project_bug_02
- pms_get_work_item_tag_list_01
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_get_project_repo_list_01
- pms_get_project_bug_list_01
-
id: pms_batch_edit_project_bug_02
title: 项目下批量编辑缺陷- 关联子缺陷, 更新成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id}
method: put
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
ids: # 关联子缺陷id, 子缺陷需要是无父级无子级的缺陷
- ${project_bug_id}
rootId: ${${project_bug_ids}[-1]}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_bug_02
- pms_new_project_bug_02
- pms_get_project_bug_list_01
@@ -0,0 +1,70 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 缺陷
case_markers:
- pms
- pms_project
- project_bug
- usefixtures: gitlink_login
case_info:
-
id: pms_delete_project_bug_01
title: 项目下删除缺陷接口 - 删除成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/${project_bug_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_bug_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_bug_02
-
id: pms_delete_project_bug_02
title: 项目下删除缺陷接口 - 多个缺陷,删除成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/${list_to_str(${project_bug_ids})}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_bug_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_bug_02
- pms_new_project_bug_02
- pms_get_project_bug_list_01
@@ -0,0 +1,158 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 缺陷
case_markers:
- pms
- pms_project
- project_bug
- usefixtures: gitlink_login
case_info:
- id: pms_edit_project_bug_01
title: 项目下编辑缺陷 - 仅编辑标题,更新成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_bug_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 3 # 1 缺陷 2 任务 3 缺陷
subject: 缺陷_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface: pms_new_project_bug_02
- id: pms_edit_project_bug_02
title: 项目下编辑缺陷 - 更新成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_bug_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6
pmProjectId: ${env_pms_project_id}
pmIssueType: 3
subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
description: ${generate_paragraph(nb=6)}
assignerIds: ${${project_member_ids}[1:4]}
attachmentIds:
- ${file_id}
priorityId: ${random.choice([1,2,3,4])}
issueTagIds: ${${work_item_tag_ids}[1:4]}
sprintId:
projectId: ${${project_repo_ids}[0]}
branchName: master
startDate: ${generate_time(fmt='%Y-%m-%d')}
dueDate: ${generate_time(fmt='%Y-%m-%d')}
timeScale: ${generate_random_int(1,100)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_bug_02
- pms_project_upload_files_01
- pms_get_project_member_list_01
- pms_get_work_item_tag_list_01
- pms_get_project_repo_list_01
- id: pms_edit_project_bug_03
title: 项目下编辑缺陷- 关联父缺陷,关联成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_bug_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
rootId: ${${parent_bug_ids}[0]} # 关联的父缺陷id
statusId: ${bug_status_id}
priorityId: ${bug_priority_id}
assignerIds: ${str_to_list(${bug_assignee_ids})}
issueTagIds: ${str_to_list(${bug_tag_ids})}
projectId: ${none_to_null(${bug_project_id})}
sprintId: ${none_to_null(${bug_sprint_id})}
branchName: ${none_to_null(${bug_branch_name})}
startDate: ${none_to_null(${bug_start_date})}
dueDate: ${none_to_null(${bug_due_date})}
timeScale: ${none_to_null(${bug_time_scale})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_bug_02
- pms_pms_get_optional_parent_bug_list_01
- pms_get_project_bug_detail_01
- id: pms_edit_project_bug_04
title: 项目下编辑缺陷 - 取消父子关系,取消成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_bug_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
rootId: 0
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_bug_02
- pms_pms_get_optional_parent_bug_list_01
- pms_get_project_bug_detail_01
@@ -0,0 +1,40 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 缺陷
case_markers:
- pms
- pms_project
- project_bug
- usefixtures: gitlink_login
case_info:
- id: pms_pms_get_optional_parent_bug_list_01
title: 获取缺陷可关联的父缺陷列表
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/optionalParentIssue/${project_bug_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
page: 1
limit: 50
pmIssueType: 3
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
parent_bug_ids: $.data.issues[*].id
case_dependence:
setup:
interface: pms_new_project_bug_02
@@ -0,0 +1,52 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 缺陷
case_markers:
- pms
- pms_project
- project_bug
- usefixtures: gitlink_login
common_dependence:
setup:
interface: pms_new_project_bug_02
case_info:
- id: pms_get_project_bug_detail_01
title: 获取项目下缺陷详情接口
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/${project_bug_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
bug_status_id: $.data.status.id
bug_issue_type: $.data.pm_issue_type
bug_subject: $.data.subject
bug_description: $.data.description
bug_assignee_ids: $.data.assigners[*].id
bug_attachment_ids: $.data.attachments[*].id
bug_priority_id: $.data.priority.id
bug_tag_ids: $.data.tags[*].id
bug_sprint_id: $.data.pm_sprint_id
bug_project_id: $.data.project.id
bug_branch_name: $.data.branch_name
bug_start_date: $.data.start_date
bug_due_date: $.data.due_date
bug_time_scale: $.data.time_scale
case_dependence:
@@ -0,0 +1,85 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 缺陷
case_markers:
- pms
- pms_project
- project_bug
- usefixtures: gitlink_login
case_info:
-
id: pms_get_project_bug_list_01
title: 获取项目内缺陷列表接口
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
page: 1
limit: 20
category: all # 疑修类型,all 全部 opened 开启中 closed 已关闭
participantCategory: all # 参与类型,all 全部 aboutme 关于我的 authoredme 我创建的 assignedme 我负责的 atme @我的
pmIssueType: 3
rootId: # 为空查所有,-1查一级
assignerId:
authorId:
excludeIds: # 排除id集合查询,逗号隔开
ids: # id集合查询,逗号隔开
issueTagIds:
keyword:
pmSprintId:
projectId:
sortBy:
sortDirection:
statusIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_bug_ids: $.data.issues[*].id
case_dependence:
-
id: pms_get_project_bug_list_by_name_02
title: 获取项目内缺陷列表接口 - 通过缺陷名称关键字搜索
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
page: 1
limit: 20
category: all # 疑修类型,all 全部 opened 开启中 closed 已关闭
participantCategory: all # 参与类型,all 全部 aboutme 关于我的 authoredme 我创建的 assignedme 我负责的 atme @我的
pmIssueType: 3
keyword: 新缺陷
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_bug_ids: $.data.issues[*].id
case_dependence:
@@ -0,0 +1,169 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 缺陷
case_markers:
- pms
- pms_project
- project_bug
- repeat(1)
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_work_item_tag_list_01
- pms_get_project_repo_list_01
case_info:
- id: pms_new_project_bug_01
title: 项目下新建缺陷接口 - 新建成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 3 # 1 缺陷 2 缺陷 3 缺陷
subject: 缺陷_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
description: ${generate_paragraph(nb=6)}
statusId: 1
assignerIds: ${${project_member_ids}[1:4]}
attachmentIds:
- ${file_id}
priorityId: ${random.choice([1,2,3,4])}
issueTagIds: ${${work_item_tag_ids}[1:4]}
sprintId:
projectId: ${${project_repo_ids}[0]}
branchName: master
startDate: ${generate_time(fmt='%Y-%m-%d')}
dueDate: ${generate_time(fmt='%Y-%m-%d')}
timeScale: ${generate_random_int(1,100)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_bug_id: $.data.id
case_dependence:
setup:
interface:
- pms_project_upload_files_01
- id: pms_new_project_bug_02
title: 项目下新建缺陷接口 - 仅输入标题,新建成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 3 # 1 缺陷 2 缺陷 3 缺陷
subject: 缺陷_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
statusId: 1
priorityId: ${random.choice([1,2,3,4])}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_bug_id: $.data.id
case_dependence:
- id: pms_new_project_bug_children_03
title: 项目下新建子级缺陷接口 - 新建成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 3
subject: 缺陷_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
description: ${generate_paragraph(nb=6)}
statusId: 1
assignerIds: ${${project_member_ids}[1:4]}
attachmentIds:
- ${file_id}
priorityId: ${random.choice([1,2,3,4])}
issueTagIds: ${${work_item_tag_ids}[1:4]}
sprintId:
projectId: ${${project_repo_ids}[0]}
branchName: master
startDate: ${generate_time(fmt='%Y-%m-%d')}
dueDate: ${generate_time(fmt='%Y-%m-%d')}
timeScale: ${generate_random_int(1,100)}
rootId: ${project_bug_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_bug_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_bug_02
- pms_project_upload_files_01
- id: pms_new_project_bug_children_04
title: 项目下新建子级缺陷接口 - 仅输入标题新建, 新建成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 3
subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
statusId: 1
priorityId: 1
rootId: ${project_bug_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_bug_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_bug_02
@@ -0,0 +1,143 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 缺陷
case_markers:
- pms
- pms_project
- project_bug
- usefixtures: gitlink_login
common_dependence:
setup:
interface: pms_new_project_bug_02
case_info:
-
id: pms_project_bug_add_journal_01
title: 缺陷下添加评论
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
- ${file_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
bug_journal_id: $.data.id
case_dependence:
setup:
interface:
- pms_project_upload_files_01
-
id: pms_project_bug_add_journal_reply_02
title: 缺陷下添加评论回复
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
- ${file_id}
parentId: ${bug_journal_id}
replyId: ${bug_journal_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_project_upload_files_01
- pms_project_bug_add_journal_01
- pms_project_upload_files_01
-
id: pms_project_bug_add_journal_03
title: 缺陷下添加评论 - 不上传附件,添加成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
bug_journal_id: $.data.id
case_dependence:
-
id: pms_project_bug_add_journal_reply_04
title: 缺陷下添加评论回复 - 不上传附件,添加成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
parentId: ${bug_journal_id}
replyId: ${bug_journal_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
bug_journal_reply_id: $.data.id
case_dependence:
setup:
interface:
- pms_project_bug_add_journal_03
@@ -0,0 +1,69 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 缺陷
case_markers:
- pms
- pms_project
- project_bug
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_new_project_bug_02
case_info:
-
id: pms_delete_project_bug_journal_01
title: 缺陷下删除评论 - 删除成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id}/${bug_journal_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface: pms_project_bug_add_journal_03
-
id: pms_delete_project_bug_journal_reply_02
title: 缺陷下删除评论回复 - 删除成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id}/${bug_journal_reply_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_project_bug_add_journal_03
- pms_project_bug_add_journal_reply_04
@@ -0,0 +1,76 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 缺陷
case_markers:
- pms
- pms_project
- project_bug
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_new_project_bug_02
- pms_project_bug_add_journal_03
- pms_project_bug_add_journal_reply_04
case_info:
-
id: pms_project_bug_edit_journal_01
title: 缺陷下编辑评论 - 更新成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id}/${bug_journal_id}
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
- ${file_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface: pms_project_upload_files_01
-
id: pms_project_bug_edit_journal_reply_02
title: 工作项下编辑评论回复 - 缺陷
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_id}/${bug_journal_reply_id}
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
- ${file_id}
parentId: ${bug_journal_id}
replayId: ${bug_journal_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
@@ -0,0 +1,84 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 需求
case_markers:
- pms
- pms_project
- project_requirement
- usefixtures: gitlink_login
case_info:
-
id: pms_batch_edit_project_requirement_01
title: 项目下批量编辑需求 - 更新成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id}
method: put
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
ids: ${project_requirement_ids}
projectId: ${${project_repo_ids}[0]} # 项目下的代码库
pmSprintId: ${random.choice(${project_sprint_ids})} # 项目下的迭代
issueTagIds:
- ${random.choice(${work_item_tag_ids})}
assignerIds:
- ${random.choice(${project_member_ids})}
priorityId: ${random.choice([1,2,3,4])}
statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_requirement_02
- pms_new_project_requirement_02
- pms_get_work_item_tag_list_01
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_get_project_repo_list_01
- pms_get_project_requirement_list_01
-
id: pms_batch_edit_project_requirement_02
title: 项目下批量编辑需求- 关联子需求, 更新成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id}
method: put
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
ids: # 关联子需求id, 子需求需要是无父级无子级的需求
- ${project_requirement_id}
rootId: ${${project_requirement_ids}[-1]}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_requirement_02
- pms_new_project_requirement_02
- pms_get_project_requirement_list_01
@@ -0,0 +1,70 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 需求
case_markers:
- pms
- pms_project
- project_requirement
- usefixtures: gitlink_login
case_info:
-
id: pms_delete_project_requirement_01
title: 项目下删除需求接口 - 单个需求,删除成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/${project_requirement_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_requirement_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_requirement_02
-
id: pms_delete_project_requirement_02
title: 项目下删除需求接口 - 多个需求,删除成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/${list_to_str(${project_requirement_ids})}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_requirement_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_requirement_02
- pms_new_project_requirement_02
- pms_get_project_requirement_list_01
@@ -0,0 +1,158 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 需求
case_markers:
- pms
- project
- project_requirement
- usefixtures: gitlink_login
case_info:
- id: pms_edit_project_requirement_01
title: 项目下编辑需求 - 仅编辑标题,更新成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_requirement_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 1 # 1 需求 2 任务 3 缺陷
subject: 需求_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface: pms_new_project_requirement_02
- id: pms_edit_project_requirement_02
title: 项目下编辑需求 - 编辑所有字段,更新成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_requirement_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6
pmProjectId: ${env_pms_project_id}
pmIssueType: 1
subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
description: ${generate_paragraph(nb=6)}
assignerIds: ${${project_member_ids}[1:4]}
attachmentIds:
- ${file_id}
priorityId: ${random.choice([1,2,3,4])}
issueTagIds: ${${work_item_tag_ids}[1:4]}
sprintId:
projectId: ${${project_repo_ids}[0]}
branchName: master
startDate: ${generate_time(fmt='%Y-%m-%d')}
dueDate: ${generate_time(fmt='%Y-%m-%d')}
timeScale: ${generate_random_int(1,100)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_requirement_02
- pms_project_upload_files_01
- pms_get_project_member_list_01
- pms_get_work_item_tag_list_01
- pms_get_project_repo_list_01
- id: pms_edit_project_requirement_03
title: 项目下编辑需求- 关联父需求,关联成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_requirement_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
rootId: ${${parent_requirement_ids}[0]} # 关联的父需求id
statusId: ${requirement_status_id}
priorityId: ${requirement_priority_id}
assignerIds: ${str_to_list(${requirement_assignee_ids})}
issueTagIds: ${str_to_list(${requirement_tag_ids})}
projectId: ${none_to_null(${requirement_project_id})}
sprintId: ${none_to_null(${requirement_sprint_id})}
branchName: ${none_to_null(${requirement_branch_name})}
startDate: ${none_to_null(${requirement_start_date})}
dueDate: ${none_to_null(${requirement_due_date})}
timeScale: ${none_to_null(${requirement_time_scale})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_requirement_02
- pms_pms_get_optional_parent_requirement_list_01
- pms_get_project_requirement_detail_01
- id: pms_edit_project_requirement_04
title: 项目下编辑需求 - 取消父子关系,取消成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_requirement_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
rootId: 0
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_requirement_02
- pms_pms_get_optional_parent_requirement_list_01
- pms_get_project_requirement_detail_01
@@ -0,0 +1,40 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 需求
case_markers:
- pms
- pms_project
- project_requirement
- usefixtures: gitlink_login
case_info:
- id: pms_pms_get_optional_parent_requirement_list_01
title: 获取需求可关联的父需求列表
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/optionalParentIssue/${project_requirement_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
page: 1
limit: 50
pmIssueType: 1
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
parent_requirement_ids: $.data.issues[*].id
case_dependence:
setup:
interface: pms_new_project_requirement_02
@@ -0,0 +1,52 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 需求
case_markers:
- pms
- pms_project
- project_requirement
- usefixtures: gitlink_login
common_dependence:
setup:
interface: pms_new_project_requirement_02
case_info:
- id: pms_get_project_requirement_detail_01
title: 获取项目下需求详情接口
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/${project_requirement_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
requirement_status_id: $.data.status.id
requirement_issue_type: $.data.pm_issue_type
requirement_subject: $.data.subject
requirement_description: $.data.description
requirement_assignee_ids: $.data.assigners[*].id
requirement_attachment_ids: $.data.attachments[*].id
requirement_priority_id: $.data.priority.id
requirement_tag_ids: $.data.tags[*].id
requirement_sprint_id: $.data.pm_sprint_id
requirement_project_id: $.data.project.id
requirement_branch_name: $.data.branch_name
requirement_start_date: $.data.start_date
requirement_due_date: $.data.due_date
requirement_time_scale: $.data.time_scale
case_dependence:
@@ -0,0 +1,85 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 需求
case_markers:
- pms
- pms_project
- project_requirement
- usefixtures: gitlink_login
case_info:
-
id: pms_get_project_requirement_list_01
title: 获取项目内需求列表接口
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
page: 1
limit: 20
category: all # 疑修类型,all 全部 opened 开启中 closed 已关闭
participantCategory: all # 参与类型,all 全部 aboutme 关于我的 authoredme 我创建的 assignedme 我负责的 atme @我的
pmIssueType: 1
rootId: # 为空查所有,-1查一级
assignerId:
authorId:
excludeIds: # 排除id集合查询,逗号隔开
ids: # id集合查询,逗号隔开
issueTagIds:
keyword:
pmSprintId:
projectId:
sortBy:
sortDirection:
statusIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_requirement_ids: $.data.issues[*].id
case_dependence:
-
id: pms_get_project_requirement_list_by_name_02
title: 获取项目内需求列表接口 - 通过需求名称关键字搜索
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
page: 1
limit: 20
category: all # 疑修类型,all 全部 opened 开启中 closed 已关闭
participantCategory: all # 参与类型,all 全部 aboutme 关于我的 authoredme 我创建的 assignedme 我负责的 atme @我的
pmIssueType: 1
keyword: 新需求
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_requirement_ids: $.data.issues[*].id
case_dependence:
@@ -0,0 +1,169 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 需求
case_markers:
- pms
- pms_project
- project_requirement
- repeat(1)
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_work_item_tag_list_01
- pms_get_project_repo_list_01
case_info:
- id: pms_new_project_requirement_01
title: 项目下新建需求接口 - 新建成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 1 # 1 需求 2 任务 3 缺陷
subject: 新新需求_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
description: ${generate_paragraph(nb=6)}
statusId: 1
assignerIds: ${${project_member_ids}[1:4]}
attachmentIds:
- ${file_id}
priorityId: ${random.choice([1,2,3,4])}
issueTagIds: ${${work_item_tag_ids}[1:4]}
sprintId:
projectId: ${${project_repo_ids}[0]}
branchName: master
startDate: ${generate_time(fmt='%Y-%m-%d')}
dueDate: ${generate_time(fmt='%Y-%m-%d')}
timeScale: ${generate_random_int(1,100)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_requirement_id: $.data.id
case_dependence:
setup:
interface:
- pms_project_upload_files_01
- id: pms_new_project_requirement_02
title: 项目下新建需求接口 - 仅输入标题,新建成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 1 # 1 需求 2 任务 3 缺陷
subject: 新新需求_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
statusId: 1
priorityId: ${random.choice([1,2,3,4])}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_requirement_id: $.data.id
case_dependence:
- id: pms_new_project_requirement_children_03
title: 项目下新建子级需求接口 - 新建成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 1
subject: 新需求_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
description: ${generate_paragraph(nb=6)}
statusId: 1
assignerIds: ${${project_member_ids}[1:4]}
attachmentIds:
- ${file_id}
priorityId: ${random.choice([1,2,3,4])}
issueTagIds: ${${work_item_tag_ids}[1:4]}
sprintId:
projectId: ${${project_repo_ids}[0]}
branchName: master
startDate: ${generate_time(fmt='%Y-%m-%d')}
dueDate: ${generate_time(fmt='%Y-%m-%d')}
timeScale: ${generate_random_int(1,100)}
rootId: ${project_requirement_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_requirement_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_requirement_02
- pms_project_upload_files_01
- id: pms_new_project_requirement_children_04
title: 项目下新建子级需求接口 - 仅输入标题新建, 新建成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 1
subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
statusId: 1
priorityId: 1
rootId: ${project_requirement_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_bug_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_requirement_02
@@ -0,0 +1,143 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 需求
case_markers:
- pms
- pms_project
- project_requirement
- usefixtures: gitlink_login
common_dependence:
setup:
interface: pms_new_project_requirement_02
case_info:
-
id: pms_project_requirement_add_journal_01
title: 需求下添加评论
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
- ${file_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
requirement_journal_id: $.data.id
case_dependence:
setup:
interface:
- pms_project_upload_files_01
-
id: pms_project_requirement_add_journal_reply_02
title: 需求下添加评论回复
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
- ${file_id}
parentId: ${requirement_journal_id}
replyId: ${requirement_journal_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_project_upload_files_01
- pms_project_requirement_add_journal_01
- pms_project_upload_files_01
-
id: pms_project_requirement_add_journal_03
title: 需求下添加评论 - 不上传附件,添加成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
requirement_journal_id: $.data.id
case_dependence:
-
id: pms_project_requirement_add_journal_reply_04
title: 需求下添加评论回复 - 不上传附件,添加成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
parentId: ${requirement_journal_id}
replyId: ${requirement_journal_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
requirement_journal_reply_id: $.data.id
case_dependence:
setup:
interface:
- pms_project_requirement_add_journal_03
@@ -0,0 +1,69 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 需求
case_markers:
- pms
- pms_project
- project_requirement
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_new_project_requirement_02
case_info:
-
id: pms_delete_project_requirement_journal_01
title: 需求下删除评论 - 删除成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id}/${requirement_journal_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface: pms_project_requirement_add_journal_03
-
id: pms_delete_project_requirement_journal_reply_02
title: 需求下删除评论回复 - 删除成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id}/${requirement_journal_reply_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_project_requirement_add_journal_03
- pms_project_requirement_add_journal_reply_04
@@ -0,0 +1,76 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 需求
case_markers:
- pms
- pms_project
- project_requirement
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_new_project_requirement_02
- pms_project_requirement_add_journal_03
- pms_project_requirement_add_journal_reply_04
case_info:
-
id: pms_project_requirement_edit_journal_01
title: 需求下编辑评论 - 更新成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id}/${requirement_journal_id}
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
- ${file_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface: pms_project_upload_files_01
-
id: pms_project_requirement_edit_journal_reply_02
title: 工作项下编辑评论回复 - 需求
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_id}/${requirement_journal_reply_id}
method: PUT
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
- ${file_id}
parentId: ${requirement_journal_id}
replayId: ${requirement_journal_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
@@ -0,0 +1,84 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 任务
case_markers:
- pms
- pms_project
- project_task
- usefixtures: gitlink_login
case_info:
-
id: pms_batch_edit_project_task_01
title: 项目下批量编辑任务 - 更新成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id}
method: put
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
ids: ${project_task_ids}
projectId: ${${project_repo_ids}[0]} # 项目下的代码库
pmSprintId: ${random.choice(${project_sprint_ids})} # 项目下的迭代
issueTagIds:
- ${random.choice(${work_item_tag_ids})}
assignerIds:
- ${random.choice(${project_member_ids})}
priorityId: ${random.choice([1,2,3,4])}
statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_task_02
- pms_new_project_task_02
- pms_get_work_item_tag_list_01
- pms_get_project_member_list_01
- pms_get_sprint_list_01
- pms_get_project_repo_list_01
- pms_get_project_task_list_01
-
id: pms_batch_edit_project_task_02
title: 项目下批量编辑任务- 关联子任务, 更新成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/batch?pmProjectId=${env_pms_project_id}
method: put
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
ids: # 关联子任务id, 子任务需要是无父级无子级的任务
- ${project_task_id}
rootId: ${${project_task_ids}[-1]}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_task_02
- pms_new_project_task_02
- pms_get_project_task_list_01
@@ -0,0 +1,70 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 任务
case_markers:
- pms
- pms_project
- project_task
- usefixtures: gitlink_login
case_info:
-
id: pms_delete_project_task_01
title: 项目下删除任务接口 - 删除成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/${project_task_id}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_task_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_task_02
-
id: pms_delete_project_task_02
title: 项目下删除任务接口 - 多个任务,删除成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/${list_to_str(${project_task_ids})}
method: DELETE
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_task_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_task_02
- pms_new_project_task_02
- pms_get_project_task_list_01
@@ -0,0 +1,158 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 任务
case_markers:
- pms
- pms_project
- project_task
- usefixtures: gitlink_login
case_info:
- id: pms_edit_project_task_01
title: 项目下编辑任务 - 仅编辑标题,更新成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_task_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 2 # 1 任务 2 任务 3 缺陷
subject: 任务_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface: pms_new_project_task_02
- id: pms_edit_project_task_02
title: 项目下编辑任务 - 更新成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_task_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
statusId: ${random.choice([1,2,3,5,6])} # 待评审1 进行中2 已完成3 已关闭5 已拒绝6
pmProjectId: ${env_pms_project_id}
pmIssueType: 2
subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
description: ${generate_paragraph(nb=6)}
assignerIds: ${${project_member_ids}[1:4]}
attachmentIds:
- ${file_id}
priorityId: ${random.choice([1,2,3,4])}
issueTagIds: ${${work_item_tag_ids}[1:4]}
sprintId:
projectId: ${${project_repo_ids}[0]}
branchName: master
startDate: ${generate_time(fmt='%Y-%m-%d')}
dueDate: ${generate_time(fmt='%Y-%m-%d')}
timeScale: ${generate_random_int(1,100)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_task_02
- pms_project_upload_files_01
- pms_get_project_member_list_01
- pms_get_work_item_tag_list_01
- pms_get_project_repo_list_01
- id: pms_edit_project_task_03
title: 项目下编辑任务- 关联父任务,关联成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_task_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
rootId: ${${parent_task_ids}[0]} # 关联的父任务id
statusId: ${task_status_id}
priorityId: ${task_priority_id}
assignerIds: ${str_to_list(${task_assignee_ids})}
issueTagIds: ${str_to_list(${task_tag_ids})}
projectId: ${none_to_null(${task_project_id})}
sprintId: ${none_to_null(${task_sprint_id})}
branchName: ${none_to_null(${task_branch_name})}
startDate: ${none_to_null(${task_start_date})}
dueDate: ${none_to_null(${task_due_date})}
timeScale: ${none_to_null(${task_time_scale})}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_task_02
- pms_pms_get_optional_parent_task_list_01
- pms_get_project_task_detail_01
- id: pms_edit_project_task_04
title: 项目下编辑任务 - 取消父子关系,取消成功
run: true
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_task_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
rootId: 0
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_new_project_task_02
- pms_pms_get_optional_parent_task_list_01
- pms_get_project_task_detail_01
@@ -0,0 +1,40 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 任务
case_markers:
- pms
- pms_project
- project_task
- usefixtures: gitlink_login
case_info:
- id: pms_pms_get_optional_parent_task_list_01
title: 获取任务可关联的父任务列表
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/optionalParentIssue/${project_task_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
page: 1
limit: 50
pmIssueType: 1
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
parent_task_ids: $.data.issues[*].id
case_dependence:
setup:
interface: pms_new_project_task_02
@@ -0,0 +1,52 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 任务
case_markers:
- pms
- pms_project
- project_task
- usefixtures: gitlink_login
common_dependence:
setup:
interface: pms_new_project_task_02
case_info:
- id: pms_get_project_task_detail_01
title: 获取项目下任务详情接口
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/${project_task_id}
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
task_status_id: $.data.status.id
task_issue_type: $.data.pm_issue_type
task_subject: $.data.subject
task_description: $.data.description
task_assignee_ids: $.data.assigners[*].id
task_attachment_ids: $.data.attachments[*].id
task_priority_id: $.data.priority.id
task_tag_ids: $.data.tags[*].id
task_sprint_id: $.data.pm_sprint_id
task_project_id: $.data.project.id
task_branch_name: $.data.branch_name
task_start_date: $.data.start_date
task_due_date: $.data.due_date
task_time_scale: $.data.time_scale
case_dependence:
@@ -0,0 +1,85 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 任务
case_markers:
- pms
- pms_project
- project_task
- usefixtures: gitlink_login
case_info:
-
id: pms_get_project_task_list_01
title: 获取项目内任务列表接口
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
page: 1
limit: 20
category: all # 疑修类型,all 全部 opened 开启中 closed 已关闭
participantCategory: all # 参与类型,all 全部 aboutme 关于我的 authoredme 我创建的 assignedme 我负责的 atme @我的
pmIssueType: 2
rootId: # 为空查所有,-1查一级
assignerId:
authorId:
excludeIds: # 排除id集合查询,逗号隔开
ids: # id集合查询,逗号隔开
issueTagIds:
keyword:
pmSprintId:
projectId:
sortBy:
sortDirection:
statusIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_task_ids: $.data.issues[*].id
case_dependence:
-
id: pms_get_project_task_list_by_name_02
title: 获取项目内任务列表接口 - 通过任务名称关键字搜索
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/list
method: GET
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: params
payload:
pmProjectId: ${env_pms_project_id}
page: 1
limit: 20
category: all # 疑修类型,all 全部 opened 开启中 closed 已关闭
participantCategory: all # 参与类型,all 全部 aboutme 关于我的 authoredme 我创建的 assignedme 我负责的 atme @我的
pmIssueType: 2
keyword: 新任务
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_task_ids: $.data.issues[*].id
case_dependence:
@@ -0,0 +1,169 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 任务
case_markers:
- pms
- pms_project
- project_task
- repeat(1)
- usefixtures: gitlink_login
common_dependence:
setup:
interface:
- pms_get_project_member_list_01
- pms_get_work_item_tag_list_01
- pms_get_project_repo_list_01
case_info:
- id: pms_new_project_task_01
title: 项目下新建任务接口 - 新建成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 2 # 1 任务 2 任务 3 缺陷
subject: 任务_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
description: ${generate_paragraph(nb=6)}
statusId: 1
assignerIds: ${${project_member_ids}[1:4]}
attachmentIds:
- ${file_id}
priorityId: ${random.choice([1,2,3,4])}
issueTagIds: ${${work_item_tag_ids}[1:4]}
sprintId:
projectId: ${${project_repo_ids}[0]}
branchName: master
startDate: ${generate_time(fmt='%Y-%m-%d')}
dueDate: ${generate_time(fmt='%Y-%m-%d')}
timeScale: ${generate_random_int(1,100)}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_task_id: $.data.id
case_dependence:
setup:
interface:
- pms_project_upload_files_01
- id: pms_new_project_task_02
title: 项目下新建任务接口 - 仅输入标题,新建成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 2 # 1 任务 2 任务 3 缺陷
subject: 任务_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
statusId: 1
priorityId: ${random.choice([1,2,3,4])}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_task_id: $.data.id
case_dependence:
- id: pms_new_project_task_children_03
title: 项目下新建子级任务接口 - 新建成功
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 2
subject: 任务_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
description: ${generate_paragraph(nb=6)}
statusId: 1
assignerIds: ${${project_member_ids}[1:4]}
attachmentIds:
- ${file_id}
priorityId: ${random.choice([1,2,3,4])}
issueTagIds: ${${work_item_tag_ids}[1:4]}
sprintId:
projectId: ${${project_repo_ids}[0]}
branchName: master
startDate: ${generate_time(fmt='%Y-%m-%d')}
dueDate: ${generate_time(fmt='%Y-%m-%d')}
timeScale: ${generate_random_int(1,100)}
rootId: ${project_task_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_task_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_task_02
- pms_project_upload_files_01
- id: pms_new_project_task_children_04
title: 项目下新建子级任务接口 - 仅输入标题新建, 新建成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/add
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
pmIssueType: 2
subject: 工作项_${generate_paragraph(lan='zh',nb=1)}_${generate_time}
statusId: 1
priorityId: 1
rootId: ${project_task_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
project_bug_id: $.data.id
case_dependence:
setup:
interface:
- pms_new_project_task_02
@@ -0,0 +1,143 @@
case_common:
allure_epic: 项目管理
allure_feature: 项目
allure_story: 工作项 - 任务
case_markers:
- pms
- pms_project
- project_task
- usefixtures: gitlink_login
common_dependence:
setup:
interface: pms_new_project_task_02
case_info:
-
id: pms_project_task_add_journal_01
title: 任务下添加评论
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
- ${file_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
task_journal_id: $.data.id
case_dependence:
setup:
interface:
- pms_project_upload_files_01
-
id: pms_project_task_add_journal_reply_02
title: 任务下添加评论回复
run: True
severity: blocker
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
- ${file_id}
parentId: ${task_journal_id}
replyId: ${task_journal_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
case_dependence:
setup:
interface:
- pms_project_upload_files_01
- pms_project_task_add_journal_01
- pms_project_upload_files_01
-
id: pms_project_task_add_journal_03
title: 任务下添加评论 - 不上传附件,添加成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
task_journal_id: $.data.id
case_dependence:
-
id: pms_project_task_add_journal_reply_04
title: 任务下添加评论回复 - 不上传附件,添加成功
run: True
severity: critical
url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}
method: POST
headers:
Content-Type: application/json; charset=utf-8;
cookies: ${cookies}
request_type: json
payload:
pmProjectId: ${env_pms_project_id}
notes: ${generate_paragraph(nb=6)}
attachmentIds:
parentId: ${task_journal_id}
replyId: ${task_journal_id}
files:
assert_response:
status_code: 200
assertMessage:
type_jsonpath: $.msg
expect_value: 操作成功
assert_type: ==
assert_sql:
extract:
type_jsonpath:
task_journal_reply_id: $.data.id
case_dependence:
setup:
interface:
- pms_project_task_add_journal_03

Some files were not shown because too many files have changed in this diff Show More