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
相关产品推荐
相关产品推荐

