From 5e497682b8db829f866bbc90841de56c47882ddc Mon Sep 17 00:00:00 2001 From: floraachy <1622042529@qq.com> Date: Tue, 16 Jan 2024 13:48:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4pms=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 - config/settings.py | 25 +- .../test_get_module_detail.yaml | 49 ++ .../test_pms_delete_product_module.yaml | 65 ++- .../test_pms_edit_product_module.yaml | 129 ++++- .../test_pms_get_product_module_list.yaml | 6 +- .../test_pms_new_product_module.yaml | 129 ++++- .../test_get_product_plan_detail.yaml | 47 ++ .../test_pms_delete_product_plan.yaml | 4 +- .../test_pms_edit_product_plan.yaml | 170 ++++++- .../test_pms_get_product_plan_list.yaml | 6 +- ...pms_get_product_plan_requirement_list.yaml | 41 -- .../test_pms_new_product_plan.yaml | 166 ++++++- .../test_pms_delete_product_requirement.yaml | 38 +- .../test_pms_edit_product_requirement.yaml | 187 +++++++- ...test_pms_get_product_requirement_list.yaml | 60 ++- ...est_pms_get_product_requirement_plans.yaml | 2 +- .../test_pms_new_product_requirement.yaml | 159 ++++++- ...ms_pms_batch_edit_product_requirement.yaml | 11 +- .../test_pms_add_journal.yaml | 13 +- .../test_pms_delete_journal.yaml | 13 +- .../test_pms_edit_journal.yaml | 13 +- .../test_pms_get_journal_list.yaml | 5 +- ...tags.yaml => test_get_product_detail.yaml} | 20 +- .../pms/products/test_pms_delete_product.yaml | 12 +- .../pms/products/test_pms_edit_product.yaml | 118 ++++- .../products/test_pms_get_product_list.yaml | 7 +- .../pms/products/test_pms_new_product.yaml | 99 +++- .../pms/products/test_pms_operate_top.yaml | 71 --- .../test_pms_operate_top_product.yaml | 72 +++ .../test_pms_get_project_repo_list.yaml | 37 ++ ...st_pms_get_unlinked_project_repo_list.yaml | 72 +++ ...get_sprint_link_unlink_work_item_list.yaml | 243 ++++++++++ .../sprint/test_pms_delete_sprint.yaml | 42 +- .../projects/sprint/test_pms_edit_sprint.yaml | 215 +++++++-- .../sprint/test_pms_get_sprint_detail.yaml | 38 ++ .../sprint/test_pms_get_sprint_list.yaml | 6 +- .../projects/sprint/test_pms_new_sprint.yaml | 130 +++++- .../sprint/test_pms_work_item_out_sprint.yaml | 83 +++- .../sprint/test_pms_work_item_to_sprint.yaml | 80 +++- .../test_delete_testcase_module.yaml | 89 ++-- .../test_edit_testcase_module.yaml | 163 ++++++- .../test_module/test_get_testcase_module.yaml | 4 +- .../test_get_testcase_module_detail.yaml | 42 ++ .../test_get_testcase_module_list.yaml | 40 ++ .../test_module/test_new_testcase_module.yaml | 98 +++- .../test_pms_sync_product_module.yaml | 19 +- .../pms/projects/test_pms_delete_project.yaml | 20 +- .../pms/projects/test_pms_edit_project.yaml | 141 +++++- .../projects/test_pms_get_project_list.yaml | 31 +- .../pms/projects/test_pms_new_project.yaml | 190 +++++++- .../pms/projects/test_pms_top_project.yaml | 21 +- .../test_report/test_delete_test_report.yaml | 14 +- .../test_report/test_edit_test_report.yaml | 22 +- .../test_get_test_report_list.yaml | 2 +- .../test_report/test_new_test_report.yaml | 2 +- .../test_get_test_sheet_detail.yaml | 44 ++ .../test_pms_delete_test_sheet.yaml | 39 +- .../test_sheet/test_pms_edit_test_sheet.yaml | 113 ++++- .../test_pms_get_test_sheet_list.yaml | 11 +- ... test_pms_get_test_sheet_module_list.yaml} | 31 +- ...est_pms_get_test_sheet_testcases_list.yaml | 92 ++++ .../test_sheet/test_pms_new_test_sheet.yaml | 133 +++++- .../test_pms_test_sheet_add_testcase.yaml | 58 ++- .../test_pms_test_sheet_execute_testcase.yaml | 155 ++++++ .../test_pms_batch_edit_testcases.yaml | 50 ++ .../testcases/test_pms_delete_testcases.yaml | 42 +- .../testcases/test_pms_edit_testcases.yaml | 173 ++++++- .../test_pms_get_testcase_type_list.yaml | 35 ++ .../test_pms_get_testcases_detail.yaml} | 26 +- .../test_pms_get_testcases_list.yaml | 4 +- .../testcases/test_pms_new_testcases.yaml | 162 ++++++- .../bug/test_pms_batch_edit_project_bug.yaml | 84 ++++ .../bug/test_pms_delete_project_bug.yaml | 70 +++ .../bug/test_pms_edit_project_bug.yaml | 158 +++++++ ...test_pms_get_optional_parent_bug_list.yaml | 40 ++ .../bug/test_pms_get_project_bug_detail.yaml | 52 +++ .../bug/test_pms_get_project_bug_list.yaml | 85 ++++ .../bug/test_pms_new_project_bug.yaml | 169 +++++++ .../bug/test_pms_project_bug_add_journal.yaml | 143 ++++++ .../test_pms_project_bug_delete_journal.yaml | 69 +++ .../test_pms_project_bug_edit_journal.yaml | 76 +++ ...st_pms_batch_edit_project_requirement.yaml | 84 ++++ .../test_pms_delete_project_requirement.yaml | 70 +++ .../test_pms_edit_project_requirement.yaml | 158 +++++++ ..._get_optional_parent_requirement_list.yaml | 40 ++ ...st_pms_get_project_requirement_detail.yaml | 52 +++ ...test_pms_get_project_requirement_list.yaml | 85 ++++ .../test_pms_new_project_requirement.yaml | 169 +++++++ ...t_pms_project_requirement_add_journal.yaml | 143 ++++++ ...ms_project_requirement_delete_journal.yaml | 69 +++ ..._pms_project_requirement_edit_journal.yaml | 76 +++ .../test_pms_batch_edit_project_task.yaml | 84 ++++ .../task/test_pms_delete_project_task.yaml | 70 +++ .../task/test_pms_edit_project_task.yaml | 158 +++++++ ...est_pms_get_optional_parent_task_list.yaml | 40 ++ .../test_pms_get_project_task_detail.yaml | 52 +++ .../task/test_pms_get_project_task_list.yaml | 85 ++++ .../task/test_pms_new_project_task.yaml | 169 +++++++ .../test_pms_project_task_add_journal.yaml | 143 ++++++ .../test_pms_project_task_delete_journal.yaml | 69 +++ .../test_pms_project_task_edit_journal.yaml | 76 +++ .../test_pms_batch_edit_work_item.yaml | 218 --------- .../work_item/test_pms_delete_work_item.yaml | 112 ----- .../work_item/test_pms_edit_work_item.yaml | 441 ------------------ .../test_pms_get_work_item_detail.yaml | 151 ------ .../test_pms_get_work_item_list.yaml | 106 ----- .../work_item/test_pms_new_work_item.yaml | 401 ---------------- .../test_pms_project_issue_attachment.yaml | 34 -- .../test_pms_project_upload_files.yaml | 33 ++ .../test_pms_work_item_add_journal.yaml | 239 ---------- .../test_pms_work_item_delete_journal.yaml | 171 ------- .../test_pms_work_item_edit_journal.yaml | 185 -------- .../pms/repository/test_pms_new_repo.yaml | 48 ++ ...t_pms_deletet_product_requirement_tag.yaml | 61 +++ ...test_pms_edit_product_requirement_tag.yaml | 43 ++ ..._pms_get_product_requirement_tag_list.yaml | 61 +++ .../test_pms_new_product_requirement_tag.yaml | 37 ++ .../testcase_tag/test_pms_deletet_tag.yaml | 61 +++ .../testcase_tag/test_pms_edit_tag.yaml | 43 ++ .../testcase_tag/test_pms_get_tag_list.yaml | 61 +++ .../testcase_tag/test_pms_new_tag.yaml | 37 ++ .../test_pms_delete_work_item_tag.yaml | 36 ++ .../test_pms_edit_work_item_tag.yaml | 42 ++ .../test_pms_get_work_item_tag_list.yaml | 61 +++ .../test_pms_new_work_item_tag.yaml | 63 +++ .../test_pms_get_enterprise_user_list.yaml | 4 +- .../case_generate_utils/case_fun_generate.py | 4 +- utils/data_utils/data_handle.py | 23 + utils/data_utils/data_tools.py | 19 + 130 files changed, 7768 insertions(+), 2616 deletions(-) create mode 100644 interface/pms/products/product_module/test_get_module_detail.yaml create mode 100644 interface/pms/products/product_plan/test_get_product_plan_detail.yaml delete mode 100644 interface/pms/products/product_plan/test_pms_get_product_plan_requirement_list.yaml rename interface/pms/products/{product_requirement/test_pms_get_product_requirement_tags.yaml => test_get_product_detail.yaml} (56%) delete mode 100644 interface/pms/products/test_pms_operate_top.yaml create mode 100644 interface/pms/products/test_pms_operate_top_product.yaml create mode 100644 interface/pms/projects/repository/test_pms_get_unlinked_project_repo_list.yaml create mode 100644 interface/pms/projects/sprint/test_get_sprint_link_unlink_work_item_list.yaml create mode 100644 interface/pms/projects/sprint/test_pms_get_sprint_detail.yaml create mode 100644 interface/pms/projects/test_module/test_get_testcase_module_detail.yaml create mode 100644 interface/pms/projects/test_module/test_get_testcase_module_list.yaml create mode 100644 interface/pms/projects/test_sheet/test_get_test_sheet_detail.yaml rename interface/pms/projects/test_sheet/{test_pms_get_unadd_testcases_list.yaml => test_pms_get_test_sheet_module_list.yaml} (55%) create mode 100644 interface/pms/projects/test_sheet/test_pms_get_test_sheet_testcases_list.yaml create mode 100644 interface/pms/projects/test_sheet/test_pms_test_sheet_execute_testcase.yaml create mode 100644 interface/pms/projects/testcases/test_pms_batch_edit_testcases.yaml create mode 100644 interface/pms/projects/testcases/test_pms_get_testcase_type_list.yaml rename interface/pms/projects/{work_item/test_pms_get_project_issue_tags.yaml => testcases/test_pms_get_testcases_detail.yaml} (50%) create mode 100644 interface/pms/projects/work_item/bug/test_pms_batch_edit_project_bug.yaml create mode 100644 interface/pms/projects/work_item/bug/test_pms_delete_project_bug.yaml create mode 100644 interface/pms/projects/work_item/bug/test_pms_edit_project_bug.yaml create mode 100644 interface/pms/projects/work_item/bug/test_pms_get_optional_parent_bug_list.yaml create mode 100644 interface/pms/projects/work_item/bug/test_pms_get_project_bug_detail.yaml create mode 100644 interface/pms/projects/work_item/bug/test_pms_get_project_bug_list.yaml create mode 100644 interface/pms/projects/work_item/bug/test_pms_new_project_bug.yaml create mode 100644 interface/pms/projects/work_item/bug/test_pms_project_bug_add_journal.yaml create mode 100644 interface/pms/projects/work_item/bug/test_pms_project_bug_delete_journal.yaml create mode 100644 interface/pms/projects/work_item/bug/test_pms_project_bug_edit_journal.yaml create mode 100644 interface/pms/projects/work_item/requirement/test_pms_batch_edit_project_requirement.yaml create mode 100644 interface/pms/projects/work_item/requirement/test_pms_delete_project_requirement.yaml create mode 100644 interface/pms/projects/work_item/requirement/test_pms_edit_project_requirement.yaml create mode 100644 interface/pms/projects/work_item/requirement/test_pms_get_optional_parent_requirement_list.yaml create mode 100644 interface/pms/projects/work_item/requirement/test_pms_get_project_requirement_detail.yaml create mode 100644 interface/pms/projects/work_item/requirement/test_pms_get_project_requirement_list.yaml create mode 100644 interface/pms/projects/work_item/requirement/test_pms_new_project_requirement.yaml create mode 100644 interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal.yaml create mode 100644 interface/pms/projects/work_item/requirement/test_pms_project_requirement_delete_journal.yaml create mode 100644 interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal.yaml create mode 100644 interface/pms/projects/work_item/task/test_pms_batch_edit_project_task.yaml create mode 100644 interface/pms/projects/work_item/task/test_pms_delete_project_task.yaml create mode 100644 interface/pms/projects/work_item/task/test_pms_edit_project_task.yaml create mode 100644 interface/pms/projects/work_item/task/test_pms_get_optional_parent_task_list.yaml create mode 100644 interface/pms/projects/work_item/task/test_pms_get_project_task_detail.yaml create mode 100644 interface/pms/projects/work_item/task/test_pms_get_project_task_list.yaml create mode 100644 interface/pms/projects/work_item/task/test_pms_new_project_task.yaml create mode 100644 interface/pms/projects/work_item/task/test_pms_project_task_add_journal.yaml create mode 100644 interface/pms/projects/work_item/task/test_pms_project_task_delete_journal.yaml create mode 100644 interface/pms/projects/work_item/task/test_pms_project_task_edit_journal.yaml delete mode 100644 interface/pms/projects/work_item/test_pms_batch_edit_work_item.yaml delete mode 100644 interface/pms/projects/work_item/test_pms_delete_work_item.yaml delete mode 100644 interface/pms/projects/work_item/test_pms_edit_work_item.yaml delete mode 100644 interface/pms/projects/work_item/test_pms_get_work_item_detail.yaml delete mode 100644 interface/pms/projects/work_item/test_pms_get_work_item_list.yaml delete mode 100644 interface/pms/projects/work_item/test_pms_new_work_item.yaml delete mode 100644 interface/pms/projects/work_item/test_pms_project_issue_attachment.yaml create mode 100644 interface/pms/projects/work_item/test_pms_project_upload_files.yaml delete mode 100644 interface/pms/projects/work_item_journal/test_pms_work_item_add_journal.yaml delete mode 100644 interface/pms/projects/work_item_journal/test_pms_work_item_delete_journal.yaml delete mode 100644 interface/pms/projects/work_item_journal/test_pms_work_item_edit_journal.yaml create mode 100644 interface/pms/repository/test_pms_new_repo.yaml create mode 100644 interface/pms/settings/tag_setting/product_requirement_tag/test_pms_deletet_product_requirement_tag.yaml create mode 100644 interface/pms/settings/tag_setting/product_requirement_tag/test_pms_edit_product_requirement_tag.yaml create mode 100644 interface/pms/settings/tag_setting/product_requirement_tag/test_pms_get_product_requirement_tag_list.yaml create mode 100644 interface/pms/settings/tag_setting/product_requirement_tag/test_pms_new_product_requirement_tag.yaml create mode 100644 interface/pms/settings/tag_setting/testcase_tag/test_pms_deletet_tag.yaml create mode 100644 interface/pms/settings/tag_setting/testcase_tag/test_pms_edit_tag.yaml create mode 100644 interface/pms/settings/tag_setting/testcase_tag/test_pms_get_tag_list.yaml create mode 100644 interface/pms/settings/tag_setting/testcase_tag/test_pms_new_tag.yaml create mode 100644 interface/pms/settings/tag_setting/work_item_tag/test_pms_delete_work_item_tag.yaml create mode 100644 interface/pms/settings/tag_setting/work_item_tag/test_pms_edit_work_item_tag.yaml create mode 100644 interface/pms/settings/tag_setting/work_item_tag/test_pms_get_work_item_tag_list.yaml create mode 100644 interface/pms/settings/tag_setting/work_item_tag/test_pms_new_work_item_tag.yaml create mode 100644 utils/data_utils/data_tools.py diff --git a/README.md b/README.md index f47a951..9127457 100644 --- a/README.md +++ b/README.md @@ -105,8 +105,6 @@ pip install -r requirements.txt ## 五、如何创建用例 -注意:如果想用我框架中的用例执行运行测试,可以暂时跳过这一章节,直接看章节 "运行自动化测试"。 - ### 1. 修改配置文件 `config.settings.py` 1)确认用例是通过YAML还是Excel编写,由CASE_FILE_TYPE控制 2)确认测试完成后是否发送测试结果,由SEND_RESULT_TYPE控制,并填充对应邮件/钉钉/企业微信配置信息 diff --git a/config/settings.py b/config/settings.py index 1245c72..2c50f99 100644 --- a/config/settings.py +++ b/config/settings.py @@ -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", diff --git a/interface/pms/products/product_module/test_get_module_detail.yaml b/interface/pms/products/product_module/test_get_module_detail.yaml new file mode 100644 index 0000000..650b076 --- /dev/null +++ b/interface/pms/products/product_module/test_get_module_detail.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/products/product_module/test_pms_delete_product_module.yaml b/interface/pms/products/product_module/test_pms_delete_product_module.yaml index 4ef4dd4..7c0b5e5 100644 --- a/interface/pms/products/product_module/test_pms_delete_product_module.yaml +++ b/interface/pms/products/product_module/test_pms_delete_product_module.yaml @@ -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 \ No newline at end of file + - 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 \ No newline at end of file diff --git a/interface/pms/products/product_module/test_pms_edit_product_module.yaml b/interface/pms/products/product_module/test_pms_edit_product_module.yaml index 6c0d301..c5ff723 100644 --- a/interface/pms/products/product_module/test_pms_edit_product_module.yaml +++ b/interface/pms/products/product_module/test_pms_edit_product_module.yaml @@ -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 \ No newline at end of file + - 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 diff --git a/interface/pms/products/product_module/test_pms_get_product_module_list.yaml b/interface/pms/products/product_module/test_pms_get_product_module_list.yaml index 82f93f1..15d6057 100644 --- a/interface/pms/products/product_module/test_pms_get_product_module_list.yaml +++ b/interface/pms/products/product_module/test_pms_get_product_module_list.yaml @@ -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: diff --git a/interface/pms/products/product_module/test_pms_new_product_module.yaml b/interface/pms/products/product_module/test_pms_new_product_module.yaml index 0449a58..9adcd65 100644 --- a/interface/pms/products/product_module/test_pms_new_product_module.yaml +++ b/interface/pms/products/product_module/test_pms_new_product_module.yaml @@ -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 \ No newline at end of file + - 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 \ No newline at end of file diff --git a/interface/pms/products/product_plan/test_get_product_plan_detail.yaml b/interface/pms/products/product_plan/test_get_product_plan_detail.yaml new file mode 100644 index 0000000..dbaf5b9 --- /dev/null +++ b/interface/pms/products/product_plan/test_get_product_plan_detail.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/products/product_plan/test_pms_delete_product_plan.yaml b/interface/pms/products/product_plan/test_pms_delete_product_plan.yaml index 25dbc21..ff4ffc5 100644 --- a/interface/pms/products/product_plan/test_pms_delete_product_plan.yaml +++ b/interface/pms/products/product_plan/test_pms_delete_product_plan.yaml @@ -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: diff --git a/interface/pms/products/product_plan/test_pms_edit_product_plan.yaml b/interface/pms/products/product_plan/test_pms_edit_product_plan.yaml index 5c0868f..4a89c40 100644 --- a/interface/pms/products/product_plan/test_pms_edit_product_plan.yaml +++ b/interface/pms/products/product_plan/test_pms_edit_product_plan.yaml @@ -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: diff --git a/interface/pms/products/product_plan/test_pms_get_product_plan_list.yaml b/interface/pms/products/product_plan/test_pms_get_product_plan_list.yaml index 7283f45..ea4ac90 100644 --- a/interface/pms/products/product_plan/test_pms_get_product_plan_list.yaml +++ b/interface/pms/products/product_plan/test_pms_get_product_plan_list.yaml @@ -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: diff --git a/interface/pms/products/product_plan/test_pms_get_product_plan_requirement_list.yaml b/interface/pms/products/product_plan/test_pms_get_product_plan_requirement_list.yaml deleted file mode 100644 index 8737b8c..0000000 --- a/interface/pms/products/product_plan/test_pms_get_product_plan_requirement_list.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/interface/pms/products/product_plan/test_pms_new_product_plan.yaml b/interface/pms/products/product_plan/test_pms_new_product_plan.yaml index 0753bf6..71c5c3f 100644 --- a/interface/pms/products/product_plan/test_pms_new_product_plan.yaml +++ b/interface/pms/products/product_plan/test_pms_new_product_plan.yaml @@ -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 diff --git a/interface/pms/products/product_requirement/test_pms_delete_product_requirement.yaml b/interface/pms/products/product_requirement/test_pms_delete_product_requirement.yaml index ef88225..d567ebe 100644 --- a/interface/pms/products/product_requirement/test_pms_delete_product_requirement.yaml +++ b/interface/pms/products/product_requirement/test_pms_delete_product_requirement.yaml @@ -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 \ No newline at end of file + - 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 diff --git a/interface/pms/products/product_requirement/test_pms_edit_product_requirement.yaml b/interface/pms/products/product_requirement/test_pms_edit_product_requirement.yaml index f3b0c79..46c6053 100644 --- a/interface/pms/products/product_requirement/test_pms_edit_product_requirement.yaml +++ b/interface/pms/products/product_requirement/test_pms_edit_product_requirement.yaml @@ -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 \ No newline at end of file + + +- + 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 \ No newline at end of file diff --git a/interface/pms/products/product_requirement/test_pms_get_product_requirement_list.yaml b/interface/pms/products/product_requirement/test_pms_get_product_requirement_list.yaml index 729da16..36da92c 100644 --- a/interface/pms/products/product_requirement/test_pms_get_product_requirement_list.yaml +++ b/interface/pms/products/product_requirement/test_pms_get_product_requirement_list.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/products/product_requirement/test_pms_get_product_requirement_plans.yaml b/interface/pms/products/product_requirement/test_pms_get_product_requirement_plans.yaml index 352babd..9602428 100644 --- a/interface/pms/products/product_requirement/test_pms_get_product_requirement_plans.yaml +++ b/interface/pms/products/product_requirement/test_pms_get_product_requirement_plans.yaml @@ -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: diff --git a/interface/pms/products/product_requirement/test_pms_new_product_requirement.yaml b/interface/pms/products/product_requirement/test_pms_new_product_requirement.yaml index 7b3af16..bb1bc95 100644 --- a/interface/pms/products/product_requirement/test_pms_new_product_requirement.yaml +++ b/interface/pms/products/product_requirement/test_pms_new_product_requirement.yaml @@ -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 \ No newline at end of file + - pms_new_project_02 + - pms_get_project_list_by_name_02 + teardown: + interface: + - pms_delete_project_01 + diff --git a/interface/pms/products/product_requirement/test_pms_pms_batch_edit_product_requirement.yaml b/interface/pms/products/product_requirement/test_pms_pms_batch_edit_product_requirement.yaml index 6a65556..03c10c7 100644 --- a/interface/pms/products/product_requirement/test_pms_pms_batch_edit_product_requirement.yaml +++ b/interface/pms/products/product_requirement/test_pms_pms_batch_edit_product_requirement.yaml @@ -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 \ No newline at end of file + - pms_new_product_requirement_02 + - pms_new_product_plan_01 \ No newline at end of file diff --git a/interface/pms/products/product_requirement_journal/test_pms_add_journal.yaml b/interface/pms/products/product_requirement_journal/test_pms_add_journal.yaml index e502521..56d6b49 100644 --- a/interface/pms/products/product_requirement_journal/test_pms_add_journal.yaml +++ b/interface/pms/products/product_requirement_journal/test_pms_add_journal.yaml @@ -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 diff --git a/interface/pms/products/product_requirement_journal/test_pms_delete_journal.yaml b/interface/pms/products/product_requirement_journal/test_pms_delete_journal.yaml index 16f6e7e..c85c2c6 100644 --- a/interface/pms/products/product_requirement_journal/test_pms_delete_journal.yaml +++ b/interface/pms/products/product_requirement_journal/test_pms_delete_journal.yaml @@ -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 diff --git a/interface/pms/products/product_requirement_journal/test_pms_edit_journal.yaml b/interface/pms/products/product_requirement_journal/test_pms_edit_journal.yaml index 16310ef..814f267 100644 --- a/interface/pms/products/product_requirement_journal/test_pms_edit_journal.yaml +++ b/interface/pms/products/product_requirement_journal/test_pms_edit_journal.yaml @@ -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 diff --git a/interface/pms/products/product_requirement_journal/test_pms_get_journal_list.yaml b/interface/pms/products/product_requirement_journal/test_pms_get_journal_list.yaml index 97ee39a..25f7186 100644 --- a/interface/pms/products/product_requirement_journal/test_pms_get_journal_list.yaml +++ b/interface/pms/products/product_requirement_journal/test_pms_get_journal_list.yaml @@ -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 \ No newline at end of file + - pms_new_product_requirement_02 \ No newline at end of file diff --git a/interface/pms/products/product_requirement/test_pms_get_product_requirement_tags.yaml b/interface/pms/products/test_get_product_detail.yaml similarity index 56% rename from interface/pms/products/product_requirement/test_pms_get_product_requirement_tags.yaml rename to interface/pms/products/test_get_product_detail.yaml index 0b04eef..f17c005 100644 --- a/interface/pms/products/product_requirement/test_pms_get_product_requirement_tags.yaml +++ b/interface/pms/products/test_get_product_detail.yaml @@ -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: \ No newline at end of file + env_pms_product_name: $.data.productName \ No newline at end of file diff --git a/interface/pms/products/test_pms_delete_product.yaml b/interface/pms/products/test_pms_delete_product.yaml index 3d13c8b..9fbc167 100644 --- a/interface/pms/products/test_pms_delete_product.yaml +++ b/interface/pms/products/test_pms_delete_product.yaml @@ -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 \ No newline at end of file + - pms_get_product_list_by_name_02 diff --git a/interface/pms/products/test_pms_edit_product.yaml b/interface/pms/products/test_pms_edit_product.yaml index 0cf5e57..a2e1b15 100644 --- a/interface/pms/products/test_pms_edit_product.yaml +++ b/interface/pms/products/test_pms_edit_product.yaml @@ -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 \ No newline at end of file + interface: pms_delete_product_01 \ No newline at end of file diff --git a/interface/pms/products/test_pms_get_product_list.yaml b/interface/pms/products/test_pms_get_product_list.yaml index 6967afd..e5c0d71 100644 --- a/interface/pms/products/test_pms_get_product_list.yaml +++ b/interface/pms/products/test_pms_get_product_list.yaml @@ -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 \ No newline at end of file + pms_product_identifier: $.rows[0].productIdentifier + pms_product_name: $.rows[0].productName \ No newline at end of file diff --git a/interface/pms/products/test_pms_new_product.yaml b/interface/pms/products/test_pms_new_product.yaml index 6f3c37f..911d079 100644 --- a/interface/pms/products/test_pms_new_product.yaml +++ b/interface/pms/products/test_pms_new_product.yaml @@ -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 \ No newline at end of file + - 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: \ No newline at end of file diff --git a/interface/pms/products/test_pms_operate_top.yaml b/interface/pms/products/test_pms_operate_top.yaml deleted file mode 100644 index abbb467..0000000 --- a/interface/pms/products/test_pms_operate_top.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/interface/pms/products/test_pms_operate_top_product.yaml b/interface/pms/products/test_pms_operate_top_product.yaml new file mode 100644 index 0000000..121ccda --- /dev/null +++ b/interface/pms/products/test_pms_operate_top_product.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/repository/test_pms_get_project_repo_list.yaml b/interface/pms/projects/repository/test_pms_get_project_repo_list.yaml index 2392011..11d6ae4 100644 --- a/interface/pms/projects/repository/test_pms_get_project_repo_list.yaml +++ b/interface/pms/projects/repository/test_pms_get_project_repo_list.yaml @@ -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 diff --git a/interface/pms/projects/repository/test_pms_get_unlinked_project_repo_list.yaml b/interface/pms/projects/repository/test_pms_get_unlinked_project_repo_list.yaml new file mode 100644 index 0000000..532692e --- /dev/null +++ b/interface/pms/projects/repository/test_pms_get_unlinked_project_repo_list.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/sprint/test_get_sprint_link_unlink_work_item_list.yaml b/interface/pms/projects/sprint/test_get_sprint_link_unlink_work_item_list.yaml new file mode 100644 index 0000000..c41bf40 --- /dev/null +++ b/interface/pms/projects/sprint/test_get_sprint_link_unlink_work_item_list.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/sprint/test_pms_delete_sprint.yaml b/interface/pms/projects/sprint/test_pms_delete_sprint.yaml index 23beb66..a330b3c 100644 --- a/interface/pms/projects/sprint/test_pms_delete_sprint.yaml +++ b/interface/pms/projects/sprint/test_pms_delete_sprint.yaml @@ -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 \ No newline at end of file + - pms_get_sprint_list_01 \ No newline at end of file diff --git a/interface/pms/projects/sprint/test_pms_edit_sprint.yaml b/interface/pms/projects/sprint/test_pms_edit_sprint.yaml index 332e70e..08de68a 100644 --- a/interface/pms/projects/sprint/test_pms_edit_sprint.yaml +++ b/interface/pms/projects/sprint/test_pms_edit_sprint.yaml @@ -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 \ No newline at end of file + - 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 diff --git a/interface/pms/projects/sprint/test_pms_get_sprint_detail.yaml b/interface/pms/projects/sprint/test_pms_get_sprint_detail.yaml new file mode 100644 index 0000000..d68ca9e --- /dev/null +++ b/interface/pms/projects/sprint/test_pms_get_sprint_detail.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/sprint/test_pms_get_sprint_list.yaml b/interface/pms/projects/sprint/test_pms_get_sprint_list.yaml index 146c2e5..869a00c 100644 --- a/interface/pms/projects/sprint/test_pms_get_sprint_list.yaml +++ b/interface/pms/projects/sprint/test_pms_get_sprint_list.yaml @@ -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: diff --git a/interface/pms/projects/sprint/test_pms_new_sprint.yaml b/interface/pms/projects/sprint/test_pms_new_sprint.yaml index 1017da5..99f16fb 100644 --- a/interface/pms/projects/sprint/test_pms_new_sprint.yaml +++ b/interface/pms/projects/sprint/test_pms_new_sprint.yaml @@ -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 \ No newline at end of file + + - 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: diff --git a/interface/pms/projects/sprint/test_pms_work_item_out_sprint.yaml b/interface/pms/projects/sprint/test_pms_work_item_out_sprint.yaml index 4499629..bf7f7a3 100644 --- a/interface/pms/projects/sprint/test_pms_work_item_out_sprint.yaml +++ b/interface/pms/projects/sprint/test_pms_work_item_out_sprint.yaml @@ -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 + diff --git a/interface/pms/projects/sprint/test_pms_work_item_to_sprint.yaml b/interface/pms/projects/sprint/test_pms_work_item_to_sprint.yaml index 44f7d75..3ff459f 100644 --- a/interface/pms/projects/sprint/test_pms_work_item_to_sprint.yaml +++ b/interface/pms/projects/sprint/test_pms_work_item_to_sprint.yaml @@ -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 diff --git a/interface/pms/projects/test_module/test_delete_testcase_module.yaml b/interface/pms/projects/test_module/test_delete_testcase_module.yaml index 445d4cc..fdd3d35 100644 --- a/interface/pms/projects/test_module/test_delete_testcase_module.yaml +++ b/interface/pms/projects/test_module/test_delete_testcase_module.yaml @@ -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 \ No newline at end of file + - 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 \ No newline at end of file diff --git a/interface/pms/projects/test_module/test_edit_testcase_module.yaml b/interface/pms/projects/test_module/test_edit_testcase_module.yaml index b63728a..07154be 100644 --- a/interface/pms/projects/test_module/test_edit_testcase_module.yaml +++ b/interface/pms/projects/test_module/test_edit_testcase_module.yaml @@ -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: \ No newline at end of file + 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 diff --git a/interface/pms/projects/test_module/test_get_testcase_module.yaml b/interface/pms/projects/test_module/test_get_testcase_module.yaml index 799862e..307b9fc 100644 --- a/interface/pms/projects/test_module/test_get_testcase_module.yaml +++ b/interface/pms/projects/test_module/test_get_testcase_module.yaml @@ -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 diff --git a/interface/pms/projects/test_module/test_get_testcase_module_detail.yaml b/interface/pms/projects/test_module/test_get_testcase_module_detail.yaml new file mode 100644 index 0000000..96feafc --- /dev/null +++ b/interface/pms/projects/test_module/test_get_testcase_module_detail.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/test_module/test_get_testcase_module_list.yaml b/interface/pms/projects/test_module/test_get_testcase_module_list.yaml new file mode 100644 index 0000000..1ee1e35 --- /dev/null +++ b/interface/pms/projects/test_module/test_get_testcase_module_list.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/test_module/test_new_testcase_module.yaml b/interface/pms/projects/test_module/test_new_testcase_module.yaml index 85308d9..b32f9fd 100644 --- a/interface/pms/projects/test_module/test_new_testcase_module.yaml +++ b/interface/pms/projects/test_module/test_new_testcase_module.yaml @@ -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 \ No newline at end of file + - 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: \ No newline at end of file diff --git a/interface/pms/projects/test_module/test_pms_sync_product_module.yaml b/interface/pms/projects/test_module/test_pms_sync_product_module.yaml index 1dccaed..ff2ef5d 100644 --- a/interface/pms/projects/test_module/test_pms_sync_product_module.yaml +++ b/interface/pms/projects/test_module/test_pms_sync_product_module.yaml @@ -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 diff --git a/interface/pms/projects/test_pms_delete_project.yaml b/interface/pms/projects/test_pms_delete_project.yaml index 04363e2..84de04e 100644 --- a/interface/pms/projects/test_pms_delete_project.yaml +++ b/interface/pms/projects/test_pms_delete_project.yaml @@ -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 \ No newline at end of file + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/test_pms_edit_project.yaml b/interface/pms/projects/test_pms_edit_project.yaml index 213ddeb..3488e50 100644 --- a/interface/pms/projects/test_pms_edit_project.yaml +++ b/interface/pms/projects/test_pms_edit_project.yaml @@ -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 \ No newline at end of file + 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: \ No newline at end of file diff --git a/interface/pms/projects/test_pms_get_project_list.yaml b/interface/pms/projects/test_pms_get_project_list.yaml index 7c437fe..cdf1641 100644 --- a/interface/pms/projects/test_pms_get_project_list.yaml +++ b/interface/pms/projects/test_pms_get_project_list.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/test_pms_new_project.yaml b/interface/pms/projects/test_pms_new_project.yaml index 65ca0b2..c82af3a 100644 --- a/interface/pms/projects/test_pms_new_project.yaml +++ b/interface/pms/projects/test_pms_new_project.yaml @@ -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 \ No newline at end of file + - 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: \ No newline at end of file diff --git a/interface/pms/projects/test_pms_top_project.yaml b/interface/pms/projects/test_pms_top_project.yaml index 0e62e79..276ef5b 100644 --- a/interface/pms/projects/test_pms_top_project.yaml +++ b/interface/pms/projects/test_pms_top_project.yaml @@ -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: diff --git a/interface/pms/projects/test_report/test_delete_test_report.yaml b/interface/pms/projects/test_report/test_delete_test_report.yaml index 238f336..8d7260a 100644 --- a/interface/pms/projects/test_report/test_delete_test_report.yaml +++ b/interface/pms/projects/test_report/test_delete_test_report.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/test_report/test_edit_test_report.yaml b/interface/pms/projects/test_report/test_edit_test_report.yaml index bb9260e..a8a6267 100644 --- a/interface/pms/projects/test_report/test_edit_test_report.yaml +++ b/interface/pms/projects/test_report/test_edit_test_report.yaml @@ -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: diff --git a/interface/pms/projects/test_report/test_get_test_report_list.yaml b/interface/pms/projects/test_report/test_get_test_report_list.yaml index 6819908..9b69429 100644 --- a/interface/pms/projects/test_report/test_get_test_report_list.yaml +++ b/interface/pms/projects/test_report/test_get_test_report_list.yaml @@ -1,6 +1,6 @@ case_common: allure_epic: 项目管理 - allure_feature: 项目模块 + allure_feature: 项目 allure_story: 测试报告 case_markers: - pms diff --git a/interface/pms/projects/test_report/test_new_test_report.yaml b/interface/pms/projects/test_report/test_new_test_report.yaml index fbfa01a..84df7c8 100644 --- a/interface/pms/projects/test_report/test_new_test_report.yaml +++ b/interface/pms/projects/test_report/test_new_test_report.yaml @@ -1,6 +1,6 @@ case_common: allure_epic: 项目管理 - allure_feature: 项目模块 + allure_feature: 项目 allure_story: 测试报告 case_markers: - pms diff --git a/interface/pms/projects/test_sheet/test_get_test_sheet_detail.yaml b/interface/pms/projects/test_sheet/test_get_test_sheet_detail.yaml new file mode 100644 index 0000000..513b11e --- /dev/null +++ b/interface/pms/projects/test_sheet/test_get_test_sheet_detail.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_delete_test_sheet.yaml b/interface/pms/projects/test_sheet/test_pms_delete_test_sheet.yaml index 1b87488..37aea0e 100644 --- a/interface/pms/projects/test_sheet/test_pms_delete_test_sheet.yaml +++ b/interface/pms/projects/test_sheet/test_pms_delete_test_sheet.yaml @@ -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 \ No newline at end of file + - 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 \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_edit_test_sheet.yaml b/interface/pms/projects/test_sheet/test_pms_edit_test_sheet.yaml index 2bc3fc5..638fbba 100644 --- a/interface/pms/projects/test_sheet/test_pms_edit_test_sheet.yaml +++ b/interface/pms/projects/test_sheet/test_pms_edit_test_sheet.yaml @@ -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 \ No newline at end of file + 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: \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_get_test_sheet_list.yaml b/interface/pms/projects/test_sheet/test_pms_get_test_sheet_list.yaml index 2b651ea..744a6d7 100644 --- a/interface/pms/projects/test_sheet/test_pms_get_test_sheet_list.yaml +++ b/interface/pms/projects/test_sheet/test_pms_get_test_sheet_list.yaml @@ -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 diff --git a/interface/pms/projects/test_sheet/test_pms_get_unadd_testcases_list.yaml b/interface/pms/projects/test_sheet/test_pms_get_test_sheet_module_list.yaml similarity index 55% rename from interface/pms/projects/test_sheet/test_pms_get_unadd_testcases_list.yaml rename to interface/pms/projects/test_sheet/test_pms_get_test_sheet_module_list.yaml index 67c49fd..73042b9 100644 --- a/interface/pms/projects/test_sheet/test_pms_get_unadd_testcases_list.yaml +++ b/interface/pms/projects/test_sheet/test_pms_get_test_sheet_module_list.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_get_test_sheet_testcases_list.yaml b/interface/pms/projects/test_sheet/test_pms_get_test_sheet_testcases_list.yaml new file mode 100644 index 0000000..292765b --- /dev/null +++ b/interface/pms/projects/test_sheet/test_pms_get_test_sheet_testcases_list.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_new_test_sheet.yaml b/interface/pms/projects/test_sheet/test_pms_new_test_sheet.yaml index fe1667a..5e14cb2 100644 --- a/interface/pms/projects/test_sheet/test_pms_new_test_sheet.yaml +++ b/interface/pms/projects/test_sheet/test_pms_new_test_sheet.yaml @@ -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 \ No newline at end of file + - 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: \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_test_sheet_add_testcase.yaml b/interface/pms/projects/test_sheet/test_pms_test_sheet_add_testcase.yaml index e6241a2..e77dae3 100644 --- a/interface/pms/projects/test_sheet/test_pms_test_sheet_add_testcase.yaml +++ b/interface/pms/projects/test_sheet/test_pms_test_sheet_add_testcase.yaml @@ -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 \ No newline at end of file + - pms_new_testcases_02 + - pms_get_unadd_testcases_list_01 \ No newline at end of file diff --git a/interface/pms/projects/test_sheet/test_pms_test_sheet_execute_testcase.yaml b/interface/pms/projects/test_sheet/test_pms_test_sheet_execute_testcase.yaml new file mode 100644 index 0000000..c1f7803 --- /dev/null +++ b/interface/pms/projects/test_sheet/test_pms_test_sheet_execute_testcase.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/testcases/test_pms_batch_edit_testcases.yaml b/interface/pms/projects/testcases/test_pms_batch_edit_testcases.yaml new file mode 100644 index 0000000..c2fd2c7 --- /dev/null +++ b/interface/pms/projects/testcases/test_pms_batch_edit_testcases.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/testcases/test_pms_delete_testcases.yaml b/interface/pms/projects/testcases/test_pms_delete_testcases.yaml index d030ecc..7f89264 100644 --- a/interface/pms/projects/testcases/test_pms_delete_testcases.yaml +++ b/interface/pms/projects/testcases/test_pms_delete_testcases.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/testcases/test_pms_edit_testcases.yaml b/interface/pms/projects/testcases/test_pms_edit_testcases.yaml index 1bf1073..9ea3666 100644 --- a/interface/pms/projects/testcases/test_pms_edit_testcases.yaml +++ b/interface/pms/projects/testcases/test_pms_edit_testcases.yaml @@ -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 \ No newline at end of file + +- + 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: \ No newline at end of file diff --git a/interface/pms/projects/testcases/test_pms_get_testcase_type_list.yaml b/interface/pms/projects/testcases/test_pms_get_testcase_type_list.yaml new file mode 100644 index 0000000..b2ca304 --- /dev/null +++ b/interface/pms/projects/testcases/test_pms_get_testcase_type_list.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_get_project_issue_tags.yaml b/interface/pms/projects/testcases/test_pms_get_testcases_detail.yaml similarity index 50% rename from interface/pms/projects/work_item/test_pms_get_project_issue_tags.yaml rename to interface/pms/projects/testcases/test_pms_get_testcases_detail.yaml index 590db4e..3bbaf3b 100644 --- a/interface/pms/projects/work_item/test_pms_get_project_issue_tags.yaml +++ b/interface/pms/projects/testcases/test_pms_get_testcases_detail.yaml @@ -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: \ No newline at end of file + testcase_ids: $.rows[*].id + case_dependence: + setup: + interface: + - pms_get_enterprise_user_list_01 + - pms_new_testcases_02 diff --git a/interface/pms/projects/testcases/test_pms_get_testcases_list.yaml b/interface/pms/projects/testcases/test_pms_get_testcases_list.yaml index a2c50e5..0aff558 100644 --- a/interface/pms/projects/testcases/test_pms_get_testcases_list.yaml +++ b/interface/pms/projects/testcases/test_pms_get_testcases_list.yaml @@ -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 diff --git a/interface/pms/projects/testcases/test_pms_new_testcases.yaml b/interface/pms/projects/testcases/test_pms_new_testcases.yaml index 27f6126..59c3875 100644 --- a/interface/pms/projects/testcases/test_pms_new_testcases.yaml +++ b/interface/pms/projects/testcases/test_pms_new_testcases.yaml @@ -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 \ No newline at end of file + + +- + 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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/bug/test_pms_batch_edit_project_bug.yaml b/interface/pms/projects/work_item/bug/test_pms_batch_edit_project_bug.yaml new file mode 100644 index 0000000..02dda8d --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_batch_edit_project_bug.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/work_item/bug/test_pms_delete_project_bug.yaml b/interface/pms/projects/work_item/bug/test_pms_delete_project_bug.yaml new file mode 100644 index 0000000..298b7bb --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_delete_project_bug.yaml @@ -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 diff --git a/interface/pms/projects/work_item/bug/test_pms_edit_project_bug.yaml b/interface/pms/projects/work_item/bug/test_pms_edit_project_bug.yaml new file mode 100644 index 0000000..f864b0a --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_edit_project_bug.yaml @@ -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 + + + + + diff --git a/interface/pms/projects/work_item/bug/test_pms_get_optional_parent_bug_list.yaml b/interface/pms/projects/work_item/bug/test_pms_get_optional_parent_bug_list.yaml new file mode 100644 index 0000000..1a4d793 --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_get_optional_parent_bug_list.yaml @@ -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 diff --git a/interface/pms/projects/work_item/bug/test_pms_get_project_bug_detail.yaml b/interface/pms/projects/work_item/bug/test_pms_get_project_bug_detail.yaml new file mode 100644 index 0000000..9968d42 --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_get_project_bug_detail.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/bug/test_pms_get_project_bug_list.yaml b/interface/pms/projects/work_item/bug/test_pms_get_project_bug_list.yaml new file mode 100644 index 0000000..78f4219 --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_get_project_bug_list.yaml @@ -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: diff --git a/interface/pms/projects/work_item/bug/test_pms_new_project_bug.yaml b/interface/pms/projects/work_item/bug/test_pms_new_project_bug.yaml new file mode 100644 index 0000000..a34f1c8 --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_new_project_bug.yaml @@ -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 diff --git a/interface/pms/projects/work_item/bug/test_pms_project_bug_add_journal.yaml b/interface/pms/projects/work_item/bug/test_pms_project_bug_add_journal.yaml new file mode 100644 index 0000000..28c3f48 --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_project_bug_add_journal.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/work_item/bug/test_pms_project_bug_delete_journal.yaml b/interface/pms/projects/work_item/bug/test_pms_project_bug_delete_journal.yaml new file mode 100644 index 0000000..d50afad --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_project_bug_delete_journal.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/work_item/bug/test_pms_project_bug_edit_journal.yaml b/interface/pms/projects/work_item/bug/test_pms_project_bug_edit_journal.yaml new file mode 100644 index 0000000..c92f2d7 --- /dev/null +++ b/interface/pms/projects/work_item/bug/test_pms_project_bug_edit_journal.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/requirement/test_pms_batch_edit_project_requirement.yaml b/interface/pms/projects/work_item/requirement/test_pms_batch_edit_project_requirement.yaml new file mode 100644 index 0000000..da01932 --- /dev/null +++ b/interface/pms/projects/work_item/requirement/test_pms_batch_edit_project_requirement.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/work_item/requirement/test_pms_delete_project_requirement.yaml b/interface/pms/projects/work_item/requirement/test_pms_delete_project_requirement.yaml new file mode 100644 index 0000000..69f097d --- /dev/null +++ b/interface/pms/projects/work_item/requirement/test_pms_delete_project_requirement.yaml @@ -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 diff --git a/interface/pms/projects/work_item/requirement/test_pms_edit_project_requirement.yaml b/interface/pms/projects/work_item/requirement/test_pms_edit_project_requirement.yaml new file mode 100644 index 0000000..4fe787f --- /dev/null +++ b/interface/pms/projects/work_item/requirement/test_pms_edit_project_requirement.yaml @@ -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 + + + + + diff --git a/interface/pms/projects/work_item/requirement/test_pms_get_optional_parent_requirement_list.yaml b/interface/pms/projects/work_item/requirement/test_pms_get_optional_parent_requirement_list.yaml new file mode 100644 index 0000000..8fb547c --- /dev/null +++ b/interface/pms/projects/work_item/requirement/test_pms_get_optional_parent_requirement_list.yaml @@ -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 diff --git a/interface/pms/projects/work_item/requirement/test_pms_get_project_requirement_detail.yaml b/interface/pms/projects/work_item/requirement/test_pms_get_project_requirement_detail.yaml new file mode 100644 index 0000000..3349ca8 --- /dev/null +++ b/interface/pms/projects/work_item/requirement/test_pms_get_project_requirement_detail.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/requirement/test_pms_get_project_requirement_list.yaml b/interface/pms/projects/work_item/requirement/test_pms_get_project_requirement_list.yaml new file mode 100644 index 0000000..29690d6 --- /dev/null +++ b/interface/pms/projects/work_item/requirement/test_pms_get_project_requirement_list.yaml @@ -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: diff --git a/interface/pms/projects/work_item/requirement/test_pms_new_project_requirement.yaml b/interface/pms/projects/work_item/requirement/test_pms_new_project_requirement.yaml new file mode 100644 index 0000000..055ae0e --- /dev/null +++ b/interface/pms/projects/work_item/requirement/test_pms_new_project_requirement.yaml @@ -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 diff --git a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal.yaml b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal.yaml new file mode 100644 index 0000000..bf9745f --- /dev/null +++ b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_add_journal.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_delete_journal.yaml b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_delete_journal.yaml new file mode 100644 index 0000000..2529004 --- /dev/null +++ b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_delete_journal.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal.yaml b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal.yaml new file mode 100644 index 0000000..9fb7605 --- /dev/null +++ b/interface/pms/projects/work_item/requirement/test_pms_project_requirement_edit_journal.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/task/test_pms_batch_edit_project_task.yaml b/interface/pms/projects/work_item/task/test_pms_batch_edit_project_task.yaml new file mode 100644 index 0000000..65a1373 --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_batch_edit_project_task.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/work_item/task/test_pms_delete_project_task.yaml b/interface/pms/projects/work_item/task/test_pms_delete_project_task.yaml new file mode 100644 index 0000000..73f2fda --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_delete_project_task.yaml @@ -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 diff --git a/interface/pms/projects/work_item/task/test_pms_edit_project_task.yaml b/interface/pms/projects/work_item/task/test_pms_edit_project_task.yaml new file mode 100644 index 0000000..263f652 --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_edit_project_task.yaml @@ -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 + + + + + diff --git a/interface/pms/projects/work_item/task/test_pms_get_optional_parent_task_list.yaml b/interface/pms/projects/work_item/task/test_pms_get_optional_parent_task_list.yaml new file mode 100644 index 0000000..64081f1 --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_get_optional_parent_task_list.yaml @@ -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 diff --git a/interface/pms/projects/work_item/task/test_pms_get_project_task_detail.yaml b/interface/pms/projects/work_item/task/test_pms_get_project_task_detail.yaml new file mode 100644 index 0000000..ddd6163 --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_get_project_task_detail.yaml @@ -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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/task/test_pms_get_project_task_list.yaml b/interface/pms/projects/work_item/task/test_pms_get_project_task_list.yaml new file mode 100644 index 0000000..d8e8bb6 --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_get_project_task_list.yaml @@ -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: diff --git a/interface/pms/projects/work_item/task/test_pms_new_project_task.yaml b/interface/pms/projects/work_item/task/test_pms_new_project_task.yaml new file mode 100644 index 0000000..56e5ee1 --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_new_project_task.yaml @@ -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 diff --git a/interface/pms/projects/work_item/task/test_pms_project_task_add_journal.yaml b/interface/pms/projects/work_item/task/test_pms_project_task_add_journal.yaml new file mode 100644 index 0000000..d261f5f --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_project_task_add_journal.yaml @@ -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 \ No newline at end of file diff --git a/interface/pms/projects/work_item/task/test_pms_project_task_delete_journal.yaml b/interface/pms/projects/work_item/task/test_pms_project_task_delete_journal.yaml new file mode 100644 index 0000000..e77e8b4 --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_project_task_delete_journal.yaml @@ -0,0 +1,69 @@ +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_delete_project_task_journal_01 + title: 任务下删除评论 - 删除成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}/${task_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_task_add_journal_03 + +- + id: pms_delete_project_task_journal_reply_02 + title: 任务下删除评论回复 - 删除成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}/${task_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_task_add_journal_03 + - pms_project_task_add_journal_reply_04 \ No newline at end of file diff --git a/interface/pms/projects/work_item/task/test_pms_project_task_edit_journal.yaml b/interface/pms/projects/work_item/task/test_pms_project_task_edit_journal.yaml new file mode 100644 index 0000000..73f9338 --- /dev/null +++ b/interface/pms/projects/work_item/task/test_pms_project_task_edit_journal.yaml @@ -0,0 +1,76 @@ +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 + - pms_project_task_add_journal_03 + - pms_project_task_add_journal_reply_04 + + +case_info: +- + id: pms_project_task_edit_journal_01 + title: 任务下编辑评论 - 更新成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}/${task_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_task_edit_journal_reply_02 + title: 任务下编辑评论回复 - 更新成功 + run: True + severity: blocker + url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}/${task_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: ${task_journal_id} + replayId: ${task_journal_id} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_batch_edit_work_item.yaml b/interface/pms/projects/work_item/test_pms_batch_edit_work_item.yaml deleted file mode 100644 index 9d82841..0000000 --- a/interface/pms/projects/work_item/test_pms_batch_edit_work_item.yaml +++ /dev/null @@ -1,218 +0,0 @@ -case_common: - allure_epic: 项目管理 - allure_feature: 项目模块 - allure_story: 工作项 - case_markers: - - pms - - project - - work_item - - usefixtures: gitlink_login - -case_info: -- - id: pms_batch_edit_work_item_requirement_01 - title: 项目下批量编辑工作项(需求) - run: True - severity: normal - 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: - projectId: ${${project_repo_ids}[0]} # 项目下的代码库 - ids: ${project_requirement_ids} - issueTagIds: ${${project_tag_ids}[1:4]} - assignerIds: ${${project_member_ids}[1:2]} - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_requirement_01 - - pms_get_work_item_list_requirement_01 - -- - id: pms_batch_edit_work_item_task_02 - title: 项目下批量编辑工作项(任务) - run: True - severity: normal - 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: - projectId: ${${project_repo_ids}[0]} # 项目下的代码库 - ids: ${project_task_ids} - issueTagIds: ${${project_tag_ids}[1:4]} - assignerIds: ${${project_member_ids}[1:2]} - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_task_02 - - pms_get_work_item_list_task_02 - -- - id: pms_batch_edit_work_item_bug_03 - title: 项目下批量编辑工作项(缺陷) - run: True - severity: normal - 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} - issueTagIds: ${${project_tag_ids}[1:4]} - assignerIds: ${${project_member_ids}[1:2]} - priorityId: ${random.choice([1,2,3,4])} - projectId: ${${project_repo_ids}[0]} # 项目下的代码库 - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_bug_03 - - pms_get_work_item_list_bug_03 - -- - id: pms_batch_edit_work_item_requirement_04 - title: 项目下批量编辑工作项(需求)- 关联子需求 - run: False - severity: normal - 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_get_project_list_01 - - pms_new_work_item_requirement_01 - - pms_new_work_item_requirement_01 - - pms_get_work_item_list_requirement_01 - -- - id: pms_batch_edit_work_item_task_05 - title: 项目下批量编辑工作项(任务)- 关联子任务 - run: False - severity: normal - 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_get_project_list_01 - - pms_new_work_item_task_02 - - pms_new_work_item_task_02 - - pms_get_work_item_list_task_02 - - -- - id: pms_batch_edit_work_item_bug_06 - title: 项目下批量编辑工作项(缺陷)- 关联子缺陷 - run: False - severity: normal - 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_get_project_list_01 - - pms_new_work_item_bug_02 - - pms_new_work_item_bug_02 - - pms_get_work_item_list_bug_02 \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_delete_work_item.yaml b/interface/pms/projects/work_item/test_pms_delete_work_item.yaml deleted file mode 100644 index bef7f23..0000000 --- a/interface/pms/projects/work_item/test_pms_delete_work_item.yaml +++ /dev/null @@ -1,112 +0,0 @@ -case_common: - allure_epic: 项目管理 - allure_feature: 项目模块 - allure_story: 工作项 - case_markers: - - pms - - project - - work_item - - usefixtures: gitlink_login - -case_info: -- - id: pms_delete_work_item_requirement_01 - title: 项目下删除工作项接口(需求) - run: True - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/${${project_requirement_ids}[0]} - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_requirement_01 - - pms_get_work_item_list_requirement_01 - -- - id: pms_delete_work_item_task_02 - title: 项目下删除工作项接口(任务) - run: True - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/${${project_task_ids}[0]} - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_task_02 - - pms_get_work_item_list_task_02 - -- - id: pms_delete_work_item_bug_03 - title: 项目下删除工作项接口(缺陷) - run: True - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/${${project_bug_ids}[0]} - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_bug_03 - - pms_get_work_item_list_bug_03 \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_edit_work_item.yaml b/interface/pms/projects/work_item/test_pms_edit_work_item.yaml deleted file mode 100644 index 6796a74..0000000 --- a/interface/pms/projects/work_item/test_pms_edit_work_item.yaml +++ /dev/null @@ -1,441 +0,0 @@ -case_common: - allure_epic: 项目管理 - allure_feature: 项目模块 - allure_story: 工作项 - case_markers: - - pms - - project - - work_item - - usefixtures: gitlink_login - -case_info: -- - id: pms_edit_work_item_requirement_01 - title: 项目下编辑工作项(需求)- 仅编辑标题 - run: True - severity: normal - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_requirement_01 - -- - id: pms_edit_work_item_task_02 - title: 项目下编辑工作项(任务)- 仅编辑标题 - run: True - severity: normal - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_task_02 - -- - id: pms_edit_work_item_bug_03 - title: 项目下编辑工作项(缺陷)- 仅编辑标题 - run: True - severity: normal - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_bug_03 - -- - id: pms_edit_work_item_requirement_04 - title: 项目下编辑工作项(需求) - run: True - severity: normal - 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: ${${project_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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_requirement_01 - - pms_project_issue_attachment_01 - -- - id: pms_edit_work_item_task_05 - title: 项目下编辑工作项(任务) - run: True - severity: normal - 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: ${${project_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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_task_02 - - pms_project_issue_attachment_01 - -- - id: pms_edit_work_item_bug_06 - title: 项目下编辑工作项(缺陷) - run: True - severity: normal - 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: 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: ${${project_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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_bug_03 - - pms_project_issue_attachment_01 - - -- - id: pms_edit_work_item_requirement_07 - title: 项目下编辑工作项(需求) - 取消父子关系 - run: false - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_requirement_id} # TODO 如何获取存在父子关系的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: - -- - id: pms_edit_work_item_task_08 - title: 项目下编辑工作项(任务) - 取消父子关系 - run: false - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_task_id} # TODO 如何获取存在父子关系的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: - -- - id: pms_edit_work_item_bug_09 - title: 项目下编辑工作项(缺陷) - 取消父子关系 - run: false - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/edit/${project_bug_id} # TODO 如何获取存在父子关系的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: - - -- - id: pms_edit_work_item_requirement_10 - title: 项目下编辑工作项(需求)- 关联父需求 - run: false - severity: normal - 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: ${requirement_status_id} - pmProjectId: ${${project_ids}[0]} - assignerIds: ${requirement_assignee_ids} - priorityId: ${requirement_priority_id} - issueTagIds: ${requirement_tag_ids} - sprintId: ${requirement_sprint_id} - projectId: ${env_pms_project_id} - branchName: ${requirement_branch_name} - startDate: ${requirement_start_date} - dueDate: ${requirement_due_date} - timeScale: ${requirement_time_scale} - rootId: # 父级需求可选范围:当前需求的同级需求或父级需求; - files: - assert_response: - status_code: 200 - assertMessage: - type_jsonpath: $.msg - expect_value: 操作成功 - assert_type: == - assert_sql: - extract: - case_dependence: - setup: - interface: - - pms_get_work_item_detail_requirement_01 - -- - id: pms_edit_work_item_task_11 - title: 项目下编辑工作项(任务)- 关联父任务 - run: false - severity: normal - 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: ${task_status_id} - pmProjectId: ${env_pms_project_id} - assignerIds: ${task_assignee_ids} - priorityId: ${task_priority_id} - issueTagIds: ${task_tag_ids} - sprintId: ${task_sprint_id} - projectId: ${task_project_id} - branchName: ${task_branch_name} - startDate: ${task_start_date} - dueDate: ${task_due_date} - timeScale: ${task_time_scale} - rootId: # 父级任务可选范围:当前需求的同级任务或父级任务; - files: - assert_response: - status_code: 200 - assertMessage: - type_jsonpath: $.msg - expect_value: 操作成功 - assert_type: == - assert_sql: - extract: - case_dependence: - setup: - interface: - - pms_get_work_item_detail_task_02 - -- - id: pms_edit_work_item_bug_12 - title: 项目下编辑工作项(缺陷)- 关联父缺陷 - run: false - severity: normal - 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: ${bug_status_id} - pmProjectId: ${env_pms_project_id} - assignerIds: ${bug_assignee_ids} - priorityId: ${bug_priority_id} - issueTagIds: ${bug_tag_ids} - sprintId: ${bug_sprint_id} - projectId: ${bug_project_id} - branchName: ${bug_branch_name} - startDate: ${bug_start_date} - dueDate: ${bug_due_date} - timeScale: ${bug_time_scale} - rootId: # 父级缺陷可选范围:当前需求的同级缺陷或父级缺陷; - files: - assert_response: - status_code: 200 - assertMessage: - type_jsonpath: $.msg - expect_value: 操作成功 - assert_type: == - assert_sql: - extract: - case_dependence: - setup: - interface: - - pms_get_work_item_detail_bug_03 diff --git a/interface/pms/projects/work_item/test_pms_get_work_item_detail.yaml b/interface/pms/projects/work_item/test_pms_get_work_item_detail.yaml deleted file mode 100644 index 16aae56..0000000 --- a/interface/pms/projects/work_item/test_pms_get_work_item_detail.yaml +++ /dev/null @@ -1,151 +0,0 @@ -case_common: - allure_epic: 项目管理 - allure_feature: 项目模块 - allure_story: 工作项 - case_markers: - - pms - - pms_project - - work_item - - usefixtures: gitlink_login - -case_info: -- - id: pms_get_work_item_detail_requirement_01 - title: 获取项目内工作项详情(需求) - run: True - severity: normal - 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} - id: ${project_requirement_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: - setup: - interface: - - pms_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_requirement_01 - -- - id: pms_get_work_item_detail_task_02 - title: 获取项目内工作项详情(任务) - run: True - severity: normal - 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} - id: ${project_task_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: - setup: - interface: - - pms_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_task_02 - -- - id: pms_get_work_item_detail_bug_03 - title: 获取项目内工作项详情(缺陷) - run: True - severity: normal - 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} - id: ${project_bug_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: - setup: - interface: - - pms_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_bug_03 diff --git a/interface/pms/projects/work_item/test_pms_get_work_item_list.yaml b/interface/pms/projects/work_item/test_pms_get_work_item_list.yaml deleted file mode 100644 index 0019b88..0000000 --- a/interface/pms/projects/work_item/test_pms_get_work_item_list.yaml +++ /dev/null @@ -1,106 +0,0 @@ -case_common: - allure_epic: 项目管理 - allure_feature: 项目模块 - allure_story: 工作项 - case_markers: - - pms - - pms_project - - work_item - - usefixtures: gitlink_login - -case_info: -- - id: pms_get_work_item_list_requirement_01 - title: 获取项目内工作项列表(需求) - run: True - severity: normal - 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 - participantCategory: all - pmIssueType: 1 - rootId: -1 # 为空查所有,-1查一级 - 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_work_item_list_task_02 - title: 获取项目内工作项列表(任务) - run: True - severity: normal - 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 - participantCategory: all - pmIssueType: 2 - rootId: -1 - 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_work_item_list_bug_03 - title: 获取项目内工作项列表(缺陷) - run: True - severity: normal - 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 - participantCategory: all - pmIssueType: 3 - rootId: -1 - 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: \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_new_work_item.yaml b/interface/pms/projects/work_item/test_pms_new_work_item.yaml deleted file mode 100644 index 6274bf0..0000000 --- a/interface/pms/projects/work_item/test_pms_new_work_item.yaml +++ /dev/null @@ -1,401 +0,0 @@ -case_common: - allure_epic: 项目管理 - allure_feature: 项目模块 - allure_story: 工作项 - case_markers: - - pms - - project - - work_item - - repeat(1) - - usefixtures: gitlink_login - -case_info: -- - id: pms_new_work_item_requirement_01 - title: 项目下新建工作项接口(父级工作项-需求) - run: True - severity: normal - 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: ${${project_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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - -- - id: pms_new_work_item_task_02 - title: 项目下新建工作项接口(父级工作项-任务) - run: True - severity: normal - 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: ${${project_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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - -- - id: pms_new_work_item_bug_03 - title: 项目下新建工作项接口(父级工作项-缺陷) - run: True - severity: normal - 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: ${${project_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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - -- - id: pms_new_work_item_children_requirement_04 - title: 项目下新建工作项接口(子级工作项-需求) - run: True - severity: normal - 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: ${${project_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_ids}[0]} - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_get_work_item_list_requirement_01 - -- - id: pms_new_work_item_children_task_05 - title: 项目下新建工作项接口(子级工作项-任务) - run: True - severity: normal - 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: ${${project_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_ids}[0]} - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_get_work_item_list_task_02 - -- - id: pms_new_work_item__children_bug_06 - title: 项目下新建工作项接口(子级工作项-缺陷) - run: True - severity: normal - 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: ${${project_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_ids}[0]} - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_get_work_item_list_bug_03 - -- - id: pms_new_work_item__children_bug_07 - title: 项目下新建工作项接口(子级工作项-需求) - 仅输入标题新建 - run: True - severity: normal - 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_ids}[0]} - 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_get_work_item_list_requirement_01 - -- - id: pms_new_work_item__children_bug_08 - title: 项目下新建工作项接口(子级工作项-任务) - 仅输入标题新建 - run: True - severity: normal - 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_ids}[0]} - 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_get_work_item_list_task_02 - -- - id: pms_new_work_item__children_bug_09 - title: 项目下新建工作项接口(子级工作项-缺陷) - 仅输入标题新建 - run: True - severity: normal - 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_task_ids}[0]} - 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_get_work_item_list_bug_03 \ No newline at end of file diff --git a/interface/pms/projects/work_item/test_pms_project_issue_attachment.yaml b/interface/pms/projects/work_item/test_pms_project_issue_attachment.yaml deleted file mode 100644 index b57c4a3..0000000 --- a/interface/pms/projects/work_item/test_pms_project_issue_attachment.yaml +++ /dev/null @@ -1,34 +0,0 @@ -case_common: - allure_epic: 项目管理 - allure_feature: 项目模块 - allure_story: 上传文件 - case_markers: - - pms - - pms_project - - upload_file - - usefixtures: gitlink_login - -case_info: -- - id: pms_project_issue_attachment_01 - title: 项目内上传附件 - severity: - run: False - url: ${pms_host}/api/pms/pmsProjectIssues/attachments - method: POST - headers: - Content-Type: application/json; charset=utf-8; - cookies: ${cookies} - request_type: file - payload: - files: demo_test_upload.yaml - assert_response: - status_code: 200 - assertMessage: - type_jsonpath: $.msg - expect_value: 操作成功 - assert_type: == - assert_sql: - extract: - type_jsonpath: - file_id: $.data.id diff --git a/interface/pms/projects/work_item/test_pms_project_upload_files.yaml b/interface/pms/projects/work_item/test_pms_project_upload_files.yaml new file mode 100644 index 0000000..2b5de66 --- /dev/null +++ b/interface/pms/projects/work_item/test_pms_project_upload_files.yaml @@ -0,0 +1,33 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 项目 + allure_story: 上传文件 + case_markers: + - pms + - pms_project + - upload_file + - usefixtures: gitlink_login + +case_info: + - id: pms_project_upload_files_01 + title: 项目内上传附件 + severity: + run: false + url: ${pms_host}/api/pms/pmsProjectIssues/attachments + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: file + payload: + files: demo_test_upload.yaml + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + file_id: $.data.id diff --git a/interface/pms/projects/work_item_journal/test_pms_work_item_add_journal.yaml b/interface/pms/projects/work_item_journal/test_pms_work_item_add_journal.yaml deleted file mode 100644 index 3f3ca09..0000000 --- a/interface/pms/projects/work_item_journal/test_pms_work_item_add_journal.yaml +++ /dev/null @@ -1,239 +0,0 @@ -case_common: - allure_epic: 项目管理 - allure_feature: 项目模块 - allure_story: 工作项 - case_markers: - - pms - - pms_project - - work_item - - usefixtures: gitlink_login - - -case_info: -- - id: pms_work_item_add_journal_requirement_01 - title: 工作项下添加评论 - 需求 - run: True - severity: normal - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_requirement_01 - - pms_project_issue_attachment_01 - -- - id: pms_work_item_add_journal_task_02 - title: 工作项下添加评论 - 任务 - run: True - severity: normal - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_task_02 - - pms_project_issue_attachment_01 - -- - id: pms_work_item_add_journal_bug_03 - title: 工作项下添加评论 - 缺陷 - run: True - severity: normal - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_bug_03 - - pms_project_issue_attachment_01 - -- - id: pms_work_item_add_journal_reply_requirement_04 - title: 工作项下添加评论回复 - 需求 - run: True - severity: normal - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_requirement_01 - - pms_project_issue_attachment_01 - - pms_work_item_add_journal_requirement_01 - - pms_project_issue_attachment_01 - -- - id: pms_work_item_add_journal_reply_task_05 - title: 工作项下添加评论回复 - 任务 - run: True - severity: normal - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_task_02 - - pms_project_issue_attachment_01 - - pms_work_item_add_journal_task_02 - - pms_project_issue_attachment_01 - -- - id: pms_work_item_add_journal_reply_bug_06 - title: 工作项下添加评论回复 - 缺陷 - run: True - severity: normal - 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_get_project_member_list_01 - - pms_project_issue_attachment_01 - - pms_get_project_issue_tags_01 - - pms_get_project_repo_list_01 - - pms_new_work_item_bug_03 - - pms_project_issue_attachment_01 - - pms_work_item_add_journal_bug_03 - - pms_project_issue_attachment_01 \ No newline at end of file diff --git a/interface/pms/projects/work_item_journal/test_pms_work_item_delete_journal.yaml b/interface/pms/projects/work_item_journal/test_pms_work_item_delete_journal.yaml deleted file mode 100644 index 994cc11..0000000 --- a/interface/pms/projects/work_item_journal/test_pms_work_item_delete_journal.yaml +++ /dev/null @@ -1,171 +0,0 @@ -case_common: - allure_epic: 项目管理 - allure_feature: 项目模块 - allure_story: 工作项 - case_markers: - - pms - - pms_project - - work_item - - usefixtures: gitlink_login - - skip: 还未完成,待后续完善 - - -case_info: -- - id: pms_work_item_delete_journal_requirement_01 - title: 工作项下删除评论 - 需求 - run: True - severity: normal - 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: - - -- - id: pms_work_item_delete_journal_task_02 - title: 工作项下删除评论 - 任务 - run: True - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}/${task_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: - - -- - id: pms_work_item_delete_journal_bug_03 - title: 工作项下删除评论 - 缺陷 - run: True - severity: normal - 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: - - -- - id: pms_work_item_delete_journal_reply_requirement_04 - title: 工作项下删除评论回复 - 需求 - run: True - severity: normal - 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: - -- - id: pms_work_item_delete_journal_reply_task_05 - title: 工作项下删除评论回复 - 任务 - run: True - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_id}/${task_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: - -- - id: pms_work_item_delete_journal_reply_bug_06 - title: 工作项下删除评论回复 - 缺陷 - run: True - severity: normal - 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: \ No newline at end of file diff --git a/interface/pms/projects/work_item_journal/test_pms_work_item_edit_journal.yaml b/interface/pms/projects/work_item_journal/test_pms_work_item_edit_journal.yaml deleted file mode 100644 index fce8729..0000000 --- a/interface/pms/projects/work_item_journal/test_pms_work_item_edit_journal.yaml +++ /dev/null @@ -1,185 +0,0 @@ -case_common: - allure_epic: 项目管理 - allure_feature: 项目模块 - allure_story: 工作项 - case_markers: - - pms - - pms_project - - work_item - - usefixtures: gitlink_login - - skip: 还未完成,待后续完善 - - -case_info: -- - id: pms_work_item_edit_journal_requirement_01 - title: 工作项下编辑评论 - 需求 - run: True - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_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: - - -- - id: pms_work_item_edit_journal_task_02 - title: 工作项下编辑评论 - 任务 - run: True - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_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: - type_jsonpath: - task_journal_id: $.data.id - case_dependence: - -- - id: pms_work_item_edit_journal_bug_03 - title: 工作项下编辑评论 - 缺陷 - run: True - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_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: - type_jsonpath: - bug_journal_id: $.data.id - case_dependence: - -- - id: pms_work_item_edit_journal_reply_requirement_04 - title: 工作项下编辑评论回复 - 需求 - run: True - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_requirement_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: - -- - id: pms_work_item_edit_journal_reply_task_05 - title: 工作项下编辑评论回复 - 任务 - run: True - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_task_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: ${task_journal_id} - replayId: ${task_journal_id} - files: - assert_response: - status_code: 200 - assertMessage: - type_jsonpath: $.msg - expect_value: 操作成功 - assert_type: == - assert_sql: - extract: - case_dependence: - -- - id: pms_work_item_edit_journal_reply_bug_06 - title: 工作项下编辑评论回复 - 缺陷 - run: True - severity: normal - url: ${pms_host}/api/pms/pmsProjectIssues/journals/${project_bug_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: \ No newline at end of file diff --git a/interface/pms/repository/test_pms_new_repo.yaml b/interface/pms/repository/test_pms_new_repo.yaml new file mode 100644 index 0000000..a9c3b43 --- /dev/null +++ b/interface/pms/repository/test_pms_new_repo.yaml @@ -0,0 +1,48 @@ +case_common: + allure_epic: GitLink接口 + allure_feature: 开源项目模块 + allure_story: 项目 + case_markers: + - gitlink + - projects + - gitea + - new_project + - usefixtures: gitlink_login + +# 放置公共依赖 (仅yaml用例支持,excel用例不支持) +common_dependence: + teardown: + interface: + - gitlink_projects_delete_project_01 + +case_info: +- + id: pms_new_repo_01 + title: 正确输入各项必填参数,新建公开项目成功 + severity: critical + run: True + url: /api/projects.json + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + cookies: + request_type: json + payload: + user_id: ${env_organization_id} + name: test_${generate_identifier()}_${generate_identifier()} + repository_name: ${generate_identifier()}_test + description: + files: + assert_response: + status_code: 200 + login: + message: 断言接口返回的login + expect_value: ${env_enterprise_identifier} + assert_type: == + type_jsonpath: $.login + assert_sql: + extract: + type_jsonpath: + repo_id: $.id # 项目id + case_dependence: diff --git a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_deletet_product_requirement_tag.yaml b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_deletet_product_requirement_tag.yaml new file mode 100644 index 0000000..0cb747d --- /dev/null +++ b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_deletet_product_requirement_tag.yaml @@ -0,0 +1,61 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-产品需求 + case_markers: + - pms + - pms_admin + - tag + - usefixtures: gitlink_login + +case_info: + - id: pms_delete_product_requirement_tag_01 + title: 组织管理员删除产品需求标记 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirementTag/${product_requirement_tag_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_requirement_tag_01 + - pms_get_product_requirement_tag_list_by_name_02 + + - id: pms_delete_product_requirement_tag_02 + title: 组织管理员删除产品需求标记 - 删除多个标记 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirementTag/${list_to_str(${product_requirement_tag_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_product_requirement_tag_list_01 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_edit_product_requirement_tag.yaml b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_edit_product_requirement_tag.yaml new file mode 100644 index 0000000..8d253de --- /dev/null +++ b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_edit_product_requirement_tag.yaml @@ -0,0 +1,43 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-产品需求 + case_markers: + - pms + - pms_admin + - tag + - usefixtures: gitlink_login + +case_info: + - id: pms_edit_product_requirement_tag_01 + title: 组织管理员编辑产品需求标记 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirementTag + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${product_requirement_tag_id} + tagName: 新标记-${generate_words} + description: ${generate_paragraph} + color: ${faker.hex_color()} + 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_tag_01 + - pms_get_product_requirement_tag_list_by_name_02 + teardown: + interface: + - pms_delete_product_requirement_tag_01 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_get_product_requirement_tag_list.yaml b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_get_product_requirement_tag_list.yaml new file mode 100644 index 0000000..6f54958 --- /dev/null +++ b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_get_product_requirement_tag_list.yaml @@ -0,0 +1,61 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-产品需求 + case_markers: + - pms + - pms_admin + - tag + - usefixtures: gitlink_login + +case_info: + - id: pms_get_product_requirement_tag_list_01 + title: 组织管理员获取产品需求标记列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirementTag/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: 1 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + product_requirement_tag_ids: $.rows[*].id + case_dependence: + + - id: pms_get_product_requirement_tag_list_by_name_02 + title: 组织管理员获取产品需求标记列表接口 - 通过标记名称搜索 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirementTag/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: 1 + tagName: 新标记 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + product_requirement_tag_id: $.rows[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_new_product_requirement_tag.yaml b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_new_product_requirement_tag.yaml new file mode 100644 index 0000000..7ffaa2e --- /dev/null +++ b/interface/pms/settings/tag_setting/product_requirement_tag/test_pms_new_product_requirement_tag.yaml @@ -0,0 +1,37 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-产品需求 + case_markers: + - pms + - pms_admin + - tag + - repeat(1) + - usefixtures: gitlink_login + +case_info: + - id: pms_new_product_requirement_tag_01 + title: 组织管理员新建产品需求标记 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProductRequirementTag + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: 1 + tagName: 新标记-${generate_words}_${generate_words} + description: ${generate_paragraph} + color: ${faker.hex_color()} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: diff --git a/interface/pms/settings/tag_setting/testcase_tag/test_pms_deletet_tag.yaml b/interface/pms/settings/tag_setting/testcase_tag/test_pms_deletet_tag.yaml new file mode 100644 index 0000000..8f9701c --- /dev/null +++ b/interface/pms/settings/tag_setting/testcase_tag/test_pms_deletet_tag.yaml @@ -0,0 +1,61 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-测试用例 + case_markers: + - pms + - pms_admin + - tag + - usefixtures: gitlink_login + +case_info: + - id: pms_delete_testcase_tag_01 + title: 组织管理员删除测试用例标记 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseTag/${testcase_tag_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_tag_01 + - pms_get_testcase_tag_list_by_name_02 + + - id: pms_delete_testcase_tag_02 + title: 组织管理员删除测试用例标记 - 删除多个标记 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseTag/${testcase_tag_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_product_testcase_list_01 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/testcase_tag/test_pms_edit_tag.yaml b/interface/pms/settings/tag_setting/testcase_tag/test_pms_edit_tag.yaml new file mode 100644 index 0000000..473b8d7 --- /dev/null +++ b/interface/pms/settings/tag_setting/testcase_tag/test_pms_edit_tag.yaml @@ -0,0 +1,43 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-测试用例 + case_markers: + - pms + - pms_admin + - tag + - usefixtures: gitlink_login + +case_info: + - id: pms_edit_testcase_tag_01 + title: 组织管理员编辑测试用例标记 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseTag + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + id: ${testcase_tag_id} + tagName: 新标记-${generate_words} + description: ${generate_paragraph} + color: ${faker.hex_color()} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_new_testcase_tag_01 + - pms_get_testcase_tag_list_by_name_02 + teardown: + interface: + - pms_delete_testcase_tag_01 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/testcase_tag/test_pms_get_tag_list.yaml b/interface/pms/settings/tag_setting/testcase_tag/test_pms_get_tag_list.yaml new file mode 100644 index 0000000..9243e25 --- /dev/null +++ b/interface/pms/settings/tag_setting/testcase_tag/test_pms_get_tag_list.yaml @@ -0,0 +1,61 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-测试用例 + case_markers: + - pms + - pms_admin + - tag + - usefixtures: gitlink_login + +case_info: + - id: pms_get_testcase_tag_list_01 + title: 组织管理员获取测试用例标记列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseTag/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: 1 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + testcase_tag_ids: $.rows[*].id + case_dependence: + + - id: pms_get_testcase_tag_list_by_name_02 + title: 组织管理员获取测试用例标记列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseTag/list + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + pmsEnterpriseId: 1 + tagName: 新标记 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 查询成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + testcase_tag_id: $.rows[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/testcase_tag/test_pms_new_tag.yaml b/interface/pms/settings/tag_setting/testcase_tag/test_pms_new_tag.yaml new file mode 100644 index 0000000..3c17440 --- /dev/null +++ b/interface/pms/settings/tag_setting/testcase_tag/test_pms_new_tag.yaml @@ -0,0 +1,37 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-测试用例 + case_markers: + - pms + - pms_admin + - tag + - repeat(1) + - usefixtures: gitlink_login + +case_info: + - id: pms_new_testcase_tag_01 + title: 组织管理员新建测试用例标记 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectTestcaseTag + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + pmsEnterpriseId: 1 + tagName: 新标记-${generate_words}_${generate_words} + description: ${generate_paragraph} + color: ${faker.hex_color()} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/work_item_tag/test_pms_delete_work_item_tag.yaml b/interface/pms/settings/tag_setting/work_item_tag/test_pms_delete_work_item_tag.yaml new file mode 100644 index 0000000..f34cb5a --- /dev/null +++ b/interface/pms/settings/tag_setting/work_item_tag/test_pms_delete_work_item_tag.yaml @@ -0,0 +1,36 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-工作项 + case_markers: + - pms + - pms_admin + - tag + - usefixtures: gitlink_login + +case_info: + - id: pms_delete_work_item_tag_01 + title: 组织管理员删除工作项标记 + run: true + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/enterpriseIssueTags/${work_item_tag_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_work_item_tag_01 + - pms_get_work_item_tag_list_by_name_02 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/work_item_tag/test_pms_edit_work_item_tag.yaml b/interface/pms/settings/tag_setting/work_item_tag/test_pms_edit_work_item_tag.yaml new file mode 100644 index 0000000..bcfd358 --- /dev/null +++ b/interface/pms/settings/tag_setting/work_item_tag/test_pms_edit_work_item_tag.yaml @@ -0,0 +1,42 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-工作项 + case_markers: + - pms + - pms_admin + - tag + - usefixtures: gitlink_login + +case_info: + - id: pms_edit_work_item_tag_01 + title: 组织管理员编辑工作项标记 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/enterpriseIssueTags/${work_item_tag_id} + method: PUT + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + name: 新标记-${generate_words} + description: ${generate_paragraph} + color: ${faker.hex_color()} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + setup: + interface: + - pms_new_work_item_tag_01 + - pms_get_work_item_tag_list_by_name_02 + teardown: + interface: + - pms_delete_work_item_tag_01 \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/work_item_tag/test_pms_get_work_item_tag_list.yaml b/interface/pms/settings/tag_setting/work_item_tag/test_pms_get_work_item_tag_list.yaml new file mode 100644 index 0000000..96f1d71 --- /dev/null +++ b/interface/pms/settings/tag_setting/work_item_tag/test_pms_get_work_item_tag_list.yaml @@ -0,0 +1,61 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-工作项 + case_markers: + - pms + - pms_admin + - tag + - usefixtures: gitlink_login + +case_info: + - id: pms_get_work_item_tag_list_01 + title: 组织管理员获取工作项标记列表接口 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/enterpriseIssueTags + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + organizationId: 105 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + work_item_tag_ids: $.data.issue_tags[*].id + case_dependence: + + - id: pms_get_work_item_tag_list_by_name_02 + title: 组织管理员获取工作项标记列表接口 - 通过标记名称搜索 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/enterpriseIssueTags + method: GET + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: params + payload: + organizationId: 105 + tagName: 新标记 + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + type_jsonpath: + work_item_tag_id: $.data.issue_tags[0].id + case_dependence: \ No newline at end of file diff --git a/interface/pms/settings/tag_setting/work_item_tag/test_pms_new_work_item_tag.yaml b/interface/pms/settings/tag_setting/work_item_tag/test_pms_new_work_item_tag.yaml new file mode 100644 index 0000000..dd4a063 --- /dev/null +++ b/interface/pms/settings/tag_setting/work_item_tag/test_pms_new_work_item_tag.yaml @@ -0,0 +1,63 @@ +case_common: + allure_epic: 项目管理 + allure_feature: 设置 + allure_story: 标记设置-工作项 + case_markers: + - pms + - pms_admin + - tag + - repeat(1) + - usefixtures: gitlink_login + +case_info: + - id: pms_new_work_item_tag_01 + title: 组织管理员新建工作项标记 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/enterpriseIssueTags + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + organizationId: 105 + name: 新标记-${generate_words}_${generate_words} + description: ${generate_paragraph} + color: ${faker.hex_color()} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 操作成功 + assert_type: == + assert_sql: + extract: + case_dependence: + + + - id: pms_new_work_item_tag_02 + title: 组织管理员新建工作项标记 - 未传name参数 + run: True + severity: normal + url: ${pms_host}/api/pms/pmsProjectIssues/enterpriseIssueTags + method: POST + headers: + Content-Type: application/json; charset=utf-8; + cookies: ${cookies} + request_type: json + payload: + organizationId: 105 + description: ${generate_paragraph} + color: ${faker.hex_color()} + files: + assert_response: + status_code: 200 + assertMessage: + type_jsonpath: $.msg + expect_value: 请求GitLink失败(项目标记名称不能为空!) + assert_type: == + assert_sql: + extract: + case_dependence: \ No newline at end of file diff --git a/interface/pms/test_pms_get_enterprise_user_list.yaml b/interface/pms/test_pms_get_enterprise_user_list.yaml index 8596ab4..8a8291c 100644 --- a/interface/pms/test_pms_get_enterprise_user_list.yaml +++ b/interface/pms/test_pms_get_enterprise_user_list.yaml @@ -12,14 +12,14 @@ case_info: title: 通过企业标识查询企业下用户列表 run: True severity: normal - url: ${pms_host}/api/pms/pmsEnterprise/ByIdentifier/prefecture/userList + url: ${pms_host}/api/pms/pmsEnterprise/ByIdentifier/${env_enterprise_identifier}/userList method: GET headers: Content-Type: application/json; charset=utf-8; cookies: ${cookies} request_type: params payload: - identifier: prefecture + identifier: ${env_enterprise_identifier} files: assert_response: status_code: 200 diff --git a/utils/case_generate_utils/case_fun_generate.py b/utils/case_generate_utils/case_fun_generate.py index bb94955..197bf7c 100644 --- a/utils/case_generate_utils/case_fun_generate.py +++ b/utils/case_generate_utils/case_fun_generate.py @@ -184,7 +184,7 @@ def gen_case_file(filename, case_template_path, case_common, common_dependence, os.makedirs(target_case_path, exist_ok=True) # 获取用例数据中的标记 case_markers = case_common.get("case_markers", []) or [] - logger.debug(f"从用例中拿到的标记有:{case_markers}, {type(case_markers)}") + # logger.debug(f"从用例中拿到的标记有:{case_markers}, {type(case_markers)}") # 先读取用例模板中每一行的内容 with open(file=case_template_path, mode="r", encoding="utf-8") as f: case_template = f.readlines() @@ -194,7 +194,7 @@ def gen_case_file(filename, case_template_path, case_common, common_dependence, # 这里是预计往 @pytest.mark.parametrize( 这一行的上面插入标记 if content.strip().startswith('@pytest.mark.parametrize('): # 往测试用例模板中插入自定义标记 - logger.debug(f"获取到的case_markers:{case_markers}, {type(case_markers)}") + # logger.debug(f"获取到的case_markers:{case_markers}, {type(case_markers)}") for case_marker in case_markers: # 获取符合要求格式的自定义标记名称,并插入到测试模板中 marker = is_valid_marker(case_marker) diff --git a/utils/data_utils/data_handle.py b/utils/data_utils/data_handle.py index f4826f6..cb81857 100644 --- a/utils/data_utils/data_handle.py +++ b/utils/data_utils/data_handle.py @@ -19,6 +19,7 @@ from requests.utils import dict_from_cookiejar # 本地应用/模块导入 from utils.data_utils.faker_handle import FakerData from utils.data_utils.eval_data_handle import eval_data +from utils.data_utils.data_tools import zip_test_step from utils.files_utils.files_handle import file_to_base64, get_files from config.path_config import FILES_DIR @@ -370,3 +371,25 @@ if __name__ == '__main__': new = data_handle(data) print(new, type(new), end="\n\n---------------------------------------------------------------------------------------------\n\n") + + print("\n-----------测试场景5:导入的函数---------------------\n") + source = { + "added_testcase_test_step": [ + {'id': 5878, 'index': 0, 'content': '科技-大学', 'expectedResult': '一直-有些', 'execResult': 0}, + {'id': 5879, 'index': 1, 'content': '包括-质量', 'expectedResult': '系统-发表', 'execResult': 0}], + "test_ids": [1, 2, 3, 4, 5] + } + data = { + "testcaseStepList": "${data_keys_to_keep(${added_testcase_test_step},'id')}"} + + new = data_handle(obj=data, source=source) + print(new, type(new), + end="\n\n---------------------------------------------------------------------------------------------\n\n") + + data = { + "test_ids": '${list_to_str(target=${test_ids})}' + } + + new = data_handle(obj=data, source=source) + print(new, type(new), + end="\n\n---------------------------------------------------------------------------------------------\n\n") diff --git a/utils/data_utils/data_tools.py b/utils/data_utils/data_tools.py new file mode 100644 index 0000000..75ce3d4 --- /dev/null +++ b/utils/data_utils/data_tools.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# @Time : 2024/1/13 9:33 +# @Author : floraachy +# @File : data_tools +# @Software: PyCharm +# @Desc: + +# 标准库导入 +import random + + +def zip_test_step(step_id, step_status_id=None): + """ + 处理测试用例的步骤 + """ + if step_status_id: + return [{'id': id, 'stepStatus': execResult} for id, execResult in zip(step_id, step_status_id)] + else: + return [{'id': id, 'stepStatus': random.choice([0, 1, 2, 3, 4])} for id in step_id]