我如何使用WatiN和JQuery选项卡?

时间:2012-02-24 21:26:17

标签: jquery watin

我在将WatiN与我公司的应用程序同步时遇到问题。我想知道是否有其他人遇到过这些问题。该程序是用.Net编写的,并大量使用JQuery。该程序使用JQuery的选项卡,我无法使用它。如果我使用WatiN输入表单,WatiN可以使用初始选项卡的所有字段,但我不知道有什么方法可以让WatiN进入或查看其他选项卡中的内容。还有一点奇怪的是,当WatiN打开表单并且我转到表单并手动按下取消或保存按钮时,没有响应。如果我手动输入表格,按钮就可以正常工作。

1 个答案:

答案 0 :(得分:0)

在选项卡之间切换取决于正在使用的JQuery选项卡实现。以下是几个工作示例;基本上你单击链接然后等待相应的div变得可见。有很多方法可以实现这一目标。您可能需要等待其他或不同的元素,具体取决于您的内容(意思是:如何使用AJAX-y),或者可能根本不需要;这一切都取决于您的具体页面行为。

示例1 - JQuery UI

IE browser = new IE();
browser.GoTo("http://jqueryui.com/demos/tabs/default.html");

browser.Link(Find.ByText("Proin dolor")).Click();
browser.Div(Find.ById("tabs-2")).WaitUntil("classname", "ui-tabs-panel ui-widget-content ui-corner-bottom");

browser.Link(Find.ByText("Aenean lacinia")).Click();
browser.Div(Find.ById("tabs-3")).WaitUntil("classname", "ui-tabs-panel ui-widget-content ui-corner-bottom");

示例2 - 设计师的JQuery

IE browser = new IE();
browser.GoTo("http://jqueryfordesigners.com/demo/tabs.html");

browser.Link(Find.ByText("Second")).Click();
browser.Div(Find.ById("second")).WaitUntil("style", "display: block;");

browser.Link(Find.ByText("Third")).Click();
browser.Div(Find.ById("third")).WaitUntil("style", "display: block;");

这两个示例都经过测试并在WatiN 2.1,IE9,Win7上运行。