gpt4 book ai didi

c# - 使用 WinAppDriver,我需要有关如何在 WPF 应用程序中打开新窗口时更改焦点的帮助

转载 作者:太空宇宙 更新时间:2023-11-03 11:58:21 26 4
gpt4 key购买 nike

我需要有关如何使用 WinAppDriver 在 WPF 应用程序中打开新窗口时更改焦点的帮助

使用 WinAppDriver 我可以打开一个 WPF 应用程序并使用下面的代码进行测试,我需要有关如何在 WPF 应用程序中打开新窗口时更改焦点的帮助。WPF 应用程序的问题是您不能使用标准方法,因为驱动程序无法识别该应用程序。应该有一种方法可以帮助切换焦点或至少打开一个现有的 WPS 应用程序窗口,我现在不能这样做。如果有人可以提供帮助,我将不胜感激。

// to open the standard app
AppiumOptions options2 = new AppiumOptions();
options2.AddAdditionalCapability("app", "Application new window");
options2.AddAdditionalCapability("Window", "WindowsPC");

//to open a WPS application
AppiumOptions options = new AppiumOptions();
options.AddAdditionalCapability("app", @"C:\Path\Debug\Application.exe");
options.AddAdditionalCapability("deviceName", "WindowsPC");
_driver = new WindowsDriver(new Uri("http://127.0.0.1:4723"), options);

{"desiredCapabilities":{"app":"[@Name =\"Loan Folder 14847\"]","Window":"WindowsPC","platformName":"Windows"},"capabilities":{"firstMatch":[{"platformName":"Windows"}]}}
HTTP/1.1 500 Internal Error
Content-Length: 101
Content-Type: application/json

{"status":13,"value":{"error":"unknown error","message":"The system cannot find the file specified"}}

最佳答案

我能够弄清楚如何关注在 WPF 应用程序中打开的新窗口,并想发布我的解决方案以帮助下面的人:

//Setup
private WindowsDriver _driver;

AppiumOptions options = new AppiumOptions();
options.AddAdditionalCapability("app", @"C:\Desktop\Debug\application.exe");
options.AddAdditionalCapability("deviceName", "WindowsPC");

_driver = new WindowsDriver(new Uri("http://127.0.0.1:4723"), options);
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

//Test
_driver.FindElementByAccessibilityId("Login").Click();
Thread.Sleep(5000);
_driver.FindElementByName("button").Click();
//Opens a new window
_driver.FindElementByName("Open").Click();
Thread.Sleep(2000);
//Solution - switches to the latest window
_driver.SwitchTo().Window(_driver.WindowHandles.First());
//can click on buttons in the new Window
_driver.FindElementByName("buttons").Click();
//Opens another new Window
_driver.FindElementByName("Open another window").Click();
Thread.Sleep(2000);
//Solution - switches to the latest window
_driver.SwitchTo().Window(_driver.WindowHandles.First());
//can click on buttons in the new Window
_driver.FindElementByName("button3").Click();

关于c# - 使用 WinAppDriver,我需要有关如何在 WPF 应用程序中打开新窗口时更改焦点的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58396400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com