#winforms #coded-ui-tests
#winforms #закодированный пользовательский интерфейс-тесты
Вопрос:
Я работаю над проектом закодированного пользовательского интерфейса для приложения win forms. Я хотел бы получить главное окно тестируемого приложения программно.
То, что я пробовал, это:
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);
Это не удается с:
При воспроизведении не удалось найти элемент управления с заданными свойствами поиска. Дополнительные сведения: Название технологии: ‘MSAA’ Имя: ‘Тестируемый программный продукт’ Имя класса: ‘WindowsForms10.Window’ —> System.Runtime.Службы взаимодействия.Исключение COMException: ошибка HRESULT E_FAIL была возвращена из вызова COM-компонента.
Каков правильный способ получить окно?
Комментарии:
1. Позвольте инструменту записи и генерации закодированного пользовательского интерфейса показать вам. Сделайте запись, возможно, в изолированный проект, а затем скопируйте полезные фрагменты.
2. Кроме того, с точки зрения производительности, попробуйте использовать наименьшее количество свойств поиска, чтобы найти искомый элемент управления. Coded ui test recorder позволяет это сделать.
Ответ №1:
Не уверен, что этот вопрос все еще актуален, но вот код, который я использую для получения окна:
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
свойство, чтобы оно находило экран.