【发布时间】:2020-05-07 16:58:35
【问题描述】:
我的应用程序中有一个带有下拉菜单和 2 个选项/菜单项的按钮。我可以使用 codedUI 单击按钮,但无法单击按钮中的菜单项。遵循我为此目的编写的 C# 代码。
WinButton _messageMenuItem = new WinButton(ToolBar);
_messageMenuItem.SearchProperties.Add(WinButton.PropertyNames.Name, "Messages (4)");
_messageMenuItem.WindowTitles.Any(s => regex.IsMatch(s));
Click(_messageMenuItem);//**Works**
WinWindow _messagesdropdown = new WinWindow(MessageMenuItem);
_messagesdropdown.SearchProperties.Add(WinWindow.PropertyNames.Name, "Messages (4)DropDown"); //DropDown
_messagesdropdown.WindowTitles.Any(s => regex.IsMatch(s));
Click(_messagesdropdown);//**Doesnt work**
UITestControlCollection AllMenuItems = _messageMenuItem.GetChildren();
UITestControlCollection AllFirstMenuItems = _messagesdropdown.GetChildren();
//Click(AllMenuItems[0]);//**Doesnt work**
//Click(AllFirstMenuItems[0]);//**Doesnt work**
WinMenuItem _textMessagesMenuItem = new WinMenuItem();
_textMessagesMenuItem.SearchProperties.Add(WinMenuItem.PropertyNames.Name, "Text Messages (4)"); //Text
_textMessagesMenuItem.WindowTitles.Any(s => regex.IsMatch(s));
return _textMessagesMenuItem;
【问题讨论】:
-
我已经有一段时间没有使用 CodedUI 测试了。我认为“名称”属性不正确。您需要在菜单项中搜索文本。
WinButton.PropertyNames.Text存在吗?您的搜索条件应该是查看可见文本,而不是控件的名称。 -
目前我找到了一种重新使用编码 UI 记录的方法。稍后我将不得不检查 WinButton.PropertyNames.Text。
标签: c# coded-ui-tests specflow