Я пытаюсь автоматизировать нажатие кнопки моего приложения WPF:
Сведения о кнопке с использованием UISpy.exe:
AutomationElement
General Accessibility
AccessKey: ""
AcceleratorKey: ""
IsKeyboardFocusable: "True"
LabeledBy: "(null)"
HelpText: ""
State
IsEnabled: "True"
HasKeyboardFocus: "False"
Identification
ClassName: "Button"
ControlType: "ControlType.Button"
Culture: "(null)"
AutomationId: "JumptodirectoryButton"
LocalizedControlType: "button"
Name: "Edit Directories"
ProcessId: "5784 (GUI)"
RuntimeId: "7 5784 46496694"
IsPassword: "False"
IsControlElement: "True"
IsContentElement: "True"
Visibility
BoundingRectangle: "(1683, 885, 104, 23)"
ClickablePoint: "1735,896.5"
IsOffscreen: "False"
ControlPatterns
Invoke
Я пытался сделать это:
AutomationElement aeDirectory = null;
aeDirectory = aeMasterBuild.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.NameProperty, "Edit Directories"));
if (aeDirectory == null)
throw new Exception("No Edit Directory button");
else
Console.WriteLine("Edit Directory button present");
Console.WriteLine("Clicking on edit directories button");
InvokePattern ipClickDirectories = (InvokePattern)aeDirectory.GetCurrentPattern(InvokePattern.Pattern);
ipClickDirectories.Invoke();
Thread.Sleep(1500);
и я все еще получаю исключение «Нет кнопки Изменить каталог».
Что я делаю не так?
Я пытался использовать AutomationID
, ProcessID
, но безрезультатно.