任何人都知道使用编码的 UI 测试 API 可靠地定位桌面图标的正确方法吗?通过单击特定桌面图标的录制操作创建的自动生成代码在录制当天就可以使用。第二天打开笔记本电脑时,录制操作不再起作用,因为找不到图标。
我正在尝试手工制作,所以我尝试了:
public void LaunchOi()
{
var desktop = ApplicationUnderTest.Desktop.GetChildren().First(c => c.Name == "Desktop");
var folderView = new WinWindow(desktop);
// I copied these numbers from autogenerated code.
// Yesterday, PropertyNames.Instance = 7, today = 9. Why so?
folderView.SearchProperties[WinWindow.PropertyNames.ControlId] = "1";
folderView.SearchProperties[WinWindow.PropertyNames.Instance] = "9";
folderView.Find();
var winList = new WinListItem(folderView);
winList.SearchProperties[WinListItem.PropertyNames.Name] = "OCC600 OI";
winList.Find();
Mouse.DoubleClick(winList, MouseButtons.Left);
}
正如我的评论中所指出的,WinWindow.PropertyNames.Instance
不会保持不变。昨天录的时候WinWindow.PropertyNames.Instance
是7点,今天是9点。有人知道为什么吗?我找不到任何关于此的文档。