我想問問有沒有人知道用Watin測試Telerik控件的簡單方法。Watin和Telerik Controls
我們即將開始使用它,但在我們之前我想看看是否有任何我需要知道的東西。
我可以看到我們將會遇到的問題是,如果最小的東西發生變化,那麼我們所有的測試也會中斷。
任何建議,非常感謝。
我想問問有沒有人知道用Watin測試Telerik控件的簡單方法。Watin和Telerik Controls
我們即將開始使用它,但在我們之前我想看看是否有任何我需要知道的東西。
我可以看到我們將會遇到的問題是,如果最小的東西發生變化,那麼我們所有的測試也會中斷。
任何建議,非常感謝。
我意識到你問了WatiN,我知道我可能會陷入遺忘的低谷,但我可能會推薦Selenium
。它似乎被更廣泛地使用,當我們評估這兩個時,我們發現Selenium更易於使用,因爲Firefox插件可以記錄/生成測試。這意味着我們的非技術人員可以設置測試。
從那時起,我們已經成功地使用Selenium來測試使用Telerik控件的ASP.NET網站。我只碰到一個問題,RadNumericTextBoxes
,我已經記錄了這裏的修復:http://www.msigman.com/2012/02/entering-radnumerictextbox-selenium-webdriver-1-6-0/。
我目前正在編寫一個如何做的指南:http://www.msigman.com/2012/03/automated-testing-asp-net-web-application/(無恥的插件)。
我可以看到我們將會遇到的問題是,如果即使是最小的東西改變,那麼我們所有的測試也會中斷。
根據您的測試結構,這可能會適用於您網頁的所有部分,包括Telerik控件。理想情況下,您的元素將分配ID,您將使用Page類和自定義控件對象從您的實際測試代碼中刪除所有HTML引用。然後,如果網頁上(或控件中)發生了某些變化,則需要驗證是否需要更改,然後更改WatiN頁面代碼(或控制代碼)並重新運行測試。
的華廷頁面類底漆是在這裏:http://watinandmore.blogspot.com/2009/06/introducing-page-class.html
基本上,你希望你的測試代碼的樣子myPage.PickDate("3/29/2012")
,而不是像ie.Tables[3].TableRows[2].TableCells[4].Textbox(Find.ByClass("datePicker")).TypeText("3/29/2012")
的變化可以做,應該導致失敗的試驗,但是,我可以證明,通過一個良好的頁面(或控件)類設置來抽象HTML DOM和其他特性而不使用HTML填充的測試代碼,意味着當更改發生時,他們通常很容易再次工作。
注意:Selenium也有一個Page類的概念,但我現在還沒有用過它。底線:如果您在測試代碼中直接編寫了大量可直接引用HTML DOM的測試,則無論您使用WatiN還是Selenium或其他任何軟件,您都會面臨維護頭痛的問題。
補充:關於您的原始問題:您可以使用WatiN的Telerik控件嗎?是的,你最有可能的,但取決於控制你可能需要有點創意,甚至可能從你的測試(頁面對象;)中調用JavaScript方法)。我被一對夫婦控制(非Telerik)難住,但大多數我最終都想通了。
除了Page類,還有Control類,所以雖然是一項複雜的任務,但您可以編寫一個封裝所有Telerik功能的控件,並且只公開所有有用的方法(例如calendar.PickDate(「3/29/2012「)或calendar.PageBackOneMonth())。在你的網頁上,你會暴露控制myPage.StartDate.PickDate(「3/29/2012」)和myPage.EndDate.PickDate(「2012年4月29日」)。正如OCary所說,這樣可以讓您免受維護這些測試的痛苦世界的影響,並使您的測試非常可讀。 – 2013-02-01 04:06:43
更好的是,使用Page類,您可以添加幫助器方法 - 例如,在登錄頁面類上,除了公開用戶名和密碼字段以及登錄按鈕外,還可以添加SignIn(string,string)方法會填充相應的字段並模擬按鈕的點擊。您可以通過這種方式構建一個非常強大的Web應用程序模型。 – 2013-02-01 04:08:30
您還應該考慮評估我們的功能自動化測試工具Telerik's Test Studio。 (披露:我是Test Studio的傳道者。)
當您使用Telerik控件時,Test Studio真的很閃亮。您可以深入瞭解控件的驗證和操作,從而獲得一些很好的附加功能。
更重要的是,Test Studio默認處理集中定位器和頁面,所以您不需要額外的努力來最好地管理UI更改。
Test Studio也適用於任何其他控件。我們將它用於只有標準Microsoft控件的ASP.NET Winforms應用程序。 – Marcel 2012-09-21 07:36:17
我不認爲你應該測試Telerik的控制 - 這是他們的責任。 – 2012-03-29 08:52:30
好點!但你如何接受測試整個系統以確保它正在工作? – Raha 2012-03-29 10:40:19