2013-10-18 154 views
3

我們正在開發一個新的web項目,它將使用JavaScript,特別是angularJs。 NodeJs也將被使用。我正在尋找使用JavaScript構建的Web項目的「E2E測試」自動化方面的最佳實踐。Javascript的測試框架

最大的問題是選擇測試框架。我們對單元測試不感興趣,因爲這對於開發組織來說是一項任務,但是如果我們可以將這些單元測試合併到新的自動化測試框架中,那將是一個好的選擇。所以問題是「現在測試JavaScript的最佳方式是什麼?」

由於管理原因,納入「報告工具」也是一個優點。有沒有用於JavaScript自動化測試的報告工具?

第三個問題是可能需要使用移動應用程序測試混合場景。例如,用戶A登錄到Web瀏覽器,並與和他的iPhone連接的用戶B聊天。你如何粘貼這樣的場景?

自由和開放源代碼工具是強制性的。

回答

4

我真的覺得你想看看Karma您的具體情況。它實際上是由Angular.js團隊創建的。它也是一款非常受歡迎的移動支持測試運行者。

同時,你也可能想Istanbul融入噶代碼覆蓋。

+1

角移動端到端測試他們的新項目量角器。 –

+1

量角器僅與Angular應用程序耦合。 Karma不是,而且仍然非常可行。所以每個人都有優點和缺點。留給OP做出他/她的判斷,而不是用簡單的downvote來執行你自己的判斷。我提供的信息沒有錯,更不用說「極其潦草」或「危險地不正確」。所以你應該擴大你的技術知識,並在downvoting之前學習社區規則:http://stackoverflow.com/help/privileges/vote-down。 – Vidya

+0

海報明確提到了AngularJS。 AngularJS的文檔特別說明了這一點(http://docs.angularjs.org/guide/dev_guide.e2e-testing頂部以粗體顯示)。 @ tennisgent的答案是更正確的,所以我投了贊成票並低估了你的答案。我看到它的方式,你的回答是不正確的。更新它,我將刪除downvote。最後,我不確定我的技術知識如何影響我在這種情況下的倒退。 –

6

要更新@維迪亞的回答,角隊實際上是開發一個叫做Protractor一個新的終端到終端的測試框架。它應該與新版本的Angular 1.2一起發佈。它有一些非常棒的功能,並且建立在Selenium的WebDriver上。

它內置集成運行您的端到端測試套件在Sauce Labs它有一些偉大的報告工具,並會做記錄測試運行的屏幕錄像,以便您可以稍後回去看看測試無法看到出了什麼問題。他們還提供了一系列不同的移動設備仿真器,您可以對套件進行測試,以便您可以同時測試桌面和移動瀏覽器。

至於實際的「測試覆蓋率」報告,它可以是很難當你在做端到端測試,因爲你沒有真正編寫測試覆蓋特定代碼陳述或控制器或函數來執行,而是你的測試該網站的功能。所以我實際上沒有發現任何有助於做E2E測試覆蓋的插件/框架。如果有人有任何想法,我很樂意聽到他們。

但是用量角器和醬實驗室的結合,我們已經與我們的測試是如何執行的,我們是能夠與我們的部分很少的努力找回分析真的很開心。希望有所幫助。

0

我建議看看TestCafe。這是一個純粹的node.js端到端測試Web應用程序的解決方案。 TestCafe適合您的所有目標。現在這是安裝框架最簡單的方法。您將有機會啓動瀏覽器,運行測試並獲取有關測試運行的詳細報告。 TestCafe甚至提供了啓動Saucelabs測試的方法。所有這些都包含在TestCafe中。

TestCafe團隊計劃在多個瀏覽器窗口中同時測試測試場景(例如您的兩個用戶示例)issue。據我所知,目前的框架都不支持這種情況。

我從TestCafe團隊的開發人員,所以隨時問我,如果您有任何疑問