Я настраиваю кодированные тесты пользовательского интерфейса для приложения WPF и хочу использовать подход с кодом, а не метод записи и генерации кода. Я хотел бы использовать объекты страницы с помощью кода, и мне нужно объявить переменные управления (кнопки, вкладки и т. Д.) В объектах страницы, которые будут использоваться несколькими функциями.
Я попытался объявить переменную в классе и добавить свойства в конструктор (pendingButton1)
и создание функции, которая возвращает управление и присваивание переменной в классе (pendingButton2), но ни одна из них не работает.
Это работает, когда я объявляю переменную (или создаю переменную по функции) внутри функции, в которой я хочу использовать переменную (pendingButton3 и 4).
public partial class Press : Header
{
WpfToggleButton pendingButton1 = new WpfToggleButton(_wpfWindow);
WpfToggleButton pendingButton2 = Controls.Press.getPendingButton(_wpfWindow);
public Press(WpfWindow wpfWindow):base(wpfWindow)
{
this.pendingButton1.SearchProperties[WpfControl.PropertyNames.AutomationId] = "Tab1Button";
}
public void clickPendingButton() {
WpfToggleButton pendingButton3 = new WpfToggleButton(_wpfWindow);
pendingButton3.SearchProperties[WpfControl.PropertyNames.AutomationId] = "Tab1Button";
WpfToggleButton pendingButton4 = Controls.Press.getPendingButton(_wpfWindow);
Mouse.Click(pendingButton1); //UITestControlNotFoundException
Mouse.Click(pendingButton2); //UITestControlNotFoundException
Mouse.Click(pendingButton3); //This works
Mouse.Click(pendingButton4); //This works
}
}
Я бы хотел, чтобы это работало, когда я объявляю pendingButton вне функции clickPendingButton (), поскольку она используется во многих других функциях.