我正在使用 WatiN 测试工具,并且正在编写 c#.net 脚本。我有一个需要更改网页主题的场景,所以要做到这一点,我需要单击一个图像按钮,该按钮打开一个带有图像的 ajax 弹出窗口,现在我在图像下方的“应用主题”按钮需要点击按钮所以如何做到这一点请提出一些解决方案。
vinaykumar
问问题
3970 次
4 回答
4
因此,首先单击弹出弹出窗口的按钮,然后单击弹出窗口内的按钮 .WaitUntilExists()。
IE.Button("ShowPopup").click()
IE.Button("PopupButtonID").WaitUntilExists()
IE.Button("PopupButtonID").click()
如果弹出窗口上的按钮存在但从视图中隐藏,这可能不起作用。在这种情况下,您可以尝试 .WaitUntil() 并指定要查找的属性。
IE.Button("ButtonID").WaitUntil("display","")
于 2009-05-08T16:12:39.630 回答
1
如果您以异步方式处理控件加载的时间,那么 Ajax 弹出窗口本身不会造成问题。如果你使用的是ajax控制工具包,可以这样解决
int timeout = 20;
for (i=0; i < timeout; i++)
{
bool blocked = Convert.ToBoolean(ie.Eval("Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack();"));
if (blocked)
{
System.Threading.Thread.Sleep(200);
}
else
{
break;
}
}
随着控件可见,您应该能够正常访问它。
Watin 1.1.4 在控件上也增加了对 WaitUntil 的支持,但我个人没有使用过。
// Wait until some textfield is enabled
textfield.WaitUntil("disable", false.ToSting, 10);
于 2009-05-07T09:15:42.817 回答
0
我写了一篇关于我如何进行 ajax 同步的帖子,因为我遇到了 WaitUntilExists 的问题:http: //lebobitz.wordpress.com/2011/03/06/synchronizing-watin-and-ajax-with-jquery/
于 2011-03-06T17:04:07.123 回答
0
我没有使用任何 ajax 控件工具包,并且在弹出窗口中没有文本字段,因为我已经提到它下面只有一个图像和一个按钮,我需要单击它才能将该图像应用为主题。
于 2009-05-07T12:24:55.730 回答