Платформа White Automation создает исключение при использовании класса "White.Core.Desktop".
Я использую White Framework для автоматизации. когда я пытался получить экземпляр рабочего стола, я получил исключение "Инициализатор типа для" White.Core.Desktop "вызвал исключение".
Мой код выглядит так:
var window = White.Core.Desktop.Instance.Windows().Find(obj => obj.Title.Contains("TestAppHome"));
Есть ли способ захватить окно без исключения, без использования класса White.Core.Desktop?
Любая помощь будет принята с благодарностью!
1 ответ
Решение
Попробуй это:
List<White.Core.UIItems.WindowItems.Window> windows = WindowFactory.Desktop.DesktopWindows();
var window = windows.Find(w => w.Title.Contains("TestAppHome"));
Попробуй это. Вы можете напрямую запустить целевое приложение и получить его элементы пользовательского интерфейса, а не искать все элементы пользовательского интерфейса на рабочем столе. Я считаю, что это очень эффективно.
static void Main(string[] args) {
Application app = Application.Launch(@"C:\Testing\Sample.txt"); //Target application
var appWindow = app.GetWindow("Sample - Notepad");
appWindow.RightClick();
PopUpMenu popupMenu = appWindow.Popup;
var saveOptionMenuItem = popupMenu.ItemBy(SearchCriteria.ByText("Open IME"));
saveOptionMenuItem.Click();
}