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

问题描述 投票:0回答:1

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

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

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

visual-studio azure-devops azure-pipelines coded-ui-tests
1个回答
0
投票

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

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()会导致构建服务器将它们加载到后台进程中,但是双击图标就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.