Automated tests UI自动化树在某些计算机上不可见

Automated tests UI自动化树在某些计算机上不可见,automated-tests,ui-automation,white-framework,Automated Tests,Ui Automation,White Framework,我有一套测试,使用白色/UI自动化,在我的开发机器Win 8.1 x64、.NET 4.5、NUnit、TD.NET和Console Runner上运行良好。Win7上运行同一套件的另一名开发人员表示,在尝试获取UI元素时失败 为了调查,我安装了一台Win2008R2机器,将应用程序和测试移动到那里,并使用NUnit控制台运行程序运行它们,测试也失败了 我试过: 在UI树日志结构中,树显然缺少很多元素。 直接使用自动化API而不是白色,同样的事情也会发生。 使用Inspect和UIAVerify

我有一套测试,使用白色/UI自动化,在我的开发机器Win 8.1 x64、.NET 4.5、NUnit、TD.NET和Console Runner上运行良好。Win7上运行同一套件的另一名开发人员表示,在尝试获取UI元素时失败

为了调查,我安装了一台Win2008R2机器,将应用程序和测试移动到那里,并使用NUnit控制台运行程序运行它们,测试也失败了

我试过:

在UI树日志结构中,树显然缺少很多元素。 直接使用自动化API而不是白色,同样的事情也会发生。 使用Inspect和UIAVerify检查树,它们确实显示了所有预期的元素! 将应用程序和测试项目转换为x86并使用x86版本的NUnit console runner,测试再次失败,原因相同。 失败的原因是,测试找到了一些元素主窗口、一些内部窗口,并且可以获得对顶级菜单的引用,但是在主菜单的子树中找不到AutomationElement,也找不到子元素


知道为什么某些机器上会出现这种情况吗?

您试图自动化的应用程序是用什么编写的?您尝试与自定义控件交互的主菜单是否也是?当我试图自动化我所在的公司开发的选项卡控件时,我遇到了这样的问题。基本上,automationpeer的创建仅在控件悬停时发生,因为鼠标悬停事件被触发。尝试运行inspect,但仅将鼠标悬停在应用程序的标题栏上,然后在树中向下搜索菜单,查看是否所有元素都在那里。@MaxYoung该问题被证明是DevXPress WPF套装的OOTB行为。这个决定是为了性能原因而关闭一些会影响自动化框架的东西。有一个标志可以将这些东西重新打开,可以绑定到调试构建或其他东西上,这样做一切都开始按预期工作。阅读更多关于它的文章