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

无法将VS2013 VSTEST Coded UI测试迁移至Azure DevOps的技术求助

解决Azure DevOps流水线中VS2013 Coded UI测试无法发现的问题

你的问题核心是VS2013开发的Coded UI测试在Azure DevOps流水线的VsTest任务中无法被识别,结合你的配置和Coded UI测试的特殊性,下面是你遗漏的关键配置和具体解决步骤:

1. 必须让测试代理运行在交互式桌面模式

Coded UI测试依赖桌面交互环境,默认的Azure DevOps服务模式代理根本跑不了这类测试:

  • 把VM上的Azure DevOps代理改成以登录用户身份运行(别用Windows服务模式)
  • 确保虚拟机不会自动锁屏,桌面会话要一直保持激活状态——可以关掉自动锁屏、禁用屏幕保护程序

2. 匹配测试平台与VS2013的版本兼容性

你现在用的是VS Test Platform 15.9.2(对应VS2017),但你的测试是VS2013(v12.0)开发的,版本不匹配直接导致测试发现失败:

  • 调整Visual Studio Test Platform Installer任务,选VS2013兼容的测试平台版本(推荐v12.0.x,就是你之前用的MS Test Agent 12.0对应的版本)
  • 或者直接在流水线VM上安装VS2013 Test Agent(版本12.0),然后在VsTest - Test Assemblies任务里选Use installed version,指定用VS2013的测试运行器

3. 确保Coded UI测试适配器文件齐全

Coded UI测试需要专属的适配器才能被VsTest识别,你得确认测试DLL所在目录里有这两个文件:

  • Microsoft.VisualStudio.TestTools.UITest.TestAdapter.dll
  • Microsoft.VisualStudio.TestTools.UITest.Extension.dll
    版本必须是12.0.x的,直接从你本地能正常运行的VMWare虚拟机部署目录里复制过来就行,如果缺失的话一定要补上。

4. 调整VsTest任务的关键配置

  • 把VsTest - Test Assemblies任务里的Minimum Visual Studio version改成Visual Studio 2013,而不是2015,保证测试运行器和测试项目的开发版本匹配
  • 在Other console options里加参数:/TestAdapterPath:.,强制VsTest从当前测试目录加载适配器文件
  • Coded UI测试还需要指定测试设置文件,在参数里加/Settings:[你的测试设置文件名].testsettings,这个文件直接从本地正常运行的环境复制过来,它已经配置好了UI测试需要的交互模式

5. 检查测试文件的完整性

从VMWare复制到流水线VM的文件不能少:

  • 除了测试DLL,对应的.pdb文件也要一起复制,这对测试发现和调试很重要
  • 所有测试依赖的第三方库、配置文件都要同步到流水线VM的测试目录里

按上面的步骤逐一排查调整,你的VS2013 Coded UI测试应该就能在Azure DevOps流水线里正常被发现并运行了。

内容的提问来源于stack exchange,提问作者Moshe Bar-Nachoom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 08:23:10