2012-02-24 55 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

相關問題