Skip to content

test: add AT-SPI test cases for deepin-voice-note#410

Merged
deepin-bot[bot] merged 1 commit into
linuxdeepin:develop/snipefrom
dengzhongyuan365-dev:bug-fix-6-24-1
Jul 17, 2026
Merged

test: add AT-SPI test cases for deepin-voice-note#410
deepin-bot[bot] merged 1 commit into
linuxdeepin:develop/snipefrom
dengzhongyuan365-dev:bug-fix-6-24-1

Conversation

@dengzhongyuan365-dev

Copy link
Copy Markdown
Member

Add AT-SPI accessibility test suite with 56 active and 192 unsupported cases from xlsx test case document.

为语音记事本添加AT-SPI无障碍测试套件,包含56条可自动化
和192条暂不支持用例。

Log: 添加AT-SPI无障碍测试用例
Influence: 新增tests/at/目录,包含AT-SPI树注释、语义映射用例
及可执行的suite YAML产物。

Add AT-SPI accessibility test suite with 56 active and 192
unsupported cases from xlsx test case document.

为语音记事本添加AT-SPI无障碍测试套件,包含56条可自动化
和192条暂不支持用例。

Log: 添加AT-SPI无障碍测试用例
Influence: 新增tests/at/目录,包含AT-SPI树注释、语义映射用例
         及可执行的suite YAML产物。

@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, your pull request is larger than the review limit of 150000 diff characters

@github-actions

Copy link
Copy Markdown
  • 检测到敏感词export变动
详情
    {
    "export": {
        "tests/at/dump/scanned_gaps.yaml": {
            "b": [
                "source_file: src/task/exportnoteworker.cpp",
                "source_file: src/task/exportnoteworker.h"
            ]
        }
    }
}

@github-actions

Copy link
Copy Markdown
  • 敏感词检查失败, 检测到3个文件存在敏感词
详情
{
    "tests/at/suite-cases.yaml": [
        {
            "line": "            key: F1",
            "line_number": 183,
            "rule": "S106",
            "reason": "Var naming | cfc950dca5"
        },
        {
            "line": "            key: Tab",
            "line_number": 283,
            "rule": "S106",
            "reason": "Var naming | 1ac9cbd94c"
        },
        {
            "line": "            key: Return",
            "line_number": 287,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Return",
            "line_number": 309,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Tab",
            "line_number": 322,
            "rule": "S106",
            "reason": "Var naming | 1ac9cbd94c"
        },
        {
            "line": "            key: Return",
            "line_number": 354,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Delete",
            "line_number": 376,
            "rule": "S106",
            "reason": "Var naming | 6ac78fc606"
        },
        {
            "line": "            key: Return",
            "line_number": 380,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Return",
            "line_number": 398,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Return",
            "line_number": 420,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Return",
            "line_number": 442,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Escape",
            "line_number": 464,
            "rule": "S106",
            "reason": "Var naming | 0b57e3460a"
        },
        {
            "line": "            key: Return",
            "line_number": 486,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Return",
            "line_number": 508,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Tab",
            "line_number": 521,
            "rule": "S106",
            "reason": "Var naming | 1ac9cbd94c"
        },
        {
            "line": "            key: Return",
            "line_number": 652,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Return",
            "line_number": 674,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Delete",
            "line_number": 713,
            "rule": "S106",
            "reason": "Var naming | 6ac78fc606"
        },
        {
            "line": "            key: Return",
            "line_number": 717,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Return",
            "line_number": 735,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Return",
            "line_number": 757,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Return",
            "line_number": 779,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Escape",
            "line_number": 801,
            "rule": "S106",
            "reason": "Var naming | 0b57e3460a"
        },
        {
            "line": "            key: Return",
            "line_number": 823,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Return",
            "line_number": 845,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Return",
            "line_number": 867,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Tab",
            "line_number": 982,
            "rule": "S106",
            "reason": "Var naming | 1ac9cbd94c"
        },
        {
            "line": "            key: Tab",
            "line_number": 995,
            "rule": "S106",
            "reason": "Var naming | 1ac9cbd94c"
        },
        {
            "line": "            key: space",
            "line_number": 1037,
            "rule": "S106",
            "reason": "Var naming | 3424fedf8d"
        },
        {
            "line": "            key: Tab",
            "line_number": 1041,
            "rule": "S106",
            "reason": "Var naming | 1ac9cbd94c"
        },
        {
            "line": "            key: Return",
            "line_number": 1059,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: Delete",
            "line_number": 1142,
            "rule": "S106",
            "reason": "Var naming | 6ac78fc606"
        },
        {
            "line": "            key: Delete",
            "line_number": 1160,
            "rule": "S106",
            "reason": "Var naming | 6ac78fc606"
        },
        {
            "line": "            key: BackSpace",
            "line_number": 1174,
            "rule": "S106",
            "reason": "Var naming | 4a2f65f2aa"
        },
        {
            "line": "            key: BackSpace",
            "line_number": 1192,
            "rule": "S106",
            "reason": "Var naming | 4a2f65f2aa"
        },
        {
            "line": "            key: space",
            "line_number": 1447,
            "rule": "S106",
            "reason": "Var naming | 3424fedf8d"
        },
        {
            "line": "            key: space",
            "line_number": 1453,
            "rule": "S106",
            "reason": "Var naming | 3424fedf8d"
        },
        {
            "line": "            key: Return",
            "line_number": 1683,
            "rule": "S106",
            "reason": "Var naming | 8be1c69b93"
        },
        {
            "line": "            key: F1",
            "line_number": 1749,
            "rule": "S106",
            "reason": "Var naming | cfc950dca5"
        },
        {
            "line": "            key: F2",
            "line_number": 1850,
            "rule": "S106",
            "reason": "Var naming | 767bdf1279"
        },
        {
            "line": "            key: Delete",
            "line_number": 1863,
            "rule": "S106",
            "reason": "Var naming | 6ac78fc606"
        },
        {
            "line": "            key: Delete",
            "line_number": 1876,
            "rule": "S106",
            "reason": "Var naming | 6ac78fc606"
        }
    ],
    "tests/at/cases_raw.yaml": [
        {
            "line": "    description: 3. 核对简体中文、英文、繁体中文(香港)、正体中文语言下,语音记事本帮助手册的文案",
            "line_number": 511,
            "rule": "C03",
            "reason": "政治敏感词 | 90d2c17f13"
        },
        {
            "line": "    description: 2. 切换系统语言为繁体中文(香港),打开语音记事本,查看各个界面显示",
            "line_number": 3424,
            "rule": "C03",
            "reason": "政治敏感词 | 90d2c17f13"
        }
    ],
    "tests/at/cases_mapped.yaml": [
        {
            "line": "        key: \"ctrl+n\"",
            "line_number": 73,
            "rule": "S106",
            "reason": "Var naming | 53f80aa726"
        },
        {
            "line": "        key: \"alt\"",
            "line_number": 123,
            "rule": "S106",
            "reason": "Var naming | 95f4532978"
        },
        {
            "line": "        key: \"f1\"",
            "line_number": 177,
            "rule": "S106",
            "reason": "Var naming | 049fe8dd41"
        },
        {
            "line": "        key: \"ctrl+n\"",
            "line_number": 245,
            "rule": "S106",
            "reason": "Var naming | 53f80aa726"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 273,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"alt+m\"",
            "line_number": 292,
            "rule": "S106",
            "reason": "Var naming | 25e2e224a4"
        },
        {
            "line": "        key: \"down\"",
            "line_number": 296,
            "rule": "S106",
            "reason": "Var naming | 0899091e9d"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 300,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 308,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 336,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"ctrl+a\"",
            "line_number": 360,
            "rule": "S106",
            "reason": "Var naming | ac67f997aa"
        },
        {
            "line": "        key: \"delete\"",
            "line_number": 364,
            "rule": "S106",
            "reason": "Var naming | fe08d2e1d9"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 368,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 392,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 420,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 448,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"escape\"",
            "line_number": 476,
            "rule": "S106",
            "reason": "Var naming | f4f2a907b0"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 504,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 532,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"alt+m\"",
            "line_number": 551,
            "rule": "S106",
            "reason": "Var naming | 25e2e224a4"
        },
        {
            "line": "        key: \"down\"",
            "line_number": 555,
            "rule": "S106",
            "reason": "Var naming | 0899091e9d"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 559,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"ctrl+b\"",
            "line_number": 629,
            "rule": "S106",
            "reason": "Var naming | bda23dcf04"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 658,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 687,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"f3\"",
            "line_number": 707,
            "rule": "S106",
            "reason": "Var naming | c118ef79f6"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 715,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"ctrl+a\"",
            "line_number": 740,
            "rule": "S106",
            "reason": "Var naming | ac67f997aa"
        },
        {
            "line": "        key: \"delete\"",
            "line_number": 744,
            "rule": "S106",
            "reason": "Var naming | fe08d2e1d9"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 748,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 773,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 802,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 831,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"escape\"",
            "line_number": 860,
            "rule": "S106",
            "reason": "Var naming | f4f2a907b0"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 889,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 918,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 947,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"alt+m\"",
            "line_number": 988,
            "rule": "S106",
            "reason": "Var naming | 25e2e224a4"
        },
        {
            "line": "        key: \"down\"",
            "line_number": 992,
            "rule": "S106",
            "reason": "Var naming | 0899091e9d"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 996,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"alt+m\"",
            "line_number": 1016,
            "rule": "S106",
            "reason": "Var naming | 25e2e224a4"
        },
        {
            "line": "        key: \"down\"",
            "line_number": 1020,
            "rule": "S106",
            "reason": "Var naming | 0899091e9d"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 1024,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"alt+m\"",
            "line_number": 1032,
            "rule": "S106",
            "reason": "Var naming | 25e2e224a4"
        },
        {
            "line": "        key: \"down\"",
            "line_number": 1036,
            "rule": "S106",
            "reason": "Var naming | 0899091e9d"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 1040,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"alt+m\"",
            "line_number": 1060,
            "rule": "S106",
            "reason": "Var naming | 25e2e224a4"
        },
        {
            "line": "        key: \"down\"",
            "line_number": 1064,
            "rule": "S106",
            "reason": "Var naming | 0899091e9d"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 1068,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"alt+m\"",
            "line_number": 1088,
            "rule": "S106",
            "reason": "Var naming | 25e2e224a4"
        },
        {
            "line": "        key: \"down\"",
            "line_number": 1092,
            "rule": "S106",
            "reason": "Var naming | 0899091e9d"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 1096,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"alt+m\"",
            "line_number": 1116,
            "rule": "S106",
            "reason": "Var naming | 25e2e224a4"
        },
        {
            "line": "        key: \"down\"",
            "line_number": 1120,
            "rule": "S106",
            "reason": "Var naming | 0899091e9d"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 1124,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"alt+m\"",
            "line_number": 1144,
            "rule": "S106",
            "reason": "Var naming | 25e2e224a4"
        },
        {
            "line": "        key: \"down\"",
            "line_number": 1148,
            "rule": "S106",
            "reason": "Var naming | 0899091e9d"
        },
        {
            "line": "        key: \"enter\"",
            "line_number": 1152,
            "rule": "S106",
            "reason": "Var naming | cf568913cb"
        },
        {
            "line": "        key: \"tab\"",
            "line_number": 1179,
            "rule": "S106",
            "reason": "Var naming | e8b3c9f39e"
        },
        {
            "line": "        key: \"tab\"",
            "line_number": 1198,
            "rule": "S106",
            "reason": "Var naming | e8b3c9f39e"
        },
        {
            "line": "        key: \"tab\"",
            "line_number": 1217,
            "rule": "S106",
            "reason": "Var naming | e8b3c9f39e"
        },
        {
            "line": "        key: \"tab\"",
            "line_number": 1236,
            "rule": "S106",
            "reason": "Var naming | e8b3c9f39e"
        },
        {
            "line": "        key: \"tab\"",
            "line_number": 1255,
            "rule": "S106",
            "reason": "Var naming | e8b3c9f39e"
        },
        {
            "line": "        key: \"f1\"",
            "line_number": 1277,
            "rule": "S106",
            "reason": "Var naming | 049fe8dd41"
        },
        {
            "line": "        key: \"ctrl+shift+/\"",
            "line_number": 1285,
            "rule": "S106",
            "reason": "Var naming | 8d89a2593a"
        },
        {
            "line": "        key: \"ctrl+n\"",
            "line_number": 1293,
            "rule": "S106",
            "reason": "Var naming | 53f80aa726"
        },
        {
            "line": "        key: \"ctrl+b\"",
            "line_number": 1301,
            "rule": "S106",
            "reason": "Var naming | bda23dcf04"
        },
        {
            "line": "        key: \"ctrl+r\"",
            "line_number": 1309,
            "rule": "S106",
            "reason": "Var naming | 2a45b487b5"
        },
        {
            "line": "        key: \"ctrl+s\"",
            "line_number": 1317,
            "rule": "S106",
            "reason": "Var naming | 1c47647af1"
        },
        {
            "line": "        key: \"ctrl+y\"",
            "line_number": 1325,
            "rule": "S106",
            "reason": "Var naming | 3b9dcc65d7"
        },
        {
            "line": "        key: \"ctrl+shift+/\"",
            "line_number": 1344,
            "rule": "S106",
            "reason": "Var naming | 8d89a2593a"
        },
        {
            "line": "        key: \"ctrl+r\"",
            "line_number": 1363,
            "rule": "S106",
            "reason": "Var naming | 2a45b487b5"
        },
        {
            "line": "        key: \"ctrl+y\"",
            "line_number": 1367,
            "rule": "S106",
            "reason": "Var naming | 3b9dcc65d7"
        },
        {
            "line": "        key: \"ctrl+y\"",
            "line_number": 1386,
            "rule": "S106",
            "reason": "Var naming | 3b9dcc65d7"
        },
        {
            "line": "        key: \"ctrl+s\"",
            "line_number": 1405,
            "rule": "S106",
            "reason": "Var naming | 1c47647af1"
        },
        {
            "line": "        key: \"f2\"",
            "line_number": 1424,
            "rule": "S106",
            "reason": "Var naming | cdefbaa105"
        },
        {
            "line": "        key: \"delete\"",
            "line_number": 1443,
            "rule": "S106",
            "reason": "Var naming | fe08d2e1d9"
        },
        {
            "line": "        key: \"delete\"",
            "line_number": 1462,
            "rule": "S106",
            "reason": "Var naming | fe08d2e1d9"
        },
        {
            "line": "        key: \"ctrl+r\"",
            "line_number": 1481,
            "rule": "S106",
            "reason": "Var naming | 2a45b487b5"
        },
        {
            "line": "        key: \"ctrl+n\"",
            "line_number": 1485,
            "rule": "S106",
            "reason": "Var naming | 53f80aa726"
        },
        {
            "line": "        key: \"ctrl+r\"",
            "line_number": 1504,
            "rule": "S106",
            "reason": "Var naming | 2a45b487b5"
        }
    ]
}

@deepin-ci-robot

Copy link
Copy Markdown

deepin pr auto review

★ 总体评分:95分

■ 【总体评价】

代码新增了语音记事本的 AT-SPI 自动化测试用例文件集,结构清晰且注释详尽
逻辑基本正确且无安全漏洞,但在 YAML 语法细节上存在轻微瑕疵

■ 【详细分析】

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

cases_mapped.yaml 文件中,non_gui_cases: 18 (见 cases_non_gui.yaml) 这一行的值未使用引号包裹,包含括号和空格,虽然在多数宽松的 YAML 解析器中会被识别为字符串,但在严格语法校验下可能引发解析歧义。
潜在问题:YAML 严格解析器可能报错;混合类型表达不够规范
建议:将值用引号包裹,如 non_gui_cases: "18 (见 cases_non_gui.yaml)"

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

测试用例文件组织合理,通过 at-tree-annotated.yamlelement_gaps.yaml 等文件详细记录了可访问性树和元素缺口,注释完备,cases_mapped.yaml 中对每条用例的 statusreason 标注非常清晰,有助于后续自动化测试的维护与执行。
潜在问题:无
建议:保持现有的注释规范和文件组织结构

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

本次提交均为静态数据文件(YAML 和 Excel),不涉及运行时逻辑和算法复杂度,不存在性能瓶颈。
潜在问题:无
建议:无

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

漏洞对比统计:新增漏洞 0 个,减少漏洞 0 个,持平 0 个
本次提交为纯测试用例数据文件,不包含任何可执行代码,不存在命令注入、路径遍历等安全风险。YAML 文件仅包含标准数据结构,未使用可能导致反序列化漏洞的自定义标签。

  • 建议:无需修复

■ 【改进建议代码示例】

# 修改 cases_mapped.yaml 中的不规范语法
metadata:
  app: deepin-voice-note
  exec: deepin-voice-note
  source: cases_raw.yaml
  generated_at: '2026-07-17T12:00:00'
  description: AT-SPI语义映射用例,供youqu at generate使用
  total_cases: 248
  active_cases: 32
  unsupported_cases: 216
  non_gui_cases: "18 (见 cases_non_gui.yaml)"  # 添加引号确保 YAML 语法严格合规

@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 17, 2026

Copy link
Copy Markdown
Contributor

This pr force merged! (status: unstable)

@deepin-bot
deepin-bot Bot merged commit 2890d16 into linuxdeepin:develop/snipe Jul 17, 2026
21 of 23 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