2

我意識到我需要一個全面的瀏覽器自動化工具來測試用戶與我們的JavaScript小部件庫的交互。我使用qunit,從單元測試開始,然後我不明智地開始引入越來越多的功能測試。這是一個糟糕的主意:試圖用JavaScript模擬很多用戶操作。計時問題已經失控,並使套件過於脆弱。現在我花更多的時間來修復測試,然後我開發。Web自動化工具

是否有可能找到一個瀏覽器自動化工具,在工作原理: Windows XP中:IE6,7,8,FF3 OSX:Safari瀏覽器,FF3 ?

  • 我已經看過SeleniumIDE和RC,但似乎有一些IE8的問題。

  • 我也看到了一些關於Google的WebDriver的東西,它似乎與Selenium一起工作得很混亂。

  • 我們的組織擁有IBM Rational Functional Tester的許可證,但我不認爲這將適用於MAC。

這個想法是嘗試在我們組織支持的所有瀏覽器上運行測試。可行?我的要求是不現實的嗎?任何建議至於軟件來嘗試?

謝謝!

回答

1

硒可能是您提到的工具中最好的選擇。它與IE8有什麼問題?你也許想看看HttpUnit是否滿足你的需求。

+0

我還沒有實際使用硒,但在各種論壇上看到一些評論說IE8出現了問題。此支持的瀏覽器頁面表示它不支持IE8。 http://tinyurl.com/cdzdk6。有什麼辦法解決這個問題,還是這個支持頁面過時了? 我也讀過Selenuim的維護者很重載,並沒有做很多工作。我意識到它是開源的,不介意如果某些東西能夠滿足我的需求,就可以獲得非開源的建議。 – Aaron 2010-03-28 12:57:53

+1

我更新了文檔,說它支持IE8 – AutomatedTester 2010-03-28 16:19:17

+0

我們已經在IE8中使用它,沒有任何問題。 Watir/Watij是另一個你可能想要看的工具。 – 2010-03-28 16:50:25

0

我在同一條船上。這是一個難以解決的問題。 WindmillSelenium是我找到的兩個最好的。雖然他們都有問題。 Selenium只能在Firefox中記錄腳本,並且我還沒有設法讓代理鏈接像廣告一樣工作。你可以在任何瀏覽器中記錄風車,你可以調整代理以在其中放置額外的邏輯,但用於跨頁加載記錄的js機制至少在我必須測試的應用程序中非常脆弱。

只要有多個瀏覽器需要支持,我不認爲任何人都可以完全正確。

+0

我想我要做的就是用Windmill和Selenium來測試一些測試用例。我會回報。感謝您的意見。 – Aaron 2010-03-28 15:08:02

+0

「只要有多個瀏覽器需要支持,我不認爲任何人都可以完全正確。」查看Sahi(http://sahi.co.in/)。認真。 – 2010-05-05 05:13:22

4

我會推薦使用硒,但我說這是一個硒提交者。

Selenium適用於任何支持JavaScript的瀏覽器,因爲該框架是用JavaScript編寫的。這意味着如果你的瀏覽器在任何操作系統上支持JavaScript,它將在Selenium中運行。該文檔過時了,你可以看到,因爲它是在談論IE8b1和IE9預覽版現在已經出來了。

Selenium和WebDriver(自從ThoughtWorks開始以來不是谷歌的東西)目前正在合併,因爲它們都有其優點和缺點。目前合併的工作將被稱爲Selenium 2,您現在可以開始使用alpha版本http://code.google.com/p/selenium/。它仍然可以在任何操作系統上工作,因爲這仍然是正在完成的工作的主要推動力。

Selenium IDE僅適用於Firefox,因爲它是Firefox的附加組件。

我個人會避免使用Rational Functional Tester,因爲它有很多弱點,甚至不值得考慮。

如果你開始與硒有我的網站上一些教程在http://www.theautomatedtester.co.uk

0

也許看看SIKULI。這是一個不同的範例,但根據您想要測試的準確性,它可以完成這項工作,並且可以在任何平臺上使用任何瀏覽器。 查看他們的official blog瞭解與Web應用程序交互的一些示例。

1

如果您花時間使用硒,RC是一個很好的工具。通過對現有庫的重大修改,我已經完成了它,以滿足我所有的前端測試需求。

您對Webdriver的困惑是可以理解的。 Selenium 2正在開發中,將成爲Webdriver和Selenium的合併。查看:http://www.youtube.com/watch?v=RQD4EzWI4qk以獲取更多詳細信息。

我唯一發現無法使用Selenium的瀏覽器是IE6。 IE7和IE8可以像Firefox一樣正常工作(爲了進行調試,我修改了其中包含Firebug)。

+0

到目前爲止,我已經能夠使用FF3(WIN和MAC)和IE8。爲了使我的特定測試能夠與IE8一起工作,我花了一些時間搞亂了Python,而且我很熟悉瀏覽器特定的關鍵事件以及它們是如何工作的。我正在等待嘗試IE6。 – Aaron 2010-03-29 18:40:28

+0

作爲一個說明,升級到FF3.5似乎已經打破了我的Java RC。我得到了3.6的工作,但它消除了我的服務器升級(如安裝jQuery)。 – dhackner 2010-04-02 14:25:57

0

因此,我使用Python驅動程序在Selenium RC中編寫了一些更有問題的測試。這比在純JavaScript中編寫相同的測試更好,但我仍然遇到了一些相同的問題。

測試類似ajax自動完成小部件的東西,意味着根據IE或Firefox分叉一些代碼,並且仍然無法在Safari中獲得typekey或typeKey的組合。

所以,我不確定是否跨瀏覽器清潔,廣泛的UI測試有點不切實際。

我應該試試webdriver/Selenium 2嗎?這會讓事情變得更好,還是該產品還沒有準備好黃金時段? Python的綁定如何?我不瞭解Java,但如果需要的話,我會學習一些。

2

嘗試Sahi(http://sahi.co.in/)它適用於各種瀏覽器和操作系統。它具有強大的記錄器,以及用於對象識別的優秀API。它支持HTTPS,代理隧道等,並在sahi腳本,Java和紅寶石驅動程序。它也具有並行播放內置。它是SourceForge上託管的5年前的成熟項目,幾乎每個月都有發佈。

它自動等待AJAX​​和頁面加載,並且不使用XPath進行對象識別。它還處理動態ID的網站。