我在Windows 10上使用“ WinAppDriver”来使用“ Appium.WebDriver” NuGet软件包来自动执行按钮单击。
要通过“ Id”或“ Name”查找元素,需要花费更多时间(最初大约5秒钟),并且当WinAppDriver连续运行超过30分钟或1小时时,问题变得更加严重。
为了避免性能下降,我使用的不是“ app”,“ root” “ appTopLevelWindow”,“ topLevelWindowHandle”如下所示。
Appium WindowsDriver对象初始化:
var topLevelWindowHandle = applicationWindow.GetAttribute(“ NativeWindowHandle”);
topLevelWindowHandle = int.Parse(topLevelWindowHandle).ToString(“ X”);
DesiredCapabilities功能=新的DesiredCapabilities();
abilities.SetCapability(“ deviceName”,“ WindowsPC”);
abilities.SetCapability(“ appTopLevelWindow”,topLevelWindowHandle);
windowsDriver =新的WindowsDriver(新的Uri(“ http://127.0.0.1:4723”),功能);
点击执行按钮:
if(windowsDriver!= null) { testInformationDialog = windowsDriver.FindElementsByName(“测试信息”);
ReadOnlyCollection<WindowsElement> okButton = null;
//If test information dialog is present, get the ok button and click it
if(testInformationDialog.Count != 0)
{
okButton = windowsDriver.FindElementsByAccessibilityId("210");
if(okButton.Count != 0)
{
okButton.First().Click();
Thread.Sleep(3000);
}
}
}
最初,WinAppDriver大约需要5秒钟才能单击该按钮。在持续运行并每隔约5秒单击一次按钮时,检测按钮所需的时间会增加。大约1个小时后,要找到相同的按钮,需要10秒钟,并且花费的时间随着WinAppDriver的运行时间线性增加。 我想摆脱这种时间延迟。请帮忙。