VS CodedUI无法启动经典Windows应用程序的GUI

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS CodedUI无法启动经典Windows应用程序的GUI相关的知识,希望对你有一定的参考价值。

我有一个自托管的生成代理设置,可以交互运行,以在经典Windows应用程序的Azure DevOps中执行CodedUI。由于某种原因,尽管我无法让构建服务器使用UI实际运行被测应用程序。我已经尝试了多种方式启动应用程序,但是无论我尝试启动应用程序的方式如何,都没有出现UI,尽管该应用程序确实显示在任务管理器中,所以我知道它正在运行。

这些测试在开发机器上可以很好地执行,但是当它们在服务器上运行时完全失败。我感觉好像缺少代理配置或构建中的某些内容,但是却丢失了它。我已经对代理进行了3次重新配置,以确保我不会忽略文档中的任何内容,并且已经阅读了有关UI测试的Pipelines文档,但这并不是很有用。

以前有人遇到过这个问题吗?我很高兴提供任何其他信息,这些信息可能有助于追踪问题。

答案

我能够解决此问题,尽管我不确定如何解决此问题,而其他解决方案却无法解决。基本上,我创建了一个代表我的应用程序图标的类,如下所示:

public class AppIcon : CodedUIBase

    public AppIcon()
    
        SetParentName("Program Manager");
    

    public WinListItem LstAppIcon
    
        get  return SetProperty<WinListItem>(PropertyType.Name, "AppName"); 
    

然后我通过单击该图标来启动我的应用程序,如下所示:

var appIcon = new AppIcon();
appIcon.LstAppIcon.DoubleClick();

这使UI可以在构建服务器上正常运行,并且测试可以正常运行。奇怪的是,使用ApplicationUnderTest()Process.Start()会导致构建服务器将它们加载到后台进程中,但是双击图标就可以了。

以上是关于VS CodedUI无法启动经典Windows应用程序的GUI的主要内容,如果未能解决你的问题,请参考以下文章

vs2010编译出的exe“应用程序无法正常启动(0xc0150002)”

CodedUI 测试因缺少程序集引用而失败?

VS编译运行时提示:应用程序并行配置不正确,无法启动程序

MSI vs nuget包:哪个更适合持续交付?

如何在运行WSL时在Windows中设置VS代码调试?

windows xp 下无法运行 VS2013 创建的安装文件