2012-02-24 108 views
0

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

+0

是否可以共享类似应用程序的链接? – 2012-02-25 06:41:04

+0

为了使用浏览器工作,你需要加载页面,当你在标签页之间导航时,这会触发页面加载。页面加载后,您可以使用watin执行操作或验证加载的数据。 – alonp 2012-02-26 11:59:36

回答

0

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

实施例1 - JQuery用户界面

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;"); 

两个示例进行了测试和上华廷2.1,IE9,Win7的工作。

+0

感谢您的回答。问题是,虽然标签可以在浏览器中看到,但它们不在WatiN链接列表中。 – user1153980 2012-03-12 15:01:51

+0

猜测是表格在面板,iFrame或类似的东西中,导致你无法“看见”它们。在页面结构中挖掘生成的页面HTML(FF中的Firebug,IE中的F12 Dev Tools等)。 – OCary 2012-03-12 18:59:34

相关问题