如何在 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/