我使用断言功能来识别控件。当我使用断言函数进行编码UI测试(Ctrl + Shift + I
)时,在Windows 10上运行的.NET应用程序中的菜单项总是被识别在错误的位置。我使用Visual Studio 2017 Enterprise(版本15.5.7)。
我的光标位于“Öffnen”菜单项,但MSAA认为它是“Speichern”菜单项。它似乎转移到一个菜单项。
对于其他应用,控制识别工作正常。这个特定的应用程序似乎有问题。
使用Coded UI Test Builder会出现什么问题?
更新
我还尝试将2
的{{1}}的默认值从5
增加到CodedUITestBuilder.exe.config
,但未成功。
MaxLevelsForItemContainer
方法也不起作用。
答案 0 :(得分:0)
屏蔽Spiechern
按钮的Öffnen
按钮可能存在问题 -
至少测试构建者看到它。
尝试通过在测试构建器中使用父子导航器导航到Öffnen
按钮(按钮按钮4个箭头围绕蓝色框,Retry
和Add Assertion
旁边),然后使用NextSibling()
方法进行识别。这看起来像是:
// Clicks Öffnen - Change NextSibling()to be whatever filial relation is required
var offnen = new WpfButton();
offnen = offnen.SearchProperties.Add(WpfButton.PropertyNames.Name, "Spiechern").NextSibling();
offnen.Click();
如果不起作用,请将您的测试设置为使用Spiechern
按钮的标识,然后更改需要点击Öffnen
按钮的部分,以点击Spiechern
上方的稍微上方{1}}按钮。那看起来像是:
// Clicks Öffnen - Change xOffset and yOffset to whatever is required to click Öffnen
var spiechern = new WpfButton();
spiechern= spiechern.SearchProperties.Add(WpfButton.PropertyNames.Name, "Spiechern");
Mouse.Click(spiechern, new Point(xOffset, yOffset));
答案 1 :(得分:0)
通过使用菜单键盘快捷键并浏览菜单并记录下来,我能够做我想做的事。
在这种情况下可能的解决方案:
答案 2 :(得分:0)
从版本15.5.7到15.6.1的Visual Studio 2017 Enterprise更新后,菜单项被正确识别。我不知道我在系统上做了任何其他更改,但自更新以来它似乎有效。
解决方案: