Кодированный интерфейс для WinForms - найти главное окно программно - PullRequest
0 голосов
/ 24 марта 2019

Я работаю над проектом с закодированным пользовательским интерфейсом для приложения с выигрышными формами. Я бы хотел получить главное окно тестируемого приложения программно.

То, что я пробовал, это:

WinWindow mainWindow = new WinWindow();
mainWindow.TechnologyName = "MSAA";
main.Window.SearchProperties.Add(new PropertyExpression(WinWindow.PropertyNames.Name, "Soft under test", PropertyExpressionOperator.Contains));
mainWindow.SearchProperties.Add(new PropertyExpression(WinWindow.PropertyNames.ClassName, "WindowsForms10.Window", PropertyExpressionOperator.Contains));
mainWindow.SearchConfigurations.Remove(SearchConfiguration.VisibleOnly);
mainWindow.SearchConfigurations.Add(SearchConfiguration.AlwaysSearch);

Это не с:

При воспроизведении не удалось найти элемент управления с заданными свойствами поиска. Дополнительные детали: TechnologyName: «MSAA» Название: «Мягкий тест» ClassName: «WindowsForms10.Window» ---> System.Runtime.InteropServices.COMException: ошибка HRESULT E_FAIL была возвращена после вызова компонента COM.

Как правильно получить окно?

1 Ответ

0 голосов
/ 24 мая 2019

Не уверен, что этот вопрос все еще актуален, но вот код, который я использую, чтобы получить окно:

this.TechnologyName = "MSAA";
this.SearchProperties.Add(UITestControl.PropertyNames.Name, "MyProgram");
this.SearchProperties.Add(UITestControl.PropertyNames.ControlType, "Window");
this.SearchProperties.Add("ControlName", "TopScreen");
this.SearchConfigurations.Add(SearchConfiguration.ExpandWhileSearching);

Возможно, вам нужно свойство ExpandWhileSearching, чтобы найти экран.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...