我正在寻找一些关于如何处理我在页面上使用两个控件时遇到的轻微时间问题的建议。我有一个最多包含 10 个项目的列表框,但是该框的内容可能会根据在搜索框中输入的字符而改变。
例如:我在搜索框中输入 zi,列表框将开始填充 Zimmerman...
我遇到的问题是在输入文本和使用 WatiN 单击按钮以将视图更改为列表中顶部项目的视图之间有足够的延迟。
所以这就是我目前在我的
browser.Page<AVDashboardPage>().SearchBox.TypeText("zi");
browser.Page<AVDashboardPage>().ChangeActBtn.Click();
我正在考虑做的是简单地在 AVDashboard 页面类中编写一个包含小延迟的小方法。
public void EnterSearchTextWithDelay(string searchText)
{
SearchBox.TypeText(searchText);
System.Threading.Thread.Sleep(200);
}
我想我也可以通过添加一个在列表框中查找相应元素的while循环来做到这一点,但我担心这可能会很慢。
所以我的方法最终看起来像这样:
public void EnterSearchTextWithDelay(string searchText)
{
SearchBox.TypeText(searchText);
int counter = 0;
while(!AccountList.Text.Contains(searchText) && counter < 50)
{
System.Threading.Thread.Sleep(10);
counter++;
}
}