Testing 是否可以在MS编码的UI测试上合并UI控件?

Testing 是否可以在MS编码的UI测试上合并UI控件?,testing,automated-tests,coded-ui-tests,Testing,Automated Tests,Coded Ui Tests,编辑:由于我的问题太长,涉及到很多不同的问题,我决定把它压缩成更小更具体的问题。 我使用编码的UI测试来自动运行,但是当我在某个页面上创建不同的测试时,我意识到UIMap会一次又一次地生成完全相同的元素。是否可以合并这些重复的元素?请参见下面的屏幕截图: 回答: stoj通过建议提供了最好的答案。它是清理那些讨厌的重复元素的一个很好的工具。没有一种简单的方法可以同时修改大量已录制控件的属性。如果测试在没有innertext属性的情况下运行正常,则可以在您喜爱的文本编辑器中打开UIMap.uit

编辑:由于我的问题太长,涉及到很多不同的问题,我决定把它压缩成更小更具体的问题。

我使用编码的UI测试来自动运行,但是当我在某个页面上创建不同的测试时,我意识到UIMap会一次又一次地生成完全相同的元素。是否可以合并这些重复的元素?请参见下面的屏幕截图:

回答:


stoj通过建议提供了最好的答案。它是清理那些讨厌的重复元素的一个很好的工具。

没有一种简单的方法可以同时修改大量已录制控件的属性。如果测试在没有innertext属性的情况下运行正常,则可以在您喜爱的文本编辑器中打开UIMap.uitest文件并相对快速地删除它们。这不是一个理想的解决方案,但比在测试编辑器中执行同样的操作要快。您当然希望保留uitest文件的备份

如果这些值必须更改,那么事情会变得更加复杂,您可以为每种语言创建一个UIMap,并使用适当的语言手动编辑xml文件


我不认为有任何方法可以消除重复的控件。有一个UIMap工具箱,但我不确定它是否真的会删除重复的控件

Q1:使用编码的UI测试生成器,您可以在UI层次结构中导航。

问题2:UIMap工具箱是合并重复控件的最佳选择。我们已意识到此问题,并正在进行调查,以进行产品修复


问题3:我们对SharePoint控件中的动态ID进行了一些修复。您可以尝试使用VisualStudio2010SP1吗?如果您使用的是SP1,请告诉我一个对您来说失败的特定场景。我可以进一步调查。

谢谢您的回复。不幸的是,我意识到删除所有“内部文本”匹配是不够的。我希望能够浏览DOM树(我不知道这是否可行)。我看了一下UI映射工具箱,它非常适合我的第二个问题。该工具只是缺少编辑元素属性的可能性。@John Louros:对于简单的编辑,纯文本编辑器就足够了,对于简单的元素操作,MS XML记事本是最好的工具。我没有做过很多web自动化工作,您是否尝试过使用getparent/getchildren来导航dom?getparent和getchildren返回UI测试控件,因此它可以导航.uimap文件.I中显示的元素;我没有实际测试它,但我非常确定GetParent/Child使用的是MSAA/UIAutomation树,而不是UIMap。如果他们使用UIMap,GetParent会如何响应在UIMap之外创建的控件而没有父控件,他们会返回桌面吗?你说得对。使用GetParent()可以得到匹配UI控件元素的DOM父级。但是在我以前编写的测试中,当我使用GetParent()时,我总是得到“null”。我创建了一个新的测试解决方案,现在GetParent返回预期的结果。感谢stojThanks的回复Mathew,我目前正在做另一项任务,所以当我完成所有工作时,我会回到测试解决方案上。再过几天,我可能会有一个更详细的问题,如果没有,我会将这个问题标记为已回答。再次感谢。Q1:在做断言时是正确的。在录制新测试时,我如何做到这一点?问题3:我录制了一个测试,该测试只需访问SharePoint网站设置即可。当我记录“站点操作”链接时,它有zz9_站点操作id,当我运行它时,它有zz10_站点操作id。测试没有失败,但测试无法访问站点设置页面。关于第三季度,我今天再次尝试,结果成功。然而,这并不能解决我在相同测试中支持多种语言的问题。