TreeItem中的每個UIElement在SearchProperties中都具有「Value」屬性。此值似乎有深度,例如「我的電腦」的值爲1,「我的電腦」中的某個文件夾的值爲2,依此類推。我正在嘗試修改我的代碼以動態查找文件夾名稱。爲了做到這一點,我試圖通過名稱屬性和值屬性作爲搜索屬性。但WinControl.PropertyNames.Value不存在。我可以做類似CodedUI TreeItem更改值屬性
con.SearchProperties.Add(WinControl.PropertyNames.Name,folderName [ii],PropertyExpressionOperator.Contains))。
UserInput可能是這樣的:C:\ folder1中\文件夾2 \ folder3或C:\ folder1中\文件夾2
根據在用戶輸入的文件夾的數量,treeItem需要穿越。我試圖做類似
string path = "C:\folder1\folder2\folder3";
string[] folderNames = path.Split("\\");
string driveLetter = folderNames[0];
for (int index=1; index < folderNames.Length; index++)
{
UITestControl locateTreeItem = this.UIBrowseForFolderWindow.UITreeViewWindow.UIDesktopTreeItem.UIComputerTreeItem; //Points to My Computer
locateTreeItem.SearchProperties.Add(WinControl.PropertyNames.Name, folderName[index], PropertyExpressionOperator.Contains);
locateTreeItem.SearchProperties.Add(WinControl.PropertyNames.Value, index+1, PropertyExpressionOperator.Equals);
Mouse.Click(locateTreeItem);
}
但是似乎沒有這樣的選項WinControl.PropertyNames.Value。我得到compileTime錯誤'Microsoft.VisualStudio.TestTools.UITesting.WinControls.WinControl.PropertyNames'不包含'價值'的定義。然而,此屬性顯示在編輯搜索屬性窗口中的TreeItem以及Name,ControlType等。