You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSTS扩展:自定义标签加载时如何获取测试套件表选中的套件数据

实现方法

前置准备

你需要先在扩展项目中引入VSS Web Extension SDK,这是开发Azure DevOps(原VSTS)扩展的官方依赖,在自定义标签的HTML页面中加载对应SDK脚本即可。


具体实现步骤

  • 第一步:初始化VSS SDK,完成和Azure DevOps宿主环境的连接
VSS.init({
    explicitNotifyLoaded: true,
    usePlatformStyles: true
});
  • 第二步:在SDK加载完成的回调中,直接从导航上下文提取选中的测试套件相关参数
VSS.ready(function() {
    // 获取当前页面的导航参数
    const navigationContext = VSS.getNavigation();
    
    // 直接提取所需ID
    const testPlanId = navigationContext.parameters.testPlanId;
    const testSuiteId = navigationContext.parameters.testSuiteId;

    // 拿到ID后即可执行后续数据加载逻辑
    console.log("测试计划ID:", testPlanId);
    console.log("测试套件ID:", testSuiteId);

    VSS.notifyLoadSucceeded();
});
  • 如果需要监听测试套件选中项的动态变化,可以订阅选中事件实现实时更新
VSS.require(["TFS/TestManagement/Controls"], function(TestControls) {
    TestControls.TestPlanManager.getTestPlanManager()
        .getTestSuiteSelection()
        .subscribe(function (selectedSuite) {
            // 每次选中变化后都会触发该回调,返回最新选中的测试套件对象
            const currentTestPlanId = selectedSuite.testPlanId;
            const currentTestSuiteId = selectedSuite.id;
            // 这里处理选中变化后的业务逻辑
        });
});

注意事项

请确保你的扩展manifest配置文件中已经声明了测试管理相关的读权限,否则会出现权限不足无法获取参数的问题。

内容的提问来源于stack exchange,提问作者Sachin Bhatia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:36:04