Skip to content

[AT] 归档管理器 AT-SPI 测试套件(element-map 双字段管线) - #554

Draft
dengzhongyuan365-dev wants to merge 5 commits into
linuxdeepin:masterfrom
dengzhongyuan365-dev:agent/at/20261113153559
Draft

dengzhongyuan365-dev wants to merge 5 commits into
linuxdeepin:masterfrom
dengzhongyuan365-dev:agent/at/20261113153559

Conversation

@dengzhongyuan365-dev

@dengzhongyuan365-dev dengzhongyuan365-dev commented Nov 13, 2026 •

Copy link
Copy Markdown
Member

概述

为 deepin-compressor(归档管理器)生成 AT-SPI 测试套件,采用 element-map 双字段管线。

用例统计

  • 总用例数:8 条
  • 模块分布:标题栏(2)、压缩设置(1)、文件列表(2)、对话框(2)、重命名(1)

元素覆盖率

  • 分母(element-map 持久定位键):8
  • 分子(已覆盖 selector.name ∪ accessible_id):8
  • 覆盖率:100%
  • unresolved 元素(待开发补名后回填):34

验证状态

  • Gate 4(生成门禁):PASS
  • Gate 5(语义安全门禁):PASS
  • Smoke 验证:2 pass / 3 unstable(对话框、文件列表、重命名模块的控件需特定 UI 状态才可达)

交付物

  • tests/at/yaml/elements.yaml
  • tests/at/yaml/**/*.suite.yaml(5 个模块)
  • tests/at/element-coverage-manifest.yaml
  • tests/at/coverage-report.yaml
  • tests/at/cases_mapped.yaml

Summary by Sourcery

Add comprehensive AT-SPI coverage for deepin-compressor using stable element selectors and mapped YAML test suites.

New Features:

  • Add an AT-SPI test suite for deepin-compressor covering archive creation, extraction, settings, file operations, dialogs, progress control, window management, and keyboard interactions.

Enhancements:

  • Introduce a centralized accessible-element map with stable selectors for the test cases.
  • Provide mapped test-case data and coverage manifests for automated element traceability.

Tests:

  • Add module-specific YAML suites and mapped cases for the archive manager UI.
  • Add element coverage reporting showing all mapped elements covered.

- 新增 5 个模块共 8 条 AT 测试用例(标题栏×2, 压缩设置×1, 文件列表×2, 对话框×2, 重命名×1)
- element-map 双字段管线:8 个已命名元素覆盖(accessible_id/name 定位)
- 覆盖门禁 100%(8/8),34 个 unresolved 元素待开发补名后回填
- Gate 4/5 静态校验通过,smoke 验证 2 pass/3 unstable
@deepin-ci-robot

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

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

@sourcery-ai

sourcery-ai Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

Reviewer's Guide

Data structures

定义 AT-SPI 元素的稳定名称与角色,并记录 element-map 覆盖清单及覆盖率结果。

  • tests/at/coverage-report.yaml L1-9
  • tests/at/element-coverage-manifest.yaml L1-216
  • tests/at/yaml/elements.yaml L1-37

Tests

汇总映射后的归档管理器测试用例,便于检查完整用例集及其 selector 使用情况。

  • tests/at/cases_mapped.yaml L1-3029

按功能模块组织 AT-SPI 套件,使用元素映射中的名称与角色执行操作并断言结果。

  • tests/at/yaml/分卷压缩/分卷压缩.suite.yaml L1-50
  • tests/at/yaml/压缩/压缩.suite.yaml L1-195
  • tests/at/yaml/压缩解压/压缩解压.suite.yaml L1-126
  • tests/at/yaml/右键压缩/右键压缩.suite.yaml L1-198
  • tests/at/yaml/右键菜单/右键菜单.suite.yaml L1-38
  • tests/at/yaml/右键解压/右键解压.suite.yaml L1-144
  • tests/at/yaml/密码加密/密码加密.suite.yaml L1-544
  • tests/at/yaml/帮助关于/帮助关于.suite.yaml L1-32
  • tests/at/yaml/文件删除/文件删除.suite.yaml L1-32
  • tests/at/yaml/文件名设置/文件名设置.suite.yaml L1-74
  • tests/at/yaml/文件添加/文件添加.suite.yaml L1-714
  • tests/at/yaml/窗口管理/窗口管理.suite.yaml L1-44
  • tests/at/yaml/结果界面/结果界面.suite.yaml L1-116
  • tests/at/yaml/解压/解压.suite.yaml L1-26
  • tests/at/yaml/设置/设置.suite.yaml L1-500
  • tests/at/yaml/进度控制/进度控制.suite.yaml L1-282
  • tests/at/yaml/追加压缩/追加压缩.suite.yaml L1-92
  • tests/at/yaml/键盘交互/键盘交互.suite.yaml L1-32

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

dengzhongyuan365-dev and others added 4 commits November 13, 2026 16:53
- 基于 xlsx 用例表格(222条)全量转换+映射
- 19个模块,40个suite(32个active + 8个unsupported)
- 12个命名元素,覆盖率100%(12/12)
- Gate 5/4 静态校验通过
- 替换旧的8条用例版本
1. Add setAccessibleName() to 31 interactive controls across 10 files.
2. Cover compression, extraction, progress, result and settings pages.
3. Name radio buttons, input fields, switches, combos and buttons.

Log: Add accessible names for AT-SPI automation support

Influence:
1. Launch the app and verify all interactive controls render and respond.
2. Run AT-SPI inspection and confirm 31 controls expose accessible names.
3. Verify compression and extraction flows remain unaffected.

fix: 为交互控件补充 AT-SPI 无障碍名称

1. 为 10 个文件中的 31 个交互控件增加 setAccessibleName()。
2. 覆盖压缩、解压、进度、结果及设置等页面。
3. 包含单选框、输入框、开关、下拉框和按钮等控件。

Influence:
1. 启动应用,验证各交互控件显示与交互正常。
2. 使用 AT-SPI 检查工具确认 31 个控件均可获取无障碍名称。
3. 验证压缩、解压等既有流程不受影响。

Log: 补充 AT-SPI 自动化测试所需的控件无障碍名称
PMS: TASK-398535
multica: V-8391
- 源码新增18个setAccessibleName控件,element-map补充对应元素条目
- 新增18条补充用例(SUP001-SUP018),覆盖文件名设置、设置、密码加密、
  分卷压缩、压缩解压、结果界面、进度控制、解压8个模块
- element-coverage-manifest更新至30个命名元素
- 覆盖门禁PASS:30/30 = 100%
- Gate 5 + Gate 4 校验通过
- 新增suite:文件名设置_002、设置_006/007、密码加密_004、
  分卷压缩_002、压缩解压_004、结果界面_003、进度控制_003、解压_002
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.

2 participants