У меня проблема с настройкой свойства PropertyGridProperty.Value.Если после установки свойства появляется диалог, программа застревает.Свойство имеет несколько параметров (список параметров) для установки.
Ниже, я кратко опишу сценарий при возникновении проблемы:
- Поиск PropertyGridProperty
- Установка значения свойства
- Немедленно отображается диалоговое окно
- Код застрял
После закрытия диалогового окна вручную выполнение кода продолжается.К сожалению, я не могу закрыть его в коде, потому что застрял в свойстве строки. Значение = valueToSet.
Я отслеживал проблему внутри своего кода и обнаружил, что он застрял послевыполнение строки, которую я упомянул выше.Нет проблем с настройкой свойства, если не отображается диалоговое окно.К сожалению, кажется, мои руки связаны, пока проблема в библиотеке TestStack.White.
Чтобы понять это, я пытался избегать использования TestStack.White, напрямую работая с AutomationElement и ValuePattern, но, к сожалению, он тоже не сработал.
Я хотел получить ValuePattern объекта AutomationElement, а затем вызвать метод SetValue () для этого ValuePattern.Я сделал следующие шаги:
- Я попытался найти AutomationElement с помощью Searchcriteria.Text, и элемент был успешно найден.
- Я вызвал метод TryGetCurrentPattern (ValuePattern.Pattern), но он выполнил повторную попыткуfalse (и null по параметру out).
- Я вызвал метод GetSupportedPatterns (), и он вернул пустой массив.
Я не понимаю, как это возможно, что те же самые шаги работают при выполнении в библиотеке TestStack White, но не работают для меня?
AutomationElement element = Window.GetElement(SearchCriteria.ByText("element")); // Got element successfully
object patternObject = null;
element.TryGetCurrentPattern(ValuePattern.Pattern, out patternObject); // Returned false, out pattern was null
var patterns = element.GetSupportedPatterns(); // Returned an empty array
У меня есть два вопроса:
Есть ли какие-либо шаги, чтобы не застрять в диалоге?
Что я делаю неправильно, что мой подход к получению AutomationElement ValuePattern не работает?
Буду благодарен за любые ответы.