Невозможно ввести текст в поле редактирования внутри модального окна / диалога с помощью Teststack/White

Я пытаюсь ввести текст в поле редактирования в модальном окне. Я получаю сообщение об ошибке "Не удалось получить (ControlType=edit или ControlType=document),AutomationId=1118,ClassName=Edit"

Ниже мой код.

var window = app.GetWindow("Toolkit Version"); Window AuthWindow = null; AuthWindow = window.ModalWindow("Please Authenticate"); TextBox userNameField = AuthWindow.Get<TextBox>(SearchCriteria.ByClassName("Edit").AndAutomationId("1118")); userNameField.Text = "Administrator"; От осмотра

образ

Детали ошибки - TestStack.White.AutomationException: 'Failed to get (ControlType=edit or ControlType=document),AutomationId=1118,ClassName=Edit'

Есть предложения или обходные пути? Спасибо!

1 ответ

Решение

С верхней части моей головы:

  1. Возможно, ваши критерии поиска слишком ограничены? Пытаться:

    TextBox userNameField = AuthWindow.Get<TextBox>(SearchCriteria.ByAutomationId("1118"));
    

    или даже

    TextBox userNameField = AuthWindow.Get(SearchCriteria.ByAutomationId("1118")) as TextBox;
    
  2. Это может быть не очень элегантно, но похоже, что ваше окно маленькое и имеет мало элементов управления. Почему бы не выбрать их таким образом?

    TextBox userNameField = AuthWindow.GetMultiple(SearchCriteria.ByControlType(System.Windows.Automation.ControlType.Edit)[0]
    

Я предположил, что ваше текстовое поле находится в позиции 0, но, конечно, вы можете это изменить.

Другие вопросы по тегам