WinAppDriver-花费到FindElementsByName / FindElementsByAccessibilityId的时间越来越多,并且随着时间呈线性增长

时间:2019-07-16 13:33:23

标签: c# performance appium windows-10-desktop winappdriver

我在Windows 10上使用“ WinAppDriver”来使用“ Appium.WebDriver” NuGet软件包来自动执行按钮单击。

要通过“ Id”或“ Name”查找元素,需要花费更多时间(最初大约5秒钟),并且当WinAppDriver连续运行超过30分钟或1小时时,问题变得更加严重。

为了避免性能下降,我使用的不是“ app”,“ root” “ appTopLevelWindow”,“ topLevelWindowHandle”如下所示。

  1. 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”),功能);

  2. 点击执行按钮:

    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的运行时间线性增加。 我想摆脱这种时间延迟。请帮忙。

0 个答案:

没有答案