我建立了一个示例应用程序,该应用程序在Windows Form内具有自定义UserControl。 UserControl包含两个控件:Button和TextBox。
我可以通过仅提供类型来查找文本框,并且可以正常工作:
var customUserControlTextBox = new WinEdit(parentWindow);
customUserControlTextBox.Text = "Some value";
但是,如果我添加另一个搜索参数,为什么编码的UI找不到文本框:
customUserControlTextBox.Add(WinEdit.PropertyNames.ControlName, "UserControlTextBox");
测试将失败,并显示以下消息:“播放未能找到具有给定搜索属性的控件。其他详细信息: 技术名称:MSAA, ControlType :编辑, ControlName :UserControlTextBox
以下是从编码的UI测试生成器捕获的图像:
在此Microsoft博客页面中,其表示SearchParameters的行为应类似于AND运算符: https://blogs.msdn.microsoft.com/balagans/2009/12/28/how-does-coded-ui-test-finds-a-control/
搜索的第一次通过是针对SearchProperties列表中给定的所有属性的匹配。基本上可以将其称为“搜索条件的AND条件”。