ui-automation - 如何在 Teststack White 中实现动态超时?

标签 ui-automation

如何在 Teststack White 中实现动态超时? 前任。我试图在网络浏览器上的回发事件后定位一个元素。因此在元素加载或页面可能超时之前会有延迟。 对于这两种情况,使用 Thread.Sleep 的静态超时都有效,但如何实现动态超时接口(interface),如果在超时上限之前检测到元素或将在达到超时上限时超时,该接口(interface)将继续执行。

谢谢

最佳答案

您可以实现扩展方法来获取元素并在其中放置一个等待条件。

public static T GetWithWait<T>(this Window window, SearchCriteria searchCriteria, int timeout = 30) where T : UIItem
{
    T result = null;
    for (int i = 0; i < timeout; i++)
    {
        result = window.Get<T>(searchCriteria);
        if (result != null)
        {
            return result;
        }
        Thread.Sleep(TimeSpan.FromSeconds(1));
    }
    return result;
}

从 Window 对象中,您可以使用通常用于查找元素的 SearchCriteria 调用此方法。

关于ui-automation - 如何在 Teststack White 中实现动态超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26348604/

相关文章:

javafx - 记录 TestFX 的 UI 元素

vba - VB : Assigning to a Boolean property in Adobe Illustrator, Photoshop

c# - 使用没有 InvokePattern 或 clickablePoint 的 UI Automation 在单击按钮时调用

javascript - 访问其父项被隐藏的元素 - cypress.io

javascript - Jasmine 数据提供程序无法工作(jasmine_data_provider_1.using 不是函数)

java - 使用 selenium webdriver 单击隐藏的 div 元素

java - Appium 没有点击一个元素

c# - 如何使用UI自动化库点击 "pane"?

testing - 有没有办法自动对网页进行 'look and feel' 测试?

testing - 屏幕截图与 iOS 应用程序元素的坐标和大小不匹配