Skip to content

test(at): complete AT-SPI suites for deepin editor - #495

Merged
deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
dengzhongyuan365-dev:master
Jul 30, 2026
Merged

test(at): complete AT-SPI suites for deepin editor#495
deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
dengzhongyuan365-dev:master

Conversation

@dengzhongyuan365-dev

@dengzhongyuan365-dev dengzhongyuan365-dev commented Jul 30, 2026

Copy link
Copy Markdown
Member

Add remaining mapped AT-SPI suites and unsupported case summary.

补全剩余 AT-SPI 用例映射,并增加 unsupported 原因汇总。

Log: 补全文本编辑器 AT-SPI 用例

Influence: 新增工作区和启动相关可执行用例,远程验证31条用例全部通过;unsupported用例已按原因归类,不参与自动化执行。

Summary by Sourcery

Complete AT-SPI suite mappings for deepin editor modules and document unsupported AT-SPI cases with categorized reasons.

Enhancements:

  • Mark deepin editor AT modules (main menu, workspace, install/uninstall/startup/shutdown, hardware interaction) as verified in the AT test plan.
  • Add mapped AT-SPI case and suite definitions, including element maps, for deepin editor workspace and startup-related modules.
  • Introduce a centralized summary of unsupported AT-SPI test cases, with per-module statistics and reason categorization to guide future automation coverage.

Add remaining mapped AT-SPI suites and unsupported case summary.

补全剩余 AT-SPI 用例映射,并增加 unsupported 原因汇总。

Log: 补全文本编辑器 AT-SPI 用例

Influence: 新增工作区和启动相关可执行用例,远程验证31条用例全部通过;unsupported用例已按原因归类,不参与自动化执行。

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @dengzhongyuan365-dev, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@sourcery-ai

sourcery-ai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Reviewer's Guide

Completes AT-SPI mapping for the remaining deepin-editor test modules, marks the new executable suites as verified in the global AT plan, and adds a detailed markdown summary explaining why the remaining text editor cases are unsupported/non-GUI while wiring in the corresponding suite/mapping/element YAML files.

File-Level Changes

Change Details Files
Mark newly recorded deepin-editor AT-SPI suites as active in the global AT plan.
  • Update multiple deepin-editor module entries from pending to verified to reflect that their AT-SPI suites have been fully mapped and executed successfully
  • Ensure the plan metadata (slug, name, case_count, description) stays unchanged while only the status field is modified
tests/at/plan.yaml
Document unsupported AT-SPI cases and rationale in a central markdown summary for the deepin-editor suites.
  • Introduce a new unsupported_cases_summary document capturing total case counts, distribution between executable, unsupported, non-GUI and not-converted cases
  • Group unsupported cases by reason categories (visual-only, system shell/environment, hardware input, file/network dependencies, complex mouse/drag, system dialogs, cross-app/state restore, performance, etc.)
  • Provide per-module statistics (active_verified/unsupported/non_gui) and detailed per-case rationale, plus follow-up recommendations on how these classes of tests should be treated
tests/at/unsupported_cases_summary.md
Wire in AT-SPI YAML mappings/suites/elements for the remaining deepin-editor test modules so they can be run via youqu.
  • Add cases_mapped.yaml for safety, startup/shutdown, workspace, and hardware-interaction deepin-editor modules so manual cases are mapped to executable AT-SPI steps or marked unsupported/non_gui
  • Add corresponding YAML suite definitions (.suite.yaml) for modules that did not previously have them, enabling youqu at run integration
  • Add elements.yaml for modules that require explicit element selector definitions for AT-SPI recording/playback
  • Clean up or relocate earlier temporary module paths (from an a/ prefix to final b/ paths) so that all YAMLs live under a consistent modules hierarchy
b/tests/at/modules/v25_2500_测试部专用_b类解耦商店应用_文本编辑器_主菜单_114347/cases_mapped.yaml
b/tests/at/modules/v25_2500_测试部专用_b类解耦商店应用_文本编辑器_主菜单_114347/yaml/_V25_2500(测试部专用)_B类解耦商店应用_文本编辑器(#114347)/_V25_2500(测试部专用)_B类解耦商店应用_文本编辑器(#114347).suite.yaml
b/tests/at/modules/v25_2500_测试部专用_b类解耦商店应用_文本编辑器_安全性_114349/cases_mapped.yaml
b/tests/at/modules/v25_2500_测试部专用_b类解耦商店应用_文本编辑器_安装_卸载_启动_关机_114345/cases_mapped.yaml
b/tests/at/modules/v25_2500_测试部专用_b类解耦商店应用_文本编辑器_安装_卸载_启动_关机_114345/yaml/_V25_2500(测试部专用)_B类解耦商店应用_文本编辑器_安装_卸载_启动_关机(#114345)/_V25_2500(测试部专用)_B类解耦商店应用_文本编辑器_安装_卸载_启动_关机(#114345).suite.yaml
b/tests/at/modules/v25_2500_测试部专用_b类解耦商店应用_文本编辑器_安装_卸载_启动_关机_114345/yaml/elements.yaml
b/tests/at/modules/v25_2500_测试部专用_b类解耦商店应用_文本编辑器_工作区_114343/cases_mapped.yaml
b/tests/at/modules/v25_2500_测试部专用_b类解耦商店应用_文本编辑器_工作区_114343/yaml/_V25_2500(测试部专用)_B类解耦商店应用_文本编辑器_工作区(#114343)/_V25_2500(测试部专用)_B类解耦商店应用_文本编辑器_工作区(#114343).suite.yaml
b/tests/at/modules/v25_2500_测试部专用_b类解耦商店应用_文本编辑器_工作区_114343/yaml/elements.yaml
b/tests/at/modules/v25_2500_测试部专用_b类解耦商店应用_文本编辑器_硬件交互_114353/cases_mapped.yaml
.reuse/dep5

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@deepin-ci-robot

Copy link
Copy Markdown

deepin pr auto review

★ 总体评分:95分

■ 【总体评价】

代码新增了大量的AT自动化测试用例映射和执行套件,结构清晰且注释完善,有效提升了测试覆盖率。
配置文件逻辑正确且无安全漏洞,仅在部分YAML多行文本格式上存在轻微优化空间。

■ 【详细分析】

  • 1.语法逻辑(基本正确)✓

各YAML文件(cases_mapped.yaml, suite.yaml, elements.yaml等)缩进规范,键值对匹配正确,未发现语法解析错误。metadata和cases结构完整,符合既定格式范例。
潜在问题:部分多行文本字符串(如case_1593015中的text字段)直接使用了带有空行的单引号字符串,虽然YAML语法支持,但可读性较差。
建议:对于多行文本,建议统一使用YAML的块标量符号(如 | 保留换行,或 > 折叠换行)以提升可读性。

  • 2.代码质量(良好)✓

测试用例的annotation字段详细记录了测试界面、功能、前置条件和AT元素引用,unsupported用例均提供了明确的reason,便于后续维护。elements.yaml虽包含大量重复元素,但作为AT-SPI树快照属于合理冗余。
潜在问题:elements.yaml文件体积较大,包含大量与当前测试无关的系统级UI元素(如dde-shell, code等)。
建议:可考虑在生成elements.yaml时进行过滤,仅保留deepin-editor及其直接交互的对话框元素,减小文件体积。

  • 3.代码性能(无性能问题)✓

本次提交为静态测试配置文件,不涉及运行时算法或资源调度,对系统性能无直接影响。
潜在问题:无
建议:无需优化。

  • 4.代码安全(存在0个安全漏洞)✓

漏洞对比统计:新增漏洞 0 个,减少漏洞 0 个,持平 0 个
本次提交为测试用例YAML配置,未引入任何可执行代码或动态解析逻辑。测试中引用的 /etc/hosts 仅为读取操作,未发现命令注入、路径遍历或敏感信息泄露等安全风险。

  • 建议:无需修复,保持当前安全标准。

■ 【改进建议代码示例】

# 优化多行文本字符串的书写方式,提升可读性
- id: case_1593015
  name: 文件查找【快捷键】
  module: /V25_2500(测试部专用)/B类解耦商店应用/文本编辑器/工作区(#114343)
  status: active
  annotation:
    测试界面: 主窗口-查找栏
    测试功能: Ctrl+F 打开查找并输入查找词
    前置条件: 应用已启动,编辑区存在文本
    AT元素引用: 查找
  steps:
  - step_type: action
    description: 打开文本编辑器
    action: session_start
    command: deepin-editor
  - step_type: action
    description: 输入包含查找词的文本
    action: keyboard_type
    text: |-
      alpha beta
      alpha gamma
  - step_type: action
    description: 按 Ctrl+F 打开查找栏
    action: keyboard_hot_key
    key: ctrl+f
  - step_type: action
    description: 输入查找词
    action: keyboard_type
    text: alpha
  - step_type: assert
    description: 验证查找栏可见
    action: assert_element
    selector:
      name: 查找
      role: menu item

@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: dengzhongyuan365-dev, lzwind

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@dengzhongyuan365-dev

Copy link
Copy Markdown
Member Author

/forcemerge

@deepin-bot

deepin-bot Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

This pr force merged! (status: unstable)

@deepin-bot
deepin-bot Bot merged commit 2e7cf20 into linuxdeepin:master Jul 30, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants