0

如何编写一个等待 jQuery动画操作完成后再继续的Visual Studio WebAii 测试?

目前我只是使用循环暂停 5 秒,但如果动画时间发生变化,这很容易中断。

我在 WebAii API 中尝试了一些等待方法,但它们似乎都没有等待那种事情。我认为我最接近的是Actions.WaitForElement(..)但是正在动画的元素已经在 DOM 中,所以这似乎不起作用。等待方法对我来说似乎也很模糊。

4

2 回答 2

0

您可以编辑 javascript 以向 jQuery animate() 调用添加回调函数吗?如果是这样,这将允许您放入一个挂钩,您可以使用 WebAii API 更轻松地检测到该挂钩。例如,您可以让动画上的回调向 DOM 添加一个(不可见的)元素,然后使用 WaitForElement 方法来检测它。有点杂乱无章,但它会起作用!

于 2010-02-19T05:41:14.693 回答
0

您可以测试动画元素的属性。即使元素始终存在,动画结束时属性也必须发生一些变化。由于我不知道这可能会发生什么样的变化,所以我在下面给出一个通用示例。

该代码将 HtmlFindExpression 与 WaitForElement 结合使用。它应该等到检测到具有给定 id ("ctl00_ContentPlaceHolder1_btnAccept_CD") 的元素。

Manager mng = new Manager(false);
mng.Start();
mng.LaunchNewBrowser(BrowserType.InternetExplorer);
string url = "http://yoururl";
mng.ActiveBrowser.NavigateTo(url);
mng.ActiveBrowser.WaitForElement(
    new HtmlFindExpression("id=ctl00_ContentPlaceHolder1_btnAccept_CD"), 10000);

我希望这有帮助。

于 2010-02-19T15:06:02.203 回答